Updated to Jet embedding to add real jets (J. Klein)
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskJetResponse.h
CommitLineData
2a436fa1 1#ifndef ALIANALYSISTASKJETRESPONSE_H
2#define ALIANALYSISTASKJETRESPONSE_H
3
4class TH1F;
5class TH2F;
6class AliESDEvent;
7class AliAODEvent;
8
9#include "AliAnalysisTaskSE.h"
10#include "AliVEvent.h"
11
12class AliAnalysisTaskJetResponse : public AliAnalysisTaskSE {
13 public:
14 AliAnalysisTaskJetResponse();
15 AliAnalysisTaskJetResponse(const char *name);
16 virtual ~AliAnalysisTaskJetResponse();
17
18 virtual void LocalInit() {Init();}
19 virtual void Init();
20 virtual void UserCreateOutputObjects();
21 virtual void UserExec(Option_t *option);
22 virtual void Terminate(const Option_t*);
23
24 virtual AliVEvent::EOfflineTriggerTypes GetOfflineTrgMask() const { return fOfflineTrgMask; }
25 virtual void GetBranchNames(TString &branch1, TString &branch2) const { branch1 = fJetBranchName[0]; branch2 = fJetBranchName[1]; }
26 virtual Float_t GetVtxZMin() const { return fVtxZMin; }
27 virtual Float_t GetVtxZMax() const { return fVtxZMax; }
28 virtual Int_t GetEvtClassMin() const { return fEvtClassMin; }
29 virtual Int_t GetEvtClassMax() const { return fEvtClassMax; }
30 virtual Float_t GetCentMin() const { return fCentMin; }
31 virtual Float_t GetCentMax() const { return fCentMax; }
32 virtual Float_t GetJetEtaMin() const { return fJetEtaMin; }
33 virtual Float_t GetJetEtaMax() const { return fJetEtaMax; }
34 virtual Float_t GetJetDeltaEta() const { return fJetDeltaEta; }
35 virtual Float_t GetJetDeltaPhi() const { return fJetDeltaPhi; }
36
37 virtual void SetBranchNames(const TString &branch1, const TString &branch2);
38 virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; }
39 virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; }
40 virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; }
41 virtual void SetEvtClassMin(Int_t evtClass) { fEvtClassMin = evtClass; }
42 virtual void SetEvtClassMax(Int_t evtClass) { fEvtClassMax = evtClass; }
43 virtual void SetCentMin(Float_t cent) { fCentMin = cent; }
44 virtual void SetCentMax(Float_t cent) { fCentMax = cent; }
45 virtual void SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; }
46 virtual void SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; }
47 virtual void SetJetDeltaEta(Float_t eta) { fJetDeltaEta = eta; }
48 virtual void SetJetDeltaPhi(Float_t phi) { fJetDeltaPhi = phi; }
49
50 private:
51 // ESD/AOD events
52 AliESDEvent *fESD; //! ESD object
53 AliAODEvent *fAOD; //! AOD event
54
55 // jets to compare
56 TString fJetBranchName[2]; // name of jet branches to compare
57 TList *fListJets[2]; //! jet lists
58
59 // event selection
60 AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline triggers to accept
61 Int_t fMinContribVtx; // minimum number of track contributors for primary vertex
62 Float_t fVtxZMin; // lower bound on vertex z
63 Float_t fVtxZMax; // upper bound on vertex z
64 Int_t fEvtClassMin; // lower bound on event class
65 Int_t fEvtClassMax; // upper bound on event class
66 Float_t fCentMin; // lower bound on centrality
67 Float_t fCentMax; // upper bound on centrality
68 Float_t fJetEtaMin; // lower bound on eta for found jets
69 Float_t fJetEtaMax; // upper bound on eta for found jets
70 Float_t fJetDeltaEta; // max difference in eta to match leading jets
71 Float_t fJetDeltaPhi; // max difference in phi to match leading jets
72
73 // output objects
74 const Int_t fkNbranches; //! number of branches to be read
75 const Int_t fkEvtClasses; //! number of event classes
76 TList *fOutputList; //! output data container
77 TH1F *fHistEvtSelection; //! event selection statistic
78 TH1F **fHistPtLeadingJet; //! pt of leading jet
79 TH2F **fHistEtaPhiLeadingJet; //! eta-phi of leading jet
a11972e9 80 TH2F **fHistEtaPhiLeadingJetCut; //! eta-phi of leading jet in eta acceptace per event class
2a436fa1 81 TH2F *fHistDeltaEtaDeltaPhiLeadingJet; //! delta eta vs. delta phi of leading jets
a11972e9 82 TH2F **fHistDeltaEtaEtaLeadingJet; //! delta eta vs. eta of leading jet per event class
83 TH2F **fHistDeltaPtEtaLeadingJet; //! delta eta vs. eta of leading jet per event class
2a436fa1 84 TH2F *fHistPtPtExtra; //! jet pt response
85 TH2F **fHistPtResponse; //! histograms per event class
a11972e9 86 TH2F **fHistPtSmearing; //! emb-jet pt vs (emb+UE - emb) pt
87 TH2F **fHistdR; //! shift dR of jets vs (emb+UE - emb) pt
88 TH2F **fHistArea; //! area of jets vs (emb+UE - emb) pt
2a436fa1 89
90 AliAnalysisTaskJetResponse(const AliAnalysisTaskJetResponse&); // not implemented
91 AliAnalysisTaskJetResponse& operator=(const AliAnalysisTaskJetResponse&); // not implemented
92
93 ClassDef(AliAnalysisTaskJetResponse, 1);
94};
95
96#endif