AliAODEvent* aod = dynamic_cast<AliAODEvent*> (fInputEvent);
if (fMuons && aod){ // aod only
fMuons->Clear();
- for (Int_t iTrack = 0; iTrack < aod->GetNTracks(); iTrack++) {
- AliAODTrack* track = aod->GetTrack(iTrack);
+ for (Int_t iTrack = 0; iTrack < aod->GetNumberOfTracks(); iTrack++) {
+ AliAODTrack* track = dynamic_cast<AliAODTrack*>(aod->GetTrack(iTrack));
+ if(!track) {
+ AliWarning("Not a standard AOD");
+ continue;
+ }
if (!track->IsMuonTrack()) continue;
Float_t pt = track->Pt();
Float_t eta = track->Eta();
label = mcpart->GetMother();
while (!isPrimary && label>=0) {
mcpart = (AliVParticle*) fMCEvent->GetTrack(label);
+ if (!mcpart) continue;
label = mcpart->GetMother();
isPrimary = fMCEvent->IsPhysicalPrimary(label);
}