]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Time Group sharing info added to AliTriggerClass
authorlietava <lietava@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Feb 2012 12:55:28 +0000 (12:55 +0000)
committerlietava <lietava@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 21 Feb 2012 12:55:28 +0000 (12:55 +0000)
STEER/ESD/AliTriggerClass.cxx
STEER/ESD/AliTriggerClass.h
STEER/ESD/AliTriggerConfiguration.cxx

index cf806c69ac1c8dd42d66a518b3bb12329a1f2678..a36bf5ddefe8387f344f5e3095474bb11f7b2dc8 100644 (file)
@@ -43,7 +43,9 @@ AliTriggerClass::AliTriggerClass():
   fMask(NULL),
   fPrescaler(0),
   fAllRare(kFALSE),
-  fStatus(kFALSE)
+  fStatus(kFALSE),
+  fTimeGroup(0),
+  fTimeWindow(0)
 {
   // Default constructor
 }
@@ -62,7 +64,9 @@ AliTriggerClass::AliTriggerClass( TString & name, UChar_t index,
   fMask( mask ),
   fPrescaler( prescaler ),
   fAllRare( allrare ),
-  fStatus(kFALSE)
+  fStatus(kFALSE),
+  fTimeGroup(0),
+  fTimeWindow(0)
 {
   // Constructor
 }
@@ -82,7 +86,38 @@ AliTriggerClass::AliTriggerClass( AliTriggerConfiguration *config,
   fMask( NULL ),
   fPrescaler( prescaler ),
   fAllRare( allrare ),
-  fStatus(kFALSE)
+  fStatus(kFALSE),
+  fTimeGroup(0),
+  fTimeWindow(0)
+{
+  fDescriptor = (AliTriggerDescriptor*)config->GetDescriptors().FindObject(desc);
+  fCluster = (AliTriggerCluster*)config->GetClusters().FindObject(clus);
+  pfp.ReplaceAll("{","");
+  pfp.ReplaceAll("}","");
+  fPFProtection = (AliTriggerPFProtection*)config->GetPFProtections().FindObject(pfp);
+  mask.ReplaceAll("{","");
+  mask.ReplaceAll("}","");
+  fMask = (AliTriggerBCMask*)config->GetMasks().FindObject(mask);
+}
+//_____________________________________________________________________________
+AliTriggerClass::AliTriggerClass( AliTriggerConfiguration *config,
+                                 TString & name, UChar_t index,
+                                 TString &desc, TString &clus,
+                                 TString &pfp, TString &mask,
+                                 UInt_t prescaler, Bool_t allrare,
+                                 UInt_t timegroup,UInt_t timewindow) :
+  TNamed( name, name ),
+  fClassMask( 1ull << ULong64_t(index-1)),
+  fIndex(index),
+  fDescriptor( NULL ),
+  fCluster( NULL ),
+  fPFProtection( NULL ),
+  fMask( NULL ),
+  fPrescaler( prescaler ),
+  fAllRare( allrare ),
+  fStatus(kFALSE),
+  fTimeGroup(timegroup),
+  fTimeWindow(timewindow)
 {
   fDescriptor = (AliTriggerDescriptor*)config->GetDescriptors().FindObject(desc);
   fCluster = (AliTriggerCluster*)config->GetClusters().FindObject(clus);
@@ -110,7 +145,9 @@ AliTriggerClass::AliTriggerClass( const AliTriggerClass& trclass ):
   fMask(trclass.fMask),
   fPrescaler(trclass.fPrescaler),
   fAllRare(trclass.fAllRare),
-  fStatus(trclass.fStatus)
+  fStatus(trclass.fStatus),
+  fTimeGroup(trclass.fTimeGroup),
+  fTimeWindow(trclass.fTimeWindow)
 {
    // Copy constructor
 }
@@ -131,6 +168,8 @@ AliTriggerClass& AliTriggerClass::operator=(const AliTriggerClass& trclass)
       fPrescaler = trclass.fPrescaler;
       fAllRare = trclass.fAllRare;
       fStatus = trclass.fStatus;
+      fTimeGroup = trclass.fTimeGroup;
+      fTimeWindow = trclass.fTimeWindow;
    }
    return *this;
 }
@@ -210,6 +249,8 @@ void AliTriggerClass::Print( const Option_t* ) const
   cout << "  BC Mask:      " << fMask->GetName() << endl;
   cout << "  Prescaler:    " << fPrescaler << endl;
   cout << "  AllRare:      " << fAllRare << endl;
+  cout << "  Time Group:      " << fTimeGroup << endl;
+  cout << "  Time Window:      " << fTimeWindow << endl;
   if (fStatus)
      cout << "   Class is fired      " << endl;
    else
index e6c2fa25d142fe9415f441ea27e2a5bbc50e983e..546fabf1a210749033c688d033760aecdda97ef3 100644 (file)
@@ -8,8 +8,9 @@
 //                                                                           //
 // This class represents the CTP class objects                               //
 //                                                                           //
-// The Class consists of Name, descriptor, mask, protection, index in the    //
-// trigger mask                                                              //
+// The Class consists of Name, index in the trigger mask counted from 1,     //
+// descriptor, cluster,past-future, mask, downscale, allrare,                //
+// time group, time window                                                   //
 //                                                                           //
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
@@ -35,6 +36,12 @@ public:
                                           TString &desc, TString &clus,
                                           TString &pfp, TString &mask,
                                           UInt_t prescaler, Bool_t allrare);
+                          AliTriggerClass( AliTriggerConfiguration *config,
+                                          TString & name, UChar_t index,
+                                          TString &desc, TString &clus,
+                                          TString &pfp, TString &mask,
+                                          UInt_t prescaler, Bool_t allrare,
+                                          UInt_t timegroup, UInt_t timewindow);
 
                           AliTriggerClass( const AliTriggerClass& trclass );
                virtual   ~AliTriggerClass();
@@ -48,6 +55,8 @@ public:
     AliTriggerDescriptor* GetDescriptor() const { return fDescriptor; }
        AliTriggerCluster* GetCluster() const { return fCluster; }
         AliTriggerBCMask* GetBCMask() const { return fMask; }
+                  UInt_t GetTimeGroup() const { return fTimeGroup; }
+                  UInt_t GetTimeWindow() const { return fTimeGroup; }
 
                     void  Trigger( const TObjArray& inputs , const TObjArray& functions);
                    void  Print( const Option_t* ) const;
@@ -64,8 +73,10 @@ private:
                   UInt_t  fPrescaler;    // Downscaling factor
                   Bool_t  fAllRare;      // All or Rare trigger
                  Bool_t  fStatus;       //! true = Condition has been satisfied after Trigger
+                 UInt_t  fTimeGroup;    // time group
+                 UInt_t  fTimeWindow;   // the size of time window for its group
 
-  ClassDef( AliTriggerClass, 3 )  // Define a trigger class object
+  ClassDef( AliTriggerClass, 4 )  // Define a trigger class object
 };
 
 #endif
index a664139b9e253d0bee16e1381d664d742397eb0d..0c4025f8e682334d7308ea838f67dd692fcb2237 100755 (executable)
@@ -686,15 +686,22 @@ Bool_t AliTriggerConfiguration::ProcessConfigurationLine(const char* line, Int_t
        break;
      case 7:
        {
-         if ((ntokens < 8) || (ntokens >10)) {
+         if ((ntokens !=8) && (ntokens != 10)) {
           AliError(Form("Invalid trigger class syntax (%s)!",strLine.Data()));
           return kFALSE;
          }
-         AliTriggerClass *trclass = new AliTriggerClass(this,
-                                                       ((TObjString*)tokens->At(0))->String(),((TObjString*)tokens->At(1))->String().Atoi(),
-                                                       ((TObjString*)tokens->At(2))->String(),((TObjString*)tokens->At(3))->String(),
-                                                       ((TObjString*)tokens->At(4))->String(),((TObjString*)tokens->At(5))->String(),
-                                                       ((TObjString*)tokens->At(6))->String().Atoi(),(Bool_t)(((TObjString*)tokens->At(7))->String().Atoi()));
+        AliTriggerClass *trclass=0;
+        if(ntokens == 8)trclass = new AliTriggerClass(this,
+                       ((TObjString*)tokens->At(0))->String(),((TObjString*)tokens->At(1))->String().Atoi(),
+                       ((TObjString*)tokens->At(2))->String(),((TObjString*)tokens->At(3))->String(),
+                       ((TObjString*)tokens->At(4))->String(),((TObjString*)tokens->At(5))->String(),
+                       ((TObjString*)tokens->At(6))->String().Atoi(),(Bool_t)(((TObjString*)tokens->At(7))->String().Atoi()));
+        else trclass = new AliTriggerClass(this,
+                       ((TObjString*)tokens->At(0))->String(),((TObjString*)tokens->At(1))->String().Atoi(),
+                       ((TObjString*)tokens->At(2))->String(),((TObjString*)tokens->At(3))->String(),
+                       ((TObjString*)tokens->At(4))->String(),((TObjString*)tokens->At(5))->String(),
+                       ((TObjString*)tokens->At(6))->String().Atoi(),(Bool_t)(((TObjString*)tokens->At(7))->String().Atoi()),
+                       (((TObjString*)tokens->At(8))->String().Atoi()),(((TObjString*)tokens->At(9))->String().Atoi()));
         AddClass(trclass);
        }
      default: