1 #ifndef AliAnalysisTaskEmcalJetHMEC_H
2 #define AliAnalysisTaskEmcalJetHMEC_H
14 class AliEventPoolManager;
16 #include "AliAnalysisTaskEmcalJet.h"
18 class AliAnalysisTaskEmcalJetHMEC : public AliAnalysisTaskEmcalJet {
20 AliAnalysisTaskEmcalJetHMEC();
21 AliAnalysisTaskEmcalJetHMEC(const char *name);
22 virtual ~AliAnalysisTaskEmcalJetHMEC() {}
24 virtual void UserCreateOutputObjects();
25 virtual Double_t RelativePhi(Double_t mphi, Double_t vphi);
26 // virtual void UserExec(Option_t *option);
27 virtual void Terminate(Option_t *);
28 virtual Int_t AcceptthisJet(AliEmcalJet *jet);
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);
32 virtual void SetTracksName(const char *n) {fTracksName=n;}
33 virtual void SetJetsName(const char *jn) {fJetsName=jn;}
35 virtual void SetAreaCut(Double_t a) { fAreacut = a; }
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
39 virtual void SetTrkEta(Double_t e) { fTrkEta = e; } //eta range of the associated tracks
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; }
43 virtual void SetEventMixing(Int_t yesno) { fDoEventMixing=yesno;}
44 virtual void SetMixingTracks(Int_t tracks) { fMixingTracks = tracks; }
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; }
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; }
56 virtual void SetCentBinSize(Bool_t centbins) { fCentBinSize = centbins; }
61 virtual Int_t GetCentBin(Double_t cent) const;
62 virtual Int_t GetEtaBin(Double_t eta) const;
63 virtual Int_t GetpTjetBin(Double_t pt) const;
65 TString fTracksName; // name of tracks collection
66 TString fJetsName; // name of Jet collection
67 Double_t fPhimin; // phi min of jet
68 Double_t fPhimax; // phi max of jet
69 Double_t fEtamin; // eta min of jet
70 Double_t fEtamax; // eta max of jet
71 Double_t fAreacut; // area cut of jet
74 Double_t fTrkEta; // eta min/max of tracks
75 Int_t fDoEventMixing; // flag to do evt mixing
76 Int_t fMixingTracks; // size of track buffer for event mixing
77 Int_t fNMIXtracks; // threshold to use event pool # tracks
78 Int_t fNMIXevents; // threshold to use event pool # events
79 TObjArray* CloneAndReduceTrackList(TObjArray* tracks);
81 // event selection types
82 UInt_t fTriggerEventType;
83 UInt_t fMixingEventType;
85 Bool_t fDoLessSparseAxes;
86 Bool_t fDoWiderTrackBin;
90 AliESDEvent *fESD; //! ESD object
91 AliAODEvent *fAOD; //! AOD object
92 AliEventPoolManager *fPoolMgr; //!
93 TH1 *fHistTrackPt; //! Pt spectrum
94 TH1 *fHistCentrality;//!
95 TH2 *fHistJetEtaPhi;//!
96 TH2 *fHistTrackEtaPhi[7];//!
97 TH2 *fHistJetHEtaPhi;//!
99 TH1 *fHistJetPt[6]; //!
100 TH1 *fHistJetPtBias[6];//!
101 TH1 *fHistLeadJetPt[6];//!
102 TH1 *fHistLeadJetPtBias[6];//!
103 TH1 *fHistJetPtTT[6];//!
104 TH2 *fHistJetH[6][5][3];//!
105 TH2 *fHistJetHBias[6][5][3];//!
106 TH2 *fHistJetHTT[6][5][3];//!
107 THnSparse *fhnMixedEvents; //!mixed events matrix
108 THnSparse *fhnJH; //!Fg events matrix
112 AliAnalysisTaskEmcalJetHMEC(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
113 AliAnalysisTaskEmcalJetHMEC& operator=(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
115 ClassDef(AliAnalysisTaskEmcalJetHMEC, 10);