]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/UserTasks/AliAnalysisTaskPPJetSpectra.h
Include L0 trigger in the trigger maker and the trigger patch object Add monitoring...
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskPPJetSpectra.h
CommitLineData
3cfb058d 1#ifndef AliAnalysisTaskPPJetSpectra_cxx
2#define AliAnalysisTaskPPJetSpectra_cxx
3
4class THnSparse;
5class TNtuple;
6class TH2F;
7class AliAODEvent;
8class AliESDEvent;
9class AliAODExtension;
10class AliAODJet;
11
12#include "AliAnalysisTaskSE.h"
13
14class 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*);
3cfb058d 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;
dc477024 63 AliAODEvent* fAODIn;
64 AliAODEvent* fAODOut;
65 AliAODExtension* fAODExt;
3cfb058d 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