]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/dNdEta/AlidNdEtaCorrectionTask.h
effc++ warnings corrected
[u/mrichter/AliRoot.git] / PWG0 / dNdEta / AlidNdEtaCorrectionTask.h
1 /* $Id$ */
2
3 #ifndef AlidNdEtaCorrectionTask_H
4 #define AlidNdEtaCorrectionTask_H
5
6 #include "AliAnalysisTask.h"
7 #include <TString.h>
8 #include "AliPWG0Helper.h"
9
10 class AliESDtrackCuts;
11 class dNdEtaAnalysis;
12 class AlidNdEtaCorrection;
13 class TH1F;
14 class AliESDEvent;
15 class TParticlePDG;
16 class TH2F;
17 class TProfile;
18
19 class AlidNdEtaCorrectionTask : public AliAnalysisTask {
20   public:
21     AlidNdEtaCorrectionTask(const char* opt = "");
22     virtual ~AlidNdEtaCorrectionTask();
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; }
30     void SetAnalysisMode(AliPWG0Helper::AnalysisMode mode) { fAnalysisMode = mode; }
31
32  protected:
33     Bool_t SignOK(TParticlePDG* particle);
34
35     AliESDEvent *fESD;               //! ESD object
36     TList* fOutput;                  //! list send on output slot 0
37
38     TString fOption;                 // option string
39     AliPWG0Helper::AnalysisMode fAnalysisMode;    // detector that is used for analysis
40     Int_t fSignMode;                 // if 0 process all particles, if +-1 process only particles with that sign
41
42     AliESDtrackCuts*  fEsdTrackCuts;             // Object containing the parameters of the esd track cuts
43
44     AlidNdEtaCorrection* fdNdEtaCorrection;      //! contains the intermediate histograms (on each slave)
45
46     dNdEtaAnalysis* fdNdEtaAnalysisMC;           //! analysis from MC (only triggered, vertex events)
47     dNdEtaAnalysis* fdNdEtaAnalysisESD;          //! analysis from ESD (not yet corrected!)
48
49     // control histograms
50     TH1F* fPIDParticles;                         //! pid of primary particles
51     TH1F* fPIDTracks;                            //! pid of reconstructed tracks
52  
53     TH2F* fVertexCorrelation;                    //! ESD z-vtx vs MC z-vtx
54     TProfile* fVertexProfile;                    //! Profile of MC z-vtx - ESD z-vtx vs. MC z-vtx
55     TH1F* fVertexShiftNorm;                      //! (MC z-vtx - ESD z-vtx) / (sigma_ESD-z-vtx) histogrammed
56
57     // histograms for systematic studies (must be enabled with option)
58
59     TH1F* fSigmaVertexTracks;                    //! (accepted tracks) vs (n of sigma to vertex cut)
60     TH1F* fSigmaVertexPrim;                      //! (accepted primaries) vs (n of sigma to vertex cut)
61                                                  // enable with option: sigma-vertex
62
63     TH1F* fMultAll; //! primary particles  in |eta| < 1 and pT > 0.2 in all events
64     TH1F* fMultTr; //! primary particles  in |eta| < 1 and pT > 0.2 in triggered events
65     TH1F* fMultVtx; //! primary particles  in |eta| < 1 and pT > 0.2 in triggered events with vertex
66
67     TH1F* fDeltaPhi[3]; //! delta phi of primaries, secondaries, other (= unclear cases)
68
69     AlidNdEtaCorrection* fdNdEtaCorrectionProcessType[3]; //! correction for specific process type (ND, SD, DD)
70                                                           // enable with option: process-types
71
72  private:
73     AlidNdEtaCorrectionTask(const AlidNdEtaCorrectionTask&);
74     AlidNdEtaCorrectionTask& operator=(const AlidNdEtaCorrectionTask&);
75
76   ClassDef(AlidNdEtaCorrectionTask, 1);
77 };
78
79 #endif