AliPhysics  e59a9ba (e59a9ba)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalHJetMass.h
Go to the documentation of this file.
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;
11 class TArrayF;
12 class TRandom3;
13 class AliAnalysisManager;
14 class AliJetContainer;
15 class AliEmcalJet;
16 class AliVParticle;
17 
19 
20 namespace EmcalHJetMassAnalysis {
22  public:
23  enum JetMassType {
24  kRaw = 0, //mass form anti-kt 4-vector
25  kDeriv = 1 //area based subtracted jet mass
26  };
27 
29  kInclusive = 0, //take all trigger tracks
30  kSingleInclusive = 1 //take randomly trigger track within defined pt bin
31  };
32 
33 
35  AliAnalysisTaskEmcalHJetMass(const char *name);
37 
39  void Terminate(Option_t *option);
40 
41  //Setters
42  void SetDoHJetAna(Bool_t b) { fDoHJetAna = b ; }
43  void SetDoNSHJetAna(Bool_t b) { fDoNSHJetAna = b ; }
44  void SetJetContainerBase(Int_t c) { fContainerBase = c ; }
45  void SetJetContainerUnsub(Int_t c) { fContainerUnsub = c ; }
46  void SetMinFractionShared(Double_t f, Bool_t useUnsubJet = kFALSE) { fMinFractionShared = f ; fUseUnsubJet = useUnsubJet; }
48  void SetMaxDeltaPhi(Double_t dphi) { fDPhiHJetMax = dphi; }
50  void AddTriggerTrackPtCuts(Float_t min, Float_t max);
51  void SelectConstituents(UInt_t constSel) { fEmbConstSel = constSel ; }
52  void SetMarkMCLabel(Int_t l) { fMarkMCLabel = l ; }
53  void SetGapPhiLimits(Double_t min, Double_t max) { fGapPhiMin = min; fGapPhiMax = max; }
54 
55  protected:
56  Bool_t RetrieveEventObjects();
57  Bool_t Run();
58  Bool_t FillHJetHistograms(const AliVParticle *vp, const AliEmcalJet *jet);
59  Bool_t FillHJetHistogramsWithNS(const AliVParticle *vp, const AliEmcalJet *jet);
60  AliEmcalJet *FindNearSideJet(const AliVParticle *vp);
61 
62  Double_t GetJetMass(const AliEmcalJet *jet) const;
63  Double_t GetDeltaPhi(const AliVParticle *vp, const AliEmcalJet* jet) const;
64  Double_t GetDeltaPhi(Double_t phi1,Double_t phi2) const;
65  AliVParticle *GetSingleInclusiveTT(AliParticleContainer *pCont, Double_t ptmin, Double_t ptmax) const;
66 
67  Bool_t fDoHJetAna; // do normal h-jet analysis
68  Bool_t fDoNSHJetAna; // do NS h-jet analysis
69  Int_t fContainerBase; // jets to be analyzed
70  Int_t fContainerUnsub; // unsubtracted jets
71  Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
72  Bool_t fUseUnsubJet; // calc fraction of unsubtracted jet (relevant for constituent subtraction
73  JetMassType fJetMassType; // jet mass type to be used
74  Double_t fDPhiHJetMax; // maximum delta phi between hadron and jet
75  TriggerTrackType fTriggerTrackType; // method to select trigger track
76  TArrayF *fPtTTMin; // minimum pt of trigger tracks
77  TArrayF *fPtTTMax; // maximum pt of trigger tracks
78  TRandom3 *fRandom;
79  UInt_t fEmbConstSel; // select embedded constituents using bit
80  Int_t fMarkMCLabel; // select embedded constituents using label
81  Double_t fGapPhiMin; // min phi of acceptance gap
82  Double_t fGapPhiMax; // max phi of acceptance gap
83 
84  TH1F **fh1PtHadron;
86  TH1F **fh1PhiHadron;
87  TH3F **fh3PtHPtJDPhi;
92 
97 
98  THnSparse **fhnAllSel;
99  THnSparse **fhnAllSelMatch;
100  THnSparse **fhnTagged;
101  THnSparse **fhnTaggedMatch;
102 
103  private:
106 
107  ClassDef(AliAnalysisTaskEmcalHJetMass, 9)
108  };
109 }
110 #endif
111 
Bool_t FillHJetHistogramsWithNS(const AliVParticle *vp, const AliEmcalJet *jet)
AliEmcalJet * FindNearSideJet(const AliVParticle *vp)
AliVParticle * GetSingleInclusiveTT(AliParticleContainer *pCont, Double_t ptmin, Double_t ptmax) const
TH3F ** fh3PtJet1VsRatVsHPtTagged
all jets after std selection pt vs mass/pt vs track pt matched to MC
TH3F ** fh3PtJet1VsMassVsHPtAllSel
pt hadron vs pt jet vs delta phi
TH3F ** fh3PtJet1VsMassVsHPtTaggedMatch
tagged jets pt vs mass vs track pt
Double_t GetDeltaPhi(const AliVParticle *vp, const AliEmcalJet *jet) const
void AddTriggerTrackPtCuts(Float_t min, Float_t max)
THnSparse ** fhnAllSel
tagged jets pt vs mas/pts vs track pt matched to MC
TH3F ** fh3PtJet1VsMassVsHPtTagged
all jets after std selection pt vs mass vs track pt matched to MC
Container for particles within the EMCAL framework.
const Double_t ptmax
THnSparse ** fhnAllSelMatch
all jets after std selection pt vs mass vs track pt vs mass_NS
TH3F ** fh3PtJet1VsRatVsHPtAllSelMatch
all jets after std selection pt vs mass/pt vs track pt
const Double_t ptmin
TH3F ** fh3PtJet1VsMassVsHPtAllSelMatch
all jets after std selection pt vs mass vs track pt
Double_t GetJetMass(const AliEmcalJet *jet) const
void SetMinFractionShared(Double_t f, Bool_t useUnsubJet=kFALSE)
THnSparse ** fhnTagged
all jets after std selection pt vs mass vs track pt vs mass_NS matched to MC
THnSparse ** fhnTaggedMatch
tagged jets pt vs mass vs track pt vs mass_NS
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
AliAnalysisTaskEmcalHJetMass & operator=(const AliAnalysisTaskEmcalHJetMass &)
Bool_t FillHJetHistograms(const AliVParticle *vp, const AliEmcalJet *jet)
TH3F ** fh3PtJet1VsRatVsHPtAllSel
tagged jets pt vs mass vs track pt matched to MC
TH3F ** fh3PtJet1VsRatVsHPtTaggedMatch
tagged jets pt vs mass/pt vs track pt
Container for jet within the EMCAL jet framework.