]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
recover the L1 trigger threshold from data, set the L1 trigger for the selected trigg...
authorgconesab <gustavo.conesa.balbastre@cern.ch>
Tue, 18 Feb 2014 17:34:47 +0000 (18:34 +0100)
committergconesab <gustavo.conesa.balbastre@cern.ch>
Tue, 18 Feb 2014 17:35:08 +0000 (18:35 +0100)
PWG/CaloTrackCorrBase/AliCaloTrackReader.cxx
PWG/CaloTrackCorrBase/AliCaloTrackReader.h
PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx
PWGGA/CaloTrackCorrelations/macros/AddTaskCaloTrackCorr.C

index c2a99a7499b6136ab2f545cca78666f52398fe05..c959e611235a383c53e0cb96797302b58c098a9c 100755 (executable)
@@ -112,7 +112,7 @@ fEMCALClustersListName(""),  fZvtxCut(0.),
 fAcceptFastCluster(kFALSE),  fRemoveLEDEvents(kTRUE),
 //Trigger rejection
 fRemoveBadTriggerEvents(0),  fTriggerPatchClusterMatch(0),
-fTriggerPatchTimeWindow(),   fTriggerEventThreshold(0),
+fTriggerPatchTimeWindow(),   fTriggerL0EventThreshold(0),     fTriggerL1EventThreshold(0),
 fTriggerClusterBC(0),        fTriggerClusterIndex(0),         fTriggerClusterId(0),
 fIsExoticEvent(0),           fIsBadCellEvent(0),              fIsBadMaxCellEvent(0),
 fIsTriggerMatch(0),          fIsTriggerMatchOpenCut(),
@@ -857,10 +857,10 @@ void AliCaloTrackReader::InitParameters()
   fTriggerPatchTimeWindow[0] = 8;
   fTriggerPatchTimeWindow[1] = 9;
   
-  fTriggerClusterBC      = -10000 ;
-  fTriggerEventThreshold =  2.;
-  fTriggerClusterIndex   = -1;
-  fTriggerClusterId      = -1;
+  fTriggerClusterBC        = -10000 ;
+  fTriggerL0EventThreshold =  2.;
+  fTriggerClusterIndex     = -1;
+  fTriggerClusterId        = -1;
   
   //Jets
   fInputNonStandardJetBranchName = "jets";
@@ -2160,6 +2160,18 @@ TArrayI AliCaloTrackReader::GetTriggerPatches(Int_t tmin, Int_t tmax )
   // get object pointer
   AliVCaloTrigger *caloTrigger = GetInputEvent()->GetCaloTrigger( "EMCAL" );
 
+  // Recover the threshold of the event that triggered, only possible for L1
+  if     (IsEventEMCALL1Gamma1()) fTriggerL1EventThreshold =  0.07874*caloTrigger->GetL1Threshold(1);
+  else if(IsEventEMCALL1Gamma2()) fTriggerL1EventThreshold =  0.07874*caloTrigger->GetL1Threshold(3);
+  else if(IsEventEMCALL1Jet1  ()) fTriggerL1EventThreshold =  0.07874*caloTrigger->GetL1Threshold(0);
+  else if(IsEventEMCALL1Jet2  ()) fTriggerL1EventThreshold =  0.07874*caloTrigger->GetL1Threshold(2);
+  
+//  printf("L1 trigger Threshold Jet1 %f, Gamma1 %f, Jet2 %f, Gamma2 %f\n",
+//         0.07874*caloTrigger->GetL1Threshold(0),
+//         0.07874*caloTrigger->GetL1Threshold(1),
+//         0.07874*caloTrigger->GetL1Threshold(2),
+//         0.07874*caloTrigger->GetL1Threshold(3));
+  
   //printf("CaloTrigger Entries %d\n",caloTrigger->GetEntries() );
   
   // class is not empty
@@ -2313,8 +2325,12 @@ void  AliCaloTrackReader::MatchTriggerCluster(TArrayI patches)
   Int_t   absIdMaxMax = -1;
   
   Int_t   nOfHighECl  = 0 ;
-       
-  Float_t minE = fTriggerEventThreshold / 2.;
+  
+  Float_t triggerThreshold = fTriggerL1EventThreshold;
+  if(IsEventEMCALL0()) triggerThreshold = fTriggerL0EventThreshold;
+  
+  Float_t minE = triggerThreshold / 2.;
+
   // This method is not really suitable for JET trigger
   // but in case, reduce the energy cut since we do not trigger on high energy particle
   if(IsEventEMCALL1Jet() || minE < 1) minE = 1;
index 2c2a13e1ef2d4075b1445e72aeec27a4bb610f7b..183054ef26ba164879d18cecab8df847637ebbe1 100755 (executable)
@@ -284,18 +284,19 @@ public:
 
   Bool_t           CheckEventTriggers();
   
-  Bool_t           IsExoticEvent()                         { return fIsExoticEvent           ; }  
-  Bool_t           IsBadCellTriggerEvent()                 { return fIsBadCellEvent          ; }
-  Bool_t           IsBadMaxCellTriggerEvent()              { return fIsBadMaxCellEvent       ; }
-  Bool_t           IsTriggerMatched()                      { return fIsTriggerMatch          ; }
-  Bool_t           IsTriggerMatchedOpenCuts(Int_t i)       { return fIsTriggerMatchOpenCut[i]; }
+  Bool_t           IsExoticEvent()                   const { return fIsExoticEvent           ; }
+  Bool_t           IsBadCellTriggerEvent()           const { return fIsBadCellEvent          ; }
+  Bool_t           IsBadMaxCellTriggerEvent()        const { return fIsBadMaxCellEvent       ; }
+  Bool_t           IsTriggerMatched()                const { return fIsTriggerMatch          ; }
+  Bool_t           IsTriggerMatchedOpenCuts(Int_t i) const { return fIsTriggerMatchOpenCut[i]; }
   
-  Int_t            GetTriggerClusterBC()                   { return fTriggerClusterBC        ; }
-  Int_t            GetTriggerClusterIndex()                { return fTriggerClusterIndex     ; }
-  Int_t            GetTriggerClusterId()                   { return fTriggerClusterId        ; }
+  Int_t            GetTriggerClusterBC()             const { return fTriggerClusterBC        ; }
+  Int_t            GetTriggerClusterIndex()          const { return fTriggerClusterIndex     ; }
+  Int_t            GetTriggerClusterId()             const { return fTriggerClusterId        ; }
   
-  Float_t          GetEventTriggerThreshold()              { return fTriggerEventThreshold   ; }
-  void             SetEventTriggerThreshold(Float_t tr)    { fTriggerEventThreshold   = tr   ; }
+  Float_t          GetEventTriggerL0Threshold()      const { return fTriggerL0EventThreshold ; }
+  void             SetEventTriggerL0Threshold(Float_t tr)  { fTriggerL0EventThreshold   = tr ; }
+  Float_t          GetEventTriggerL1Threshold()      const { return fTriggerL1EventThreshold ; }
 
   void             SetTriggerPatchTimeWindow(Int_t min, Int_t max) { fTriggerPatchTimeWindow[0] = min ;
                                                                      fTriggerPatchTimeWindow[1] = max ; }
@@ -728,7 +729,8 @@ public:
   Bool_t           fRemoveBadTriggerEvents;      // Remove triggered events because trigger was exotic, bad, or out of BC
   Bool_t           fTriggerPatchClusterMatch;    // Search for the trigger patch and check if associated cluster was the trigger
   Int_t            fTriggerPatchTimeWindow[2];   // Trigger patch selection window
-  Float_t          fTriggerEventThreshold;       // Threshold to look for triggered events
+  Float_t          fTriggerL0EventThreshold;     // L0 Threshold to look for triggered events, set outside
+  Float_t          fTriggerL1EventThreshold;     // L1 Threshold to look for triggered events, set in data
   Int_t            fTriggerClusterBC;            // Event triggered by a cluster in BC -5 0 to 5
   Int_t            fTriggerClusterIndex;         // Index in clusters array of trigger cluster
   Int_t            fTriggerClusterId;            // Id of trigger cluster (cluster->GetID())
@@ -797,7 +799,7 @@ public:
   AliCaloTrackReader(              const AliCaloTrackReader & r) ; // cpy ctor
   AliCaloTrackReader & operator = (const AliCaloTrackReader & r) ; // cpy assignment
   
-  ClassDef(AliCaloTrackReader,66)
+  ClassDef(AliCaloTrackReader,67)
   
 } ;
 
index b6f819fbecce89d6af05894e8726ab4796dd513e..86d566a3a14c220574e04c6f71b9bef3c3ea337e 100755 (executable)
@@ -767,7 +767,9 @@ void  AliAnaPhoton::FillEMCALTriggerClusterBCHistograms(Int_t idcalo,       Floa
           
           if(bc==0)
           {
-            Float_t threshold = GetReader()->GetEventTriggerThreshold() ;
+            Float_t threshold = GetReader()->GetEventTriggerL1Threshold() ;
+            if(GetReader()->IsEventEMCALL0()) threshold = GetReader()->GetEventTriggerL0Threshold() ;
+            
             if(ecluster > threshold)
               fhEtaPhiTriggerEMCALBCClusterOverTh->Fill(etacluster, phicluster);
             else if(ecluster > threshold-1)
@@ -795,7 +797,9 @@ void  AliAnaPhoton::FillEMCALTriggerClusterBCHistograms(Int_t idcalo,       Floa
           fhTimeTriggerEMCALBCUMCluster->Fill(ecluster, tofcluster);
           if(bc==0)
           {
-            Float_t threshold = GetReader()->GetEventTriggerThreshold() ;
+            Float_t threshold = GetReader()->GetEventTriggerL1Threshold() ;
+            if(GetReader()->IsEventEMCALL0()) threshold = GetReader()->GetEventTriggerL0Threshold() ;
+            
             if(ecluster > threshold)
               fhEtaPhiTriggerEMCALBCUMClusterOverTh->Fill(etacluster, phicluster);
             else if(ecluster > threshold-1)
index 03cb8bac2defe7c803748cda7f979f2c02e67d7f..3220e5d2f26872da3b4f96e2d1cf3b566e122114 100644 (file)
@@ -454,10 +454,10 @@ AliCaloTrackReader * ConfigureReader()
   //reader->SwitchOffTriggerClusterTimeRecal() ;
 
   reader->SetTriggerPatchTimeWindow(8,9); // L0
-  if     (kRunNumber < 146861) reader->SetEventTriggerThreshold(3.);
-  else if(kRunNumber < 154000) reader->SetEventTriggerThreshold(4.);
-  else if(kRunNumber < 165000) reader->SetEventTriggerThreshold(5.5);
-  else                         reader->SetEventTriggerThreshold(8); // CAREFUL!
+  if     (kRunNumber < 146861) reader->SetEventTriggerL0Threshold(3.);
+  else if(kRunNumber < 154000) reader->SetEventTriggerL0Threshold(4.);
+  else if(kRunNumber < 165000) reader->SetEventTriggerL0Threshold(5.5);
+
   //redefine for other periods, triggers
 
   //if(!kUseKinematics) reader->SetFiredTriggerClassName("CEMC7EGA-B-NOPF-CENTNOTRD"); // L1 Gamma