]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/UserTasks/AliAnalysisTaskPPJetSpectra.h
- Forward z vertex cut to analysis utils class
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskPPJetSpectra.h
1 #ifndef AliAnalysisTaskPPJetSpectra_cxx
2 #define AliAnalysisTaskPPJetSpectra_cxx
3
4 class THnSparse;
5 class TNtuple;
6 class TH2F;
7 class AliAODEvent;
8 class AliESDEvent;
9 class AliAODExtension;
10 class AliAODJet;
11
12 #include "AliAnalysisTaskSE.h"
13
14 class AliAnalysisTaskPPJetSpectra : public AliAnalysisTaskSE
15 {
16   public:
17     AliAnalysisTaskPPJetSpectra();
18     AliAnalysisTaskPPJetSpectra(const char* name);
19     virtual ~AliAnalysisTaskPPJetSpectra() {}
20
21     virtual void        Init();
22     virtual Bool_t      Notify();
23     virtual void        UserCreateOutputObjects();
24     virtual void        UserExec(Option_t *option);
25     virtual void        Terminate(Option_t *);
26
27     void                SetVertexCuts(Int_t, Double_t, Double_t);
28     void                SetTrackFilter(UInt_t i) {nTrackFilter = i;}
29     void                SetEventSelectionMask(UInt_t i) {fEvtSelectionMask = i;}
30     void                SetEventClass(Float_t i) {fEventClass = i;}
31     void                SetTrackCuts(Double_t,Double_t,Double_t);
32     void                SetJetCuts(Double_t, Double_t, Double_t);
33
34     void                SetRecJetBranch(TString);
35     void                SetGenJetBranch(TString);
36     void                SetRecBckgBranch(TString);
37     void                SetGenBckgBranch(TString);
38     void                SetTrackType(Int_t i) {fTrackType = i;}
39     void                SetParticleType(Int_t i) {fParticleType = i;}
40     void                SetNonStdFile(TString s) {fNonStdFile = s;}
41     void                                SetDoUEanalysis(Bool_t i) {kDoUEanalysis = i;}
42
43     void                UseMC(Bool_t i) {fUseMC = i;}
44
45     enum                {kNone = 0, kAOD, kAODMC, kAODMC2};
46   private:
47
48     Bool_t              EventSelection(Double_t*);
49     Int_t               GetListOfTracks(Int_t, TList*);
50     Int_t               GetListOfJets(TClonesArray*, TList*, Bool_t);
51     void                FillJetContainer(TList*, THnSparseF*);
52     Double_t            GetUE(TList*, TList*, Double_t,THnSparseF*);
53     Double_t            GetBckgUE(TList*, Double_t,Bool_t, THnSparseF*);
54     Int_t               CorrectForUE(TList*,Double_t,TList*,THnSparseF*);
55     void                MatchJets(Bool_t,TList*,TList*,Float_t, THnSparseF*);
56     Int_t               CheckPtBin(Double_t);
57     void                DoUEAnalysis(TList*, Double_t, Double_t);
58
59     TList*              fOutputList;
60
61     AliESDEvent*        fESD;
62     AliAODEvent*        fAOD;
63     AliAODEvent*        fAODIn;
64     AliAODEvent*        fAODOut;
65     AliAODExtension*    fAODExt;
66     TString             fNonStdFile;
67     Int_t               fDebug;
68     Bool_t              fUseMC;
69
70     UInt_t              fEvtSelectionMask;
71     Float_t             fEventClass;
72     Int_t               nVtxContCut;
73     Double_t            fVtxZcut;
74     Double_t            fVtxRcut;
75
76     UInt_t              nTrackFilter;
77     Double_t            trackPtMin;
78     Double_t            trackPtMax;
79     Double_t            trackEtaAbsMax;
80
81     Double_t            jetPtMin;
82     Double_t            jetEtaCut;
83     Double_t            jetZmax;
84
85     THnSparseF*         fhnEvent;
86
87     THnSparseF*         fhnTracks;
88     THnSparseF*         fhnMC;
89     THnSparseF*         fhnMC2;
90
91     THnSparseF*         fhnRecJetsNoCut;
92     THnSparseF*         fhnGenJetsNoCut;
93     THnSparseF*         fhnRecJetsCut;
94     THnSparseF*         fhnGenJetsCut;
95     THnSparseF*         fhnRecBckg;
96     THnSparseF*         fhnGenBckg;
97
98     THnSparseF*         fhnRecJetsTrackUEcor;
99     THnSparseF*         fhnGenJetsTrackUEcor;
100     THnSparseF*         fhnRecJetsBckgUEcor;
101     THnSparseF*         fhnGenJetsBckgUEcor;
102
103     THnSparseF*         fhnTrackUE;
104     THnSparseF*         fhnParticleUE;
105     THnSparseF*         fhnBckgRecUE;
106     THnSparseF*         fhnBckgGenUE;
107
108     TString             fRecJetBranch;
109     TString             fGenJetBranch;
110     TString             fRecBckgBranch;
111     TString             fGenBckgBranch;
112
113     Double_t            fRecJetR;
114     Double_t            fGenJetR;
115     Double_t            fRecBckgR;
116     Double_t            fGenBckgR;
117
118     Int_t               fTrackType;
119     Int_t               fParticleType;
120
121     THnSparseF*         fhnMatching;
122     THnSparseF*         fhnTrackCorrMatching;
123     THnSparseF*         fhnBckgCorrMatching;
124
125     THnSparseF*         fhnTrackUEanal;
126
127     Bool_t              kDoUEanalysis;
128     Int_t               fRejectPileUp;
129
130     ClassDef(AliAnalysisTaskPPJetSpectra, 2);
131 };
132
133 #endif