ROOT logo
AliRoot » STEER » ESD » AliTriggerConfiguration

class AliTriggerConfiguration: public TNamed


 This class which defines defines the Trigger Configuration

 Trigger Configuration defines the trigger setup for a particular run
 We have default configurations for each running mode (Pb-Pb, p-p, p-A, Calibration, etc).
 It keep:
   All the information conained in the CTP configuration file used
   online during the data taking

 Configurations could be created and stored in local file.
 By default the configuration is loaded from the corresponding GRP entry
 inside the OCDB. There one can have one and only one configuration per run.

   Example how to create a Trigger Configuration:

   AliTriggerConfiguration config( "TEST", "Test Configuration" );

   // Define a Cluster Detector
   config.AddDetectorCluster( "VZERO ZDC MUON" );

   // Define the trigger conditions (see AliTriggerCondition.cxx)
   config.AddCondition( "VZERO_TEST1_L0 & MUON_SPlus_LPt_L0 & ZDC_TEST2_L0", // condition
                         "VO1_M1_ZDC2",      // short name
                         "Dummy",            // short description
                          0x0100 );          // class mask (set one bit)

   config.AddCondition( "VZERO_TEST2_L0 & MUON_SMinus_HPt_L0 & ZDC_TEST1_L0",
                         "VO2_M3_ZDC1",
                         "Dummy",
                          0x0200 );

   config.AddCondition( "VZERO_TEST3_L0 | MUON_Unlike_LPt_L0 | ZDC_TEST3_L0",
                         "VO3_M1_ZDC3",
                         "Dummy",
                          0x0400 );
   config.CheckInputsConditions("Config.C");
   config.Print();

   // save the configuration to file
   // (default file name $ALICE_ROOT/data/triggerConfigurations.root)
   config.WriteConfiguration(); or config.WriteConfiguration( filename );


Function Members (Methods)

public:
AliTriggerConfiguration()
AliTriggerConfiguration(TString& name, TString& description)
virtual~AliTriggerConfiguration()
voidTObject::AbstractMethod(const char* method) const
Bool_tAddClass(AliTriggerClass* trclass)
AliTriggerClass*AddClass(TString& name, UChar_t index, AliTriggerDescriptor* desc, AliTriggerCluster* clus, AliTriggerPFProtection* pfp, AliTriggerBCMask* mask, UInt_t prescaler, Bool_t allrare)
AliTriggerClass*AddClass(TString& name, UChar_t index, TString& desc, TString& clus, TString& pfp, TString& mask, UInt_t prescaler, Bool_t allrare)
Bool_tAddCluster(AliTriggerCluster* cluster)
AliTriggerCluster*AddCluster(TString& name, UChar_t index, TString& detectors)
Bool_tAddDescriptor(AliTriggerDescriptor* desc)
AliTriggerDescriptor*AddDescriptor(TString& name, TString& cond)
Bool_tAddFunction(AliTriggerInteraction* func)
AliTriggerInteraction*AddFunction(TString& name, TString& logic)
Bool_tAddInput(AliTriggerInput* input)
AliTriggerInput*AddInput(TString& name, TString& det, UChar_t level, UInt_t signature, UChar_t number)
Bool_tAddInteraction(AliTriggerInteraction* interact)
AliTriggerInteraction*AddInteraction(TString& name, TString& logic)
Bool_tAddMask(AliTriggerBCMask* mask)
AliTriggerBCMask*AddMask(TString& name, TString& mask)
Bool_tAddPFProtection(AliTriggerPFProtection* pf)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TStringGetActiveDetectors() const
static TObjArray*GetAvailableConfigurations(const char* filename = "")
const TObjArray&GetClasses() const
Int_tGetClassIndexFromName(const char* className) const
const char*GetClassNameFromIndex(Int_t classIndex) const
const TObjArray&GetClusters() const
const TObjArray&GetDescriptors() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const TObjArray&GetFunctions() const
virtual const char*TObject::GetIconName() const
const TObjArray&GetInputs() const
const TObjArray&GetInteractions() const
const TObjArray&GetMasks() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const TObjArray&GetPFProtections() const
virtual const char*TNamed::GetTitle() const
AliTriggerClass*GetTriggerClass(Int_t classIndex) const
TStringGetTriggeringDetectors() const
TStringGetTriggeringModules() const
virtual UInt_tTObject::GetUniqueID() const
Int_tGetVersion() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsSelected(TString detName, TString& detectors) const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
static AliTriggerConfiguration*LoadConfiguration(TString& des)
static AliTriggerConfiguration*LoadConfigurationFromString(const char* configuration)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidWriteConfiguration(const char* filename = "")
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum { kNMaxInputs
kNMaxInteractions
kNMaxFunctions
kNMaxClasses
kNMaxClusters
kNMaxPFProtections
kNMaxMasks
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TObjArrayfClassesArray of Trigger Classes
TObjArrayfClustersArray of Detector Trigger Clusters
TObjArrayfDescriptorsArray with trigger descriptors
TObjArrayfFunctionsArray with the logical functions of the first 4 inputs
TObjArrayfInputsArray with active CTP inputs
TObjArrayfInteractionsArray with the trigger interactions
TObjArrayfMasksArray with BC masks
TObjArrayfPFProtectionsArray of Past-Future Protections
Int_tfVersionConfiguration format version
static const TStringfgkConfigurationFileName! name of default configurations file

Class Charts

Inheritance Chart:
TNamed
AliTriggerConfiguration

Function documentation

AliTriggerConfiguration()
 Default constructor
AliTriggerConfiguration(TString& name, TString& description)
 Constructor
~AliTriggerConfiguration()
 Destructor
Bool_t AddInput(AliTriggerInput* input)
 Add a trigger input to
 the list of the trigger inputs
AliTriggerInput* AddInput(TString& name, TString& det, UChar_t level, UInt_t signature, UChar_t number)
 Add a trigger input to
 the list of the trigger inputs
AliTriggerInteraction* AddInteraction(TString& name, TString& logic)
 Add a trigger interaction object to
 the list of the trigger interactions
Bool_t AddInteraction(AliTriggerInteraction* interact)
 Add a trigger interaction object to
 the list of the trigger interactions
AliTriggerInteraction* AddFunction(TString& name, TString& logic)
 Add a trigger function object to
 the list of the trigger functions
Bool_t AddFunction(AliTriggerInteraction* func)
 Add a trigger function object to
 the list of the trigger functions
Bool_t AddPFProtection(AliTriggerPFProtection* pf)
 Add a trigger past-future protection object to
 the list of the trigger past-future protections
AliTriggerBCMask* AddMask(TString& name, TString& mask)
 Add a trigger bunch-crossing mask object to
 the list of the trigger bunch-crossing masks
Bool_t AddMask(AliTriggerBCMask* mask)
 Add a trigger bunch-crossing mask object to
 the list of the trigger bunch-crossing masks
AliTriggerCluster* AddCluster(TString& name, UChar_t index, TString& detectors)
 Add a trigger detector readout cluster to
 the list of the trigger clusters
Bool_t AddCluster(AliTriggerCluster* cluster)
 Add a trigger detector readout cluster to
 the list of the trigger clusters
TString GetActiveDetectors() const
 Return an string with all active detector
 from each cluster
TString GetTriggeringDetectors() const
 Return an string with all detectors
 used for triggering
TString GetTriggeringModules() const
 Return an string with all detectors (modules in the AliRoot
 simulation sense) used for triggering
AliTriggerDescriptor* AddDescriptor(TString& name, TString& cond)
 Add a trigger descriptor to
 the list of the trigger descriptors
Bool_t AddDescriptor(AliTriggerDescriptor* desc)
 Add a trigger descriptor to
 the list of the trigger descriptors
Bool_t AddClass(AliTriggerClass* trclass)
 Add a trigger class to
 the list of the trigger classes
AliTriggerClass * AddClass(TString& name, UChar_t index, AliTriggerDescriptor* desc, AliTriggerCluster* clus, AliTriggerPFProtection* pfp, AliTriggerBCMask* mask, UInt_t prescaler, Bool_t allrare)
 Add a trigger class to
 the list of the trigger classes
AliTriggerClass * AddClass(TString& name, UChar_t index, TString& desc, TString& clus, TString& pfp, TString& mask, UInt_t prescaler, Bool_t allrare)
 Add a new trigger class
Bool_t ProcessConfigurationLine(const char* line, Int_t& level)
 processes one line of configuration
AliTriggerConfiguration* LoadConfiguration(TString& des)
 Load one pre-created Configurations from database/file that match
 with the input string 'configuration'
 Ej: "Pb-Pb" or "p-p-DIMUON CALIBRATION-CENTRAL-BARREL"
 By default the files are stored in GRP/CTP folder.
 The filename is constructed as: GRP/CTP/<configuration>.cfg
AliTriggerConfiguration* LoadConfigurationFromString(const char* configuration)
 Loads configuration given as parameter <configuration>
TObjArray* GetAvailableConfigurations(const char* filename = "")
 Return an array of configuration in the file
void WriteConfiguration(const char* filename = "")
 Write the configuration
Int_t GetClassIndexFromName(const char* className) const
const TObjArray& classes = cfg->GetClasses();
const char* GetClassNameFromIndex(Int_t classIndex) const
AliTriggerClass* GetTriggerClass(Int_t classIndex) const
void Reset()
void Print(Option_t* opt = "") const
Bool_t IsSelected(TString detName, TString& detectors) const
 check whether detName is contained in detectors
 if yes, it is removed from detectors
AliTriggerConfiguration()
const TObjArray& GetInputs() const
{ return fInputs; }
const TObjArray& GetInteractions() const
{ return fInteractions; }
const TObjArray& GetFunctions() const
{ return fFunctions; }
const TObjArray& GetPFProtections() const
{ return fPFProtections; }
const TObjArray& GetMasks() const
{ return fMasks; }
const TObjArray& GetClusters() const
{ return fClusters; }
const TObjArray& GetDescriptors() const
{ return fDescriptors; }
const TObjArray& GetClasses() const
{ return fClasses; }
Int_t GetVersion() const
{ return fVersion; }
AliTriggerConfiguration& operator=(const AliTriggerConfiguration& des)