]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliAnalysisTaskEMCALPi0CalibSelection.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEMCALPi0CalibSelection.cxx
index c92b87793df8f0ea5813fc32a1d7d406ac8ea209..cc872a0b2aad230803eba7e2d2bd150e3c05bdbe 100644 (file)
@@ -165,8 +165,7 @@ void  AliAnalysisTaskEMCALPi0CalibSelection::CorrectClusters()
     
     if(fRecoUtils->GetParticleType()!=AliEMCALRecoUtils::kPhoton)
     {
-      printf("Wrong particle type for cluster position recalculation! = %d\n", fRecoUtils->GetParticleType());
-      abort();
+      AliFatal(Form("Wrong particle type for cluster position recalculation! = %d\n", fRecoUtils->GetParticleType()));
     }    
     
     if(DebugLevel() > 1) printf("AliAnalysisTaskEMCALPi0CalibSelection Will use fLogWeight %.3f .\n",fLogWeight);
@@ -609,6 +608,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");
@@ -894,7 +918,7 @@ void AliAnalysisTaskEMCALPi0CalibSelection::UserCreateOutputObjects()
 }
 
 //______________________________________________________________________________________________________
-Bool_t AliAnalysisTaskEMCALPi0CalibSelection::MaskFrameCluster(const Int_t iSM,  const Int_t ieta) const 
+Bool_t AliAnalysisTaskEMCALPi0CalibSelection::MaskFrameCluster(Int_t iSM, Int_t ieta) const 
 {
   //Check if cell is in one of the regions where we have significant amount of material in front of EMCAL