]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliCFHeavyFlavourTaskMultiVarMultiStep.cxx
fix to the proper NSD
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliCFHeavyFlavourTaskMultiVarMultiStep.cxx
index 6578d54451427ec96222bf30cd40a20b729aa107..83a641eda54dc7c4969e2d47cdfe0e1f68f912e8 100644 (file)
@@ -13,6 +13,8 @@
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+/* $Id$ */
+
 //-----------------------------------------------------------------------
 // Class for HF corrections as a function of many variables
 // 6 Steps introduced: MC, MC Acc, Reco, Reco Acc, Reco Acc + ITS Cl, 
@@ -316,12 +318,12 @@ void AliCFHeavyFlavourTaskMultiVarMultiStep::UserExec(Option_t *)
 
        for (Int_t iPart=0; iPart<mcArray->GetEntriesFast(); iPart++) { 
                AliAODMCParticle* mcPart = dynamic_cast<AliAODMCParticle*>(mcArray->At(iPart));
-               if (mcPart->GetPdgCode() == 4) cquarks++; 
-               if (mcPart->GetPdgCode() == -4) cquarks++; 
                if (!mcPart) {
                        AliWarning("Particle not found in tree, skipping"); 
                        continue;
                } 
+               if (mcPart->GetPdgCode() == 4) cquarks++; 
+               if (mcPart->GetPdgCode() == -4) cquarks++; 
                
                // check the MC-level cuts
 
@@ -1490,6 +1492,7 @@ Int_t AliCFHeavyFlavourTaskMultiVarMultiStep::CheckOrigin(AliAODMCParticle* mcPa
                istep++;
                AliDebug(2,Form("mother at step %d = %d", istep, mother));
                AliAODMCParticle* mcGranma = dynamic_cast<AliAODMCParticle*>(mcArray->At(mother));
+               if(!mcGranma) break;
                pdgGranma = mcGranma->GetPdgCode();
                AliDebug(2,Form("Pdg mother at step %d = %d", istep, pdgGranma));
                Int_t abspdgGranma = TMath::Abs(pdgGranma);