]>
Commit | Line | Data |
---|---|---|
1ee39b3a | 1 | #if ! defined (__CINT__) || defined (__MAKECINT__) |
2 | #include "TTree.h" | |
a7fa310f | 3 | #include "TError.h" |
3f19c2cd | 4 | #include "AliLog.h" |
1ee39b3a | 5 | #include "AliAnalysisManager.h" |
6 | #include "AliAnalysisDataContainer.h" | |
37097f6f | 7 | #include "TRD/AliTRDgeometry.h" |
99535225 | 8 | #include "PWG1/TRD/AliTRDpwg1Helper.h" |
d4f4bb29 | 9 | #include "PWG1/TRD/AliTRDresolution.h" |
10 | #include "PWG1/TRD/AliTRDclusterResolution.h" | |
11 | #include "PWG1/TRD/AliTRDalignmentTask.h" | |
1ee39b3a | 12 | #endif |
13 | ||
a7fa310f | 14 | void AddTRDresolution(AliAnalysisManager *mgr, Int_t map, AliAnalysisDataContainer **ci) |
1ee39b3a | 15 | { |
94b94be0 | 16 | Info("AddTRDresolution", Form("[0]=\"%s\" [1]=\"%s\" [2]=\"%s\" [3]=\"%s\"", ci[0]->GetName(), ci[1]->GetName(), ci[2]->GetName(), ci[3]->GetName())); |
17 | AliAnalysisDataContainer *evInfoContainer = ci[3]; | |
3f19c2cd | 18 | |
99535225 | 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); | |
d0967050 | 29 | // use these settings if you know what you are doing ! |
30 | //res->SetTrackRefit(); | |
31 | //res->SetPtThreshold(0.); | |
3d2a3dff | 32 | res->SetNameId(suffix[itq]); |
94b94be0 | 33 | mgr->ConnectInput(res, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container |
34 | mgr->ConnectInput(res, 1, ci[itq]); // conect track info container | |
35 | mgr->ConnectInput(res, 2, evInfoContainer); // conect event info container | |
997f86cb | 36 | mgr->ConnectOutput(res,1, mgr->CreateContainer(res->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Performance", mgr->GetCommonFileName()))); |
3d2a3dff | 37 | |
38 | // Create output containers for calibration tasks | |
39 | AliAnalysisDataContainer *co(NULL); | |
64096f2e | 40 | co = mgr->CreateContainer(Form("%sCl2Trk%s", res->GetName(), suffix[itq]), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); |
3d2a3dff | 41 | mgr->ConnectOutput(res, AliTRDresolution::kClToTrk, co); |
64096f2e | 42 | co = mgr->CreateContainer(Form("%sCl2MC%s", res->GetName(), suffix[itq]), TObjArray::Class(), AliAnalysisManager::kExchangeContainer); |
3d2a3dff | 43 | mgr->ConnectOutput(res, AliTRDresolution::kClToMC, co); |
3d2a3dff | 44 | |
45 | TObjArray *coa = mgr->GetContainers(); | |
46 | // Cluster Error Parameterization | |
99535225 | 47 | if(TESTBIT(map, AliTRDpwg1Helper::kClErrParam)){ |
3d2a3dff | 48 | AliTRDclusterResolution *taskCl(NULL); |
37097f6f | 49 | AliLog::SetClassDebugLevel("AliTRDclusterResolution", 2); |
801d4d50 | 50 | for(Int_t idet(10); idet<11/*AliTRDgeometry::kNdet*/; idet++){ |
37097f6f | 51 | mgr->AddTask(taskCl = new AliTRDclusterResolution(Form("ClErrCalib%03d", idet))); |
801d4d50 | 52 | taskCl->SetCalibrationRegion(idet); |
e9d62bd2 | 53 | taskCl->SetDebugLevel(0); |
94b94be0 | 54 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); // connect main (ESD) container |
37097f6f | 55 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2Trk%s", res->GetName(), suffix[itq]))); |
94b94be0 | 56 | mgr->ConnectInput(taskCl, 2, evInfoContainer); |
d0967050 | 57 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName()))); |
37097f6f | 58 | if(mgr->GetMCtruthEventHandler()){ |
59 | mgr->AddTask(taskCl = new AliTRDclusterResolution(Form("ClErrCalibMC%03d", idet))); | |
801d4d50 | 60 | taskCl->SetCalibrationRegion(idet); |
37097f6f | 61 | taskCl->SetDebugLevel(0); |
62 | mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer()); | |
63 | mgr->ConnectInput(taskCl, 1, (AliAnalysisDataContainer*)coa->FindObject(Form("%sCl2MC%s", res->GetName(), suffix[itq]))); | |
94b94be0 | 64 | mgr->ConnectInput(taskCl, 2, evInfoContainer); |
d0967050 | 65 | mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Calibration", mgr->GetCommonFileName()))); |
37097f6f | 66 | } |
e9d62bd2 | 67 | } |
3d2a3dff | 68 | } |
1ee39b3a | 69 | } |
70 | ||
71 | // TRD alignment | |
99535225 | 72 | if(TESTBIT(map, AliTRDpwg1Helper::kAlignment)){ |
705f8b0a | 73 | AliTRDalignmentTask *taskAlign(NULL); |
74 | mgr->AddTask(taskAlign = new AliTRDalignmentTask((char*)"TRDalignment")); | |
75 | taskAlign->SetDebugLevel(0); | |
76 | //AliLog::SetClassDebugLevel("AliTRDalignmentTask", 5); | |
77 | mgr->ConnectInput(taskAlign, 0, mgr->GetCommonInputContainer()); | |
87c9fc00 | 78 | mgr->ConnectInput(taskAlign, 1, ci[0]); |
94b94be0 | 79 | mgr->ConnectInput(taskAlign, 2, evInfoContainer); |
705f8b0a | 80 | mgr->ConnectOutput(taskAlign, 1, mgr->CreateContainer(Form("h%s", taskAlign->GetName()), TObjArray::Class(), AliAnalysisManager::kExchangeContainer)); |
d0967050 | 81 | mgr->ConnectOutput(taskAlign, 2, mgr->CreateContainer(taskAlign->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("%s:TRD_Alignment",mgr->GetCommonFileName()))); |
1ee39b3a | 82 | } |
83 | } | |
84 |