1 #ifndef ALIANALYSISTASKCOUNTER_H
2 #define ALIANALYSISTASKCOUNTER_H
4 //_________________________________________________________________________
6 // Count events with different selections
8 // Author: Gustavo Conesa Balbastre (LPSC)
10 //_________________________________________________________________________
14 class AliESDtrackCuts;
15 //class AliTriggerAnalysis;
17 #include "AliAnalysisTaskSE.h"
19 class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
22 AliAnalysisTaskCounter();
23 AliAnalysisTaskCounter(const char *name);
24 virtual ~AliAnalysisTaskCounter() ;
26 virtual void UserCreateOutputObjects();
28 virtual void UserExec(Option_t *option);
30 virtual void FinishTaskOutput();
32 virtual Bool_t Notify();
34 static Bool_t PythiaInfoFromFile(TString currFile, Float_t & xsec, Float_t & trials) ;
36 void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta ; }
37 void SetZVertexCut(Float_t vcut) { fZVertexCut = vcut ; }
39 void AcceptFastCluster() { fAcceptFastCluster = kTRUE ; }
40 void RejectFastCluster() { fAcceptFastCluster = kFALSE ; }
41 Bool_t IsFastClusterAccepted() const { return fAcceptFastCluster ; }
43 Bool_t CheckForPrimaryVertex() ;
45 void SwitchOnMCCrossSectionCalculation() { fCheckMCCrossSection = kTRUE ; }
46 void SwitchOffMCCrossSectionCalculation() { fCheckMCCrossSection = kFALSE ; }
50 Bool_t fAcceptFastCluster; // Accept events from fast cluster, exclude thiese events for LHC11a
51 Float_t fZVertexCut; // Z vertex cut
52 Float_t fTrackMultEtaCut; // Track multiplicity eta cut
53 Float_t fAvgTrials; // avg trials
54 TList* fOutputContainer; //! Histogram container
55 AliESDtrackCuts * fESDtrackCuts; // Track cut
56 //AliTriggerAnalysis * fTriggerAnalysis; // Trigger algorithm
57 TString fCurrFileName; // current file path name
58 Bool_t fCheckMCCrossSection; // retrieve from the pyxsec.root file only if requested
61 TH1I * fhNEvents; //! Events that delivers the analysis frame after different assumptions
62 TH1F * fhXVertex; //! X Vertex distribution
63 TH1F * fhYVertex; //! Y Vertex distribution
64 TH1F * fhZVertex; //! Z Vertex distribution
65 TH1F * fhXGoodVertex; //! X Vertex good distribution
66 TH1F * fhYGoodVertex; //! Y Vertex good distribution
67 TH1F * fhZGoodVertex; //! Z Vertex good distribution
68 TH1F * fhCentrality; //! centrality
69 TH1F * fhEventPlaneAngle; //! Histogram with Event plane angle
71 TH1F * fh1Xsec ; //! Xsec pythia
72 TH1F * fh1Trials ; //! trials pythia
74 AliAnalysisTaskCounter( const AliAnalysisTaskCounter&); // not implemented
75 AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
77 ClassDef(AliAnalysisTaskCounter, 6);
81 #endif //ALIANALYSISTASKCOUNTER_H