]>
Commit | Line | Data |
---|---|---|
1705bab1 | 1 | #ifndef ALIANALYSISTASKEMCALHJETMASS_H |
2 | #define ALIANALYSISTASKEMCALHJETMASS_H | |
3 | ||
4 | class TH1; | |
5 | class TH2; | |
6 | class TH3; | |
7 | class TH3F; | |
8 | class THnSparse; | |
9 | class TClonesArray; | |
10 | class TArrayI; | |
f887e746 | 11 | class TArrayF; |
12 | class TRandom3; | |
1705bab1 | 13 | class AliAnalysisManager; |
14 | class AliJetContainer; | |
15 | class AliEmcalJet; | |
16 | ||
17 | #include "AliAnalysisTaskEmcalJet.h" | |
18 | ||
f887e746 | 19 | namespace EmcalHJetMassAnalysis { |
20 | class AliAnalysisTaskEmcalHJetMass : public AliAnalysisTaskEmcalJet { | |
21 | public: | |
22 | enum JetMassType { | |
23 | kRaw = 0, //mass form anti-kt 4-vector | |
24 | kDeriv = 1 //area based subtracted jet mass | |
25 | }; | |
26 | ||
27 | enum TriggerTrackType { | |
28 | kInclusive = 0, //take all trigger tracks | |
29 | kSingleInclusive = 1 //take randomly trigger track within defined pt bin | |
30 | }; | |
31 | ||
32 | ||
33 | AliAnalysisTaskEmcalHJetMass(); | |
34 | AliAnalysisTaskEmcalHJetMass(const char *name); | |
35 | virtual ~AliAnalysisTaskEmcalHJetMass(); | |
36 | ||
37 | void UserCreateOutputObjects(); | |
38 | void Terminate(Option_t *option); | |
39 | ||
40 | //Setters | |
41 | void SetJetContainerBase(Int_t c) { fContainerBase = c ; } | |
42 | void SetJetContainerUnsub(Int_t c) { fContainerUnsub = c ; } | |
43 | void SetMinFractionShared(Double_t f, Bool_t useUnsubJet = kFALSE) { fMinFractionShared = f ; fUseUnsubJet = useUnsubJet; } | |
44 | void SetJetMassType(JetMassType t) { fJetMassType = t ; } | |
45 | void SetMaxDeltaPhi(Double_t dphi) { fDPhiHJetMax = dphi; } | |
46 | void SetTriggerTrackType(TriggerTrackType t) { fTriggerTrackType = t ; } | |
47 | void AddTriggerTrackPtCuts(Float_t min, Float_t max); | |
48 | ||
49 | protected: | |
50 | Bool_t RetrieveEventObjects(); | |
51 | Bool_t Run(); | |
52 | Bool_t FillHJetHistograms(Double_t pt, const AliEmcalJet *jet); | |
53 | ||
54 | Double_t GetJetMass(const AliEmcalJet *jet) const; | |
55 | Double_t GetDeltaPhi(const AliVParticle *vp, const AliEmcalJet* jet) const; | |
56 | Double_t GetDeltaPhi(Double_t phi1,Double_t phi2) const; | |
57 | ||
58 | Int_t fContainerBase; // jets to be analyzed | |
59 | Int_t fContainerUnsub; // unsubtracted jets | |
60 | Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X | |
61 | Bool_t fUseUnsubJet; // calc fraction of unsubtracted jet (relevant for constituent subtraction | |
62 | JetMassType fJetMassType; // jet mass type to be used | |
63 | Double_t fDPhiHJetMax; // maximum delta phi between hadron and jet | |
64 | TriggerTrackType fTriggerTrackType; // method to select trigger track | |
65 | TArrayF *fPtTTMin; // minimum pt of trigger tracks | |
66 | TArrayF *fPtTTMax; // maximum pt of trigger tracks | |
67 | TRandom3 *fRandom; //! Random number generator | |
68 | ||
69 | TH1F **fh1PtHadron; //!pt of hadrons | |
70 | TH3F **fh3PtHPtJDPhi; //!pt hadron vs pt jet vs delta phi | |
71 | TH3F **fh3PtJet1VsMassVsHPtAllSel; //!all jets after std selection pt vs mass vs track pt | |
72 | TH3F **fh3PtJet1VsMassVsHPtTagged; //!tagged jets pt vs mass vs track pt | |
73 | TH3F **fh3PtJet1VsMassVsHPtTaggedMatch; //!tagged jets pt vs mass vs track pt matched to MC | |
74 | ||
75 | TH3F **fh3PtJet1VsRatVsHPtAllSel; //!all jets after std selection pt vs mass/pt vs track pt | |
76 | TH3F **fh3PtJet1VsRatVsHPtTagged; //!tagged jets pt vs mass/pt vs track pt | |
77 | TH3F **fh3PtJet1VsRatVsHPtTaggedMatch; //!tagged jets pt vs mas/pts vs track pt matched to MC | |
78 | ||
79 | private: | |
80 | AliAnalysisTaskEmcalHJetMass(const AliAnalysisTaskEmcalHJetMass&); // not implemented | |
81 | AliAnalysisTaskEmcalHJetMass &operator=(const AliAnalysisTaskEmcalHJetMass&); // not implemented | |
82 | ||
83 | ClassDef(AliAnalysisTaskEmcalHJetMass, 3) | |
84 | }; | |
85 | } | |
1705bab1 | 86 | #endif |
87 |