+
+ // check for charm daughters
+ static int iTaken = 0;
+ static int iAll = 0;
+ static int iCharm = 0;
+ for (Int_t ip = 0; ip < np; ip++){
+ AliMCParticle* mcpart = mcE->GetTrack(ip);
+ TParticle* part = mcpart->Particle();
+
+ // if((TMath::Abs(part->GetPdgCode())/400)==1){
+ if((TMath::Abs(part->GetPdgCode()))==411){
+ // cases
+ iCharm++;
+ Printf("Decay Mother %s",part->GetPDG()->GetName());
+ Int_t d0 = part->GetFirstDaughter();
+ Int_t d1 = part->GetLastDaughter();
+ if(d0>0&&d1>0){
+ for(int id = d0;id <= d1;id++){
+ TParticle* daughter = mcE->Stack()->Particle(id);
+ Printf("Decay Daughter %s",daughter->GetPDG()->GetName());
+ iAll++;
+ if(mcH->IsParticleSelected(id))iTaken++;
+ }
+ }
+ }
+ }
+ Printf("Taken daughters %d/%d of %d charm",iTaken,iAll,iCharm);
+
+