Coverity fix:
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 2 Apr 2011 14:01:53 +0000 (14:01 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 2 Apr 2011 14:01:53 +0000 (14:01 +0000)
AliTPCTransform.cxx   - forward null
AliTPCLaserTrack.cxx  - not used variable
AliTPCcalibCalib.cxx  - forward null
AliTPCcalibDB.cxx     - possible negative index
AliTPCcalibDButil.cxx - forward 0

TPC/AliTPCLaserTrack.cxx
TPC/AliTPCTransform.cxx
TPC/AliTPCcalibCalib.cxx
TPC/AliTPCcalibDB.cxx
TPC/AliTPCcalibDButil.cxx

index 9064798..4ce6033 100644 (file)
@@ -184,6 +184,7 @@ void AliTPCLaserTrack::LoadTracks()
   if (man->GetDefaultStorage()){
     if (man->GetRun()<0) man->SetRun(0);
     AliCDBEntry *entry=man->Get(AliCDBPath("TPC/Calib/LaserTracks"));
+    if (!entry) return;
     arrLaserTracks = (TObjArray*)entry->GetObject();
     entry->SetOwner(kTRUE);
   } else {
@@ -311,7 +312,6 @@ Int_t AliTPCLaserTrack::IdentifyTrack(AliExternalTrackParam *track, Int_t side)
   //
   Float_t mindist=10; // maxima minimal distance
   Int_t id = -1;
-  AliExternalTrackParam*  ltr0= (AliExternalTrackParam*)arrTracks->UncheckedAt(0);
   for (Int_t itrack=0; itrack<fgkNLaserTracks; itrack++){    
     AliTPCLaserTrack *ltr = (AliTPCLaserTrack*)arrTracks->UncheckedAt(itrack);
     if (side>=0) if (ltr->GetSide()!=side) continue;
@@ -340,13 +340,11 @@ Int_t AliTPCLaserTrack::IdentifyTrack(AliExternalTrackParam *track, Int_t side)
     if (id<0)  {
       id =itrack; 
       mindist=dist; 
-      ltr0=ltr;
       continue;
     }
     if (dist>mindist) continue;
     id = itrack;
     mindist=dist;
-    ltr0=ltr;
   }
   return id;
 }
index b6c0b59..69618ad 100755 (executable)
@@ -140,7 +140,9 @@ void AliTPCTransform::Transform(Double_t *x,Int_t *i,UInt_t /*time*/,
   //                TOF of particle calculated assuming the speed-of-light and 
   //                line approximation  
   //
-  
+  if (!fCurrentRecoParam) {
+    return;
+  }
   Int_t row=TMath::Nint(x[0]);
   Int_t pad=TMath::Nint(x[1]);
   Int_t sector=i[0];
@@ -155,11 +157,13 @@ void AliTPCTransform::Transform(Double_t *x,Int_t *i,UInt_t /*time*/,
   if (!correction) correction = calib->GetTPCComposedCorrection(AliTracker::GetBz());
   if (!time0TPC){
     AliFatal("Time unisochronity missing");
+    return ; // make coverity happy
   }
   AliTPCCorrection * correctionDelta = calib->GetTPCComposedCorrectionDelta(); 
 
   if (!param){
     AliFatal("Parameters missing");
+    return; // make coverity happy
   }
 
   Double_t xx[3];
@@ -180,7 +184,7 @@ void AliTPCTransform::Transform(Double_t *x,Int_t *i,UInt_t /*time*/,
   //
   // old ExB correction 
   //
-  if(fCurrentRecoParam&&fCurrentRecoParam->GetUseExBCorrection()) {
+  if(fCurrentRecoParam->GetUseExBCorrection()) {
 
     calib->GetExB()->Correct(x,xx);
 
@@ -194,7 +198,7 @@ void AliTPCTransform::Transform(Double_t *x,Int_t *i,UInt_t /*time*/,
   //
   // new composed  correction  - will replace soon ExB correction
   //
-  if(fCurrentRecoParam&&fCurrentRecoParam->GetUseComposedCorrection()&&correction) {
+  if(fCurrentRecoParam->GetUseComposedCorrection()&&correction) {
     Float_t distPoint[3]={xx[0],xx[1],xx[2]};
     correction->CorrectPoint(distPoint, sector);
     xx[0]=distPoint[0];
@@ -213,7 +217,7 @@ void AliTPCTransform::Transform(Double_t *x,Int_t *i,UInt_t /*time*/,
   //
   // Time of flight correction
   // 
-  if (fCurrentRecoParam&&fCurrentRecoParam->GetUseTOFCorrection()){
+  if (fCurrentRecoParam->GetUseTOFCorrection()){
     const Int_t kNIS=param->GetNInnerSector(), kNOS=param->GetNOuterSector(); 
     Float_t sign=1;
     if (sector < kNIS) {
@@ -288,6 +292,7 @@ void AliTPCTransform::Local2RotatedGlobal(Int_t sector, Double_t *x) const {
   //
   //  
   //
+  if (!fCurrentRecoParam) return;
   const  Int_t kMax =60;  // cache for 60 seconds
   static Int_t lastStamp=-1;  //cached values
   static Double_t lastCorr = 1;
@@ -318,7 +323,7 @@ void AliTPCTransform::Local2RotatedGlobal(Int_t sector, Double_t *x) const {
   //
   if (lastStampT!=(Int_t)fCurrentTimeStamp){
     lastStampT=fCurrentTimeStamp;
-    if(fCurrentRecoParam&&fCurrentRecoParam->GetUseDriftCorrectionTime()>0) {
+    if(fCurrentRecoParam->GetUseDriftCorrectionTime()>0) {
       vdcorrectionTime = (1+AliTPCcalibDB::Instance()->
                          GetVDriftCorrectionTime(fCurrentTimeStamp, 
                                                  fCurrentRun,
@@ -331,7 +336,7 @@ void AliTPCTransform::Local2RotatedGlobal(Int_t sector, Double_t *x) const {
                               fCurrentRecoParam->GetUseDriftCorrectionTime()); 
     }
     //
-    if(fCurrentRecoParam&&fCurrentRecoParam->GetUseDriftCorrectionGY()>0) {
+    if(fCurrentRecoParam->GetUseDriftCorrectionGY()>0) {
       
       Double_t corrGy= AliTPCcalibDB::Instance()->
                        GetVDriftCorrectionGy(fCurrentTimeStamp, 
@@ -345,6 +350,7 @@ void AliTPCTransform::Local2RotatedGlobal(Int_t sector, Double_t *x) const {
 
   if (!param){
     AliFatal("Parameters missing");
+    return; // make coverity happy
   }
   Int_t row=TMath::Nint(x[0]);
   //  Int_t pad=TMath::Nint(x[1]);
index 2987e47..3035872 100644 (file)
@@ -470,13 +470,14 @@ Bool_t AliTPCcalibCalib::RejectCluster(AliTPCclusterMI* cl, AliExternalTrackPara
   // check the acceptance of cluster
   // Cut on edge effects
   //
+  if (!param) return kTRUE;
   Float_t kEdgeCut=2.5;
   Float_t kSigmaCut=6;
 
   Bool_t isReject = kFALSE;
   Float_t edgeY = cl->GetX()*TMath::Tan(TMath::Pi()/18);
   Float_t dist  = edgeY - TMath::Abs(cl->GetY());
-  if (param)  dist  = TMath::Abs(edgeY - TMath::Abs(param->GetY()));
+  dist  = TMath::Abs(edgeY - TMath::Abs(param->GetY()));
   if (dist<kEdgeCut) isReject=kTRUE;
 
   Double_t cov[3]={0.01,0.,0.01}; //TODO: correct error parametrisation    
index ef394f8..8466b28 100644 (file)
@@ -1961,6 +1961,7 @@ AliTPCCalPad* AliTPCcalibDB::MakeDeadMap(Double_t notInMap, const char* nameMapp
   Double_t active;
   for (Int_t i=0; i<mapping->GetNumDdl(); i++) {
     idDDL= i+offset;
+    if (iDDL<0) continue;
     Int_t patch = mapping->GetPatchFromEquipmentID(idDDL);   
     Int_t roc=mapping->GetRocFromEquipmentID(idDDL);
     AliTPCCalROC *calRoc=deadMap->GetCalROC(roc);
index cb9df1b..2846e50 100644 (file)
@@ -1408,7 +1408,7 @@ AliTPCCalPad *AliTPCcalibDButil::CreateCEOutlyerMap( Int_t & noutliersCE, AliTPC
     AliTPCCalROC *rocCETrms    = fCETrms->GetCalROC(iroc);
     Double_t trocMedian        = rocData->GetMedian();
     //
-    if (!rocData || !rocCEQ || !rocCETrms) {
+    if (!rocData || !rocCEQ || !rocCETrms || !rocData) {
       noutliersCE+=AliTPCROC::Instance()->GetNChannels(iroc);
       rocOut->Add(1.);
       continue;
@@ -1776,7 +1776,10 @@ Double_t  AliTPCcalibDButil::GetTriggerOffsetTPC(Int_t run, Int_t timeStamp, Dou
     tdelta[nused]=ccosmic-claser;
     nused++;
   }
-  if (nused<kMinPoints &&deltaT<kMaxPeriod) return  AliTPCcalibDButil::GetTriggerOffsetTPC(run, timeStamp, deltaT*2,deltaTLaser);
+  if (nused<kMinPoints &&deltaT<kMaxPeriod) {
+    delete [] tdelta;
+    return  AliTPCcalibDButil::GetTriggerOffsetTPC(run, timeStamp, deltaT*2,deltaTLaser);
+  }
   if (nused<kMinPoints) {
     delete [] tdelta;
     printf("AliFatal: No time offset calibration available\n");