]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add switch to avoid searching for cross section file always
authorgconesab <gustavo.conesa.balbastre@cern.ch>
Wed, 12 Feb 2014 17:32:47 +0000 (18:32 +0100)
committergconesab <gustavo.conesa.balbastre@cern.ch>
Wed, 12 Feb 2014 17:55:50 +0000 (18:55 +0100)
PWG/CaloTrackCorrBase/AliAnalysisTaskCounter.cxx
PWG/CaloTrackCorrBase/AliAnalysisTaskCounter.h

index a9badc57d9b63a33b2094f20167f59804dc00574..5c6821a47975290968a77e28bcabad61af4e2a60 100644 (file)
@@ -68,8 +68,8 @@ AliAnalysisTaskCounter::AliAnalysisTaskCounter(const char *name)
   fOutputContainer(0x0),
   fESDtrackCuts(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010()),
   fTriggerAnalysis (new AliTriggerAnalysis),
-  fCurrFileName(0),
-  fhNEvents(0),   
+  fCurrFileName(0), fCheckMCCrossSection(kFALSE),
+  fhNEvents(0),
   fhXVertex(0),    fhYVertex(0),    fhZVertex(0),
   fhXGoodVertex(0),fhYGoodVertex(0),fhZGoodVertex(0),
   fhCentrality(0), fhEventPlaneAngle(0),
@@ -470,6 +470,8 @@ Bool_t AliAnalysisTaskCounter::Notify()
   // and number of trials from pyxsec.root
   //
   
+  if(!fCheckMCCrossSection) return kTRUE;
+
   // Fetch the aod also from the input in,
   // have todo it in notify
   
@@ -520,7 +522,7 @@ Bool_t AliAnalysisTaskCounter::PythiaInfoFromFile(TString file,Float_t & xsec,Fl
   //
   // get the cross section and the trails either from pyxsec.root or from pysec_hists.root
   // This is to called in Notify and should provide the path to the AOD/ESD file
-  
+    
   xsec   = 0;
   trials = 1;
   
index 179695ba874e4bbc47427043ac258e18f304b3c8..c304ca5c2a2362eaf949052f5b29b3ef463edcda 100644 (file)
@@ -23,23 +23,30 @@ class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
   AliAnalysisTaskCounter(const char *name);  
   virtual ~AliAnalysisTaskCounter() ;
   
-  virtual void   UserCreateOutputObjects();  
+  virtual void   UserCreateOutputObjects();
+  
   virtual void   UserExec(Option_t *option);
+  
   virtual void   FinishTaskOutput();
   
-  static  Bool_t PythiaInfoFromFile(TString currFile, Float_t & xsec, Float_t & trials) ;
   virtual Bool_t Notify();
+  
+  static  Bool_t PythiaInfoFromFile(TString currFile, Float_t & xsec, Float_t & trials) ;
 
-  void    SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }  
-  void    SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }
+  void           SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }
+  void           SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }
   
-  void    AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; } 
-  void    RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }  
-  Bool_t  IsFastClusterAccepted()       const     { return fAcceptFastCluster   ; }   
+  void           AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; }
+  void           RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }
+  Bool_t         IsFastClusterAccepted()       const     { return fAcceptFastCluster   ; }
   
-  Bool_t  CheckForPrimaryVertex() ;
+  Bool_t         CheckForPrimaryVertex() ;
 
- private: 
+  void           SwitchOnMCCrossSectionCalculation()     { fCheckMCCrossSection = kTRUE  ; }
+  void           SwitchOffMCCrossSectionCalculation()    { fCheckMCCrossSection = kFALSE ; }
+  
+ private:
+  
   Bool_t               fAcceptFastCluster; // Accept events from fast cluster, exclude thiese events for LHC11a
   Float_t              fZVertexCut;        // Z vertex cut  
   Float_t              fTrackMultEtaCut;   // Track multiplicity eta cut  
@@ -48,6 +55,7 @@ class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
   AliESDtrackCuts    * fESDtrackCuts;      // Track cut    
   AliTriggerAnalysis * fTriggerAnalysis;   // Trigger algorithm 
   TString              fCurrFileName;      // current file path name
+  Bool_t               fCheckMCCrossSection; // retrieve from the pyxsec.root file only if requested
   
   //Histograms
   TH1I *  fhNEvents;      //! Events that delivers the analysis frame after different assumptions  
@@ -66,7 +74,7 @@ class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
   AliAnalysisTaskCounter(           const AliAnalysisTaskCounter&); // not implemented  
   AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
   
-  ClassDef(AliAnalysisTaskCounter, 5);
+  ClassDef(AliAnalysisTaskCounter, 6);
 
 };