13 #ifndef ALIANALYSISTASKDMESONJETS_H
14 #define ALIANALYSISTASKDMESONJETS_H
34 class AliAODRecoDecay;
38 class AliAODMCParticle;
47 class AliEMCALGeometry;
146 std::map<std::string, AliJetInfo>
177 virtual void Reset();
208 virtual void Reset();
234 virtual void Reset();
256 virtual void Reset();
364 #if !(defined(__CINT__) || defined(__MAKECINT__))
368 void Init(
const AliEMCALGeometry*
const geom,
Int_t runNumber);
486 std::list<AnalysisEngine>
friend bool operator<=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
UChar_t fNDaughters
Number of daughters.
Double32_t fZ
Z of the D meson.
void Print() const
Prints the content of this object in the standard output.
AliDmesonInfoSummary * fCurrentDmesonJetInfo
! Current D meson jet info
std::list< AnalysisEngine > fAnalysisEngines
Array of analysis parameters.
Bool_t FillTree(Bool_t applyKinCuts)
AliJetContainer::EJetType_t EJetType_t
Analysis task for D meson jets.
UInt_t fRejectedOrigin
Bit mask with D meson origins that are rejected.
virtual void Set(const AliDmesonJetInfo &source)
Invariant mass of the D0 meson candidate in GeV/c2.
virtual void Reset()
Reset the object.
Bool_t IsJetInAcceptance(const AliJetInfo &jet) const
AliJetInfo(Double_t px, Double_t py, Double_t pz, Double_t E, Int_t nconst, Double_t nef, Double_t cpt, Double_t npt)
Double_t fSoftPionPt
! Transverse momentum of the soft pion of the D* candidate
void SetShowPositionD(Bool_t b=kTRUE)
AliRDHFCuts * fRDHFCuts
D meson candidates cuts.
THistManager * fHistManager
! Histograms
void RunAnalysis()
Run the analysis.
Lightweight class that encapsulates D meson jets.
Bool_t FillHnSparse(Bool_t applyKinCuts)
Double_t GetRadius() const
Double32_t fPhi
Phi of the jet.
void SetRejectedOriginMap(UInt_t m)
ERecoScheme_t fRecoScheme
Jet recombination scheme (pt scheme, E scheme, ...)
virtual void SetOutputTypeInternal(EOutputType_t b)
void SetRDHFCuts(AliRDHFCuts *cuts)
Double_t fMaxNeutralPt
Transverse momentum of the leading neutral particle (or cluster)
void RunDetectorLevelAnalysis()
Run a detector level analysis.
jet_distance_pair FindJetMacthedToGeneratedDMeson(const AliDmesonJetInfo &dmeson, AliHFJetDefinition &jetDef, Double_t dMax, Bool_t applyKinCuts)
friend bool operator<(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
Declaration of class AliTLorentzVector.
virtual void UserCreateOutputObjects()
Creates the output containers.
Double32_t fInvMass
Invariant mass of the D0 meson candidate in GeV/c2.
Lightweight class that encapsulates D meson jets.
Double_t fInvMass2Prong
! 2-prong mass of the D* candidate (w/o the soft pion)
friend bool operator==(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
Double_t fMinChargedPt
Minimum pt of the leading charged particle (or track)
static void CalculateMassLimits(Double_t range, Int_t pdg, Int_t nbins, Double_t &minMass, Double_t &maxMass)
AliAODEvent * fAodEvent
! AOD event
virtual void Reset()
Reset the object.
AliJetContainer::EJetAlgo_t EJetAlgo_t
Bool_t FindJet(AliAODRecoDecayHF2Prong *Dcand, AliDmesonJetInfo &DmesonJet, AliHFJetDefinition &jetDef)
UInt_t fEnabledAxis
Use bit defined in EAxis_t to enable axis in the THnSparse.
void SetCandidateType(ECandidateType_t t)
void SetOutputType(EOutputType_t b)
std::vector< AliAnalysisTaskDmesonJets::AliHFJetDefinition > & GetJetDefinitions()
EMCMode_t fMCMode
MC mode: No MC (data and MC detector level), background-only (MC), signal-only (MC), MC truth (particle level)
void SetChargedPtRange(Double_t min, Double_t max)
void BuildHnSparse(UInt_t enabledAxis)
const char * GetName() const
AnalysisEngine()
This is the default constructor, used for ROOT I/O purposes.
Int_t fDataSlotNumber
! Data slot where the tree output is posted
friend bool operator>(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
const char * GetCandidateName() const
void Init(const AliEMCALGeometry *const geom, Int_t runNumber)
Initialize the analysis engine.
AliVParticle * fDmesonParticle
! pointer to the particle object
Container for particles within the EMCAL framework.
Double_t fMinJetEta
Minimum jet eta.
AliAODEvent * fAodEvent
! AOD event
Select tracks based on specific prescriptions of HF analysis.
Double32_t fPt
Transverse momentum of the jet in GeV/c.
ECandidateType_t fCandidateType
Candidate type.
Double_t GetDistance(std::string n, Double_t &deta, Double_t &dphi) const
Int_t fMCLabel
! MC label, i.e. index of the generator level D meson (only for detector level D meson candidates) ...
void SetApplyKinematicCuts(Bool_t b)
friend bool operator!=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
virtual ~AliD0InfoSummary()
Double32_t fR
Distance between D meson and jet axis.
virtual void Set(const AliDmesonJetInfo &source)
EJetType_t fJetType
Jet type (charged, full, neutral)
Double32_t fEta
Eta of the jet.
std::pair< AliJetInfo *, Double_t > jet_distance_pair
Double32_t fPt
Transverse momentum of the D meson in GeV/c.
virtual void Set(const AliDmesonJetInfo &source)
AliTLorentzVector fD
! 4-momentum of the D meson candidate
Double_t GetDistance(const AliJetInfo &jet, Double_t &deta, Double_t &dphi) const
void SetJetEtaRange(Double_t min, Double_t max)
Double_t fMinJetPhi
Minimum jet phi.
UInt_t fCandidatePDG
Candidate PDG.
AliAnalysisTaskDmesonJets()
This is the default constructor, used for ROOT I/O purposes.
AliClusterContainer * fClusterContainer
! Cluster container
virtual void Reset()
Reset the current object.
AnalysisEngine & operator=(const AnalysisEngine &source)
Double_t fMaxJetPt
Maximum jet pT.
Struct that encapsulates analysis parameters.
std::vector< AliHFJetDefinition >::iterator FindJetDefinition(const AliHFJetDefinition &eng)
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
Double_t Phi_0_2pi() const
Double_t fMinNeutralPt
Minimum pt of the leading neutral particle (or cluster)
void SetShowSoftPionPt(Bool_t b=kTRUE)
Double32_t fPhi
Phi of the jet.
Int_t GetDataSlotNumber() const
Double_t fRadius
Jet radius.
Double_t fMinJetPt
Minimum jet pT.
TTree * fTree
! Output tree
AliRDHFCuts * LoadDMesonCutsFromFile(TString cutfname, TString cutsname)
virtual ~AliDStarInfoSummary()
std::list< AnalysisEngine >::iterator FindAnalysisEngine(const AnalysisEngine &eng)
std::vector< AliHFJetDefinition > fJetDefinitions
Jet definitions.
Double_t fMaxNeutralPt
Maximum pt of the leading neutral particle (or cluster)
Double_t fMaxJetPhi
Maximum jet phi.
Int_t fNMassBins
Mass number of bins.
void SetAcceptedDecayMap(UInt_t m)
Double_t fMaxMass
Max mass in histogram axis.
EJetAlgo_t fJetAlgo
Jet algorithm (kt, anti-kt,...)
Double_t GetZ(std::string n) const
void SetMCMode(EMCMode_t m)
static const char * GetHFEventRejectionReasonLabel(UInt_t &bitmap)
Lightweight class that encapsulates D*.
virtual void Reset()
Reset the object.
Bool_t fInhibit
Inhibit the task.
ECandidateType_t GetCandidateType() const
friend bool operator!=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
friend bool operator<(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
AliAnalysisTaskDmesonJets & operator=(const AliAnalysisTaskDmesonJets &source)
void SetMassRange(Double_t min, Double_t max)
Bool_t ExtractDstarAttributes(const AliAODRecoCascadeHF *DstarCand, AliDmesonJetInfo &DmesonJet, UInt_t i)
virtual ~AliDmesonJetInfo()
const AliJetInfo * GetJet(std::string n) const
Float_t fPtBinWidth
Histogram pt bin width.
Double_t fNEF
Neutral Energy Fraction of the jet.
TClonesArray * fCandidateArray
! D meson candidate array
AliAODMCParticle * MatchToMC() const
virtual ~AliAnalysisTaskDmesonJets()
This is the standard destructor.
void SetCandidateProperties(Double_t range)
void SetJetPtRange(Double_t min, Double_t max)
Bool_t ExtractD0Attributes(const AliAODRecoDecayHF2Prong *Dcand, AliDmesonJetInfo &DmesonJet, UInt_t i)
std::vector< AliJetInfo > fJets
! Inclusive jets reconstructed in the current event (includes D meson candidate daughters, if any)
Double_t Phi_0_2pi() const
void SetShow2ProngInvMass(Bool_t b=kTRUE)
Select MC particles based on specific prescriptions of HF analysis.
static EMesonDecayChannel_t CheckDecayChannel(const AliAODMCParticle *part, TClonesArray *mcArray)
Double_t fMaxChargedPt
Transverse momentum of the leading charged particle (or track)
friend bool operator>=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
friend bool operator==(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
EMCMode_t GetMCMode() const
void AssignDataSlot(Int_t n)
friend bool operator>=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
Double_t fMaxChargedPt
Maximum pt of the leading charged particle (or track)
void AdoptRDHFCuts(AliRDHFCuts *cuts)
Class that encapsulates jets.
std::map< std::string, AliJetInfo > fJets
! list of jets
void AddInputVectors(AliEmcalContainer *cont, Int_t offset, TH2 *rejectHist=0)
Double32_t fDeltaInvMass
< Difference between the Kpipi and the Kpi invariant masses in GeV/c2
virtual ~AnalysisEngine()
void RunParticleLevelAnalysis()
Run a particle level analysis.
std::map< int, AliDmesonJetInfo > & GetDmesons()
std::map< int, AliDmesonJetInfo > fDmesonJets
! Array containing the D meson jets
Double32_t f2ProngInvMass
void FindJets(AliHFJetDefinition &jetDef)
Bool_t fApplyKinematicCuts
Apply jet kinematic cuts.
virtual ~AliDmesonInfoSummary()
void SetNeutralPtRange(Double_t min, Double_t max)
const char * GetName() const
Generate a name for this jet definition.
Container class for histograms for the high- charged particle analysis.
UInt_t fAcceptedDecay
Bit mask with D meson decays that are accepted.
Bool_t fReconstructed
! Whether this D meson was reconstructed (only for particle level D mesons)
Bool_t ExtractRecoDecayAttributes(const AliAODRecoDecayHF2Prong *Dcand, AliDmesonJetInfo &DmesonJet, UInt_t i)
Int_t fNConstituents
Number of constituents of the jet.
Double32_t fEta
Eta of the jet.
EOutputType_t fOutputType
Output type: none, TTree or THnSparse.
AnalysisEngine * AddAnalysisEngine(ECandidateType_t type, EMCMode_t bkgMode, EJetType_t jettype, Double_t jetradius, TString cutfname="")
void SetShowJetConstituents(Bool_t b=kTRUE)
void SetJetPhiRange(Double_t min, Double_t max)
TArrayI fPDGdaughters
List of the PDG code of the daughters.
friend bool operator<=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
AliJetContainer::ERecoScheme_t ERecoScheme_t
TString fBranchName
AOD branch where the D meson candidate are found.
Float_t fMaxPt
Histogram pt limit.
Int_t fNOutputTrees
Maximum number of output trees.
virtual Bool_t FillHistograms()
void SetShowDeltaPhi(Bool_t b=kTRUE)
AliHFJetDefinition()
This is the default constructor, used for ROOT I/O purposes.
AliHFJetDefinition & operator=(const AliHFJetDefinition &source)
void SetShowInvMass(Bool_t b=kTRUE)
Double_t fMaxJetEta
Maximum jet eta.
friend bool operator>(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
virtual ~AliJetInfoSummary()
AliTLorentzVector fMomentum
4-momentum of the jet
void SetShowDeltaR(Bool_t b=kTRUE)
AliHFAODMCParticleContainer * fMCContainer
! MC particle container
TString fCandidateName
Candidate name.
AliJetInfoSummary ** fCurrentJetInfo
! Current jet info
AliFJWrapper * fFastJetWrapper
! Fastjet wrapper
void SetNMassBins(Int_t n)
AliHFJetDefinition * AddJetDefinition(EJetType_t type, Double_t r, EJetAlgo_t algo, ERecoScheme_t reco)
Container structure for EMCAL clusters.
Lightweight class that encapsulates D0.
AliHFTrackContainer * fTrackContainer
! Track container
void SetShowPositionJet(Bool_t b=kTRUE)
Bool_t IsAnyJetInAcceptance(const AliDmesonJetInfo &dMesonJet) const
Int_t PostDataFromAnalysisEngine(const AnalysisEngine &eng)
static EMesonOrigin_t CheckOrigin(const AliAODMCParticle *part, TClonesArray *mcArray)
AliFJWrapper * fFastJetWrapper
! Fastjet wrapper
THistManager fHistManager
Histogram manager.
void Reset()
Reset all fields to their default values.
TTree * BuildTree(const char *taskName)
virtual void Set(const AliDmesonJetInfo &source, std::string n)
Bool_t FillQA(Bool_t applyKinCuts)
void SetShowDeltaEta(Bool_t b=kTRUE)
Double_t fMinMass
Min mass in histogram axis.