ATLAS trigger configuration database + interface singleton This class provides an interface to the trigger configuration database which is stored inside a Root tree of its own. This tree is stored together with its corresponding A++ event tree in one .root file. The trigger configuration tree contains multiple configurations valid for certain run ranges. Each configuration consists of two run numbers indicating the valid run range of the configuration, and three maps (level 1, level 2 and event filter). These maps are lists of pair-wise information, the association between a trigger item name (note that in this context 'item' means 'chain' as well) and its corresponding trigger bit number. The bit numbers are needed for accessing the actual trigger information in an A++ event. A++ .root file +--------------------------+ | +------------------+ | +-----------------------------+ | | TriggerConf Tree |---------------->| Trigger Configuration (RAM) | | +------------------+ | +-----------------------------+ | | |<------------------ Run Number | +------------------+ | +----------V----------+ | | A++ Event Tree |-------------------->| Bit No. / Item Name |<------- Trigger Item | +------------------+ | +--------x------------+ +-------------|------------+ | | | | V | +-----------+ +---------------------------->| A++ Event |----------------> Trigger Decision +-----------+ For fast access, copies of the maps (which are of type TClonesArray inside the tree) are being kept in form of hash tables (THashTable) in RAM. Usage examples: (1) Create a new configuration dbase: AtlTriggerConf *conf = new AtlTriggerConf; TTree *t_conf = conf->CreateTree(); (2) Build a configuration (in memory) conf->Clear(); conf->AddTriggerItem(); // Item 1 conf->AddTriggerItem(); // Item 2 conf->Rehash(); (3) Write the current configuration (RAM) to the tree for the run range RunStart -> RunEnd conf->WriteConfiguration(RunStart, RunEnd); Author: Oliver Maria Kind <mailto: kind@mail.desy.de> Update: $Id: AtlTriggerConf.cxx,v 1.16 2011/03/12 17:39:50 kind Exp $ Copyright: 2008 (C) Oliver Maria Kind
virtual | ~AtlTriggerConf() |
void | TObject::AbstractMethod(const char* method) const |
AtlTriggerConfItem* | AddTriggerItem(AtlTriggerConf::ETrigger trigger, const char* name, const char* title, Int_t bit) |
virtual void | TObject::AppendPad(Option_t* option = "") |
AtlTriggerConf() | |
AtlTriggerConf(const AtlTriggerConf&) | |
virtual void | TObject::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | Clear(Option_t* option = "") |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) const |
TTree* | CreateTree() |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
TTree* | GetConfigTree() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
const char* | GetHLTItemName(Int_t Bit) |
const char* | GetHLTItemName(Int_t Bit, Int_t RunNr) |
Int_t | GetHLTTriggerBit(const char* name) |
Int_t | GetHLTTriggerBit(const char* name, Int_t RunNr) |
virtual const char* | TObject::GetIconName() const |
const char* | GetL1ItemName(Int_t Bit) |
const char* | GetL1ItemName(Int_t Bit, Int_t RunNr) |
Int_t | GetL1TriggerBit(const char* name) |
Int_t | GetL1TriggerBit(const char* name, Int_t RunNr) |
Int_t | GetN_TriggerItems(AtlTriggerConf::ETrigger trigger) const |
Int_t | GetN_TriggerItems(AtlTriggerConf::ETrigger trigger, Int_t RunNr) |
virtual const char* | TObject::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Int_t | GetRunEnd() const |
Int_t | GetRunStart() const |
virtual const char* | TObject::GetTitle() const |
AtlTriggerConfItem* | GetTriggerItem(AtlTriggerConf::ETrigger trigger, const char* name, Int_t RunNr) |
AtlTriggerConfItem* | GetTriggerItem(AtlTriggerConf::ETrigger trigger, const char* name, Bool_t CheckValidity = kFALSE) |
TClonesArray* | GetTriggerItemsCA(AtlTriggerConf::ETrigger trigger) const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
static AtlTriggerConf* | Instance() |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
AtlTriggerConf* | LoadTree(TDirectory* dir) |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
AtlTriggerConf& | operator=(const AtlTriggerConf&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | Print(Option_t* option = "ALL") |
virtual Int_t | TObject::Read(const char* name) |
void | ReadConfiguration(Int_t RunNr) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | Rehash() |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetRunEnd(Int_t RunEnd) |
void | SetRunStart(Int_t RunStart) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
void | WriteConfiguration() |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
THashTable* | GetTriggerItemsHT(AtlTriggerConf::ETrigger trigger) const |
void | SetN_TriggerItems(AtlTriggerConf::ETrigger trigger, Int_t NItems) |
static const Int_t | fgHLTMaxBits | |
static const Int_t | fgL1MaxBits | |
static const char* | fgTreeName | |
static const char* | fgTreeTitle | |
static TObject::(anonymous) | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TObject::EStatusBits | TObject::kCannotPick | |
static AtlTriggerConf::ETrigger | kHLT | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TObject::(anonymous) | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static AtlTriggerConf::ETrigger | kL1 | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TObject::(anonymous) | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TObject::(anonymous) | TObject::kOverwrite | |
static TObject::(anonymous) | TObject::kSingleKey | |
static TObject::(anonymous) | TObject::kWriteDelete | |
static TObject::(anonymous) | TObject::kZombie |
TTree* | fConfigTree | Tree containing the configuration |
TClonesArray* | fHLTTriggerItemsCA | Array of HLT trigger items in config tree |
THashTable* | fHLTTriggerItemsHT | Hash table of HLT trigger items for fast access |
TClonesArray* | fL1TriggerItemsCA | Array of L1 trigger items in config tree |
THashTable* | fL1TriggerItemsHT | Hash table of L1 trigger items for fast access |
Int_t | fN_HLTTriggerItems | No. of items filled in HLT clones array |
Int_t | fN_L1TriggerItems | No. of items filled in L1 clones array |
Int_t | fRunEnd | End of run range |
Int_t | fRunStart | Begin of run range |
static AtlTriggerConf* | fgInstance | Trigger configuration singleton |
Inheritance Chart: | |||||||||
|
Find trigger item by name for given run nmber Check if current configuration is still valid Load new configuration otherwise.
Find trigger item by name using the currently loaded configuration. If CheckValidity == true the program is aborted in case the item is not found (default is false).
Add item to the clone arrays of the current configuration for the given trigger. Before adding the first item, the Clear() function has to be called in order to clean the arrays and tablles from the previous configuration. Note that the hash tables are NOT updated. This is done with the help Rehash() member function, which needs to be called when all trigger items are added
Read configuration for the given run number from the tree and update the hash tables. Any previous configuration is removed from memory
Fill the current configuration of trigger items stored in the clone arrays into the configuration tree for the given run period.
Clear hash tables (without deleting its contents) and fill them with the information from the clone arrays.
Get trigger items clone array
Get no. of trigger items in clones array for given run number
Get no. of trigger items in clones array for given run number for current configuration
Set no. of trigger items in clones array
Get name of the L1 item associated to the given bit. Check if the current configuration is still valid for the given run. Load new configuration otherwise
Get name of the HLT item associated to the given bit. Check if the current configuration is still valid for the given run. Load new configuration otherwise.
Get name of the L1 item associated to the given bit from the currently loaded configuration
Get name of the HLT item associated to the given bit from the currently loaded configuration
Return bit number of L1 trigger item <name>. Check if the present configuration is still valid for the given run - load appropiate config otherwise. Return -1 in case the given item could not be found
Return bit number of HLT trigger item <name> Check if the present configuration is still valid for the given run - load appropiate config otherwise. Return -1 in case the given item could not be found
Return bit number of L1 trigger item <name> from the current configuration.
Return bit number of HLT trigger item <name> from the current configuration.
Set end of valid run range for the current configuration Check that the given end run number is larger than the already given start run number of the run range