]>
Commit | Line | Data |
---|---|---|
1ee39b3a | 1 | #if ! defined (__CINT__) || defined (__MAKECINT__) |
2 | #include "TTree.h" | |
3f19c2cd | 3 | #include "AliLog.h" |
1ee39b3a | 4 | #include "AliAnalysisManager.h" |
5 | #include "AliAnalysisDataContainer.h" | |
d4f4bb29 | 6 | #include "PWG1/TRD/macros/AliTRDperformanceTrain.h" |
7 | #include "PWG1/TRD/AliTRDresolution.h" | |
8 | #include "PWG1/TRD/AliTRDclusterResolution.h" | |
9 | #include "PWG1/TRD/AliTRDalignmentTask.h" | |
1ee39b3a | 10 | #endif |
11 | ||
d4f4bb29 | 12 | #include "PWG1/TRD/macros/helper.C" |
3d2a3dff | 13 | void AddTRDresolution(AliAnalysisManager *mgr, Char_t *trd, AliAnalysisDataContainer **ci) |
1ee39b3a | 14 | { |
15 | Int_t map = ParseOptions(trd); | |
705f8b0a | 16 | if(!TSTBIT(map, kResolution)) return; |
3d2a3dff | 17 | printf("AddTRDresolution <- [0]=\"%s\" [1]=\"%s\" [2]=\"%s\"\n", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName()); |
3f19c2cd | 18 | |
3d2a3dff | 19 | // AliLog::SetClassDebugLevel("AliTRDrecoTask", 2); |
20 | // AliLog::SetClassDebugLevel("AliTRDresolution", 2); | |
705f8b0a | 21 | AliTRDresolution *res(NULL); |
1ee39b3a | 22 | |
3d2a3dff | 23 | const Char_t *suffix[]={"", "SA", "K"}; |
24 | for(Int_t itq=0; itq<1/*3*/; itq++){ | |
25 | mgr->AddTask(res = new AliTRDresolution(Form("TRDresolution%s", suffix[itq]))); | |
26 | res->SetMCdata(mgr->GetMCtruthEventHandler()); | |
27 | res->SetPostProcess(kFALSE); | |
28 | res->SetDebugLevel(0); | |
29 | res->SetNameId(suffix[itq]); | |
30 | mgr->ConnectInput(res, 0, mgr->GetCommonInputContainer()); | |
31 | mgr->ConnectInput(res, 1, ci[itq]); | |
32 | mgr->ConnectOutput(res,1, mgr->CreateContainer(res->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root")); | |
33 | ||
34 | // Create output containers for calibration tasks | |
35 | AliAnalysisDataContainer *co(NULL); | |
36 | co = mgr->CreateContainer(Form("%sCl2Trk%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); | |
37 | mgr->ConnectOutput(res, AliTRDresolution::kClToTrk, co); | |
38 | co = mgr->CreateContainer(Form("%sTrklt2Trk%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); | |
39 | mgr->ConnectOutput(res, AliTRDresolution::kTrkltToTrk, co); | |
40 | co = mgr->CreateContainer(Form("%sCl2MC%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); | |
41 | mgr->ConnectOutput(res, AliTRDresolution::kClToMC, co); | |
42 | co = mgr->CreateContainer(Form("%sTrklt2MC%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); | |
43 | mgr->ConnectOutput(res, AliTRDresolution::kTrkltToMC, co); | |
44 | ||
45 | TObjArray *coa = mgr->GetContainers(); | |
46 | // Cluster Error Parameterization | |
47 | if(TSTBIT(map, kClErrParam)){ | |
48 | AliTRDclusterResolution *taskCl(NULL); | |
49 | mgr->AddTask(taskCl = new AliTRDclusterResolution((char*)"ClErrCalibESD")); | |
50 | taskCl->SetExB(); | |
51 | taskCl->SetDebugLevel(0); | |
52 | //AliLog::SetClassDebugLevel("AliTRDclusterResolution", 5); | |
53 | ||
54 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); | |
55 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2Trk", res->GetName()))); | |
56 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root")); | |
57 | ||
58 | mgr->AddTask(taskCl = new AliTRDclusterResolution((char*)"ClErrCalibMC")); | |
59 | taskCl->SetExB(); | |
60 | taskCl->SetDebugLevel(0); | |
61 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); | |
62 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2MC", res->GetName()))); | |
63 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root")); | |
64 | } | |
1ee39b3a | 65 | } |
66 | ||
67 | // TRD alignment | |
68 | if(TSTBIT(map, kAlignment)){ | |
3d2a3dff | 69 | TObjArray *coa = mgr->GetContainers(); |
705f8b0a | 70 | AliTRDalignmentTask *taskAlign(NULL); |
71 | mgr->AddTask(taskAlign = new AliTRDalignmentTask((char*)"TRDalignment")); | |
72 | taskAlign->SetDebugLevel(0); | |
73 | //AliLog::SetClassDebugLevel("AliTRDalignmentTask", 5); | |
74 | mgr->ConnectInput(taskAlign, 0, mgr->GetCommonInputContainer()); | |
3d2a3dff | 75 | mgr->ConnectInput(taskAlign, 1, (AliAnalysisDataContainer*)coa->FindObject("TRDresolutionCl2Trk")); |
705f8b0a | 76 | mgr->ConnectOutput(taskAlign, 1, mgr->CreateContainer(Form("h%s", taskAlign->GetName()), TObjArray::Class(), AliAnalysisManager::kExchangeContainer)); |
77 | mgr->ConnectOutput(taskAlign, 2, mgr->CreateContainer(taskAlign->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", taskAlign->GetName()))); | |
1ee39b3a | 78 | } |
79 | } | |
80 |