coverity defects
authorrvernet <rvernet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Feb 2011 11:10:05 +0000 (11:10 +0000)
committerrvernet <rvernet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Feb 2011 11:10:05 +0000 (11:10 +0000)
CORRFW/AliCFParticleGenCuts.cxx
CORRFW/AliCFTrackIsPrimaryCuts.cxx
CORRFW/AliCFTrackKineCuts.cxx
CORRFW/AliCFTrackQualityCuts.cxx

index 3e3a5cc..4d9bc03 100644 (file)
@@ -534,6 +534,10 @@ void AliCFParticleGenCuts::SelectionBitMap(AliAODMCParticle* mcPart)
       // first try
       for (Int_t iDaughter = 0 ; iDaughter<nDaughters; iDaughter++) {
        AliAODMCParticle* daug = dynamic_cast<AliAODMCParticle*>(mcArray->At(mcPart->GetDaughter(0)+iDaughter));
+       if (!daug) {
+         AliError("daughter: casting failed");
+         continue;
+       }
        if (daug->GetPdgCode() != fDecayChannel->DaughterPdgCode(iDaughter)) {goodDecay = kFALSE; break;}
       }
       if (!goodDecay) {
index 156e8eb..4664d55 100644 (file)
@@ -404,6 +404,10 @@ void AliCFTrackIsPrimaryCuts::GetDCA(AliESDtrack* esdTrack)
        if (!fEvt) return;
        AliESDEvent * evt = 0x0 ; 
        evt = dynamic_cast<AliESDEvent*>(fEvt);
+       if (!evt) {
+         AliError("event not found");
+         return;
+       }
        const AliESDVertex *vtx = evt->GetVertex();
        const Double_t Bz = evt->GetMagneticField();
        AliExternalTrackParam *cParam = 0;
@@ -460,9 +464,10 @@ void AliCFTrackIsPrimaryCuts::GetDCA(AliAODTrack* aodTrack)
     return;
   }
 
-  if (!fEvt) return;
   AliAODEvent * evt = 0x0;
   evt = dynamic_cast<AliAODEvent*>(fEvt);
+  if (!evt) return;
+
   // primary vertex is the "best": tracks, SPD or TPC vertex
   AliAODVertex * primaryVertex = evt->GetVertex(0);
   // dca = track postion - primary vertex position
@@ -521,7 +526,7 @@ void AliCFTrackIsPrimaryCuts::SelectionBitMap(TObject* obj)
     AliError("object must derived from AliVParticle !");
     return;
   }
-
+  
   Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
   Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
 
@@ -821,8 +826,6 @@ void AliCFTrackIsPrimaryCuts::FillHistograms(TObject* obj, Bool_t f)
   // fill the QA histograms
   //
 
-  if (!obj) return;
-
   Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
   Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
 
index 2547743..929f454 100644 (file)
@@ -603,10 +603,10 @@ void AliCFTrackKineCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t xmi
 
 
   // book QA histograms
-  Char_t str[256];
+  Char_t str[5];
   for (Int_t i=0; i<kNStepQA; i++) {
-    if (i==0) sprintf(str," ");
-    else sprintf(str,"_cut");
+    if (i==0) snprintf(str,5," ");
+    else snprintf(str,5,"_cut");
   
     fhQA[kCutP][i]     = new  TH1F(Form("%s_momentum%s",GetName(),str),        "",fhNBinsMomentum-1,fhBinLimMomentum);
     fhQA[kCutPt][i]    = new  TH1F(Form("%s_transverse_momentum%s",GetName(),str),"",fhNBinsPt-1,fhBinLimPt);
index fd6324b..ecee90d 100644 (file)
@@ -435,18 +435,19 @@ void AliCFTrackQualityCuts::SelectionBitMap(TObject* obj)
     return;
   }
 
-  Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
-  Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
+  AliESDtrack * esdTrack = dynamic_cast<AliESDtrack*>(obj);
+  AliAODTrack * aodTrack = dynamic_cast<AliAODTrack*>(obj);
 
-  if (!(isESDTrack || isAODTrack)) {
+  if (!(esdTrack || aodTrack)) {
     AliError("object must be an ESDtrack or an AODtrack !");
     return;
   }
 
-  AliESDtrack * esdTrack = 0x0 ;
-  AliAODTrack * aodTrack = 0x0 ; 
-  if (isESDTrack) esdTrack = dynamic_cast<AliESDtrack*>(obj);
-  if (isAODTrack) aodTrack = dynamic_cast<AliAODTrack*>(obj);
+  Bool_t isESDTrack = kFALSE;
+  Bool_t isAODTrack = kFALSE;
+
+  if (esdTrack) isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
+  if (aodTrack) isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
 
   fTrackCuts->SetMinNClustersTPC(fMinNClusterTPC);
   fTrackCuts->SetMinNClustersITS(fMinNClusterITS);
@@ -908,13 +909,20 @@ void AliCFTrackQualityCuts::FillHistograms(TObject* obj, Bool_t b)
     return;
   }
 
-  Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
-  Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
+  AliESDtrack * esdTrack = dynamic_cast<AliESDtrack*>(obj);
+  AliAODTrack * aodTrack = dynamic_cast<AliAODTrack*>(obj);
+
+  if (!(esdTrack || aodTrack)) {
+    AliError("object must be an ESDtrack or an AODtrack !");
+    return;
+  }
+
+  Bool_t isESDTrack = kFALSE;
+  Bool_t isAODTrack = kFALSE;
+
+  if (esdTrack) isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
+  if (aodTrack) isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
 
-  AliESDtrack * esdTrack = 0x0 ;
-  AliAODTrack * aodTrack = 0x0 ; 
-  if (isESDTrack) esdTrack = dynamic_cast<AliESDtrack*>(obj);
-  if (isAODTrack) aodTrack = dynamic_cast<AliAODTrack*>(obj);
 
   // b = 0: fill histograms before cuts
   // b = 1: fill histograms after cuts