#ifndef ALIANALYSISTASKEMCALHJETMASS_H
#define ALIANALYSISTASKEMCALHJETMASS_H
class TH1;
class TH2;
class TH3;
class TH3F;
class THnSparse;
class TClonesArray;
class TArrayI;
class TArrayF;
class TRandom3;
class AliAnalysisManager;
class AliJetContainer;
class AliEmcalJet;
class AliVParticle;
#include "AliAnalysisTaskEmcalJet.h"
namespace EmcalHJetMassAnalysis {
class AliAnalysisTaskEmcalHJetMass : public AliAnalysisTaskEmcalJet {
public:
enum JetMassType {
kRaw = 0,
kDeriv = 1
};
enum TriggerTrackType {
kInclusive = 0,
kSingleInclusive = 1
};
AliAnalysisTaskEmcalHJetMass();
AliAnalysisTaskEmcalHJetMass(const char *name);
virtual ~AliAnalysisTaskEmcalHJetMass();
void UserCreateOutputObjects();
void Terminate(Option_t *option);
void SetJetContainerBase(Int_t c) { fContainerBase = c ; }
void SetJetContainerUnsub(Int_t c) { fContainerUnsub = c ; }
void SetMinFractionShared(Double_t f, Bool_t useUnsubJet = kFALSE) { fMinFractionShared = f ; fUseUnsubJet = useUnsubJet; }
void SetJetMassType(JetMassType t) { fJetMassType = t ; }
void SetMaxDeltaPhi(Double_t dphi) { fDPhiHJetMax = dphi; }
void SetTriggerTrackType(TriggerTrackType t) { fTriggerTrackType = t ; }
void AddTriggerTrackPtCuts(Float_t min, Float_t max);
void SelectConstituents(UInt_t constSel) { fEmbConstSel = constSel ; }
void SetMarkMCLabel(Int_t l) { fMarkMCLabel = l ; }
protected:
Bool_t RetrieveEventObjects();
Bool_t Run();
Bool_t FillHJetHistograms(const AliVParticle *vp, const AliEmcalJet *jet);
Double_t GetJetMass(const AliEmcalJet *jet) const;
Double_t GetDeltaPhi(const AliVParticle *vp, const AliEmcalJet* jet) const;
Double_t GetDeltaPhi(Double_t phi1,Double_t phi2) const;
AliVParticle *GetSingleInclusiveTT(AliParticleContainer *pCont, Double_t ptmin, Double_t ptmax) const;
Int_t fContainerBase;
Int_t fContainerUnsub;
Double_t fMinFractionShared;
Bool_t fUseUnsubJet;
JetMassType fJetMassType;
Double_t fDPhiHJetMax;
TriggerTrackType fTriggerTrackType;
TArrayF *fPtTTMin;
TArrayF *fPtTTMax;
TRandom3 *fRandom;
UInt_t fEmbConstSel;
Int_t fMarkMCLabel;
TH1F **fh1PtHadron;
TH1F **fh1PtHadronMatch;
TH3F **fh3PtHPtJDPhi;
TH3F **fh3PtJet1VsMassVsHPtAllSel;
TH3F **fh3PtJet1VsMassVsHPtAllSelMatch;
TH3F **fh3PtJet1VsMassVsHPtTagged;
TH3F **fh3PtJet1VsMassVsHPtTaggedMatch;
TH3F **fh3PtJet1VsRatVsHPtAllSel;
TH3F **fh3PtJet1VsRatVsHPtAllSelMatch;
TH3F **fh3PtJet1VsRatVsHPtTagged;
TH3F **fh3PtJet1VsRatVsHPtTaggedMatch;
private:
AliAnalysisTaskEmcalHJetMass(const AliAnalysisTaskEmcalHJetMass&);
AliAnalysisTaskEmcalHJetMass &operator=(const AliAnalysisTaskEmcalHJetMass&);
ClassDef(AliAnalysisTaskEmcalHJetMass, 6)
};
}
#endif
AliAnalysisTaskEmcalHJetMass.h:1 AliAnalysisTaskEmcalHJetMass.h:2 AliAnalysisTaskEmcalHJetMass.h:3 AliAnalysisTaskEmcalHJetMass.h:4 AliAnalysisTaskEmcalHJetMass.h:5 AliAnalysisTaskEmcalHJetMass.h:6 AliAnalysisTaskEmcalHJetMass.h:7 AliAnalysisTaskEmcalHJetMass.h:8 AliAnalysisTaskEmcalHJetMass.h:9 AliAnalysisTaskEmcalHJetMass.h:10 AliAnalysisTaskEmcalHJetMass.h:11 AliAnalysisTaskEmcalHJetMass.h:12 AliAnalysisTaskEmcalHJetMass.h:13 AliAnalysisTaskEmcalHJetMass.h:14 AliAnalysisTaskEmcalHJetMass.h:15 AliAnalysisTaskEmcalHJetMass.h:16 AliAnalysisTaskEmcalHJetMass.h:17 AliAnalysisTaskEmcalHJetMass.h:18 AliAnalysisTaskEmcalHJetMass.h:19 AliAnalysisTaskEmcalHJetMass.h:20 AliAnalysisTaskEmcalHJetMass.h:21 AliAnalysisTaskEmcalHJetMass.h:22 AliAnalysisTaskEmcalHJetMass.h:23 AliAnalysisTaskEmcalHJetMass.h:24 AliAnalysisTaskEmcalHJetMass.h:25 AliAnalysisTaskEmcalHJetMass.h:26 AliAnalysisTaskEmcalHJetMass.h:27 AliAnalysisTaskEmcalHJetMass.h:28 AliAnalysisTaskEmcalHJetMass.h:29 AliAnalysisTaskEmcalHJetMass.h:30 AliAnalysisTaskEmcalHJetMass.h:31 AliAnalysisTaskEmcalHJetMass.h:32 AliAnalysisTaskEmcalHJetMass.h:33 AliAnalysisTaskEmcalHJetMass.h:34 AliAnalysisTaskEmcalHJetMass.h:35 AliAnalysisTaskEmcalHJetMass.h:36 AliAnalysisTaskEmcalHJetMass.h:37 AliAnalysisTaskEmcalHJetMass.h:38 AliAnalysisTaskEmcalHJetMass.h:39 AliAnalysisTaskEmcalHJetMass.h:40 AliAnalysisTaskEmcalHJetMass.h:41 AliAnalysisTaskEmcalHJetMass.h:42 AliAnalysisTaskEmcalHJetMass.h:43 AliAnalysisTaskEmcalHJetMass.h:44 AliAnalysisTaskEmcalHJetMass.h:45 AliAnalysisTaskEmcalHJetMass.h:46 AliAnalysisTaskEmcalHJetMass.h:47 AliAnalysisTaskEmcalHJetMass.h:48 AliAnalysisTaskEmcalHJetMass.h:49 AliAnalysisTaskEmcalHJetMass.h:50 AliAnalysisTaskEmcalHJetMass.h:51 AliAnalysisTaskEmcalHJetMass.h:52 AliAnalysisTaskEmcalHJetMass.h:53 AliAnalysisTaskEmcalHJetMass.h:54 AliAnalysisTaskEmcalHJetMass.h:55 AliAnalysisTaskEmcalHJetMass.h:56 AliAnalysisTaskEmcalHJetMass.h:57 AliAnalysisTaskEmcalHJetMass.h:58 AliAnalysisTaskEmcalHJetMass.h:59 AliAnalysisTaskEmcalHJetMass.h:60 AliAnalysisTaskEmcalHJetMass.h:61 AliAnalysisTaskEmcalHJetMass.h:62 AliAnalysisTaskEmcalHJetMass.h:63 AliAnalysisTaskEmcalHJetMass.h:64 AliAnalysisTaskEmcalHJetMass.h:65 AliAnalysisTaskEmcalHJetMass.h:66 AliAnalysisTaskEmcalHJetMass.h:67 AliAnalysisTaskEmcalHJetMass.h:68 AliAnalysisTaskEmcalHJetMass.h:69 AliAnalysisTaskEmcalHJetMass.h:70 AliAnalysisTaskEmcalHJetMass.h:71 AliAnalysisTaskEmcalHJetMass.h:72 AliAnalysisTaskEmcalHJetMass.h:73 AliAnalysisTaskEmcalHJetMass.h:74 AliAnalysisTaskEmcalHJetMass.h:75 AliAnalysisTaskEmcalHJetMass.h:76 AliAnalysisTaskEmcalHJetMass.h:77 AliAnalysisTaskEmcalHJetMass.h:78 AliAnalysisTaskEmcalHJetMass.h:79 AliAnalysisTaskEmcalHJetMass.h:80 AliAnalysisTaskEmcalHJetMass.h:81 AliAnalysisTaskEmcalHJetMass.h:82 AliAnalysisTaskEmcalHJetMass.h:83 AliAnalysisTaskEmcalHJetMass.h:84 AliAnalysisTaskEmcalHJetMass.h:85 AliAnalysisTaskEmcalHJetMass.h:86 AliAnalysisTaskEmcalHJetMass.h:87 AliAnalysisTaskEmcalHJetMass.h:88 AliAnalysisTaskEmcalHJetMass.h:89 AliAnalysisTaskEmcalHJetMass.h:90 AliAnalysisTaskEmcalHJetMass.h:91 AliAnalysisTaskEmcalHJetMass.h:92 AliAnalysisTaskEmcalHJetMass.h:93 AliAnalysisTaskEmcalHJetMass.h:94 AliAnalysisTaskEmcalHJetMass.h:95 AliAnalysisTaskEmcalHJetMass.h:96