]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalHJetMass.h
include single inclusive triggers to h-jet ana
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalHJetMass.h
CommitLineData
1705bab1 1#ifndef ALIANALYSISTASKEMCALHJETMASS_H
2#define ALIANALYSISTASKEMCALHJETMASS_H
3
4class TH1;
5class TH2;
6class TH3;
7class TH3F;
8class THnSparse;
9class TClonesArray;
10class TArrayI;
f887e746 11class TArrayF;
12class TRandom3;
1705bab1 13class AliAnalysisManager;
14class AliJetContainer;
15class AliEmcalJet;
16
17#include "AliAnalysisTaskEmcalJet.h"
18
f887e746 19namespace 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