]>
Commit | Line | Data |
---|---|---|
cb68eb1d | 1 | //-*- Mode: C++ -*- |
2 | ||
3 | #ifndef ALIANALYSISNETPARTICLEDISTRIBUTION_H | |
4 | #define ALIANALYSISNETPARTICLEDISTRIBUTION_H | |
5 | ||
6 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
7 | * See cxx source for full Copyright notice */ | |
8 | ||
9 | // Helper Class for for NetParticle Distributions | |
10 | // Authors: Jochen Thaeder <jochen@thaeder.de> | |
11 | ||
12 | #include "THnSparse.h" | |
13 | #include "TH1F.h" | |
14 | #include "TF1.h" | |
15 | ||
16 | #include "AliAnalysisNetParticleHelper.h" | |
17 | ||
18 | class AliESDtrack; | |
19 | class AliMCEvent; | |
20 | class AliStack; | |
21 | class AliPIDResponse; | |
22 | class AliESDInputHandler; | |
23 | class AliESDtrackCuts; | |
9be43c8e | 24 | class AliAODInputHandler; |
cb68eb1d | 25 | |
26 | class AliAnalysisNetParticleDistribution : public TNamed { | |
27 | ||
28 | public: | |
29 | ||
30 | /* | |
31 | * --------------------------------------------------------------------------------- | |
32 | * Constructor / Destructor | |
33 | * --------------------------------------------------------------------------------- | |
34 | */ | |
35 | ||
36 | AliAnalysisNetParticleDistribution(); | |
37 | virtual ~AliAnalysisNetParticleDistribution(); | |
38 | ||
39 | /* | |
40 | * --------------------------------------------------------------------------------- | |
41 | * Public Methods | |
42 | * --------------------------------------------------------------------------------- | |
43 | */ | |
44 | ||
45 | /** Initialize */ | |
478c95cf | 46 | Int_t Initialize(AliAnalysisNetParticleHelper* helper, AliESDtrackCuts* cuts, Bool_t isMC, Float_t *ptRange, Float_t etaMax, Int_t trackCutBit, Int_t nCorrNp); |
cb68eb1d | 47 | |
48 | /** Add histograms to outlist */ | |
49 | void CreateHistograms(TList *outList); | |
50 | ||
51 | /** Setup Event */ | |
9be43c8e | 52 | Int_t SetupEvent(AliESDInputHandler *esdHandler, AliAODInputHandler *aodHandler, AliMCEvent *mcEvent); |
cb68eb1d | 53 | |
478c95cf | 54 | /** Reset Event */ |
cb68eb1d | 55 | void ResetEvent(); |
56 | ||
57 | /** Process NetParticle Distributions */ | |
58 | Int_t Process(); | |
59 | ||
d76957cf | 60 | /** Update MinPtForTOFRequired, using the pT log-scale */ |
61 | void UpdateMinPtForTOFRequired(); | |
62 | ||
cb68eb1d | 63 | /////////////////////////////////////////////////////////////////////////////////// |
64 | ||
65 | private: | |
66 | ||
67 | AliAnalysisNetParticleDistribution(const AliAnalysisNetParticleDistribution&); // not implemented | |
68 | AliAnalysisNetParticleDistribution& operator=(const AliAnalysisNetParticleDistribution&); // not implemented | |
69 | ||
70 | /* | |
71 | * --------------------------------------------------------------------------------- | |
72 | * Process - Private | |
73 | * --------------------------------------------------------------------------------- | |
74 | */ | |
75 | /** Process ESD tracks and fill histograms */ | |
76 | Int_t ProcessESDTracks(); | |
77 | ||
9be43c8e | 78 | /** Process AOD tracks and fill histograms */ |
79 | Int_t ProcessAODTracks(); | |
80 | ||
cb68eb1d | 81 | /** Process primary particles from the stack and fill histograms */ |
82 | Int_t ProcessStackParticles(); | |
83 | ||
84 | /** Process control particles from the stack and fill histograms */ | |
85 | Int_t ProcessStackControlParticles(); | |
86 | ||
478c95cf | 87 | /* |
cb68eb1d | 88 | * --------------------------------------------------------------------------------- |
89 | * Helper Methods - private | |
90 | * --------------------------------------------------------------------------------- | |
91 | */ | |
92 | ||
93 | /** Add set of histograms */ | |
94 | void AddHistSet(const Char_t *name, const Char_t *title); | |
95 | ||
96 | /** Fill set of histograms */ | |
97 | void FillHistSet(const Char_t *name, Float_t *np, Int_t controlIdx = -1); | |
98 | ||
99 | /* | |
100 | * --------------------------------------------------------------------------------- | |
101 | * Members - private | |
102 | * --------------------------------------------------------------------------------- | |
103 | */ | |
104 | ||
105 | AliAnalysisNetParticleHelper *fHelper; //! Ptr to helper class | |
106 | ||
107 | TList *fOutList; //! Output data container | |
108 | // ----------------------------------------------------------------------- | |
109 | AliESDInputHandler *fESDHandler; //! Ptr to ESD handler | |
110 | AliPIDResponse *fPIDResponse; //! Ptr to PID response Object | |
111 | AliESDEvent *fESD; //! Ptr to ESD event | |
112 | ||
9be43c8e | 113 | AliAODInputHandler *fAODHandler; //! Ptr to AOD handler |
114 | AliAODEvent *fAOD; //! Ptr to AOD event | |
115 | ||
cb68eb1d | 116 | Bool_t fIsMC; // Is MC event |
117 | ||
118 | AliMCEvent *fMCEvent; //! Ptr to MC event | |
119 | AliStack *fStack; //! Ptr to stack | |
120 | ||
121 | AliESDtrackCuts *fESDTrackCuts; //! ESD cuts | |
122 | // ----------------------------------------------------------------------- | |
123 | Float_t fEtaMax; // Max, absolut eta | |
124 | Float_t *fPtRange; // Array of pt [min,max] | |
9be43c8e | 125 | |
126 | Int_t fAODtrackCutBit; // Track filter bit for AOD tracks | |
cb68eb1d | 127 | // ----------------------------------------------------------------------- |
128 | Float_t *fNp; // Array of particle/anti-particle counts | |
129 | ||
130 | Int_t fNCorrNp; // N sets of arrays of corrected particle/anti-particle counts | |
131 | Float_t **fCorrNp; // Array of corrected particle/anti-particle counts | |
132 | ||
133 | Int_t fNMCNp; // N sets of arrays of MC particle/anti-particle counts | |
134 | Float_t **fMCNp; // Array of MC particle/anti-particle counts | |
135 | ||
136 | Int_t fNControlMCNp; // N sets of arrays of control MC particle/anti-particle counts | |
137 | Float_t **fControlMCNp; // Array of control MC particle/anti-particle counts | |
138 | // ----------------------------------------------------------------------- | |
139 | THnSparseF *fHnTrackUnCorr; // THnSparseF : uncorrected probe particles | |
140 | // ----------------------------------------------------------------------- | |
141 | ||
142 | ClassDef(AliAnalysisNetParticleDistribution, 1); | |
143 | }; | |
144 | ||
145 | #endif |