]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAllChAOD.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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       {}
47   AliAnalysisTaskSpectraAllChAOD(const char *name);
48   virtual ~AliAnalysisTaskSpectraAllChAOD() {
49     Printf("calling detructor of AliAnalysisTaskSpectraAllChAOD - To be implemented");
50   }
51   
52   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };
53   Bool_t GetIsMC()           const           { return fIsMC;};
54  
55   void SetDoDoubleCounting(Bool_t doDoubleCounting = kFALSE)    {fDoDoubleCounting = doDoubleCounting; };
56   Bool_t GetDoDoubleCounting()           const           { return fDoDoubleCounting;};
57  
58   void SetFillOnlyEvents(Bool_t fillOnlyEvents = kFALSE)    {fFillOnlyEvents = fillOnlyEvents; };
59   Bool_t GetFillOnlyEvents()           const           { return fFillOnlyEvents;};
60  
61   void SetCharge(Int_t charge = 0)    {fCharge = charge; };
62   Int_t GetCharge()           const           { return fCharge;};
63   
64   void SetVZEROside(Int_t side = 0)    {fVZEROside = side; };
65   Int_t GetVZEROside()           const           { return fVZEROside;};
66   
67   virtual void   UserCreateOutputObjects();
68   virtual void   UserExec(Option_t *option);
69   virtual void   Terminate(Option_t *);
70   
71   AliSpectraAODTrackCuts      * GetTrackCuts()         {  return fTrackCuts; }
72   AliSpectraAODEventCuts      * GetEventCuts()         {  return fEventCuts; }
73   AliHelperPID                   * GetHelperPID()          { return fHelperPID; }
74   TList                          * GetOutputList()         { return fOutput; }
75   
76   void SetTrackCuts(AliSpectraAODTrackCuts * tc)       { fTrackCuts = tc; }
77   void SetEventCuts(AliSpectraAODEventCuts * vc)       { fEventCuts = vc; }
78   void SetHelperPID(AliHelperPID* pid)                     { fHelperPID = pid; }
79   void SetnCentBins(Int_t val)                             { fnCentBins = val; }
80   void SetnQvecBins(Int_t val)                             { fnQvecBins = val; }
81   void SetnNchBins(Int_t val)                             { fnNchBins = val; }
82   void SetQvecCalibMode(Bool_t mode)                  { fIsQvecCalibMode = mode; }
83   void SetQvecUpperLimit(Double_t val)                { fQvecUpperLim = val; }
84   
85   void SetIsAOD160(Bool_t aod)                        { fIsAOD160 = aod; }
86   void SetnDCABin(Int_t val)                          { fnDCABins = val; } 
87   void SetDCAmin(Double_t val)                        { fDCAmin = val; }
88   void SetDCAmax(Double_t val)                        { fDCAmax = val; }
89   Bool_t GetDCA(const AliAODTrack* trk, Double_t * p);
90
91  private:
92   
93   AliAODEvent                   * fAOD;                         //! AOD object
94   AliSpectraAODTrackCuts      * fTrackCuts;                   // Track Cuts
95   AliSpectraAODEventCuts      * fEventCuts;                   // Event Cuts
96   AliHelperPID                   * fHelperPID;                    // points to class for PID
97   Bool_t                          fIsMC;                         // true if processing MC
98   Bool_t                          fDoDoubleCounting;           // true is double counting for Nsigma accepetd
99   Bool_t                          fFillOnlyEvents;               // if true fill only NSparseHistEv
100   Int_t                            fCharge;                      // charge to be selected
101   Int_t                            fVZEROside;                  // 0: VZERO-A 1: VZERO-C
102   TList                          * fOutput;                     // output list
103   Int_t                            fnCentBins;                  // number of bins for the centrality axis
104   Int_t                            fnQvecBins;                 // number of bins for the q vector axis
105   Int_t                            fnNchBins;                 // number of bins for the Nch axis
106   Bool_t                           fIsQvecCalibMode;          //calib mode for Qvector percentile
107   Double_t                         fQvecUpperLim;             //Upper limit for Qvector
108   Bool_t                           fIsAOD160;              // enable DCA for AOD160
109   Int_t                            fnDCABins;              // number of bins for DCA axis
110   Double_t                         fDCAmin;                // min DCA value
111   Double_t                         fDCAmax;                // max DCA value
112   AliAnalysisTaskSpectraAllChAOD(const AliAnalysisTaskSpectraAllChAOD&);
113   AliAnalysisTaskSpectraAllChAOD& operator=(const AliAnalysisTaskSpectraAllChAOD&);
114   
115   ClassDef(AliAnalysisTaskSpectraAllChAOD, 8);
116 };
117
118 #endif