]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskJetSpectraAOD.h
Updates for jet test (M Tangaro)
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliAnalysisTaskJetSpectraAOD.h
1 #ifndef ALIANALYSISTASKJETSPECTRAAOD_H
2 #define ALIANALYSISTASKJETSPECTRAAOD_H
3
4 class TH1F;
5 class TH2F;
6 class AliAODEvent;
7 class AliSpectraAODTrackCuts;
8 class AliSpectraAODEventCuts;
9 class AliHelperPID;
10 class AliAODJet;
11
12 #include "AliAnalysisTaskSE.h"
13
14 class AliAnalysisTaskJetSpectraAOD : public AliAnalysisTaskSE
15 {
16  public:
17   
18   // constructors
19   AliAnalysisTaskJetSpectraAOD() : AliAnalysisTaskSE(),
20      fAOD(0),
21      fIsMC(0),
22      fEventCuts(0), 
23      fTrackCuts(0),
24      fVZEROside(0),
25      fOutput(0),
26      fAODJets(0),
27      fJetBranchName(""),
28      fListJets(0),
29      fBackgroundBranch(""),
30      fOfflineTrgMask(AliVEvent::kMB),
31      fFilterMask(0),
32      fJetPtMin(0),
33      fJetEtaMin(0x0),
34      fJetEtaMax(0x0),
35      fLeadPtMin(0x0),
36      fnCentBins(20),
37      fnQvecBins(20),
38      fnptLeadBins(4),
39      fIsQvecCalibMode(0),
40      fQvecUpperLim(100),
41      fIsQvecCut(0),
42      fQvecMin(0),
43      fQvecMax(100),
44      fHistEvtSelection(0x0),
45      fDebug(0),
46      fMinNcontributors(0),
47      fRejectPileup(0)
48        {}
49   AliAnalysisTaskJetSpectraAOD(const char *name);
50   virtual ~AliAnalysisTaskJetSpectraAOD();
51   
52   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; }
53   Bool_t GetIsMC()           const           { return fIsMC;}
54   
55   AliSpectraAODTrackCuts * GetTrackCuts()         {  return fTrackCuts; }
56   AliSpectraAODEventCuts * GetEventCuts()         {  return fEventCuts; }
57   TList * GetOutputList()                         {  return fOutput;    }
58   
59   void SetTrackCuts(AliSpectraAODTrackCuts * tc)   {   fTrackCuts = tc; }
60   void SetEventCuts(AliSpectraAODEventCuts * vc)   {   fEventCuts = vc; }
61   void SetnCentBins(Int_t val)                     {   fnCentBins = val; }
62   void SetnQvecBins(Int_t val)                     {   fnQvecBins = val; }
63   void SetnPtLeadBins(Int_t val)                   {   fnptLeadBins = val; }
64   void SetQvecCalibMode(Bool_t mode)               {   fIsQvecCalibMode = mode; }
65   void SetQvecUpperLimit(Double_t val)             {   fQvecUpperLim = val; }
66   void SetDebugMode (Bool_t val) { fDebug = val; }
67   
68   //jet getter
69   void     GetBranchNames(TString &branch) const { branch = fJetBranchName; }
70   void     GetBackgroundBranchNames(TString &branch) const { branch = fBackgroundBranch; }
71   Float_t  GetJetPtMin() const { return fJetPtMin; }
72   Float_t  GetJetEtaMin() const { return fJetEtaMin; }
73   Float_t  GetJetEtaMax() const { return fJetEtaMax; }
74   //jet setter
75   void     SetBranchNames(const TString &branch);
76   void     SetRecBackgroundBranch(const TString &bckbranch);
77   void     SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; } 
78   void     SetFilterMask(UInt_t i){fFilterMask = i;}
79   void     SetJetPtMin(Float_t pt) { fJetPtMin = pt; }
80   void     SetEtaJet(Float_t etamin,Float_t etamax)   { fJetEtaMin = etamin; fJetEtaMax = etamax; }
81   
82   void SetVZEROside(Int_t side = 0)    {fVZEROside = side; }
83   Int_t GetVZEROside()           const           { return fVZEROside;}
84   
85   void SetQvecCut(Bool_t qcut) { fIsQvecCut = qcut; }
86   void SetQvecCutLimits(Float_t qmin,Float_t qmax)   { fQvecMin = qmin; fQvecMax = qmax; }
87   
88   AliVParticle *LeadingTrackFromJetRefs(AliAODJet* jet);
89   void SetleadingTrackPtMin(Double_t val) { fLeadPtMin = val;}
90   
91   
92   void    SetMinNcontributors(Int_t val)  {fMinNcontributors = val;}
93   void    SetPileupRejection(Bool_t val)  {fRejectPileup = val;}
94
95   void   UserCreateOutputObjects();
96   void   UserExec(Option_t *option);
97   void   Terminate(Option_t *);
98   
99  private:
100   
101   AliAODEvent           *fAOD;         //! AOD object
102   Bool_t          fIsMC;// true if processing MC
103   AliSpectraAODEventCuts      * fEventCuts;     // Event Cuts
104   AliSpectraAODTrackCuts      * fTrackCuts;     // Track Cuts
105   
106   Int_t                      fVZEROside;                  // 0: VZERO-A 1: VZERO-C
107   
108   TList                       * fOutput;        // output list
109   
110   //jet
111   AliAODEvent                 * fAODJets;         //! AOD jet object
112   TString                       fJetBranchName;   //  name of jet branches to compare
113   TList                       * fListJets;        //! jet lists
114   TString                       fBackgroundBranch;
115   
116   AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs 
117    
118   UInt_t  fFilterMask;       // filter bit for slecected tracks
119   Float_t fJetPtMin;         // minimum jet pT
120   Float_t fJetEtaMin;        // lower bound on eta for found jets
121   Float_t fJetEtaMax;        // upper bound on eta for found jets
122   Float_t fLeadPtMin;        // leading track pt min.
123   
124   Int_t                            fnCentBins;            // number of bins for the centrality axis
125   Int_t                            fnQvecBins;            // number of bins for the q vector axis
126   Int_t                            fnptLeadBins;          // number of bins for the pt of leading particle axis
127   Bool_t                           fIsQvecCalibMode;      // calib mode for Qvector percentile
128   Double_t                         fQvecUpperLim;         // Upper limit for Qvector
129   
130   Bool_t                           fIsQvecCut;            // Q-vec cut switch
131   Double_t                         fQvecMin;              // lower bound for Qvec
132   Double_t                         fQvecMax;              // upper bound for Qvec
133  
134   TH1I  *fHistEvtSelection;                  //! event selection statistic 
135   Bool_t fDebug;
136   Int_t   fMinNcontributors;
137   Bool_t  fRejectPileup;
138   
139   AliAnalysisTaskJetSpectraAOD(const AliAnalysisTaskJetSpectraAOD&);
140   AliAnalysisTaskJetSpectraAOD& operator=(const AliAnalysisTaskJetSpectraAOD&);
141   
142   ClassDef(AliAnalysisTaskJetSpectraAOD, 2);
143 };
144
145 #endif