]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/dNdEta/AlidNdEtaCorrectionTask.h
- Protection added for null or empty input chains
[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
9 class AliESDtrackCuts;
10 class dNdEtaAnalysis;
11 class AlidNdEtaCorrection;
12 class TH1F;
13 class AliESDEvent;
14 class TParticlePDG;
15
16 class AlidNdEtaCorrectionTask : public AliAnalysisTask {
17   public:
18     enum AnalysisMethod { kSPD = 0, kTPC };
19
20     AlidNdEtaCorrectionTask(const char* opt = "");
21     virtual ~AlidNdEtaCorrectionTask();
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 SetAnalysisMode(AnalysisMethod mode) { fAnalysisMode = mode; }
30
31  protected:
32     Bool_t SignOK(TParticlePDG* particle);
33
34     AliESDEvent *fESD;               //! ESD object
35     TList* fOutput;                  //! list send on output slot 0
36
37     TString fOption;                 // option string
38     AnalysisMethod fAnalysisMode;    // detector that is used for analysis
39     Int_t fSignMode;                 // if 0 process all particles, if +-1 process only particles with that sign
40
41     AliESDtrackCuts*  fEsdTrackCuts;             // Object containing the parameters of the esd track cuts
42
43     AlidNdEtaCorrection* fdNdEtaCorrection;      //! contains the intermediate histograms (on each slave)
44
45     dNdEtaAnalysis* fdNdEtaAnalysisMC;           //! analysis from MC (only triggered, vertex events)
46     dNdEtaAnalysis* fdNdEtaAnalysisESD;          //! analysis from ESD (not yet corrected!)
47
48     // control histograms
49     TH1F* fPIDParticles;                         //! pid of primary particles
50     TH1F* fPIDTracks;                            //! pid of reconstructed tracks
51
52  private:
53     AlidNdEtaCorrectionTask(const AlidNdEtaCorrectionTask&);
54     AlidNdEtaCorrectionTask& operator=(const AlidNdEtaCorrectionTask&);
55
56   ClassDef(AlidNdEtaCorrectionTask, 1);
57 };
58
59 #endif