]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetHMEC.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetHMEC.h
CommitLineData
5b38fc6d 1#ifndef AliAnalysisTaskEmcalJetHMEC_H
2#define AliAnalysisTaskEmcalJetHMEC_H
1101e468 3
7f71d351 4// $Id$
1101e468 5
f569a5d2 6class TClonesArray;
1101e468 7class TList;
8class TH1;
9class TH2;
55f64c2f 10class THnSparse;
c1076e58 11class AliEmcalJet;
1101e468 12class AliESDEvent;
f569a5d2 13class AliAODEvent;
55f64c2f 14class AliEventPoolManager;
15
f569a5d2 16#include "AliAnalysisTaskEmcalJet.h"
1101e468 17
f569a5d2 18class 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