]>
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 | |
3ba3e0a4 | 19 | //AliLog::SetClassDebugLevel("AliTRDrecoTask", 2); |
20 | //AliLog::SetClassDebugLevel("AliTRDresolution", 2); | |
705f8b0a | 21 | AliTRDresolution *res(NULL); |
3d2a3dff | 22 | const Char_t *suffix[]={"", "SA", "K"}; |
23 | for(Int_t itq=0; itq<1/*3*/; itq++){ | |
24 | mgr->AddTask(res = new AliTRDresolution(Form("TRDresolution%s", suffix[itq]))); | |
25 | res->SetMCdata(mgr->GetMCtruthEventHandler()); | |
26 | res->SetPostProcess(kFALSE); | |
2589cf64 | 27 | res->SetDebugLevel(0); |
28 | //if(itq==0) res->SetSegmentationLevel(1); | |
3d2a3dff | 29 | res->SetNameId(suffix[itq]); |
30 | mgr->ConnectInput(res, 0, mgr->GetCommonInputContainer()); | |
31 | mgr->ConnectInput(res, 1, ci[itq]); | |
997f86cb | 32 | mgr->ConnectOutput(res,1, mgr->CreateContainer(res->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName()))); |
3d2a3dff | 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); | |
3d2a3dff | 38 | co = mgr->CreateContainer(Form("%sCl2MC%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); |
39 | mgr->ConnectOutput(res, AliTRDresolution::kClToMC, co); | |
83b44483 | 40 | // co = mgr->CreateContainer(Form("%sTrklt2Trk%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); |
41 | // mgr->ConnectOutput(res, AliTRDresolution::kTrkltToTrk, co); | |
42 | // co = mgr->CreateContainer(Form("%sTrklt2MC%s", res->GetName(), suffix), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); | |
43 | // mgr->ConnectOutput(res, AliTRDresolution::kTrkltToMC, co); | |
3d2a3dff | 44 | |
45 | TObjArray *coa = mgr->GetContainers(); | |
46 | // Cluster Error Parameterization | |
47 | if(TSTBIT(map, kClErrParam)){ | |
48 | AliTRDclusterResolution *taskCl(NULL); | |
2589cf64 | 49 | /* mgr->AddTask(taskCl = new AliTRDclusterResolution((char*)"ClErrCalibESD")); |
3d2a3dff | 50 | taskCl->SetExB(); |
51 | taskCl->SetDebugLevel(0); | |
52 | //AliLog::SetClassDebugLevel("AliTRDclusterResolution", 5); | |
53 | ||
54 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); | |
2589cf64 | 55 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2Trk%s", res->GetName(), suffix))); |
997f86cb | 56 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD.CalibClErrParam", mgr->GetCommonFileName())));*/ |
3d2a3dff | 57 | |
83b44483 | 58 | AliLog::SetClassDebugLevel("AliTRDclusterResolution", 5); |
3d2a3dff | 59 | mgr->AddTask(taskCl = new AliTRDclusterResolution((char*)"ClErrCalibMC")); |
60 | taskCl->SetExB(); | |
61 | taskCl->SetDebugLevel(0); | |
62 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); | |
2589cf64 | 63 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2MC%s", res->GetName(), suffix))); |
997f86cb | 64 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD.CalibClErrParam", mgr->GetCommonFileName()))); |
3d2a3dff | 65 | } |
1ee39b3a | 66 | } |
67 | ||
68 | // TRD alignment | |
69 | if(TSTBIT(map, kAlignment)){ | |
3d2a3dff | 70 | TObjArray *coa = mgr->GetContainers(); |
705f8b0a | 71 | AliTRDalignmentTask *taskAlign(NULL); |
72 | mgr->AddTask(taskAlign = new AliTRDalignmentTask((char*)"TRDalignment")); | |
73 | taskAlign->SetDebugLevel(0); | |
74 | //AliLog::SetClassDebugLevel("AliTRDalignmentTask", 5); | |
75 | mgr->ConnectInput(taskAlign, 0, mgr->GetCommonInputContainer()); | |
3d2a3dff | 76 | mgr->ConnectInput(taskAlign, 1, (AliAnalysisDataContainer*)coa->FindObject("TRDresolutionCl2Trk")); |
705f8b0a | 77 | mgr->ConnectOutput(taskAlign, 1, mgr->CreateContainer(Form("h%s", taskAlign->GetName()), TObjArray::Class(), AliAnalysisManager::kExchangeContainer)); |
997f86cb | 78 | mgr->ConnectOutput(taskAlign, 2, mgr->CreateContainer(taskAlign->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD.Calib%s",mgr->GetCommonFileName(), taskAlign->GetName()))); |
1ee39b3a | 79 | } |
80 | } | |
81 |