Fixes for QA train
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Sep 2011 13:49:12 +0000 (13:49 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Sep 2011 13:49:12 +0000 (13:49 +0000)
PWG2/FORWARD/analysis2/AliFMDEventInspector.cxx
PWG2/FORWARD/analysis2/AliForwardQATask.cxx

index bde80d5..d7c6284 100644 (file)
@@ -548,17 +548,15 @@ AliFMDEventInspector::ReadTriggers(const AliESDEvent* esd, UInt_t& triggers,
   // factor of 2! :-(
   Bool_t offline  = ih->IsEventSelected() ;
   Bool_t fastonly = (ih->IsEventSelected() & AliVEvent::kFastOnly);
-  //If we have the MC input handler,  this must be MC
   TString trigStr = esd->GetFiredTriggerClasses();
   
-  AliMCEventHandler* mch =  static_cast<AliMCEventHandler*>(am->GetMCtruthEventHandler());
-  Bool_t isMC = false;
-  if(mch) isMC = true;
+  //If we have the MC input handler,  this must be MC
+  Bool_t isMC = am->GetMCtruthEventHandler() != 0;
+
   // For the 2.76 TeV p+p run, the FMD ran in the slow partition 
   // so it received no triggers from the fast partition. Therefore
   // the fast triggers are removed here but not for MC where all 
   // triggers are fast.
-  
   if(TMath::Abs(fEnergy - 2750.) < 20 && 
      fCollisionSystem == AliForwardUtil::kPP &&
      !isMC)
index fa15e45..40e76c2 100644 (file)
@@ -168,7 +168,7 @@ AliForwardQATask::CheckCorrections(UInt_t what) const
   //   AliFMDSharingFilter 
   //   AliFMDDensityCalculator 
   if (what & AliForwardCorrectionManager::kELossFits && !fcm.GetELossFit()) { 
-    AliFatal(Form("No energy loss fits"));
+    AliWarning("No energy loss fits");
     return false;
   }
   return true;
@@ -196,7 +196,9 @@ AliForwardQATask::ReadCorrections(const TAxis*& pe,
                GetEventInspector().GetField(),
                mc,
                what)) return false;
-  if (!CheckCorrections(what)) return false;
+  if (!CheckCorrections(what)) {
+    return false;
+  }
 
   // Sett our persistency pointer 
   // fCorrManager = &fcm;
@@ -244,12 +246,14 @@ AliForwardQATask::GetESDEvent()
             esd->GetMagneticField(),
             esd->GetRunNumber());
 
-    fFirstEvent = false;
 
     if (!InitializeSubs()) {
       AliWarning("Initialisation of sub algorithms failed!");
       return 0;
     }
+    AliInfoF("Clearing first event flag from %s to false", 
+            fFirstEvent ? "true" : "false");
+    fFirstEvent = false;
   }
   return esd;
 }
@@ -264,7 +268,10 @@ AliForwardQATask::InitializeSubs()
   const TAxis* pe = 0;
   const TAxis* pv = 0;
 
-  if (!ReadCorrections(pe,pv)) return false;
+  if (!ReadCorrections(pe,pv)) { 
+    AliWarning("Failed to read corrections");
+    return false;
+  }
 
   fHistos.Init(*pe);
 
@@ -315,6 +322,13 @@ AliForwardQATask::UserExec(Option_t*)
     AliWarning("Got no ESD event");
     return;
   }
+  if (fFirstEvent) { 
+    // If the first event flag wasn't cleared in the above call to
+    // GetESDEvent, we should not do anything, since nothing has been
+    // initialised yet, so we opt out here (with a warning) 
+    AliWarning("Nothing has been initialized yet, opt'ing out");
+    return;
+  }
 
   // Clear stuff 
   fHistos.Clear();