]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/TRD/macros/AddTRDefficiency.C
- bug fixes (increase classdef)
[u/mrichter/AliRoot.git] / PWG1 / TRD / macros / AddTRDefficiency.C
index ccee699cf80f53d6f7585f21079f69632f7567ad..c434f7dd70458031dc02161b612e9481f9bc2f37 100644 (file)
@@ -1,47 +1,52 @@
 #if ! defined (__CINT__) || defined (__MAKECINT__)
+#include "TError.h"
 #include "AliAnalysisManager.h"
 #include "AliAnalysisDataContainer.h"
-#include "PWG1/TRD/macros/AliTRDperformanceTrain.h"
+#include "PWG1/TRD/AliTRDpwg1Helper.h"
 #include "PWG1/TRD/AliTRDefficiency.h"
 #include "PWG1/TRD/AliTRDefficiencyMC.h"
 #include "PWG1/TRD/AliTRDmultiplicity.h"
 #endif
 
-#include "PWG1/TRD/macros/helper.C"
-void AddTRDefficiency(AliAnalysisManager *mgr, Char_t *trd, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
+void AddTRDefficiency(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
 {
-  Int_t map = ParseOptions(trd);
-  if(!(TSTBIT(map, kEfficiency))) return;
+  Info("AddTRDefficiency", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\" [3]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName(), ci[3]->GetName()));
 
-  Bool_t mc = mgr->GetMCtruthEventHandler();
-  AliTRDefficiency *eff = 0x0;
+  AliAnalysisDataContainer *evInfoContainer = ci[3];
+  AliTRDrecoTask *eff(NULL);
   mgr->AddTask(eff = new AliTRDefficiency((char*)"TRDefficiency"));
   eff->SetDebugLevel(0);
-  mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
-  mgr->ConnectInput(eff,  1, ci[0]);
-  mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+  //AliLog::SetClassDebugLevel("AliTRDefficiency", 5);  
+  Int_t trackStatus = 0; // barrel tracks
+//                    = 1; // kink tracks
+//                    = 2; // SA tracks
+  mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  // connect main (ESD) container
+  mgr->ConnectInput(eff, 1, ci[trackStatus]);                 // conect track info container
+  mgr->ConnectInput(eff, 2, evInfoContainer);                 // conect event info container
+  mgr->ConnectOutput(eff,1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
     
 
   // TRD combined tracking efficiency
-  AliTRDefficiencyMC *effMC = 0x0;
-  if(mc && TSTBIT(map, kEfficiencyMC)){
-    mgr->AddTask(effMC = new AliTRDefficiencyMC((char*)"TRDefficiencyMC"));
-    effMC->SetDebugLevel(0);
+  if(mgr->GetMCtruthEventHandler() && TESTBIT(map, AliTRDpwg1Helper::kEfficiencyMC)) {
+    mgr->AddTask(eff = new AliTRDefficiencyMC((char*)"TRDefficiencyMC"));
+    eff->SetDebugLevel(0);
+    //AliLog::SetClassDebugLevel("AliTRDefficiencyMC", 5);  
 
     // Create containers for input/output
-    mgr->ConnectInput(effMC, 0, mgr->GetCommonInputContainer());  
-    mgr->ConnectInput(effMC, 1, ci[0]);
-    mgr->ConnectOutput(effMC, 1, mgr->CreateContainer(effMC->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", effMC->GetName())));
+    mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
+    mgr->ConnectInput(eff, 1, ci[trackStatus]);
+    mgr->ConnectInput(eff, 2, evInfoContainer);
+    mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
   }
 
   // TRD single track selection
-  if(!(TSTBIT(map, kMultiplicity))) return;
+  if(!(TESTBIT(map, AliTRDpwg1Helper::kMultiplicity))) return;
 
-  AliTRDmultiplicity *mult = 0x0;
-  mgr->AddTask(mult = new AliTRDmultiplicity((char*)"TRDmultiplicity"));
-  mult->SetDebugLevel(0);
-  mgr->ConnectInput(mult, 0, mgr->GetCommonInputContainer());  
-  mgr->ConnectInput(mult, 1, ci[0]);
-  mgr->ConnectOutput(mult, 1, mgr->CreateContainer(mult->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", mult->GetName())));
+  mgr->AddTask(eff = new AliTRDmultiplicity((char*)"TRDmultiplicity"));
+  eff->SetDebugLevel(0);
+  //AliLog::SetClassDebugLevel("AliTRDmultiplicity", 5);  
+  mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
+  mgr->ConnectInput(eff, 1, ci[0]);
+  mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
 }