]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TRD/macros/AddTRDefficiency.C
updates in the PWGPP/TRD
[u/mrichter/AliRoot.git] / PWGPP / TRD / macros / AddTRDefficiency.C
CommitLineData
1ee39b3a 1#if ! defined (__CINT__) || defined (__MAKECINT__)
a7fa310f 2#include "TError.h"
1ee39b3a 3#include "AliAnalysisManager.h"
4#include "AliAnalysisDataContainer.h"
0f2c4c4f 5#include "AliLog.h"
2bfe5463 6#include "PWGPP/TRD/AliTRDpwgppHelper.h"
7#include "PWGPP/TRD/AliTRDefficiency.h"
8#include "PWGPP/TRD/AliTRDefficiencyMC.h"
9#include "PWGPP/TRD/AliTRDmultiplicity.h"
1ee39b3a 10#endif
11
a7fa310f 12void AddTRDefficiency(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci/*, AliAnalysisDataContainer **co*/)
1ee39b3a 13{
f073d500 14 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()));
1ee39b3a 15
94b94be0 16 AliAnalysisDataContainer *evInfoContainer = ci[3];
705f8b0a 17 AliTRDrecoTask *eff(NULL);
f2e89a4c 18 mgr->AddTask(eff = new AliTRDefficiency((char*)"TRDefficiency"));
0f2c4c4f 19 res->SetMCdata((Bool_t)mgr->GetMCtruthEventHandler());
1ee39b3a 20 eff->SetDebugLevel(0);
705f8b0a 21 //AliLog::SetClassDebugLevel("AliTRDefficiency", 5);
94b94be0 22 Int_t trackStatus = 0; // barrel tracks
23// = 1; // kink tracks
24// = 2; // SA tracks
25 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container
26 mgr->ConnectInput(eff, 1, ci[trackStatus]); // conect track info container
27 mgr->ConnectInput(eff, 2, evInfoContainer); // conect event info container
f073d500 28 mgr->ConnectInput(eff, 3, ci[4]); // conect clusters container
997f86cb 29 mgr->ConnectOutput(eff,1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
1ee39b3a 30
31
32 // TRD combined tracking efficiency
2bfe5463 33 if(mgr->GetMCtruthEventHandler() && TESTBIT(map, AliTRDpwgppHelper::kEfficiencyMC)) {
705f8b0a 34 mgr->AddTask(eff = new AliTRDefficiencyMC((char*)"TRDefficiencyMC"));
35 eff->SetDebugLevel(0);
36 //AliLog::SetClassDebugLevel("AliTRDefficiencyMC", 5);
1ee39b3a 37
38 // Create containers for input/output
705f8b0a 39 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());
94b94be0 40 mgr->ConnectInput(eff, 1, ci[trackStatus]);
41 mgr->ConnectInput(eff, 2, evInfoContainer);
4345681e 42 mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName())));
1ee39b3a 43 }
44
45 // TRD single track selection
2bfe5463 46 if(!(TESTBIT(map, AliTRDpwgppHelper::kMultiplicity))) return;
1ee39b3a 47
705f8b0a 48 mgr->AddTask(eff = new AliTRDmultiplicity((char*)"TRDmultiplicity"));
49 eff->SetDebugLevel(0);
50 //AliLog::SetClassDebugLevel("AliTRDmultiplicity", 5);
51 mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());
52 mgr->ConnectInput(eff, 1, ci[0]);
d0967050 53 mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName())));
1ee39b3a 54}
55