skip clusters when the roc voltage is funny
authormkrzewic <mkrzewic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Nov 2013 15:02:15 +0000 (15:02 +0000)
committermkrzewic <mkrzewic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 Nov 2013 15:02:15 +0000 (15:02 +0000)
TPC/Base/AliTPCcalibDB.cxx
TPC/Base/AliTPCcalibDB.h
TPC/Rec/AliTPCtracker.cxx

index 332ed2c..15379a1 100644 (file)
@@ -602,7 +602,7 @@ void AliTPCcalibDB::UpdateNonRec(){
 
 }
 
-void AliTPCcalibDB::GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graphRes, Float_t * indexAmpGraphs){
+Bool_t AliTPCcalibDB::GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graphRes, Float_t * indexAmpGraphs){
  
 // 
 //   Read OCDB entry object of Iontail (TObjArray of TGraphErrors of TRFs)
@@ -615,6 +615,13 @@ void AliTPCcalibDB::GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graph
 //   Float_t rocVoltage=GetChamberHighVoltageMedian(sector);                      // Get the voltage from OCDB, new function from Jens
  
   Int_t nominalVoltage = (sector<36) ? 1240 : 1470 ;     // nominal voltage of 2012 when the TRF functions were produced
+
+  if ( rocVoltage < nominalVoltage/2. || rocVoltage > nominalVoltage*2. )
+  {
+    AliInfo(Form("rocVoltage out of range: roc: %.2f, nominal: %i", rocVoltage, nominalVoltage));
+    return kFALSE;
+  }
+
   Int_t tempVoltage = 0;                                 
   Int_t trackAngle  = 4;                                 // (1=first, 2=second, 3=third, 4=first+second, 5=all tracks) note: 3rd is distorted by low freq
   TString rocType   = (sector<36) ? "iroc" : "oroc";     
@@ -704,6 +711,7 @@ void AliTPCcalibDB::GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graph
     }
   delete objArr1;
   }
+  return kTRUE;
 }
 
 void AliTPCcalibDB::CreateObjectList(const Char_t *filename, TObjArray *calibObjects)
index 32572a5..537d2a9 100644 (file)
@@ -53,7 +53,7 @@ class AliTPCcalibDB : public TObject
   void   Update();  //update entries
   void   UpdateRunInformations(Int_t run, Bool_t force=kFALSE);
   void   UpdateNonRec();
-  void   GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graphRes, Float_t * indexAmpGraphs);
+  Bool_t   GetTailcancelationGraphs(Int_t sector, TGraphErrors ** graphRes, Float_t * indexAmpGraphs);
   //
   Long64_t GetRun() const {return fRun;}
   //
index b600137..a0c4826 100644 (file)
@@ -1517,7 +1517,10 @@ void  AliTPCtracker::ApplyTailCancellation(){
           indexAmpGraphs[icache] = 0;
         }
         /////////////////////////////  --> position fo sie loop
-        AliTPCcalibDB::Instance()->GetTailcancelationGraphs(sec+36*secType+18*iside,graphRes,indexAmpGraphs);
+        if (!AliTPCcalibDB::Instance()->GetTailcancelationGraphs(sec+36*secType+18*iside,graphRes,indexAmpGraphs))
+        {
+          continue;
+        }
         
         AliTPCtrackerSector &sector= (secType==0)?fInnerSec[sec]:fOuterSec[sec];  
         Int_t nrows     = sector.GetNRows();                                       // number of rows