AliTriggerAnalysis: added switch to disable FMD histograms (runs much faster) (consta...
authormfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Nov 2010 14:38:14 +0000 (14:38 +0000)
committermfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Nov 2010 14:38:14 +0000 (14:38 +0000)
AliPhysicsSelectio: FMD histogram disabled by default

ANALYSIS/AliPhysicsSelection.cxx
ANALYSIS/AliTriggerAnalysis.cxx
ANALYSIS/AliTriggerAnalysis.h

index f03fd1d..4cdc311 100644 (file)
@@ -786,6 +786,7 @@ Bool_t AliPhysicsSelection::Initialize(Int_t runNumber)
       triggerAnalysis->SetAnalyzeMC(fMC);
       triggerAnalysis->EnableHistograms();
       triggerAnalysis->SetSPDGFOThreshhold(1);
+      triggerAnalysis->SetDoFMD(kFALSE);
       fTriggerAnalysis.Add(triggerAnalysis);
     }
       
index c9660be..d2fb401 100644 (file)
@@ -54,6 +54,7 @@ AliTriggerAnalysis::AliTriggerAnalysis() :
   fV0HwAdcThr(2.5),
   fV0HwWinLow(61.5),
   fV0HwWinHigh(86.5),
+  fDoFMD(kTRUE),
   fFMDLowCut(0.2),
   fFMDHitCut(0.5),
   fHistBitsSPD(0),
@@ -603,8 +604,10 @@ void AliTriggerAnalysis::FillHistograms(const AliESDEvent* aEsd)
     AliError("AliESDZDC not available");
   }
   
-  fHistFMDA->Fill(FMDHitCombinations(aEsd, kASide, kTRUE));
-  fHistFMDC->Fill(FMDHitCombinations(aEsd, kCSide, kTRUE));
+  if (fDoFMD) {
+    fHistFMDA->Fill(FMDHitCombinations(aEsd, kASide, kTRUE));
+    fHistFMDC->Fill(FMDHitCombinations(aEsd, kCSide, kTRUE));
+  }
 }
   
 void AliTriggerAnalysis::FillTriggerClasses(const AliESDEvent* aEsd)
@@ -943,6 +946,9 @@ Int_t AliTriggerAnalysis::FMDHitCombinations(const AliESDEvent* aEsd, AliceSide
   //
   // Authors: FMD team, Hans Dalsgaard (code merged from FMD/AliFMDOfflineTrigger)
 
+  if (!fDoFMD)
+    return -1;
+
   // Workaround for AliESDEvent::GetFMDData is not const!
   const AliESDFMD* fmdData = (const_cast<AliESDEvent*>(aEsd))->GetFMDData();
   if (!fmdData)
index 9323eb9..b67d7a2 100644 (file)
@@ -66,7 +66,8 @@ class AliTriggerAnalysis : public TObject
     void SetV0AdcThr(Float_t thr) { fV0AdcThr = thr; }
     void SetV0HwPars(Float_t thr, Float_t winLow, Float_t winHigh) { fV0HwAdcThr = thr; fV0HwWinLow = winLow; fV0HwWinHigh = winHigh; }
     void SetFMDThreshold(Float_t low, Float_t hit) { fFMDLowCut = low; fFMDHitCut = hit; }
-    
+    void SetDoFMD(Bool_t flag = kTRUE) {fDoFMD = flag;}
+
     Int_t GetSPDGFOThreshhold() const { return fSPDGFOThreshold; }
     Float_t GetV0TimeOffset() const { return fV0TimeOffset; }
     Float_t GetV0AdcThr()     const { return fV0AdcThr; }
@@ -100,6 +101,7 @@ class AliTriggerAnalysis : public TObject
     Float_t fV0HwWinLow;            // online V0 trigger - lower edge of time window
     Float_t fV0HwWinHigh;           // online V0 trigger - upper edge of time window
 
+    Bool_t  fDoFMD;                 // If false, skips the FMD (physics selection runs much faster)
     Float_t fFMDLowCut;                    // 
     Float_t fFMDHitCut;                    //