]>
Commit | Line | Data |
---|---|---|
dd094cf8 | 1 | #ifndef ALIANALYSISTASKCOUNTER_H |
2 | #define ALIANALYSISTASKCOUNTER_H | |
3 | ||
4 | //_________________________________________________________________________ | |
5 | // | |
6 | // Count events with different selections | |
7 | // | |
8 | // Author: Gustavo Conesa Balbastre (LPSC) | |
9 | // | |
10 | //_________________________________________________________________________ | |
11 | ||
12 | class TH1F; | |
13 | class TList; | |
14 | class AliESDtrackCuts; | |
99e2921c | 15 | //class AliTriggerAnalysis; |
dd094cf8 | 16 | |
17 | #include "AliAnalysisTaskSE.h" | |
18 | ||
19 | class AliAnalysisTaskCounter : public AliAnalysisTaskSE { | |
20 | ||
21 | public: | |
22 | AliAnalysisTaskCounter(); | |
23 | AliAnalysisTaskCounter(const char *name); | |
24 | virtual ~AliAnalysisTaskCounter() ; | |
25 | ||
ed834a27 | 26 | virtual void UserCreateOutputObjects(); |
27 | ||
46f9f991 | 28 | virtual void UserExec(Option_t *option); |
ed834a27 | 29 | |
46f9f991 | 30 | virtual void FinishTaskOutput(); |
dd094cf8 | 31 | |
46f9f991 | 32 | virtual Bool_t Notify(); |
ed834a27 | 33 | |
34 | static Bool_t PythiaInfoFromFile(TString currFile, Float_t & xsec, Float_t & trials) ; | |
46f9f991 | 35 | |
ed834a27 | 36 | void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta ; } |
37 | void SetZVertexCut(Float_t vcut) { fZVertexCut = vcut ; } | |
cd2e4ce6 | 38 | |
ed834a27 | 39 | void AcceptFastCluster() { fAcceptFastCluster = kTRUE ; } |
40 | void RejectFastCluster() { fAcceptFastCluster = kFALSE ; } | |
41 | Bool_t IsFastClusterAccepted() const { return fAcceptFastCluster ; } | |
dd094cf8 | 42 | |
ed834a27 | 43 | Bool_t CheckForPrimaryVertex() ; |
46f9f991 | 44 | |
ed834a27 | 45 | void SwitchOnMCCrossSectionCalculation() { fCheckMCCrossSection = kTRUE ; } |
46 | void SwitchOffMCCrossSectionCalculation() { fCheckMCCrossSection = kFALSE ; } | |
47 | ||
48 | private: | |
49 | ||
cd2e4ce6 | 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 | |
46f9f991 | 53 | Float_t fAvgTrials; // avg trials |
cd2e4ce6 | 54 | TList* fOutputContainer; //! Histogram container |
55 | AliESDtrackCuts * fESDtrackCuts; // Track cut | |
99e2921c | 56 | //AliTriggerAnalysis * fTriggerAnalysis; // Trigger algorithm |
46f9f991 | 57 | TString fCurrFileName; // current file path name |
ed834a27 | 58 | Bool_t fCheckMCCrossSection; // retrieve from the pyxsec.root file only if requested |
dd094cf8 | 59 | |
60 | //Histograms | |
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 | |
e19ca838 | 68 | TH1F * fhCentrality; //! centrality |
0792da48 | 69 | TH1F * fhEventPlaneAngle; //! Histogram with Event plane angle |
70 | ||
46f9f991 | 71 | TH1F * fh1Xsec ; //! Xsec pythia |
72 | TH1F * fh1Trials ; //! trials pythia | |
73 | ||
d2655d46 | 74 | AliAnalysisTaskCounter( const AliAnalysisTaskCounter&); // not implemented |
c5693f62 | 75 | AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented |
76 | ||
ed834a27 | 77 | ClassDef(AliAnalysisTaskCounter, 6); |
dd094cf8 | 78 | |
79 | }; | |
80 | ||
81 | #endif //ALIANALYSISTASKCOUNTER_H |