16 #include <TClonesArray.h>
17 #include <AliAODMCParticle.h>
83 rejectionReason |= kHFCut;
113 rejectionReason = kHFCut;
137 const AliAODMCParticle* pm = part;
140 imo = pm->GetMother();
142 pm =
static_cast<const AliAODMCParticle*
>(fClArray->At(imo));
144 AliDebug(2, Form(
"Rejecting particle (PDG = %d, pT = %.3f, eta = %.3f, phi = %.3f) daughter of %d (PDG = %d, pT = %.3f, eta = %.3f, phi = %.3f)",
145 part->PdgCode(), part->Pt(), part->Eta(), part->Phi(), imo, pm->PdgCode(), pm->Pt(), pm->Eta(), pm->Phi()));
160 Int_t partPdgCode = TMath::Abs(part->PdgCode());
164 if (!part->IsPrimary())
return kFALSE;
171 while (rs >>= 1) { p++; }
181 AliDebug(2, Form(
"Including particle %d (PDG = %d, pT = %.3f, eta = %.3f, phi = %.3f)",
182 part->Label(), partPdgCode, part->Pt(), part->Eta(), part->Phi()));
AliHFAODMCParticleContainer()
This is the default constructor, used for ROOT I/O purposes.
void SetRejectDfromB(Bool_t c)
Analysis task for D meson jets.
virtual AliAODMCParticle * GetMCParticle(Int_t i=-1) const
virtual Bool_t GetMomentum(TLorentzVector &mom, Int_t i) const
virtual Bool_t AcceptMCParticle(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
Bool_t IsSpecialPDGDaughter(const AliAODMCParticle *part) const
virtual Bool_t AcceptMCParticle(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
void SetRejectQuarkNotFound(Bool_t c)
UInt_t fAcceptedDecay
Bit mask with D meson decays that are accepted.
Int_t fSpecialPDG
include particles with this PDG code even if they are not primary particles (and exclude their daught...
void SetKeepOnlyDfromB(Bool_t c)
void SelectCharmtoDStartoKpipi()
Automatically sets parameters to select only the decay chain c->D*->Kpipi.
UInt_t fRejectedOrigin
Bit mask with D meson origins that are rejected.
static std::pair< AliAnalysisTaskDmesonJets::EMesonOrigin_t, AliAODMCParticle * > CheckOrigin(const AliAODMCParticle *part, TClonesArray *mcArray, Bool_t firstParton=kFALSE)
Select MC particles based on specific prescriptions of HF analysis.
static EMesonDecayChannel_t CheckDecayChannel(const AliAODMCParticle *part, TClonesArray *mcArray)
Bool_t IsSpecialPDGFound() const
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
virtual Bool_t GetMomentumFromParticle(TLorentzVector &mom, const AliVParticle *part, Double_t mass) const
Bool_t IsSpecialPDG(const AliAODMCParticle *part, TH1 *histOrigin=0) const
virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector &mom, UInt_t &rejectionReason) const
void SelectCharmtoD0toKpi()
Automatically sets parameters to select only the decay chain c->D0->Kpi.
void SetSpecialPDG(Int_t pdg)
Container for MC-true particles within the EMCAL framework.
const AliMCParticleIterableContainer accepted() const
void SetKeepOnlyDStartoKpipi()
void SetKeepOnlyD0toKpi()
TH1 * fHistOrigin
! Book-keeping histogram with origin of special PDG particles