]>
Commit | Line | Data |
---|---|---|
2a436fa1 | 1 | #ifndef ALIANALYSISTASKJETRESPONSE_H |
2 | #define ALIANALYSISTASKJETRESPONSE_H | |
3 | ||
4 | class TH1F; | |
5 | class TH2F; | |
46465e39 | 6 | class TH3F; |
2a436fa1 | 7 | class AliESDEvent; |
8 | class AliAODEvent; | |
9 | ||
10 | #include "AliAnalysisTaskSE.h" | |
11 | #include "AliVEvent.h" | |
12 | ||
13 | class AliAnalysisTaskJetResponse : public AliAnalysisTaskSE { | |
14 | public: | |
15 | AliAnalysisTaskJetResponse(); | |
16 | AliAnalysisTaskJetResponse(const char *name); | |
17 | virtual ~AliAnalysisTaskJetResponse(); | |
18 | ||
19 | virtual void LocalInit() {Init();} | |
20 | virtual void Init(); | |
21 | virtual void UserCreateOutputObjects(); | |
22 | virtual void UserExec(Option_t *option); | |
23 | virtual void Terminate(const Option_t*); | |
24 | ||
25 | virtual AliVEvent::EOfflineTriggerTypes GetOfflineTrgMask() const { return fOfflineTrgMask; } | |
26 | virtual void GetBranchNames(TString &branch1, TString &branch2) const { branch1 = fJetBranchName[0]; branch2 = fJetBranchName[1]; } | |
46465e39 | 27 | virtual Int_t GetMinContribVtx() const { return fMinContribVtx; }; |
2a436fa1 | 28 | virtual Float_t GetVtxZMin() const { return fVtxZMin; } |
29 | virtual Float_t GetVtxZMax() const { return fVtxZMax; } | |
30 | virtual Int_t GetEvtClassMin() const { return fEvtClassMin; } | |
31 | virtual Int_t GetEvtClassMax() const { return fEvtClassMax; } | |
32 | virtual Float_t GetCentMin() const { return fCentMin; } | |
33 | virtual Float_t GetCentMax() const { return fCentMax; } | |
3c6a60f7 | 34 | virtual Int_t GetNInputTracksMin() const { return fNInputTracksMin; } |
35 | virtual Int_t GetNInputTracksMax() const { return fNInputTracksMax; } | |
36 | virtual Float_t GetReactionPlaneBin() const { return fReactionPlaneBin; } | |
2a436fa1 | 37 | virtual Float_t GetJetEtaMin() const { return fJetEtaMin; } |
38 | virtual Float_t GetJetEtaMax() const { return fJetEtaMax; } | |
46465e39 | 39 | virtual Float_t GetJetPtMin() const { return fJetPtMin; } |
40 | virtual Float_t GetJetPtFractionMin() const { return fJetPtFractionMin; } | |
41 | virtual Int_t GetNMatchJets() const { return fNMatchJets; } | |
3c6a60f7 | 42 | virtual Int_t GetEventClassMode() const { return fEvtClassMode; } |
2a436fa1 | 43 | |
44 | virtual void SetBranchNames(const TString &branch1, const TString &branch2); | |
45 | virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; } | |
46465e39 | 46 | virtual void SetMinContribVtx(Int_t n) { fMinContribVtx = n; } |
2a436fa1 | 47 | virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; } |
48 | virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; } | |
49 | virtual void SetEvtClassMin(Int_t evtClass) { fEvtClassMin = evtClass; } | |
50 | virtual void SetEvtClassMax(Int_t evtClass) { fEvtClassMax = evtClass; } | |
51 | virtual void SetCentMin(Float_t cent) { fCentMin = cent; } | |
52 | virtual void SetCentMax(Float_t cent) { fCentMax = cent; } | |
3c6a60f7 | 53 | virtual void SetNInputTracksMin(Int_t nTr) { fNInputTracksMin = nTr; } |
54 | virtual void SetNInputTracksMax(Int_t nTr) { fNInputTracksMax = nTr; } | |
55 | virtual void SetReactionPlaneBin(Int_t rpBin) { fReactionPlaneBin = rpBin; } | |
2a436fa1 | 56 | virtual void SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; } |
57 | virtual void SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; } | |
46465e39 | 58 | virtual void SetJetPtMin(Float_t pt) { fJetPtMin = pt; } |
59 | virtual void SetJetPtFractionMin(Float_t pt) { fJetPtFractionMin = pt; } | |
60 | virtual void SetNMatchJets(Int_t n) { fNMatchJets = n; } | |
3c6a60f7 | 61 | virtual void SetEventClassMode(Int_t mode) { fEvtClassMode = mode; } |
2a436fa1 | 62 | |
63 | private: | |
64 | // ESD/AOD events | |
65 | AliESDEvent *fESD; //! ESD object | |
66 | AliAODEvent *fAOD; //! AOD event | |
67 | ||
68 | // jets to compare | |
69 | TString fJetBranchName[2]; // name of jet branches to compare | |
70 | TList *fListJets[2]; //! jet lists | |
71 | ||
72 | // event selection | |
73 | AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline triggers to accept | |
74 | Int_t fMinContribVtx; // minimum number of track contributors for primary vertex | |
75 | Float_t fVtxZMin; // lower bound on vertex z | |
76 | Float_t fVtxZMax; // upper bound on vertex z | |
77 | Int_t fEvtClassMin; // lower bound on event class | |
78 | Int_t fEvtClassMax; // upper bound on event class | |
79 | Float_t fCentMin; // lower bound on centrality | |
80 | Float_t fCentMax; // upper bound on centrality | |
3c6a60f7 | 81 | Int_t fNInputTracksMin; // lower bound of nb. of input tracks |
82 | Int_t fNInputTracksMax; // upper bound of nb. of input tracks | |
83 | Float_t fReactionPlaneBin; // reaction plane bin | |
2a436fa1 | 84 | Float_t fJetEtaMin; // lower bound on eta for found jets |
85 | Float_t fJetEtaMax; // upper bound on eta for found jets | |
46465e39 | 86 | Float_t fJetPtMin; // minimum jet pT |
87 | Float_t fJetPtFractionMin; // minimum fraction for positiv match of jets | |
88 | Int_t fNMatchJets; // maximal nb. of jets taken for matching | |
3c6a60f7 | 89 | |
90 | Int_t fEvtClassMode; // event class mode; 0: centrality (default), 1: multiplicity | |
2a436fa1 | 91 | |
92 | // output objects | |
93 | const Int_t fkNbranches; //! number of branches to be read | |
94 | const Int_t fkEvtClasses; //! number of event classes | |
95 | TList *fOutputList; //! output data container | |
46465e39 | 96 | TH1I *fHistEvtSelection; //! event selection statistic |
97 | TH1I *fHistEvtClass; //! event classes (from helper task) | |
98 | TH1F *fHistCentrality; //! centrality of the event | |
3c6a60f7 | 99 | TH1F *fHistNInputTracks; //! nb. of input tracks in the event |
100 | TH2F *fHistCentVsTracks; //! centrality vs. nb. of input tracks of the event | |
101 | TH1F *fHistReactionPlane; //! reaction plane of the event | |
102 | TH1F *fHistReactionPlaneWrtJets; //! reaction plane of the event wrt the jet | |
46465e39 | 103 | TH1F **fHistPtJet; //! pt distribution of jets |
104 | TH2F **fHistEtaPhiJet; //! eta-phi distribution of jets (before acceptance cuts) | |
105 | TH2F **fHistEtaPhiJetCut; //! eta-phi distribution of jets in eta acceptace per event class | |
106 | TH2F **fHistDeltaEtaDeltaPhiJet; //! delta eta vs. delta phi of matched jets (before acceptance cuts) | |
107 | TH2F **fHistDeltaEtaDeltaPhiJetCut; //! delta eta vs. delta phi of matched jets | |
3c6a60f7 | 108 | //TH2F **fHistDeltaEtaDeltaPhiJetNOMatching; //! delta eta vs. delta phi of jets which do not match |
46465e39 | 109 | TH2F **fHistDeltaEtaEtaJet; //! delta eta vs. eta of matched jets per event class |
110 | TH2F **fHistDeltaPtEtaJet; //! delta eta vs. eta of matched jets per event class | |
111 | TH2F **fHistPtFraction; //! fraction from embedded jet in reconstructed jet per event class | |
46465e39 | 112 | TH2F **fHistPtResponse; //! jet pt response per event class |
a11972e9 | 113 | TH2F **fHistPtSmearing; //! emb-jet pt vs (emb+UE - emb) pt |
46465e39 | 114 | TH2F **fHistDeltaR; //! shift dR of jets vs (emb+UE - emb) pt |
3c6a60f7 | 115 | TH3F **fHistArea; //! area of jets vs (emb+UE - emb) pt |
116 | //TH2F **fHistJetPtArea; //! area of jets vs (emb+UE - emb) pt | |
46465e39 | 117 | TH2F **fHistDeltaArea; //! delta area of jets vs (emb+UE - emb) pt |
3c6a60f7 | 118 | TH2F **fHistJetPtDeltaArea; //! delta area of jets vs emb pt |
2a436fa1 | 119 | |
120 | AliAnalysisTaskJetResponse(const AliAnalysisTaskJetResponse&); // not implemented | |
121 | AliAnalysisTaskJetResponse& operator=(const AliAnalysisTaskJetResponse&); // not implemented | |
122 | ||
3c6a60f7 | 123 | ClassDef(AliAnalysisTaskJetResponse, 3); |
2a436fa1 | 124 | }; |
125 | ||
126 | #endif |