]>
Commit | Line | Data |
---|---|---|
a9017e49 | 1 | /* $Id$ */ |
2 | ||
3 | #ifndef AliMultiplicityTask_H | |
4 | #define AliMultiplicityTask_H | |
5 | ||
6 | #include "AliAnalysisTask.h" | |
745d6088 | 7 | |
a9017e49 | 8 | #include <TString.h> |
745d6088 | 9 | #include "AliPWG0Helper.h" |
a9017e49 | 10 | |
11 | class AliESDtrackCuts; | |
12 | class AliMultiplicityCorrection; | |
13 | class TNtuple; | |
14 | class AliCorrection; | |
15 | class TH1; | |
69b09e3b | 16 | class TH1D; |
a9017e49 | 17 | class AliESDEvent; |
18 | ||
19 | class AliMultiplicityTask : public AliAnalysisTask { | |
20 | public: | |
21 | AliMultiplicityTask(const char* opt = ""); | |
22 | virtual ~AliMultiplicityTask(); | |
23 | ||
24 | virtual void ConnectInputData(Option_t *); | |
25 | virtual void CreateOutputObjects(); | |
26 | virtual void Exec(Option_t*); | |
27 | virtual void Terminate(Option_t *); | |
28 | ||
29 | void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; } | |
69b09e3b | 30 | void SetPtSpectrum(TH1D* hist) { fPtSpectrum = hist; } |
a9017e49 | 31 | |
745d6088 | 32 | void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; } |
a2cdb42c | 33 | void SetTrigger(AliPWG0Helper::Trigger trigger) { fTrigger = trigger; } |
69b09e3b | 34 | void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut; } |
a2cdb42c | 35 | |
2fa65f52 | 36 | void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; } |
f3eb27f6 | 37 | void SetUseMCVertex(Bool_t flag = kTRUE) { fUseMCVertex = flag; } |
2fa65f52 | 38 | |
a9017e49 | 39 | protected: |
40 | AliESDEvent *fESD; //! ESD object | |
41 | ||
42 | TString fOption; // option string | |
745d6088 | 43 | AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis |
a2cdb42c | 44 | AliPWG0Helper::Trigger fTrigger; // trigger that is used |
69b09e3b | 45 | Float_t fDeltaPhiCut; // cut in delta phi (only SPD) |
a2cdb42c | 46 | |
2fa65f52 | 47 | Bool_t fReadMC; // if true reads MC data (to build correlation maps) |
f3eb27f6 | 48 | Bool_t fUseMCVertex; // the MC vtx is used instead of the ESD vertex (for syst. check) |
a9017e49 | 49 | |
50 | AliMultiplicityCorrection* fMultiplicity; //! object containing the extracted data | |
51 | AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts | |
52 | ||
2fa65f52 | 53 | Bool_t fSystSkipParticles; //! if true skips particles (systematic study) |
69b09e3b | 54 | AliCorrection* fParticleCorrection[8]; //! correction from measured to generated particles for different particles for trigger, vertex sample in |eta| < 2; switch on with "particle-efficiency" |
55 | // for each of the species (0..3): pi, k, p, other; for systematic study of pt cut off | |
56 | // 4..7 counts for the same species the decayed particles (in generated) and stopped (in measured) | |
2fa65f52 | 57 | Int_t fSelectProcessType; //! 0 = all (default), 1 = ND, 2 = SD, 3 = DD (for systematic study) |
69b09e3b | 58 | TNtuple *fParticleSpecies; //! per event: vtx_mc, (pi, k, p, rest (in |eta| < 1)) X (true, recon) + (nolabel, |
a9017e49 | 59 | // doubleTracks, doublePrimaries) [doubleTracks + doublePrimaries are already part of |
69b09e3b | 60 | // rec. particles!); enable with: particle-species |
61 | TH1* fdNdpT; //! true pT spectrum (MC) | |
a9017e49 | 62 | |
69b09e3b | 63 | TH1D* fPtSpectrum; // function that modifies the pt spectrum (syst. study) |
a9017e49 | 64 | |
65 | TList* fOutput; //! list send on output slot 0 | |
69b09e3b | 66 | |
a9017e49 | 67 | private: |
68 | AliMultiplicityTask(const AliMultiplicityTask&); | |
69 | AliMultiplicityTask& operator=(const AliMultiplicityTask&); | |
70 | ||
71 | ClassDef(AliMultiplicityTask, 1); | |
72 | }; | |
73 | ||
74 | #endif |