100 classes interfaces for STEER classes
authorrlietava <rl@eprex16.ph.bham.ac.uk>
Wed, 21 May 2014 16:12:49 +0000 (17:12 +0100)
committerrlietava <rl@eprex16.ph.bham.ac.uk>
Wed, 21 May 2014 16:12:49 +0000 (17:12 +0100)
STEER/ESD/AliESDEvent.h
STEER/ESD/AliESDRun.cxx
STEER/ESD/AliESDRun.h
STEER/ESD/AliTriggerConfiguration.h
STEER/STEER/AliRawDataHeaderSim.h

index 56db016..216acf8 100644 (file)
@@ -187,6 +187,7 @@ public:
 
   // Delegated methods for fHeader
   void      SetTriggerMask(ULong64_t n) {if(fHeader) fHeader->SetTriggerMask(n);}
+  void      SetTriggerMaskNext50(ULong64_t n) {if(fHeader) fHeader->SetTriggerMaskNext50(n);}
   void      SetOrbitNumber(UInt_t n) {if(fHeader) fHeader->SetOrbitNumber(n);}
   void      SetTimeStamp(UInt_t timeStamp){if(fHeader) fHeader->SetTimeStamp(timeStamp);}
   void      SetEventType(UInt_t eventType){if(fHeader) fHeader->SetEventType(eventType);}
@@ -197,8 +198,11 @@ public:
   void      SetTriggerCluster(UChar_t n) {if(fHeader) fHeader->SetTriggerCluster(n);}
   
   ULong64_t GetTriggerMask() const {return fHeader?fHeader->GetTriggerMask():0;}
-  TString   GetFiredTriggerClasses() const {return (fESDRun&&fHeader)?fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask()):"";}
-  Bool_t    IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),name):kFALSE;}
+  ULong64_t GetTriggerMaskNext50() const {return fHeader?fHeader->GetTriggerMaskNext50():0;}
+  //TString   GetFiredTriggerClasses() const {return (fESDRun&&fHeader)?fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask()):"";}
+  TString   GetFiredTriggerClasses() const {return (fESDRun&&fHeader)?fESDRun->GetFiredTriggerClasses(fHeader->GetTriggerMask(),fHeader->GetTriggerMaskNext50()):"";}
+  //Bool_t    IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),name):kFALSE;}
+  Bool_t    IsTriggerClassFired(const char *name) const {return (fESDRun&&fHeader)?fESDRun->IsTriggerClassFired(fHeader->GetTriggerMask(),fHeader->GetTriggerMaskNext50(),name):kFALSE;}
   Bool_t    IsEventSelected(const char *trigExpr) const;
   TObject*  GetHLTTriggerDecision() const;
   TString   GetHLTTriggerDescription() const;
index d4e658e..e2c85fa 100644 (file)
@@ -304,6 +304,7 @@ TString AliESDRun::GetFiredTriggerClasses(ULong64_t mask) const
   // list of trigger classes that
   // have been fired. Uses the trigger
   // class mask as an argument.
+  // Works both for first50 and next50 classes
   TString trclasses;
   for(Int_t i = 0; i < kNTriggerClasses; i++) {
     if (mask & (1ull << i)) {
@@ -320,6 +321,18 @@ TString AliESDRun::GetFiredTriggerClasses(ULong64_t mask) const
 }
 
 //______________________________________________________________________________
+TString AliESDRun::GetFiredTriggerClasses(ULong64_t masklow,ULong64_t maskhigh) const
+{
+ // Contruct and returns list of trigger classes for 100 classes
+ TString trclasseslow;
+ trclasseslow  = GetFiredTriggerClasses(masklow);
+ TString trclasseshigh;
+ trclasseshigh  = GetFiredTriggerClasses(maskhigh);
+ TString trclasses;
+ trclasses = trclasseslow+trclasseshigh;
+ return trclasses;
+}
+//______________________________________________________________________________
 Bool_t AliESDRun::IsTriggerClassFired(ULong64_t mask, const char *name) const
 {
   // Checks if the trigger class
@@ -337,7 +350,11 @@ Bool_t AliESDRun::IsTriggerClassFired(ULong64_t mask, const char *name) const
   else
     return kFALSE;
 }
-
+//______________________________________________________________________________
+Bool_t AliESDRun::IsTriggerClassFired(ULong64_t masklow, ULong64_t maskhigh,const char *name) const
+{
+ return (IsTriggerClassFired(masklow,name) || IsTriggerClassFired(maskhigh,name));
+}
 //_____________________________________________________________________________
 Bool_t AliESDRun::InitMagneticField() const
 {
index cb59466..aa5d3da 100644 (file)
@@ -62,7 +62,9 @@ public:
   const char* GetTriggerClass(Int_t index) const;
   TString     GetActiveTriggerClasses() const;
   TString     GetFiredTriggerClasses(ULong64_t mask) const;
+  TString     GetFiredTriggerClasses(ULong64_t mask,ULong64_t mask2) const;
   Bool_t      IsTriggerClassFired(ULong64_t mask, const char *name) const;
+  Bool_t      IsTriggerClassFired(ULong64_t mask, ULong64_t mask2,const char *name) const;
   Float_t     GetCurrentL3()               const {return fCurrentL3;}
   Float_t     GetCurrentDip()              const {return fCurrentDip;}
   Float_t     GetBeamEnergy()              const {return IsBeamEnergyIsSqrtSHalfGeV() ? fBeamEnergy : fBeamEnergy/2;}
@@ -89,7 +91,7 @@ public:
        return ((i >= 0) && (i < kNEMCALMatrix)) ? fEMCALMatrix[i] : NULL;
   }
        
-  enum {kNTriggerClasses = 50};
+  enum {kNTriggerClasses = 100};
   enum {kNPHOSMatrix = 5};
   enum {kNEMCALMatrix = 22};
   enum {kT0spreadSize = 4};
index 11f9377..82c8130 100755 (executable)
@@ -106,8 +106,8 @@ public:
       enum {kNMaxInputs = 60}; // CTP handles up to 60 trigger detector inputs
       enum {kNMaxInteractions = 2}; // CTP handles up to two different interactions
       enum {kNMaxFunctions = 4}; // CTP handles up to 4 different logical functions
-      enum {kNMaxClasses = 50}; // Maximum number of trigger classes = 50
-      enum {kNMaxClusters = 6}; // Maximum number of different detector clusters that can be handled by CTP
+      enum {kNMaxClasses = 100}; // Maximum number of trigger classes = 50
+      enum {kNMaxClusters = 8}; // Maximum number of different detector clusters that can be handled by CTP
       enum {kNMaxPFProtections = 4}; // Maximum number of different past-future protections that can be handled by CTP
       enum {kNMaxMasks = 13};  // CTP handles up to 12 different BC masks + NONE
 
index 132b5e9..721b257 100644 (file)
@@ -20,7 +20,9 @@ public:
       if(!runloader->GetTrigger()) runloader->LoadTrigger();
       if (AliCentralTrigger *aCTP = runloader->GetTrigger()) {
        ULong64_t mask = aCTP->GetClassMask();
+       ULong64_t masknext = aCTP->GetClassMaskNext50();
        SetTriggerClass(mask);
+       SetTriggerClassNext50(masknext);
       }
       else
        Warning("SetTriggerClass","No trigger can be loaded! Putting empty trigger class into the raw data header !");