]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAllChAOD.h
update from marco
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliAnalysisTaskSpectraAllChAOD.h
1 #ifndef ALIANALYSISTASKSPECTRAALLCHAOD_H
2 #define ALIANALYSISTASKSPECTRAALLCHAOD_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-------------------------------------------------------------------------
7 //                      AliAnalysisTaskSpectraAllChAOD
8 //
9 //
10 //
11 //
12 // Author: Leonardo Milano, CERN
13 //-------------------------------------------------------------------------
14
15 class AliAODEvent;
16 class AliSpectraAODTrackCuts;
17 class AliSpectraAODEventCuts;
18 class AliHelperPID;
19
20 #include "AliAnalysisTaskSE.h"
21
22 class AliAnalysisTaskSpectraAllChAOD : public AliAnalysisTaskSE
23 {
24  public:
25   // constructors
26  AliAnalysisTaskSpectraAllChAOD() : AliAnalysisTaskSE(),
27     fAOD(0x0),
28     fTrackCuts(0x0),
29     fEventCuts(0x0),
30     fHelperPID(0x0),
31     fIsMC(0),
32     fDoDoubleCounting(0),
33     fFillOnlyEvents(0),
34     fCharge(0),
35     fVZEROside(0),
36     fOutput(0x0),
37     fnCentBins(20),
38     fnQvecBins(40),
39     fnNchBins(200),
40     fIsQvecCalibMode(0),
41     fQvecUpperLim(100),
42     fIsAOD160(1),
43     fnDCABins(60),
44     fDCAmin(-3),
45     fDCAmax(3),
46     fDCAzCut(0)
47       {}
48   AliAnalysisTaskSpectraAllChAOD(const char *name);
49   virtual ~AliAnalysisTaskSpectraAllChAOD() {
50     Printf("calling detructor of AliAnalysisTaskSpectraAllChAOD - To be implemented");
51   }
52   
53   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };
54   Bool_t GetIsMC()           const           { return fIsMC;};
55  
56   void SetDoDoubleCounting(Bool_t doDoubleCounting = kFALSE)    {fDoDoubleCounting = doDoubleCounting; };
57   Bool_t GetDoDoubleCounting()           const           { return fDoDoubleCounting;};
58  
59   void SetFillOnlyEvents(Bool_t fillOnlyEvents = kFALSE)    {fFillOnlyEvents = fillOnlyEvents; };
60   Bool_t GetFillOnlyEvents()           const           { return fFillOnlyEvents;};
61  
62   void SetCharge(Int_t charge = 0)    {fCharge = charge; };
63   Int_t GetCharge()           const           { return fCharge;};
64   
65   void SetVZEROside(Int_t side = 0)    {fVZEROside = side; };
66   Int_t GetVZEROside()           const           { return fVZEROside;};
67   
68   virtual void   UserCreateOutputObjects();
69   virtual void   UserExec(Option_t *option);
70   virtual void   Terminate(Option_t *);
71   
72   AliSpectraAODTrackCuts      * GetTrackCuts()         {  return fTrackCuts; }
73   AliSpectraAODEventCuts      * GetEventCuts()         {  return fEventCuts; }
74   AliHelperPID                   * GetHelperPID()          { return fHelperPID; }
75   TList                          * GetOutputList()         { return fOutput; }
76   
77   void SetTrackCuts(AliSpectraAODTrackCuts * tc)       { fTrackCuts = tc; }
78   void SetEventCuts(AliSpectraAODEventCuts * vc)       { fEventCuts = vc; }
79   void SetHelperPID(AliHelperPID* pid)                     { fHelperPID = pid; }
80   void SetnCentBins(Int_t val)                             { fnCentBins = val; }
81   void SetnQvecBins(Int_t val)                             { fnQvecBins = val; }
82   void SetnNchBins(Int_t val)                             { fnNchBins = val; }
83   void SetQvecCalibMode(Bool_t mode)                  { fIsQvecCalibMode = mode; }
84   void SetQvecUpperLimit(Double_t val)                { fQvecUpperLim = val; }
85   
86   void SetIsAOD160(Bool_t aod)                        { fIsAOD160 = aod; }
87   void SetnDCABin(Int_t val)                          { fnDCABins = val; } 
88   void SetDCAmin(Double_t val)                        { fDCAmin = val; }
89   void SetDCAmax(Double_t val)                        { fDCAmax = val; }
90   Bool_t GetDCA(const AliAODTrack* trk, Double_t * p);
91   void SetDCAzCut(Double_t val)                        { fDCAzCut = val; }
92
93  private:
94   
95   AliAODEvent                   * fAOD;                         //! AOD object
96   AliSpectraAODTrackCuts      * fTrackCuts;                   // Track Cuts
97   AliSpectraAODEventCuts      * fEventCuts;                   // Event Cuts
98   AliHelperPID                   * fHelperPID;                    // points to class for PID
99   Bool_t                          fIsMC;                         // true if processing MC
100   Bool_t                          fDoDoubleCounting;           // true is double counting for Nsigma accepetd
101   Bool_t                          fFillOnlyEvents;               // if true fill only NSparseHistEv
102   Int_t                            fCharge;                      // charge to be selected
103   Int_t                            fVZEROside;                  // 0: VZERO-A 1: VZERO-C
104   TList                          * fOutput;                     // output list
105   Int_t                            fnCentBins;                  // number of bins for the centrality axis
106   Int_t                            fnQvecBins;                 // number of bins for the q vector axis
107   Int_t                            fnNchBins;                 // number of bins for the Nch axis
108   Bool_t                           fIsQvecCalibMode;          //calib mode for Qvector percentile
109   Double_t                         fQvecUpperLim;             //Upper limit for Qvector
110   Bool_t                           fIsAOD160;              // enable DCA for AOD160
111   Int_t                            fnDCABins;              // number of bins for DCA axis
112   Double_t                         fDCAmin;                // min DCA value
113   Double_t                         fDCAmax;                // max DCA value
114   Double_t                         fDCAzCut;               //cut on DCA z
115   AliAnalysisTaskSpectraAllChAOD(const AliAnalysisTaskSpectraAllChAOD&);
116   AliAnalysisTaskSpectraAllChAOD& operator=(const AliAnalysisTaskSpectraAllChAOD&);
117   
118   ClassDef(AliAnalysisTaskSpectraAllChAOD, 9);
119 };
120
121 #endif