Possibility to keep only D mesons that have a c or b quark as a grandmother (Francesc...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEcutStep.cxx
index e5a5f04..9eeb68a 100644 (file)
@@ -12,6 +12,9 @@
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
+
+/* $Id$ */
+
 //
 // Cut step class
 // Select all tracks surviving cuts in one special cut step
@@ -91,8 +94,10 @@ Bool_t AliHFEcutStep::IsSelected(TObject *o){
   AliDebug(1, Form("Cut Step %s: Number of cut objects: %d", GetName(), fCuts->GetEntriesFast()));
   if(!fCuts->GetEntriesFast()) return kTRUE;
   Bool_t isSelected = kTRUE;
+  AliAnalysisCuts *cuts = NULL;
   for(Int_t iCut = 0; iCut < fCuts->GetEntriesFast(); iCut++){
-    if(!(dynamic_cast<AliAnalysisCuts *>(fCuts->UncheckedAt(iCut)))->IsSelected(o)) isSelected = kFALSE;
+    cuts = dynamic_cast<AliAnalysisCuts *>(fCuts->UncheckedAt(iCut));
+    if(cuts && (!cuts->IsSelected(o))) isSelected = kFALSE;
   }
   AliDebug(1, Form("Accepted: %s", isSelected ? "yes" : "no"));
   return isSelected;
@@ -119,9 +124,9 @@ void AliHFEcutStep::SetMC(AliMCEvent *mc){
   //
   // Set MC information to the cuts in the cut step
   //
+  AliCFCutBase *cfc = NULL;
   for(Int_t icut = 0; icut < fCuts->GetEntriesFast(); icut++){
-    if(fCuts->UncheckedAt(icut)->InheritsFrom("AliCFCutBase"))
-      (dynamic_cast<AliCFCutBase *>(fCuts->UncheckedAt(icut)))->SetMCEventInfo(mc);
+    if((cfc = dynamic_cast<AliCFCutBase *>(fCuts->UncheckedAt(icut)))) cfc->SetMCEventInfo(mc);
   }
 }
 
@@ -130,9 +135,9 @@ void AliHFEcutStep::SetRecEvent(AliVEvent *rec){
   //
   // Publish rec event to the cut step
   //
+  AliCFCutBase *cfc = NULL;
   for(Int_t icut = 0; icut < fCuts->GetEntriesFast(); icut++){
-    if(fCuts->UncheckedAt(icut)->InheritsFrom("AliCFCutBase"))
-      (dynamic_cast<AliCFCutBase *>(fCuts->UncheckedAt(icut)))->SetRecEventInfo(rec);
+    if((cfc = dynamic_cast<AliCFCutBase *>(fCuts->UncheckedAt(icut)))) cfc->SetRecEventInfo(rec);
   }
 }