]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibDB.cxx
Always delete TObjArrays created by TString::Tokenize (Ruben)
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibDB.cxx
index 10320259f61026858acc79424059328163f295a4..c65476e77dd48446e487c09cc6fea4d21f97efa9 100644 (file)
@@ -188,6 +188,7 @@ AliTPCcalibDB::AliTPCcalibDB():
   fCalibRaw(0),
   fDataQA(0),
   fALTROConfigData(0),
+  fIonTailArray(0),
   fPulserData(0),
   fCEData(0),
   fTemperature(0),
@@ -242,6 +243,7 @@ AliTPCcalibDB::AliTPCcalibDB(const AliTPCcalibDB& ):
   fCalibRaw(0),
   fDataQA(0),
   fALTROConfigData(0),
+  fIonTailArray(0),
   fPulserData(0),
   fCEData(0),
   fTemperature(0),
@@ -451,6 +453,14 @@ void AliTPCcalibDB::Update(){
     fPulserData=(TObjArray*)(entry->GetObject());
   }
   
+   //Calibration ION tail data
+ //  entry          = GetCDBEntry("TPC/Calib/IonTail");
+//   if (entry){
+//     entry->SetOwner(kTRUE);
+//     fIonTailArray=(TObjArray*)(entry->GetObject());
+//   }
+
+
   //CE data
   entry          = GetCDBEntry("TPC/Calib/CE");
   if (entry){
@@ -581,7 +591,8 @@ void AliTPCcalibDB::CreateObjectList(const Char_t *filename, TObjArray *calibObj
       
       TObjString *sObjType     = (TObjString*)(arrNextCol->At(0));
       TObjString *sObjFileName = (TObjString*)(arrNextCol->At(1));
-      
+      delete arrNextCol;
+
       if ( !sObjType || ! sObjFileName ) continue;
       TString sType(sObjType->GetString());
       TString sFileName(sObjFileName->GetString());
@@ -640,6 +651,7 @@ void AliTPCcalibDB::CreateObjectList(const Char_t *filename, TObjArray *calibObj
       }
       delete fIn;
    }
+   delete arrFileLine;
 }
 
 Int_t AliTPCcalibDB::InitDeadMap() {
@@ -1452,15 +1464,17 @@ Float_t AliTPCcalibDB::GetDCSSensorValue(AliDCSSensorArray *arr, Int_t timeStamp
     if (val==0 ){
       Double_t x,y;
       gr->GetPoint(0,x,y);
-      Int_t time=TMath::Nint(sensor->GetStartTime()+x*3600); //time in graph is hours
-      if ((time-timeStamp)<5*60) val=y;
+      const Int_t time=TMath::Nint(sensor->GetStartTime()+x*3600); //time in graph is hours
+      const Int_t dtime=time-timeStamp;
+      if ( (dtime>0) && (dtime<5*60) ) val=y;
     }
     //last point
     if (val==0 ){
       Double_t x,y;
       gr->GetPoint(gr->GetN()-1,x,y);
-      Int_t time=TMath::Nint(sensor->GetStartTime()+x*3600); //time in graph is hours
-      if ((timeStamp-time)<5*60) val=y;
+      const Int_t time=TMath::Nint(sensor->GetStartTime()+x*3600); //time in graph is hours
+      const Int_t dtime=timeStamp-time;
+      if ( (dtime>0) && (dtime<5*60) ) val=y;
     }
   } else {
     val=sensor->GetValue(timeStamp);
@@ -2048,6 +2062,7 @@ Double_t AliTPCcalibDB::GetVDriftCorrectionGy(Int_t timeStamp, Int_t run, Int_t
 
   // use TPC-ITS if present
   TGraphErrors *gr= (TGraphErrors*)array->FindObject("ALIGN_ITSB_TPC_VDGY");
+  if (!gr) gr = (TGraphErrors*)array->FindObject("ALIGN_TOFB_TPC_VDGY");
   if(gr) { 
     result = AliTPCcalibDButil::EvalGraphConst(gr,timeStamp);