]>
Commit | Line | Data |
---|---|---|
5b38fc6d | 1 | #ifndef AliAnalysisTaskEmcalJetHMEC_H |
2 | #define AliAnalysisTaskEmcalJetHMEC_H | |
1101e468 | 3 | |
7f71d351 | 4 | // $Id$ |
1101e468 | 5 | |
f569a5d2 | 6 | class TClonesArray; |
1101e468 | 7 | class TList; |
8 | class TH1; | |
9 | class TH2; | |
55f64c2f | 10 | class THnSparse; |
c1076e58 | 11 | class AliEmcalJet; |
1101e468 | 12 | class AliESDEvent; |
f569a5d2 | 13 | class AliAODEvent; |
55f64c2f | 14 | class AliEventPoolManager; |
15 | ||
f569a5d2 | 16 | #include "AliAnalysisTaskEmcalJet.h" |
1101e468 | 17 | |
f569a5d2 | 18 | class AliAnalysisTaskEmcalJetHMEC : public AliAnalysisTaskEmcalJet { |
1101e468 | 19 | public: |
20 | AliAnalysisTaskEmcalJetHMEC(); | |
21 | AliAnalysisTaskEmcalJetHMEC(const char *name); | |
22 | virtual ~AliAnalysisTaskEmcalJetHMEC() {} | |
23 | ||
1af24178 | 24 | virtual void UserCreateOutputObjects(); |
25 | virtual Double_t RelativePhi(Double_t mphi, Double_t vphi); | |
f569a5d2 | 26 | // virtual void UserExec(Option_t *option); |
1af24178 | 27 | virtual void Terminate(Option_t *); |
f569a5d2 | 28 | virtual Int_t AcceptthisJet(AliEmcalJet *jet); |
1af24178 | 29 | virtual THnSparse* NewTHnSparseF(const char* name, UInt_t entries); |
30 | virtual void GetDimParams(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax); | |
55f64c2f | 31 | |
965c985f | 32 | virtual void SetTracksName(const char *n) {fTracksName=n;} |
33 | virtual void SetJetsName(const char *jn) {fJetsName=jn;} | |
1101e468 | 34 | |
1af24178 | 35 | virtual void SetAreaCut(Double_t a) { fAreacut = a; } |
965c985f | 36 | virtual void SetTrkBias(Double_t b) { fTrkBias = b; } //require a track with pt > b in jet |
37 | virtual void SetClusBias(Double_t b) { fClusBias = b; } //require a cluster with pt > b in jet | |
38 | ||
22d3f9c2 | 39 | virtual void SetTrkEta(Double_t e) { fTrkEta = e; } //eta range of the associated tracks |
40 | ||
1af24178 | 41 | virtual void SetJetEta(Double_t emin, Double_t emax) { fEtamin = emin; fEtamax = emax; } |
42 | virtual void SetJetPhi(Double_t pmin, Double_t pmax) { fPhimin = pmin; fPhimax = pmax; } | |
965c985f | 43 | virtual void SetEventMixing(Int_t yesno) { fDoEventMixing=yesno;} |
44 | virtual void SetMixingTracks(Int_t tracks) { fMixingTracks = tracks; } | |
55f64c2f | 45 | |
b1121dd6 | 46 | // event trigger/mixed selection - setters |
47 | virtual void SetTrigType(UInt_t te) { fTriggerEventType = te; } | |
48 | virtual void SetMixType(UInt_t me) { fMixingEventType = me; } | |
49 | virtual void SetNMixedTracks(Int_t nmt) { fNMIXtracks = nmt; } | |
50 | virtual void SetNMixedEvents(Int_t nme) { fNMIXevents = nme; } | |
51 | ||
52 | // switch to cut out some unneeded sparse axis | |
53 | void SetDoLessSparseAxes(Bool_t dlsa) { fDoLessSparseAxes = dlsa; } | |
54 | void SetDoWiderTrackBin(Bool_t wtrbin) { fDoWiderTrackBin = wtrbin; } | |
55 | ||
56 | virtual void SetCentBinSize(Bool_t centbins) { fCentBinSize = centbins; } | |
235a08af | 57 | // set efficiency correction |
58 | void SetDoEffCorr(Int_t effcorr) { fDoEffCorrection = effcorr; } | |
59 | virtual void SetEffCorrFunc(Double_t efffunc) { fEffFunctionCorrection = efffunc; } | |
55f64c2f | 60 | |
1101e468 | 61 | protected: |
f569a5d2 | 62 | void ExecOnce(); |
63 | Bool_t Run(); | |
1101e468 | 64 | virtual Int_t GetCentBin(Double_t cent) const; |
65 | virtual Int_t GetEtaBin(Double_t eta) const; | |
66 | virtual Int_t GetpTjetBin(Double_t pt) const; | |
235a08af | 67 | virtual Double_t EffCorrection(Double_t trkETA, Double_t trkPT, Int_t effswitch) const; // efficiency correction function |
1101e468 | 68 | |
f569a5d2 | 69 | TString fTracksName; // name of tracks collection |
70 | TString fJetsName; // name of Jet collection | |
22d3f9c2 | 71 | Double_t fPhimin; // phi min of jet |
72 | Double_t fPhimax; // phi max of jet | |
73 | Double_t fEtamin; // eta min of jet | |
74 | Double_t fEtamax; // eta max of jet | |
75 | Double_t fAreacut; // area cut of jet | |
965c985f | 76 | Double_t fTrkBias; |
77 | Double_t fClusBias; | |
22d3f9c2 | 78 | Double_t fTrkEta; // eta min/max of tracks |
79 | Int_t fDoEventMixing; // flag to do evt mixing | |
f569a5d2 | 80 | Int_t fMixingTracks; // size of track buffer for event mixing |
b1121dd6 | 81 | Int_t fNMIXtracks; // threshold to use event pool # tracks |
82 | Int_t fNMIXevents; // threshold to use event pool # events | |
1af24178 | 83 | TObjArray* CloneAndReduceTrackList(TObjArray* tracks); |
55f64c2f | 84 | |
b1121dd6 | 85 | // event selection types |
86 | UInt_t fTriggerEventType; | |
87 | UInt_t fMixingEventType; | |
88 | ||
235a08af | 89 | // efficiency correction |
90 | Int_t fDoEffCorrection; | |
91 | Double_t fEffFunctionCorrection; | |
92 | ||
b1121dd6 | 93 | Bool_t fDoLessSparseAxes; |
94 | Bool_t fDoWiderTrackBin; | |
95 | ||
96 | UInt_t fCentBinSize; | |
97 | ||
1af24178 | 98 | AliESDEvent *fESD; //! ESD object |
f569a5d2 | 99 | AliAODEvent *fAOD; //! AOD object |
9e4a0350 | 100 | AliEventPoolManager *fPoolMgr; //! |
1af24178 | 101 | TH1 *fHistTrackPt; //! Pt spectrum |
9e4a0350 | 102 | TH1 *fHistCentrality;//! |
103 | TH2 *fHistJetEtaPhi;//! | |
104 | TH2 *fHistTrackEtaPhi[7];//! | |
105 | TH2 *fHistJetHEtaPhi;//! | |
106 | ||
107 | TH1 *fHistJetPt[6]; //! | |
108 | TH1 *fHistJetPtBias[6];//! | |
109 | TH1 *fHistLeadJetPt[6];//! | |
110 | TH1 *fHistLeadJetPtBias[6];//! | |
111 | TH1 *fHistJetPtTT[6];//! | |
112 | TH2 *fHistJetH[6][5][3];//! | |
113 | TH2 *fHistJetHBias[6][5][3];//! | |
114 | TH2 *fHistJetHTT[6][5][3];//! | |
1af24178 | 115 | THnSparse *fhnMixedEvents; //!mixed events matrix |
9e4a0350 | 116 | THnSparse *fhnJH; //!Fg events matrix |
1101e468 | 117 | |
5b38fc6d | 118 | private: |
1101e468 | 119 | |
120 | AliAnalysisTaskEmcalJetHMEC(const AliAnalysisTaskEmcalJetHMEC&); // not implemented | |
121 | AliAnalysisTaskEmcalJetHMEC& operator=(const AliAnalysisTaskEmcalJetHMEC&); // not implemented | |
122 | ||
41f87d59 | 123 | ClassDef(AliAnalysisTaskEmcalJetHMEC, 10); |
55f64c2f | 124 | }; |
1101e468 | 125 | #endif |