]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
get t corrections from closest run with the info
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 11 Jan 2013 15:25:32 +0000 (15:25 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 11 Jan 2013 15:25:32 +0000 (15:25 +0000)
PWGGA/EMCALTasks/AliAnalysisTaskEMCALPi0CalibSelection.cxx

index c92b87793df8f0ea5813fc32a1d7d406ac8ea209..4d572d84a1c6e6ee985430e0b730defaaa72bd85 100644 (file)
@@ -609,6 +609,31 @@ void AliAnalysisTaskEMCALPi0CalibSelection::InitTemperatureCorrections()
 
   TH1S *htd=(TH1S*)contRFTD->GetObject(runnumber); 
   
+  //If it did not exist for this run, get closes one
+  if (!htd)
+  {
+    AliWarning(Form("No TemperatureCorrCalib Objects for run: %d",runnumber));
+    // let's get the closest runnumber instead then..
+    Int_t lower = 0;
+    Int_t ic = 0;
+    Int_t maxEntry = contRFTD->GetNumberOfEntries();
+    
+    while ( (ic < maxEntry) && (contRFTD->UpperLimit(ic) < runnumber) ) {
+      lower = ic;
+      ic++;
+    }
+    
+    Int_t closest = lower;
+    if ( (ic<maxEntry) &&
+        (contRFTD->LowerLimit(ic)-runnumber) < (runnumber - contRFTD->UpperLimit(lower)) ) {
+      closest = ic;
+    }
+    
+    AliWarning(Form("TemperatureCorrCalib Objects found closest id %d from run: %d", closest, contRFTD->LowerLimit(closest)));
+    htd = (TH1S*) contRFTD->GetObjectByIndex(closest);
+  } 
+
+  // Fill parameters
   if(htd)
   {
     printf("AliAnalysisTaskEMCALPi0CalibSelection::SetOADBParameters() - Recalibrate (Temperature) EMCAL \n");