fixing warnings
[u/mrichter/AliRoot.git] / PWG0 / multiplicity / AliMultiplicityTask.h
1 /* $Id$ */
2
3 #ifndef AliMultiplicityTask_H
4 #define AliMultiplicityTask_H
5
6 #include "AliAnalysisTask.h"
7
8 #include <TString.h>
9 #include "AliPWG0Helper.h"
10
11 class AliESDtrackCuts;
12 class AliMultiplicityCorrection;
13 class TNtuple;
14 class AliCorrection;
15 class TH1;
16 class AliESDEvent;
17
18 class AliMultiplicityTask : public AliAnalysisTask {
19   public:
20     AliMultiplicityTask(const char* opt = "");
21     virtual ~AliMultiplicityTask();
22
23     virtual void   ConnectInputData(Option_t *);
24     virtual void   CreateOutputObjects();
25     virtual void   Exec(Option_t*);
26     virtual void   Terminate(Option_t *);
27
28     void SetTrackCuts(AliESDtrackCuts* cuts) { fEsdTrackCuts = cuts; }
29     void SetPtSpectrum(TH1* hist) { fPtSpectrum = hist; }
30
31     void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
32     void SetReadMC(Bool_t flag = kTRUE) { fReadMC = flag; }
33
34  protected:
35     AliESDEvent *fESD;    //! ESD object
36
37     TString fOption;      // option string
38     AliPWG0Helper::AnalysisMode fAnalysisMode; // detector that is used for analysis
39     Bool_t  fReadMC;       // if true reads MC data (to build correlation maps)
40
41     AliMultiplicityCorrection* fMultiplicity; //! object containing the extracted data
42     AliESDtrackCuts* fEsdTrackCuts;           // Object containing the parameters of the esd track cuts
43
44     Bool_t fSystSkipParticles;     //! if true skips particles (systematic study)
45     AliCorrection* fParticleCorrection[4]; //! correction from measured to generated particles for trigger, vertex sample in |eta| < 2;
46                                            // for each of the species: pi, k, p, other; for systematic study of pt cut off
47     Int_t fSelectProcessType;        //! 0 = all (default), 1 = ND, 2 = SD, 3 = DD (for systematic study)
48     TNtuple *fParticleSpecies;       //! per event: vtx_mc, (pi, k, p, rest (in |eta| < 2)) X (true, recon) + (nolabel,
49                                      // doubleTracks, doublePrimaries) [doubleTracks + doublePrimaries are already part of
50                                      // rec. particles!)
51
52     TH1* fPtSpectrum;                //! function that modifies the pt spectrum (syst. study)
53
54     TList* fOutput;                  //! list send on output slot 0
55
56  private:
57     AliMultiplicityTask(const AliMultiplicityTask&);
58     AliMultiplicityTask& operator=(const AliMultiplicityTask&);
59
60   ClassDef(AliMultiplicityTask, 1);
61 };
62
63 #endif