]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/TRD/macros/AddTRDcheckPID.C
update for transporting event info along the TRD train
[u/mrichter/AliRoot.git] / PWG1 / TRD / macros / AddTRDcheckPID.C
index c43178bad0c81db71e76f40a088a418a5c251a38..80a7b05f153eef69c287a9541b301167c9496e29 100644 (file)
@@ -1,64 +1,68 @@
 #if ! defined (__CINT__) || defined (__MAKECINT__)
 #include "TTree.h"
+#include "TError.h"
 #include "AliLog.h"
 #include "AliAnalysisManager.h"
 #include "AliAnalysisDataContainer.h"
-#include "PWG1/TRD/macros/AliTRDperformanceTrain.h"
+#include "PWG1/TRD/AliTRDpwg1Helper.h"
 #include "PWG1/TRD/AliTRDcheckPID.h"
 #include "PWG1/TRD/AliTRDpidRefMaker.h"
 #include "PWG1/TRD/AliTRDpidRefMakerNN.h"
 #include "PWG1/TRD/AliTRDpidRefMakerLQ.h"
 #endif
 
-#include "PWG1/TRD/macros/helper.C"
-void AddTRDcheckPID(AliAnalysisManager *mgr, Char_t *trd, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
+void AddTRDcheckPID(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci, AliAnalysisDataContainer **co)
 {
-  Int_t map = ParseOptions(trd);
-  if(!TSTBIT(map, kCheckPID)) return;
-  printf("AddTRDcheckPID <- [0]=\"%s\" [1]=\"%s\"\n", ci[0]->GetName(), ci[1]->GetName());
+  Info("AddTRDcheckPID", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName()));
 
   AliTRDcheckPID *pid(NULL);
-  mgr->AddTask(pid = new AliTRDcheckPID((char*)"checkPID"));
+  mgr->AddTask(pid = new AliTRDcheckPID((char*)"TRDcheckPID"));
   //AliLog::SetClassDebugLevel("AliTRDcheckPID", 5);  
   pid->SetDebugLevel(0);
   pid->SetMCdata(mgr->GetMCtruthEventHandler());
 
   // define PID exchange container
-  AliAnalysisDataContainer *ce = mgr->CreateContainer("InfoPID", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
-  mgr->ConnectInput (pid, 0, mgr->GetCommonInputContainer());
-  mgr->ConnectInput (pid, 1, ci[0]);
-  mgr->ConnectInput (pid, 2, ci[1]);
-  mgr->ConnectOutput(pid, 1, mgr->CreateContainer(pid->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
-  mgr->ConnectOutput(pid, 2, ce);
+  co[0] = mgr->CreateContainer("InfoPID", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
+  mgr->ConnectInput (pid, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
+  mgr->ConnectInput (pid, 1, ci[0]);                          // connect barrel tracks container
+  mgr->ConnectInput (pid, 2, ci[1]);                          // connect event info container
+  mgr->ConnectInput (pid, 3, ci[2]);                          // connect V0s container
+  mgr->ConnectOutput(pid, 1, mgr->CreateContainer(pid->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance",mgr->GetCommonFileName())));
+  mgr->ConnectOutput(pid, 2, co[0]);
 
-  if(!TSTBIT(map, kPIDRefMaker)) return;
+  if(TESTBIT(map, AliTRDpwg1Helper::kPIDRefMaker)){
 
-  // TRD pid reference maker NN
-  AliTRDpidRefMaker *ref(NULL);
-  mgr->AddTask(ref = new AliTRDpidRefMakerNN((char*)"refMakerNN"));
-  ref->SetDebugLevel(3);
-  //AliLog::SetClassDebugLevel("AliTRDpidRefMaker", 3);
-  ref->SetMCdata(mgr->GetMCtruthEventHandler());
-  ref->SetFriends(kTRUE);
-  mgr->ConnectInput( ref, 0, mgr->GetCommonInputContainer());
-  mgr->ConnectInput( ref, 1, ci[0]);
-  mgr->ConnectInput( ref, 2, ci[1]);
-  mgr->ConnectInput( ref, 3, ce);
-  mgr->ConnectOutput(ref, 1, mgr->CreateContainer("MonitorNN", TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibPIDrefMaker.root"));
-  mgr->ConnectOutput(ref, 2, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibPIDrefMaker.root"));
-
-  // TRD pid reference maker LQ 
-  mgr->AddTask(ref = new AliTRDpidRefMakerLQ((char*)"refMakerLQ"));
-  ref->SetDebugLevel(3);
-  //AliLog::SetClassDebugLevel("AliTRDpidRefMakerLQ", 3);
-  ref->SetMCdata(mgr->GetMCtruthEventHandler());
-  ref->SetFriends(kTRUE);
-  mgr->ConnectInput(ref, 0, mgr->GetCommonInputContainer());
-  mgr->ConnectInput(ref, 1, ci[0]);
-  mgr->ConnectInput(ref, 2, ci[1]);
-  mgr->ConnectInput(ref, 3, ce);
-  mgr->ConnectOutput(ref, 1, mgr->CreateContainer("MonitorLQ", TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibPIDrefMaker.root"));
-  mgr->ConnectOutput(ref, 2, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibPIDrefMaker.root"));
-  mgr->ConnectOutput(ref, 3, mgr->CreateContainer("PDF", TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibPIDrefMakerLQ.root"));
+    //AliLog::SetClassDebugLevel("AliTRDpidRefMaker", 3);
+    //AliLog::SetClassDebugLevel("AliTRDpidRefMakerNN", 3);
+    //AliLog::SetClassDebugLevel("AliTRDpidRefMakerLQ", 3);
+  
+    // TRD pid reference maker NN
+    AliTRDpidRefMaker *ref(NULL);
+    mgr->AddTask(ref = new AliTRDpidRefMakerNN((char*)"TRDrefMakerNN"));
+    ref->SetDebugLevel(3);
+    ref->SetMCdata(mgr->GetMCtruthEventHandler());
+    ref->SetFriends(kTRUE);
+    mgr->ConnectInput( ref, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
+    mgr->ConnectInput( ref, 1, ci[0]);                          // connect barrel tracks container
+    mgr->ConnectInput( ref, 2, ci[1]);                          // connect event info container
+    mgr->ConnectInput( ref, 3, ci[2]);                          // connect V0s container
+    mgr->ConnectInput( ref, 4, co[0]);                          // connect pid Info container
+    mgr->ConnectOutput(ref, 1, mgr->CreateContainer("MonitorNN", TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration",mgr->GetCommonFileName())));
+    mgr->ConnectOutput(ref, 2, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
+  
+    // TRD pid reference maker LQ 
+    mgr->AddTask(ref = new AliTRDpidRefMakerLQ((char*)"TRDrefMakerLQ"));
+    ref->SetDebugLevel(3);
+    ref->SetMCdata(mgr->GetMCtruthEventHandler());
+    ref->SetFriends(kTRUE);
+    mgr->ConnectInput(ref, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
+    mgr->ConnectInput(ref, 1, ci[0]);                          // connect barrel tracks container
+    mgr->ConnectInput(ref, 2, ci[1]);                          // connect event info container
+    mgr->ConnectInput(ref, 3, ci[2]);                          // connect V0s container
+    mgr->ConnectInput(ref, 4, co[0]);                          // connect pid Info container
+    mgr->ConnectOutput(ref, 1, mgr->CreateContainer("MonitorLQ", TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
+    mgr->ConnectOutput(ref, 2, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
+    mgr->ConnectOutput(ref, 3, mgr->CreateContainer("PDF", TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
+  }
 }