if (TMath::Abs(mcPartDaughter1->GetPdgCode())==311) {
Int_t daughter = mcPartDaughter1->GetDaughter(0);
AliAODMCParticle* mcPartDaughter = dynamic_cast<AliAODMCParticle*>(fmcArray->At(daughter));
+ if(!mcPartDaughter){
+ AliError("Daughter particle not found in MC array");
+ return checkCD;
+ }
if (!(TMath::Abs(mcPartDaughter->GetPdgCode())==310)) {
AliDebug(2, "The K0 (or K0bar) MC doesn't go in K0S, skipping!!");
return checkCD;
if (mcPartDaughter->GetNDaughters()!=2) return checkCD;
Int_t daughterD0 = mcPartDaughter->GetDaughter(0);
AliAODMCParticle* mcPartDaughterD0 = dynamic_cast<AliAODMCParticle*>(fmcArray->At(daughterD0));
+ if(!mcPartDaughterD0){
+ AliError("Daughter particle not found in MC array");
+ return checkCD;
+ }
Int_t daughterD1 = mcPartDaughter->GetDaughter(1);
AliAODMCParticle* mcPartDaughterD1 = dynamic_cast<AliAODMCParticle*>(fmcArray->At(daughterD1));
+ if(!mcPartDaughterD1){
+ AliError("Daughter particle not found in MC array");
+ return checkCD;
+ }
if (! ( TMath::Abs(mcPartDaughterD0->GetPdgCode())==211 &&
TMath::Abs(mcPartDaughterD1->GetPdgCode())==211 ) ) {
AliDebug(2, "The K0S MC doesn't decay in pi+pi, skipping!!");