3 #ifndef AliMultiplicityTask_H
4 #define AliMultiplicityTask_H
6 #include "AliAnalysisTask.h"
9 #include "AliPWG0Helper.h"
11 class AliESDtrackCuts;
12 class AliMultiplicityCorrection;
19 class AliMultiplicityTask : public AliAnalysisTask {
21 AliMultiplicityTask(const char* opt = "");
22 virtual ~AliMultiplicityTask();
24 virtual void ConnectInputData(Option_t *);
25 virtual void CreateOutputObjects();
26 virtual void Exec(Option_t*);
27 virtual void Terminate(Option_t *);
29 void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
30 void SetPtSpectrum(TH1D* hist) { fPtSpectrum = hist; }
32 void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
33 void SetTrigger(AliPWG0Helper::Trigger trigger) { fTrigger = trigger; }
34 void SetDeltaPhiCut(Float_t cut) { fDeltaPhiCut = cut; }
36 void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; }
37 void SetUseMCVertex(Bool_t flag = kTRUE) { fUseMCVertex = flag; }
40 AliESDEvent *fESD; //! ESD object
42 TString fOption; // option string
43 AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
44 AliPWG0Helper::Trigger fTrigger; // trigger that is used
45 Float_t fDeltaPhiCut; // cut in delta phi (only SPD)
47 Bool_t fReadMC; // if true reads MC data (to build correlation maps)
48 Bool_t fUseMCVertex; // the MC vtx is used instead of the ESD vertex (for syst. check)
50 AliMultiplicityCorrection* fMultiplicity; //! object containing the extracted data
51 AliESDtrackCuts* fEsdTrackCuts; // Object containing the parameters of the esd track cuts
53 Bool_t fSystSkipParticles; //! if true skips particles (systematic study)
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)
57 Int_t fSelectProcessType; //! 0 = all (default), 1 = ND, 2 = SD, 3 = DD (for systematic study)
58 TNtuple *fParticleSpecies; //! per event: vtx_mc, (pi, k, p, rest (in |eta| < 1)) X (true, recon) + (nolabel,
59 // doubleTracks, doublePrimaries) [doubleTracks + doublePrimaries are already part of
60 // rec. particles!); enable with: particle-species
61 TH1* fdNdpT; //! true pT spectrum (MC)
63 TH1D* fPtSpectrum; // function that modifies the pt spectrum (syst. study)
65 TList* fOutput; //! list send on output slot 0
68 AliMultiplicityTask(const AliMultiplicityTask&);
69 AliMultiplicityTask& operator=(const AliMultiplicityTask&);
71 ClassDef(AliMultiplicityTask, 1);