]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/FORWARD/analysis2/AliFMDEnergyFitterTask.cxx
Mega commit of many changes to PWGLFforward
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliFMDEnergyFitterTask.cxx
index 5178a5dcb54fb9a8831600637998cc9fa9ccc1c2..7b9f978845977edc1ee72d74dc1dcf16fbdd1012 100644 (file)
@@ -18,7 +18,6 @@
 #include "AliLog.h"
 #include "AliESDEvent.h"
 #include "AliAODForwardMult.h"
-#include "AliForwardCorrectionManager.h"
 #include "AliAnalysisManager.h"
 #include "AliAnalysisDataSlot.h"
 #include "AliAnalysisDataContainer.h"
@@ -44,6 +43,7 @@ AliFMDEnergyFitterTask::AliFMDEnergyFitterTask()
   // 
   // Constructor
   //
+  DGUARD(fDebug, 3,"Default CTOR of AliFMDEnergyFitterTask");
 }
 
 //____________________________________________________________________
@@ -62,8 +62,12 @@ AliFMDEnergyFitterTask::AliFMDEnergyFitterTask(const char* name)
   // Parameters:
   //    name Name of task 
   //
+  DGUARD(fDebug, 3,"Named CTOR of AliFMDEnergyFitterTask: %s", name);
   DefineOutput(1, TList::Class());
   DefineOutput(2, TList::Class());
+  fBranchNames = 
+    "ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,"
+    "AliESDFMD.,SPDVertex.,PrimaryVertex.";
 }
 
 //____________________________________________________________________
@@ -82,6 +86,7 @@ AliFMDEnergyFitterTask::AliFMDEnergyFitterTask(const AliFMDEnergyFitterTask& o)
   // Parameters:
   //    o Object to copy from 
   //
+  DGUARD(fDebug, 3,"COPY CTOR of AliFMDEnergyFitterTask");
   DefineOutput(1, TList::Class());
   DefineOutput(2, TList::Class());
 }
@@ -99,6 +104,8 @@ AliFMDEnergyFitterTask::operator=(const AliFMDEnergyFitterTask& o)
   // Return:
   //    Reference to this object 
   //
+  fDebug = o.fDebug;
+  DGUARD(fDebug,3,"Assignment of AliFMDEnergyFitterTask");
   if (&o == this) return *this; 
   AliAnalysisTaskSE::operator=(o);
 
@@ -122,6 +129,7 @@ AliFMDEnergyFitterTask::SetDebug(Int_t dbg)
   // Parameters:
   //    dbg Debug level
   //
+  fDebug = dbg;
   fEventInspector.SetDebug(dbg);
   fEnergyFitter.SetDebug(dbg);
 }
@@ -134,26 +142,23 @@ AliFMDEnergyFitterTask::Init()
   // Initialize the task 
   // 
   //
+  DGUARD(fDebug,1,"Initialize of AliFMDEnergyFitterTask");
   fFirstEvent = true;
 }
 
 //____________________________________________________________________
 void
-AliFMDEnergyFitterTask::InitializeSubs()
+AliFMDEnergyFitterTask::SetupForData()
 {
   // 
   // Initialise the sub objects and stuff.  Called on first event 
   // 
   //
-  AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
-  UShort_t sys = fEventInspector.GetCollisionSystem();
-  UShort_t sNN = fEventInspector.GetEnergy();
-  Short_t  fld = fEventInspector.GetField();
-  fcm.Init(sys, sNN, fld, 0);
-  TAxis eAxis(0,0,0);
-  TAxis vAxis(10,-10,10);
-  fEnergyFitter.Init(eAxis);
-  fEventInspector.Init(vAxis);
+  DGUARD(fDebug,1,"Initialize subs of AliFMDEnergyFitterTask");
+  TAxis eAxis(0,0,0); // Default only 
+  TAxis vAxis(10,-10,10); // Default only 
+  fEnergyFitter.SetupForData(eAxis);
+  fEventInspector.SetupForData(vAxis);
 
 }
 
@@ -165,11 +170,12 @@ AliFMDEnergyFitterTask::UserCreateOutputObjects()
   // Create output objects 
   // 
   //
+  DGUARD(fDebug,1,"Create output objects of AliFMDEnergyFitterTask");
   fList = new TList;
   fList->SetOwner();
 
-  fEventInspector.DefineOutput(fList);
-  fEnergyFitter.DefineOutput(fList);
+  fEventInspector.CreateOutputObjects(fList);
+  fEnergyFitter.CreateOutputObjects(fList);
 
   PostData(1, fList);
 }
@@ -187,6 +193,7 @@ AliFMDEnergyFitterTask::UserExec(Option_t*)
   // static Int_t cnt = 0;
   // cnt++;
   // Get the input data 
+  DGUARD(fDebug,3,"Analyse event of AliFMDEnergyFitterTask");
   
   AliMCEvent* mcevent = MCEvent();
   if(mcevent) {
@@ -209,6 +216,9 @@ AliFMDEnergyFitterTask::UserExec(Option_t*)
     return;
   }
 
+  // --- Read in the data --------------------------------------------
+  LoadBranches();
+
   // On the first event, initialize the parameters 
   if (fFirstEvent && esd->GetESDRun()) { 
     fEventInspector.ReadRunDetails(esd);
@@ -232,16 +242,16 @@ AliFMDEnergyFitterTask::UserExec(Option_t*)
     // pars->PrintStatus();
     fFirstEvent = false;
 
-    InitializeSubs();
+    SetupForData();
   }
   Bool_t   lowFlux   = kFALSE;
   UInt_t   triggers  = 0;
   UShort_t ivz       = 0;
-  Double_t vz        = 0;
+  TVector3 ip;
   Double_t cent      = 0;
   UShort_t nClusters = 0;
   UInt_t   found     = fEventInspector.Process(esd, triggers, lowFlux, 
-                                              ivz, vz, cent, nClusters);
+                                              ivz, ip, cent, nClusters);
   if (found & AliFMDEventInspector::kNoEvent)    return;
   if (found & AliFMDEventInspector::kNoTriggers) return;
   if (found & AliFMDEventInspector::kNoSPD)     return;
@@ -265,6 +275,21 @@ AliFMDEnergyFitterTask::UserExec(Option_t*)
   PostData(1, fList);
 }
 
+//____________________________________________________________________
+void
+AliFMDEnergyFitterTask::FinishTaskOutput()
+{
+  if (!fList) { 
+    Warning("FinishTaskOutput", "No list defined");
+  }
+  // else {
+  //   fList->ls();
+  // }
+  // if (fDebug)
+  // gDebug = 1;
+  AliAnalysisTaskSE::FinishTaskOutput();
+}
+
 //____________________________________________________________________
 void
 AliFMDEnergyFitterTask::Terminate(Option_t*)
@@ -275,7 +300,8 @@ AliFMDEnergyFitterTask::Terminate(Option_t*)
   // Parameters:
   //    option Not used 
   //
-  AliInfo(Form("Running terminate of %s", GetName()));
+  DGUARD(fDebug,1,"Processing merged output of AliFMDEnergyFitterTask");
+
   TList* list = dynamic_cast<TList*>(GetOutputData(1));
   if (!list) {
     AliError(Form("No output list defined (%p)", GetOutputData(1)));