b5103cf5a52b93920e705b05aa7ffea0de440d83
[u/mrichter/AliRoot.git] / PWG1 / TRD / macros / AddTRDefficiency.C
1 #if ! defined (__CINT__) || defined (__MAKECINT__)
2 #include "TError.h"
3 #include "AliAnalysisManager.h"
4 #include "AliAnalysisDataContainer.h"
5 #include "PWG1/TRD/macros/AliTRDperformanceTrain.h"
6 #include "PWG1/TRD/AliTRDefficiency.h"
7 #include "PWG1/TRD/AliTRDefficiencyMC.h"
8 #include "PWG1/TRD/AliTRDmultiplicity.h"
9 #endif
10
11 void AddTRDefficiency(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
12 {
13   Info("AddTRDefficiency", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName()));
14
15   AliTRDrecoTask *eff(NULL);
16   mgr->AddTask(eff = new AliTRDefficiency((char*)"TRDefficiency"));
17   eff->SetDebugLevel(0);
18   //AliLog::SetClassDebugLevel("AliTRDefficiency", 5);  
19   mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
20   mgr->ConnectInput(eff, 1, ci[0]);
21   mgr->ConnectOutput(eff,1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
22     
23
24   // TRD combined tracking efficiency
25   if(mgr->GetMCtruthEventHandler() && TSTBIT(map, kEfficiencyMC)) {
26     mgr->AddTask(eff = new AliTRDefficiencyMC((char*)"TRDefficiencyMC"));
27     eff->SetDebugLevel(0);
28     //AliLog::SetClassDebugLevel("AliTRDefficiencyMC", 5);  
29
30     // Create containers for input/output
31     mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
32     mgr->ConnectInput(eff, 1, ci[0]);
33     mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName(),eff->GetName())));
34   }
35
36   // TRD single track selection
37   if(!(TSTBIT(map, kMultiplicity))) return;
38
39   mgr->AddTask(eff = new AliTRDmultiplicity((char*)"TRDmultiplicity"));
40   eff->SetDebugLevel(0);
41   //AliLog::SetClassDebugLevel("AliTRDmultiplicity", 5);  
42   mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());  
43   mgr->ConnectInput(eff, 1, ci[0]);
44   mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD.Calib%s", mgr->GetCommonFileName(),eff->GetName())));
45 }
46