1 #if ! defined (__CINT__) || defined (__MAKECINT__)
3 #include "AliAnalysisManager.h"
4 #include "AliAnalysisDataContainer.h"
5 #include "PWG1/TRD/AliTRDpwg1Helper.h"
6 #include "PWG1/TRD/AliTRDefficiency.h"
7 #include "PWG1/TRD/AliTRDefficiencyMC.h"
8 #include "PWG1/TRD/AliTRDmultiplicity.h"
11 void AddTRDefficiency(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
13 Info("AddTRDefficiency", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\" [3]=\"%s\" [4]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName(), ci[3]->GetName(), ci[4]->GetName()));
15 AliAnalysisDataContainer *evInfoContainer = ci[3];
16 AliTRDrecoTask *eff(NULL);
17 mgr->AddTask(eff = new AliTRDefficiency((char*)"TRDefficiency"));
18 eff->SetDebugLevel(0);
19 //AliLog::SetClassDebugLevel("AliTRDefficiency", 5);
20 Int_t trackStatus = 0; // barrel tracks
21 // = 1; // kink tracks
23 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
24 mgr->ConnectInput(eff, 1, ci[trackStatus]); // conect track info container
25 mgr->ConnectInput(eff, 2, evInfoContainer); // conect event info container
26 mgr->ConnectInput(eff, 3, ci[4]); // conect clusters container
27 mgr->ConnectOutput(eff,1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
30 // TRD combined tracking efficiency
31 if(mgr->GetMCtruthEventHandler() && TESTBIT(map, AliTRDpwg1Helper::kEfficiencyMC)) {
32 mgr->AddTask(eff = new AliTRDefficiencyMC((char*)"TRDefficiencyMC"));
33 eff->SetDebugLevel(0);
34 //AliLog::SetClassDebugLevel("AliTRDefficiencyMC", 5);
36 // Create containers for input/output
37 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());
38 mgr->ConnectInput(eff, 1, ci[trackStatus]);
39 mgr->ConnectInput(eff, 2, evInfoContainer);
40 mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
43 // TRD single track selection
44 if(!(TESTBIT(map, AliTRDpwg1Helper::kMultiplicity))) return;
46 mgr->AddTask(eff = new AliTRDmultiplicity((char*)"TRDmultiplicity"));
47 eff->SetDebugLevel(0);
48 //AliLog::SetClassDebugLevel("AliTRDmultiplicity", 5);
49 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());
50 mgr->ConnectInput(eff, 1, ci[0]);
51 mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));