]>
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; |
f55b30d2 | 17 | class TH2F; |
18 | class TH3F; | |
a9017e49 | 19 | class AliESDEvent; |
20 | ||
21 | class AliMultiplicityTask : public AliAnalysisTask { | |
22 | public: | |
23 | AliMultiplicityTask(const char* opt = ""); | |
24 | virtual ~AliMultiplicityTask(); | |
25 | ||
26 | virtual void ConnectInputData(Option_t *); | |
27 | virtual void CreateOutputObjects(); | |
28 | virtual void Exec(Option_t*); | |
29 | virtual void Terminate(Option_t *); | |
30 | ||
31 | void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; } | |
69b09e3b | 32 | void SetPtSpectrum(TH1D* hist) { fPtSpectrum = hist; } |
a9017e49 | 33 | |
745d6088 | 34 | void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; } |
70fdd197 | 35 | void SetTrigger(AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; } |
69b09e3b | 36 | void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut; } |
a2cdb42c | 37 | |
2fa65f52 | 38 | void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; } |
f3eb27f6 | 39 | void SetUseMCVertex(Bool_t flag = kTRUE) { fUseMCVertex = flag; } |
eb9356d5 | 40 | void SetSkipParticles(Bool_t flag = kTRUE) { fSystSkipParticles = flag; } |
41 | void SetDiffTreatment(AliPWG0Helper::DiffTreatment diffTreatment) { fDiffTreatment = diffTreatment; } | |
42 | ||
a9017e49 | 43 | protected: |
44 | AliESDEvent *fESD; //! ESD object | |
45 | ||
46 | TString fOption; // option string | |
745d6088 | 47 | AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis |
70fdd197 | 48 | AliTriggerAnalysis::Trigger fTrigger; // trigger that is used |
69b09e3b | 49 | Float_t fDeltaPhiCut; // cut in delta phi (only SPD) |
eb9356d5 | 50 | AliPWG0Helper::DiffTreatment fDiffTreatment; // how to identify SD events (see AliPWG0Helper::GetEventProcessType) |
51 | ||
2fa65f52 | 52 | Bool_t fReadMC; // if true reads MC data (to build correlation maps) |
f3eb27f6 | 53 | Bool_t fUseMCVertex; // the MC vtx is used instead of the ESD vertex (for syst. check) |
a9017e49 | 54 | |
55 | AliMultiplicityCorrection* fMultiplicity; //! object containing the extracted data | |
56 | AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts | |
57 | ||
eb9356d5 | 58 | Bool_t fSystSkipParticles; // if true skips particles (systematic study) |
69b09e3b | 59 | AliCorrection* fParticleCorrection[8]; //! correction from measured to generated particles for different particles for trigger, vertex sample in |eta| < 2; switch on with "particle-efficiency" |
60 | // for each of the species (0..3): pi, k, p, other; for systematic study of pt cut off | |
61 | // 4..7 counts for the same species the decayed particles (in generated) and stopped (in measured) | |
eb9356d5 | 62 | Int_t fSelectProcessType; // 0 = all (default), 1 = ND, 2 = SD, 3 = DD (for systematic study) |
69b09e3b | 63 | TNtuple *fParticleSpecies; //! per event: vtx_mc, (pi, k, p, rest (in |eta| < 1)) X (true, recon) + (nolabel, |
a9017e49 | 64 | // doubleTracks, doublePrimaries) [doubleTracks + doublePrimaries are already part of |
69b09e3b | 65 | // rec. particles!); enable with: particle-species |
66 | TH1* fdNdpT; //! true pT spectrum (MC) | |
a9017e49 | 67 | |
69b09e3b | 68 | TH1D* fPtSpectrum; // function that modifies the pt spectrum (syst. study) |
eb9356d5 | 69 | |
70 | TH1* fTemp1; //! temp histogram for quick study of variables | |
71 | TH1* fTemp2; //! temp histogram for quick study of variables | |
72 | ||
73 | TH1* fEta[3]; //! eta histogram of events in the acceptance region for each of the eta-bins (control histogram) | |
a9017e49 | 74 | |
f55b30d2 | 75 | // control histograms (ESD) |
76 | TH3F* fVertex; //! 3d vertex distribution | |
77 | TH2F* fEtaPhi; //! raw eta - phi distribution | |
78 | ||
a9017e49 | 79 | TList* fOutput; //! list send on output slot 0 |
69b09e3b | 80 | |
a9017e49 | 81 | private: |
82 | AliMultiplicityTask(const AliMultiplicityTask&); | |
83 | AliMultiplicityTask& operator=(const AliMultiplicityTask&); | |
84 | ||
85 | ClassDef(AliMultiplicityTask, 1); | |
86 | }; | |
87 | ||
88 | #endif |