AliAODMCParticle *dMC = (AliAODMCParticle*)mcArray->At(lab);
pdg = dMC->GetPdgCode();
invmass = (pdg==421 ? d2->InvMassD0() : d2->InvMassD0bar());
- fHistMass->Fill(invmass);
- // Post the data already here
- PostData(1,fOutput);
// get a daughter for true pos of decay vertex
AliAODMCParticle *dg0MC = (AliAODMCParticle*)mcArray->At(dMC->GetDaughter(0));
+ AliAODMCParticle *dg1MC = (AliAODMCParticle*)mcArray->At(dMC->GetDaughter(1));
dg0MC->XvYvZv(posTrue);
+ // check that the D0 decayed in two prong (this is not necessary, because the check is already done, implicitely, in MatchToMC)
+ if(TMath::Abs(dMC->GetDaughter(0)-dMC->GetDaughter(1))!=1) continue;
+ // check that the D0 decayed in K-pi+
+ if(!(TMath::Abs(dg0MC->GetPdgCode())==321 && TMath::Abs(dg1MC->GetPdgCode())==211) &&
+ !(TMath::Abs(dg0MC->GetPdgCode())==211 && TMath::Abs(dg1MC->GetPdgCode())==321)) continue;
+ fHistMass->Fill(invmass);
+ // Post the data already here
+ PostData(1,fOutput);
Float_t tmp[16]={(Float_t)pdg,(Float_t)nprongs,
(Float_t)posRec[0],(Float_t)posTrue[0],(Float_t)errx,
(Float_t)posRec[1],(Float_t)posTrue[1],(Float_t)erry,
// get a daughter for true pos of decay vertex
AliAODMCParticle *dg0MC = (AliAODMCParticle*)mcArray->At(dMC->GetDaughter(0));
dg0MC->XvYvZv(posTrue);
+ // check that the D+ decayed in K-pi+pi+
+ AliAODTrack *dg0 = (AliAODTrack*)d3->GetDaughter(0);
+ AliAODTrack *dg1 = (AliAODTrack*)d3->GetDaughter(1);
+ AliAODTrack *dg2 = (AliAODTrack*)d3->GetDaughter(2);
+ dg0MC = (AliAODMCParticle*)mcArray->At(TMath::Abs(dg0->GetLabel()));
+ AliAODMCParticle *dg1MC = (AliAODMCParticle*)mcArray->At(TMath::Abs(dg1->GetLabel()));
+ AliAODMCParticle *dg2MC = (AliAODMCParticle*)mcArray->At(TMath::Abs(dg2->GetLabel()));
+
+ if(!(TMath::Abs(dg0MC->GetPdgCode())==321 && TMath::Abs(dg1MC->GetPdgCode())==211 && TMath::Abs(dg2MC->GetPdgCode())==211) &&
+ !(TMath::Abs(dg0MC->GetPdgCode())==211 && TMath::Abs(dg1MC->GetPdgCode())==321 && TMath::Abs(dg2MC->GetPdgCode())==211) &&
+ !(TMath::Abs(dg0MC->GetPdgCode())==211 && TMath::Abs(dg1MC->GetPdgCode())==211 && TMath::Abs(dg2MC->GetPdgCode())==321)) continue;
Float_t tmp[16]={(Float_t)pdg,(Float_t)nprongs,
(Float_t)posRec[0],(Float_t)posTrue[0],(Float_t)errx,
(Float_t)posRec[1],(Float_t)posTrue[1],(Float_t)erry,
Int_t pdgGranma = CheckOrigin(mcPart, mcArray);
Int_t abspdgGranma = TMath::Abs(pdgGranma);
if ((abspdgGranma > 500 && abspdgGranma < 600) || (abspdgGranma > 5000 && abspdgGranma < 6000)) {
- AliInfo(Form("Particle has a b-meson, or b-baryon mother (pdg code mother = %d )--> not coming from a c-quark, skipping...", pdgGranma));
+ AliDebug(2,Form("Particle has a b-meson, or b-baryon mother (pdg code mother = %d )--> not coming from a c-quark, skipping...", pdgGranma));
continue; // skipping particles that don't come from c quark
}
continue;
}
}
- if (cquarks<2) AliInfo(Form("Event found with %d c-quarks", cquarks));
+ if (cquarks<2) AliDebug(2,Form("Event found with %d c-quarks", cquarks));
AliDebug(2, Form("Found %i MC particles that are D0!!",icountMC));
AliDebug(2, Form("Found %i MC particles that are D0 and satisfy Acc cuts!!",icountAcc));
AliWarning("Could not find associated MC in AOD MC tree");
continue;
}
-
+ // check whether the daughters are K- and pi+
+ AliAODMCParticle* dg0MC=(AliAODMCParticle*)mcArray->At(mcVtxHF->GetDaughter(0));
+ AliAODMCParticle* dg1MC=(AliAODMCParticle*)mcArray->At(mcVtxHF->GetDaughter(1));
+ if(!(TMath::Abs(dg0MC->GetPdgCode())==321 && TMath::Abs(dg1MC->GetPdgCode())==211) &&
+ !(TMath::Abs(dg0MC->GetPdgCode())==211 && TMath::Abs(dg1MC->GetPdgCode())==321)) continue;
+
// check whether the daughters have kTPCrefit set
AliAODTrack *track0 = (AliAODTrack*)d0tokpi->GetDaughter(0);
AliAODTrack *track1 = (AliAODTrack*)d0tokpi->GetDaughter(1);
Int_t pdgGranma = CheckOrigin(mcVtxHF, mcArray);
Int_t abspdgGranma = TMath::Abs(pdgGranma);
if ((abspdgGranma > 500 && abspdgGranma < 600) || (abspdgGranma > 5000 && abspdgGranma < 6000)) {
- AliInfo(Form("At Reco level, from MC info: Particle has a b-meson, or b-baryon mother (pdg code mother = %d )--> not coming from a c-quark, skipping...", pdgGranma));
+ AliDebug(2,Form("At Reco level, from MC info: Particle has a b-meson, or b-baryon mother (pdg code mother = %d )--> not coming from a c-quark, skipping...", pdgGranma));
continue; // skipping particles that don't come from c quark
}