Coverity fix (Pietro)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Jul 2011 09:01:02 +0000 (09:01 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 4 Jul 2011 09:01:02 +0000 (09:01 +0000)
STEER/AliPIDCombined.cxx

index fc12186..31db1f5 100644 (file)
@@ -78,12 +78,16 @@ void AliPIDCombined::SetPriorDistribution(AliPID::EParticleType type,TH1F *prior
     return;
   }
   if(prior) {
-    Int_t i = type;
-    if (type >= (AliPID::EParticleType)AliPID::kSPECIES ) {
-      if (type < AliPID::kDeuteron) {
-       AliError(Form("Invalid EParticleType setting prior. Type: %d (neutral) not supported",type));
+    Int_t i = (Int_t)type;
+    if (i >= AliPID::kSPECIES ) {
+      if (i < (Int_t)AliPID::kDeuteron) {
+       AliError(Form("Invalid EParticleType setting prior. Type: %d (neutral) not supported",i));
        return;
-      } else i = (Int_t)type - (AliPID::kSPECIESN-AliPID::kSPECIES);
+      } else i -= (AliPID::kSPECIESN-AliPID::kSPECIES);
+    }
+    if (i>(AliPID::kSPECIES+AliPID::kSPECIESLN)) {             // coverity fix (to put it mildly....)
+      AliError(Form("Unexpected EParticleType setting prior. Type: %d (neutral) not supported",i));
+      return;
     }
     if (fPriorsDistributions[i]) {
       delete fPriorsDistributions[i];