13 #ifndef ALIANALYSISTASKDMESONJETSSUB_H 14 #define ALIANALYSISTASKDMESONJETSSUB_H 34 class AliAODRecoDecay;
38 class AliAODMCParticle;
47 class AliEMCALGeometry;
70 AliEventNotFound(
const std::string& class_name,
const std::string& method_name);
71 #if !(defined(__CINT__) || defined(__MAKECINT__)) 72 const char*
what()
const noexcept;
168 AliJetInfo() : fMomentum(), fNConstituents(0), fNEF(0), fMaxChargedPt(0), fMaxNeutralPt(0), fArea(0), fCorrPt(0) {}
170 fMomentum(px, py, pz, E), fNConstituents(nconst), fNEF(nef), fMaxChargedPt(cpt), fMaxNeutralPt(npt), fArea(0), fCorrPt(0) {}
212 std::map<std::string, AliJetInfo>
225 const AliJetInfo* GetJet(std::string n)
const;
229 Double_t GetCorrZ(std::string n)
const;
231 Double_t GetDistance(std::string n)
const;
252 virtual void Reset();
285 virtual void Reset();
314 virtual void Reset();
340 virtual void Reset();
366 virtual void Reset();
392 virtual void Reset();
430 virtual void Reset();
456 const char* GetName()
const;
558 virtual void BuildOutputObject(
const char* taskName);
588 virtual void BuildOutputObject(
const char* taskName);
652 template<
class EVENTTYPE,
class DMESONTYPE,
class JETTYPE>
661 virtual void BuildOutputObject(
const char* taskName);
687 static AliAODMCParticle* FindParticleOrigin(
const AliAODMCParticle* part, TClonesArray* mcArray,
EFindParticleOriginMode_t mode,
const std::set<UInt_t>& pdgSet);
689 static std::pair<AliAnalysisTaskDmesonJetsSub::EMesonOrigin_t, AliAODMCParticle*> IsPromptCharm(
const AliAODMCParticle* part, TClonesArray* mcArray);
690 static EMesonDecayChannel_t CheckDecayChannel(
const AliAODMCParticle* part, TClonesArray* mcArray);
712 const char* GetName()
const;
722 std::vector<AliAnalysisTaskDmesonJetsSub::AliHFJetDefinition>::iterator FindJetDefinition(
const AliHFJetDefinition& eng);
723 std::vector<AliAnalysisTaskDmesonJetsSub::AliHFJetDefinition>&
GetJetDefinitions() {
return fJetDefinitions; }
731 #if !(defined(__CINT__) || defined(__MAKECINT__)) 732 std::map<int, AliDmesonJetInfo>&
GetDmesons() {
return fDmesonJets; }
735 void Init(
const AliEMCALGeometry*
const geom,
Int_t runNumber);
792 void AddInputVectors(AliEmcalContainer* cont,
Int_t offset,
TH2* rejectHist=0,
Double_t eff=0.);
793 void SetCandidateProperties(
Double_t range);
794 AliAODMCParticle* MatchToMC()
const;
795 void RunDetectorLevelAnalysis();
796 void RunParticleLevelAnalysis();
855 std::list<AnalysisEngine>
Double_t fSoftPionPt
! Transverse momentum of the soft pion of the D* candidate
TString fBranchName
AOD branch where the D meson candidate are found.
Class that encapsulates event properties in a very compact structure (useful for pp simulation analys...
Int_t fDataSlotNumber
! Data slot where the tree output is posted
Double32_t fDeltaInvMass
< Difference between the Kpipi and the Kpi invariant masses in GeV/c2
ECandidateType_t fCandidateType
Candidate type.
void Print(std::ostream &o, const char *name, Double_t dT, Double_t dVM, Double_t alldT, Double_t alldVM)
Class that encapsulates jets.
TTree * fTree
! Output tree
AliD0ExtendedInfoSummary()
Bool_t fInhibit
!inhibit execution of the task
Double32_t fCorrZ
Z of the D meson after subtracting average background.
Lightweight class that encapsulates D0.
EventInfo * fEventInfo
! Object conatining the event information (centrality, pt hard, weight, etc.)
Double_t fPtHard
!event pt hard
virtual TObject * GetOutputObject() const
UInt_t fEnabledAxis
Use bit defined in EAxis_t to enable axis in the THnSparse.
virtual ~AliAnalysisTaskDmesonJetsSub()
This is the standard destructor.
Double32_t fCosPointing
Cosine of the pointing angle.
void SetJetPtRange(Double_t min, Double_t max)
std::map< int, AliDmesonJetInfo > * fDmesonJets
! Array containing the D meson jets
Double_t GetRadius() const
void SetTrackEfficiency(Double_t t)
Double_t fTrackEfficiency
! Artificial tracking inefficiency (0...1) -> set automatically at ExecOnce by AliAnalysisTaskDmesonJ...
void SetMassRange(Double_t min, Double_t max)
Float_t fMaxPt
! Histogram pt limit
void SetShowInvMass(Bool_t b=kTRUE)
std::map< int, AliDmesonJetInfo > fDmesonJets
! Array containing the D meson jets
void SetTrackEfficiency(Double_t t)
void SetJetEtaRange(Double_t min, Double_t max)
Double32_t fPtPi
Transverse momentum of the pion.
AliTLorentzVector fD
! 4-momentum of the D meson candidate
Float_t fPtBinWidth
Histogram pt bin width.
AliFJWrapper * fFastJetWrapper
! Fastjet wrapper
Double32_t fEta
Eta of the jet.
std::list< AnalysisEngine > fAnalysisEngines
Array of analysis parameters.
Double_t fMinMass
! Min mass in histogram axis
Double32_t fZ
Z of the D meson.
void SetShowPositionJet(Bool_t b=kTRUE)
Double_t fNEF
Neutral Energy Fraction of the jet.
Double32_t fEta
Eta of the D meson.
Double_t fJetGhostArea
Area of the ghost particles.
void SetNMassBins(Int_t n)
TArrayI fPDGdaughters
List of the PDG code of the daughters.
TString fName
! Name of this object
EventInfo fEventInfo
! Event info (centrality, weight, pt hard etc.)
AliAODMCParticle * fParton
! pointer to the parton in the shower tree of the D meson (only for particle level D mesons) ...
Declaration of class AliTLorentzVector.
Double32_t f2ProngInvMass
EventInfo(double cent, double ep, double w, double pt)
Lightweight class that encapsulates D*.
Int_t fNMassBins
! Mass number of bins
friend bool operator!=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
virtual void UserCreateOutputObjects()
Creates the output containers.
Lightweight class that encapsulates D meson jets.
Int_t GetNConstituents() const
ECandidateType_t GetCandidateType() const
UInt_t fCandidatePDG
Candidate PDG.
std::string fAccessMethodName
Access method name used to retrieve the event.
Double_t fTrackEfficiency
Artificial tracking inefficiency (0...1)
Float_t fPtBinWidth
! Histogram pt bin width
EMCMode_t GetMCMode() const
Int_t fDataSlotNumber
! Data slot where the tree output is posted
Double_t fRadius
Jet radius.
Double_t fMinNeutralPt
Minimum pt of the leading neutral particle (or cluster)
ECandidateType_t fCandidateType
! Candidate type
AliAnalysisTaskDmesonJetsSub()
This is the default constructor, used for ROOT I/O purposes.
Int_t fNOutputTrees
Maximum number of output trees.
virtual Int_t GetDataSlotNumber() const
void AssignDataSlot(Int_t n)
AliAODEvent * fAodEvent
! AOD event
static AliAnalysisTaskDmesonJetsSub * AddTaskDmesonJetsSub(TString ntracks="usedefault", TString nclusters="usedefault", TString nMCpart="", Int_t nMaxTrees=2, TString suffix="")
Bool_t fRejectISR
Reject initial state radiation.
virtual Bool_t FillHistograms()
OutputHandler * GetOutputHandler() const
const AliVEvent * fEvent
! pointer to the ESD/AOD event
EVENTTYPE fCurrentEventInfo
! Current event info
Double_t fInvMass2Prong
! 2-prong mass of the D* candidate (w/o the soft pion)
TRandom * fRandomGen
! Random number generator
Bool_t fD0D0bar
! kTRUE if selected both as D0 and D0bar
static void CalculateMassLimits(Double_t range, Int_t pdg, Int_t nbins, Double_t &minMass, Double_t &maxMass)
Double32_t fSelectionType
Selection type: D0, D0bar, both.
Double_t fMaxJetEta
Maximum jet eta.
std::map< int, AliDmesonJetInfo > & GetDmesons()
Container for particles within the EMCAL framework.
Double32_t fPhi
Phi of the jet.
Double_t fMaxJetPhi
Maximum jet phi.
AliJetContainer::ERecoScheme_t ERecoScheme_t
AliEventNotFound(const std::string &class_name, const std::string &method_name)
AliRDHFCuts * fRDHFCuts
D meson candidates cuts.
virtual ~AliJetInfoPbPbSummary()
TString GetRhoName() const
ERecoScheme_t fRecoScheme
Jet recombination scheme (pt scheme, E scheme, ...)
Select tracks based on specific prescriptions of HF analysis.
void SetShowPositionD(Bool_t b=kTRUE)
void SetShowDeltaEta(Bool_t b=kTRUE)
Output handler for D meson jet analysis.
Lightweight class that encapsulates D meson jets.
friend bool operator>=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
std::pair< AliJetInfo *, Double_t > jet_distance_pair
UInt_t fAcceptedDecay
Bit mask with D meson decays that are accepted (only used for particle-level analysis) ...
AliHFAODMCParticleContainer * fMCContainer
! MC particle container
Double32_t fDCA
Distance of closest approach.
void SetShowDeltaPhi(Bool_t b=kTRUE)
Double32_t fWeight
Centrality of the collision.
Double32_t fMaxNormd0
max norm d0
std::vector< AliTrackContainer * > fTrackContainers
! Track containers
AliDmesonInfoSummary * fCurrentDmesonJetInfo
! Current D meson jet info
THistManager * fHistManager
! Histograms
Byte_t GetSelectionTypeSummary() const
void SetAcceptedDecayMap(UInt_t m)
AliAODMCParticle * fAncestor
! pointer to the ancestor particle in the shower tree of the D meson (only for particle level D meson...
Lightweight class that encapsulates D0.
virtual TObject * GetOutputObject() const
UInt_t fRejectedOrigin
Bit mask with D meson origins that are rejected (used for MC analysis, i.e. signal-only, background-only and particle-level)
UChar_t fNDaughters
Number of daughters.
virtual Int_t GetDataSlotNumber() const
std::vector< DMESONTYPE > fCurrentDmesonInfo
! Current D meson jet info
Int_t fMCLabel
! MC label, i.e. index of the generator level D meson (only for detector level D meson candidates) ...
Double32_t fPt
Transverse momentum of the jet in GeV/c.
std::string fWhat
Error message.
AnalysisEngine * AddAnalysisEngine(ECandidateType_t type, TString cutfname, TString cuttype, EMCMode_t bkgMode, EJetType_t jettype, Double_t jetradius, TString rhoName="")
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
virtual ~AliDStarInfoSummary()
UInt_t fEnabledAxis
! Use bit defined in EAxis_t to enable axis in the THnSparse
Bool_t fApplyKinematicCuts
Apply jet kinematic cuts.
Bool_t fRejectISR
! Reject initial state radiation
AliRDHFCuts * LoadDMesonCutsFromFile(TString cutfname, TString cutsname)
virtual ~AliEventInfoSummary()
TClonesArray * fCandidateArray
! D meson candidate array
TString fCandidateName
Candidate name.
TString fName
! Name of this object
THistManager * fHistManager
! Histograms
Bool_t fD0Extended
Store extended information in the tree (only for D0 mesons)
std::vector< AliClusterContainer * > fClusterContainers
! Cluster containers
virtual ~OutputHandlerTTreeExtendedBase()
EJetType_t fJetType
Jet type (charged, full, neutral)
AliTLorentzVector fMomentum
4-momentum of the jet
Bool_t fD0Extended
! Store extended information in the tree (only for D0 mesons)
bool operator<(const AliAnalysisTaskDmesonJets::AliHFJetDefinition &lhs, const AliAnalysisTaskDmesonJets::AliHFJetDefinition &rhs)
void SetRecombinationScheme(ERecoScheme_t reco)
AliJetContainer::EJetAlgo_t EJetAlgo_t
TString fRhoName
Name of the object that holds the average background value.
Double_t fMaxMass
Max mass in histogram axis.
virtual ~OutputHandlerTTree()
AliFJWrapper * fFastJetWrapper
! Fastjet wrapper
void FillPartonLevelHistograms()
Fill histograms with parton-level information.
Double32_t fCosThetaStar
Cosine of theta star.
Double_t fMinJetPt
Minimum jet pT.
Double32_t fPtK
Transverse momentum of the kaon.
std::string fClassName
Class name where the event was not found.
Bool_t IsD0Extended() const
virtual ~AliDmesonInfoSummary()
Double32_t fd0d0
D0K * D0Pi.
void SetShowDeltaR(Bool_t b=kTRUE)
void SetShowJetConstituents(Bool_t b=kTRUE)
Double_t fMaxChargedPt
Transverse momentum of the leading charged particle (or track)
void SetRejectISR(Bool_t b)
std::vector< AliHFJetDefinition > fJetDefinitions
Jet definitions.
AliJetInfoSummary ** fCurrentJetInfo
! Current jet info
virtual ~AliD0InfoSummary()
std::map< std::string, std::vector< JETTYPE > > fCurrentJetInfo
! Current jet info
Double_t fMinJetPhi
Minimum jet phi.
Double32_t fR
Distance between D meson and jet axis.
TTree * fTree
! Output tree
friend bool operator<=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
Select MC particles based on specific prescriptions of HF analysis.
Double_t fMinJetEta
Minimum jet eta.
friend bool operator!=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
virtual void BuildOutputObject(const char *taskName)
void SetApplyKinematicCuts(Bool_t b)
virtual void SetOutputTypeInternal(EOutputType_t b)
static const char * GetHFEventRejectionReasonLabel(UInt_t &bitmap)
virtual ~AliDmesonMCInfoSummary()
Double_t fMaxChargedPt
Maximum pt of the leading charged particle (or track)
void SetJetArea(Int_t type, Double_t garea=0.005)
friend bool operator<=(const AliHFJetDefinition &lhs, const AliHFJetDefinition &rhs)
Double_t Phi_0_2pi() const
Output handler for D meson jet analysis.
std::map< std::string, AliJetInfo > fJets
! list of jets
std::vector< AliJetInfo > fJets
! Inclusive jets reconstructed in the current event (includes D meson candidate daughters, if any)
AliVParticle * fDmesonParticle
! pointer to the particle object
AliAODEvent * fAodEvent
! AOD event
Double_t fMaxMass
! Max mass in histogram axis
friend bool operator>=(const AnalysisEngine &lhs, const AnalysisEngine &rhs)
Double_t fCorrPt
Transverse momentum of the jet after subtracting the average background.
Output handler for D meson jet analysis.
void SetCandidateType(ECandidateType_t t)
virtual ~AliJetInfoSummary()
virtual TObject * GetOutputObject() const
Bool_t fInhibit
Inhibit the task.
void SetOutputType(EOutputType_t b)
Lightweight class that encapsulates D meson jets for PbPb analysis.
virtual Int_t GetDataSlotNumber() const
Float_t fMaxPt
Histogram pt limit.
Double_t fMinChargedPt
Minimum pt of the leading charged particle (or track)
Short_t fPartonType
! type of the parton in the shower tree (only for particle level D mesons)
Double32_t fPartonType
Parton type.
void SetShowSoftPionPt(Bool_t b=kTRUE)
void SetNeutralPtRange(Double_t min, Double_t max)
Double32_t fArea
Area of the jet.
AliHFAODMCParticleContainer * fMCContainer
! MC particle container
Double32_t fCorrPt
Transverse momentum of the jet in GeV/c after subtracting average background.
Container class for histograms.
virtual ~OutputHandlerTTreeExtended()
const char * what() const noexcept
virtual ~AliD0ExtendedInfoSummary()
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)
void SetEnabledAxis(UInt_t axis)
Int_t PostDataFromAnalysisEngine(OutputHandler const *handler)
bool operator==(const AliAnalysisTaskDmesonJets::AliHFJetDefinition &lhs, const AliAnalysisTaskDmesonJets::AliHFJetDefinition &rhs)
void SetJetPhiRange(Double_t min, Double_t max)
virtual ~AliDmesonJetInfo()
Struct that encapsulates analysis parameters.
AliAnalysisTaskDmesonJetsSub & operator=(const AliAnalysisTaskDmesonJetsSub &source)
Bool_t fReconstructed
! Whether this D meson was reconstructed (only for particle level D mesons)
EOutputType_t fOutputType
Output type: none, TTree or THnSparse.
Byte_t fSelectionType
! for D0: 0=not selected, 1=D0, 2=D0bar
Double32_t fN
Number of jet constituents.
Double_t fMaxNeutralPt
Maximum pt of the leading neutral particle (or cluster)
std::vector< AliAnalysisTaskDmesonJetsSub::AliHFJetDefinition > & GetJetDefinitions()
Output handler for D meson jet analysis.
Double32_t fInvMass
Invariant mass of the D0 meson candidate in GeV/c2.
void SetRhoName(TString n)
EFindParticleOriginMode_t
UInt_t GetEnabledAxis() const
std::vector< AliHFJetDefinition > * fJetDefinitions
! Jet definitions
void SetRejectISR(Bool_t b)
Int_t fNConstituents
Number of constituents of the jet.
void SetRejectedOriginMap(UInt_t m)
Int_t fJetAreaType
Jet area type.
void SetD0Extended(Bool_t b)
EMCMode_t fMCMode
! MC mode: No MC (data and MC detector level), background-only (MC), signal-only (MC), MC truth (particle level)
Container structure for EMCAL clusters.
void SetChargedPtRange(Double_t min, Double_t max)
EJetAlgo_t fJetAlgo
Jet algorithm (kt, anti-kt,...)
Lightweight class that encapsulates D meson jets.
AliRhoParameter * fRho
Object that holds the average background value.
Output handler for D meson jet analysis.
EMCMode_t fMCMode
MC mode: No MC (data and MC detector level), background-only (MC), signal-only (MC), MC truth (particle level)
void SetShow2ProngInvMass(Bool_t b=kTRUE)
std::list< AliAnalysisTaskDmesonJetsSub::AnalysisEngine >::iterator FindAnalysisEngine(const AnalysisEngine &eng)
Double32_t fPhi
Phi of the D meson.
Double_t fMaxNeutralPt
Transverse momentum of the leading neutral particle (or cluster)
Double_t fMinMass
Min mass in histogram axis.
Double32_t fPt
Transverse momentum of the D meson in GeV/c.
Double32_t fPartonPt
Transverse momentum of the parton.
Double_t fCent
!event centrality
Double_t fMaxJetPt
Maximum jet pT.
THistManager fHistManager
Histogram manager.
virtual ~OutputHandlerTHnSparse()
void AssignDataSlot(Int_t n)
const char * GetCandidateName() const
void SetMCMode(EMCMode_t m)
Int_t fNMassBins
Mass number of bins.
AliJetContainer::EJetType_t EJetType_t
OutputHandler * fOutputHandler
! Output handler