]>
Commit | Line | Data |
---|---|---|
457c0713 | 1 | /// \file AddTaskTPCCalib.C |
2 | /// \brief This macros setup the TPC calibration task | |
54b8f8e1 | 3 | |
4 | Int_t debugLevel = 2; | |
5 | Int_t streamLevel = 20; | |
6 | TTimeStamp startTime(2009,8,7,0,0,0); | |
7 | TTimeStamp stopTime(2009,12,31,0,0,0); | |
8 | char * prefix = "/V6/"; | |
9 | ||
10 | void ConfigOCDB(Int_t crun); | |
11 | ||
12 | AliAnalysisTask *AddTaskTPCCalib(Int_t runNumber) | |
13 | { | |
14 | gSystem->Load("libTPCcalib"); | |
15 | // pointer to the analysis manager | |
16 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
17 | if (!mgr) { | |
18 | Error("AddTaskTPCCalib", "No analysis manager to connect to."); | |
19 | return NULL; | |
20 | } | |
21 | ||
22 | // check the input handler | |
23 | if (!mgr->GetInputEventHandler()) { | |
24 | ::Error("AddTask", "This task requires an input event handler"); | |
25 | return NULL; | |
26 | } | |
27 | ConfigOCDB(runNumber); | |
28 | AliTPCAnalysisTaskcalib *task1=new AliTPCAnalysisTaskcalib("CalibObjectsTrain1"); | |
29 | // | |
30 | SetupCalibTaskTrain1(task1); | |
31 | mgr->AddTask(task1); | |
32 | AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer(); | |
33 | ||
34 | if (!cinput1) cinput1 = mgr->CreateContainer("cchain",TChain::Class(), | |
35 | AliAnalysisManager::kInputContainer); | |
36 | ||
37 | AliAnalysisDataContainer *coutput1 =mgr->CreateContainer("TPCCalib",TObjArray::Class(), AliAnalysisManager::kOutputContainer, "AliESDfriends_v1.root"); | |
38 | mgr->ConnectInput(task1,0,cinput1); | |
39 | mgr->ConnectOutput(task1,0,coutput1); | |
40 | return task1; | |
41 | } | |
42 | ||
43 | ||
44 | ||
45 | ||
46 | void AddCalibCalib(TObject* task){ | |
457c0713 | 47 | /// Responsible: Marian Ivanov |
48 | /// Description: | |
49 | /// calibCalib is a prefilter | |
50 | /// The current OCDB entries transformation are applied on cluster, tracks are refitted | |
51 | ||
54b8f8e1 | 52 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; |
53 | AliTPCcalibCalib *calibCalib = new AliTPCcalibCalib("calibTPC","calibTPC"); | |
54 | calibCalib->SetDebugLevel(debugLevel); | |
55 | calibCalib->SetStreamLevel(streamLevel); | |
56 | calibCalib->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
57 | myTask->AddJob(calibCalib); | |
58 | ||
59 | } | |
60 | void AddCalibTimeGain(TObject* task){ | |
457c0713 | 61 | /// Responsible: Alexander Kalweit |
62 | /// Description: | |
63 | /// Parameters to set | |
64 | ||
54b8f8e1 | 65 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; |
66 | AliTPCcalibTimeGain *calibTimeGain = new AliTPCcalibTimeGain("calibTimeGain","calibTimeGain", startTime.GetSec(), stopTime.GetSec(), 30*60); | |
67 | //calibTimeGain->SetLowMemoryConsumption(kTRUE); | |
68 | //calibTimeGain->SetMIP(25.); | |
69 | calibTimeGain->SetIsCosmic(kFALSE); | |
70 | calibTimeGain->SetUseCookAnalytical(kTRUE); | |
71 | calibTimeGain->SetUseMax(kFALSE); | |
72 | calibTimeGain->SetDebugLevel(debugLevel); | |
73 | calibTimeGain->SetStreamLevel(streamLevel); | |
74 | calibTimeGain->SetTriggerMask(-1,-1,kTRUE); //reject laser | |
75 | myTask->AddJob(calibTimeGain); | |
76 | } | |
77 | ||
78 | void AddCalibTime(TObject* task){ | |
457c0713 | 79 | /// Responsible: Dag Larsen |
80 | /// Description: | |
81 | ||
54b8f8e1 | 82 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; |
83 | AliTPCcalibTime *calibTime = new AliTPCcalibTime("calibTime","calibTime", startTime.GetSec(), stopTime.GetSec(), 20*60); | |
84 | calibTime->SetDebugLevel(debugLevel); | |
85 | calibTime->SetStreamLevel(streamLevel); | |
86 | calibTime->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
87 | myTask->AddJob(calibTime); | |
88 | } | |
89 | ||
90 | ||
91 | void SetupCalibTaskTrain1(TObject* task){ | |
457c0713 | 92 | /// |
93 | ||
54b8f8e1 | 94 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; |
95 | //AddCalibCalib(task); | |
96 | AddCalibTimeGain(task); | |
97 | AddCalibTime(task); | |
98 | // | |
99 | TString path=gSystem->pwd(); | |
100 | path+=prefix; | |
101 | gSystem->mkdir(path); | |
102 | myTask->SetDebugOuputhPath(path.Data()); | |
103 | ||
104 | } | |
105 | ||
106 | ||
107 | ||
108 | void ConfigOCDB(Int_t run){ | |
457c0713 | 109 | /// |
110 | ||
54b8f8e1 | 111 | printf("SETUP OCBD for TPC\n"); |
112 | printf("SETUP OCBD for TPC\n"); | |
113 | printf("SETUP OCBD for TPC\n"); | |
114 | // | |
115 | // | |
116 | AliTPCParam *param= AliTPCcalibDB::Instance()->GetParameters(); | |
117 | param->ReadGeoMatrices(); | |
118 | // | |
119 | ||
120 | AliTPCTransform *transform = AliTPCcalibDB::Instance()->GetTransform() ; | |
121 | AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetCosmicTestParam(kTRUE); | |
122 | // | |
123 | transform->SetCurrentRecoParam(tpcRecoParam); | |
124 | tpcRecoParam->SetUseGainCorrectionTime(0); | |
125 | tpcRecoParam->SetUseRPHICorrection(kTRUE); | |
126 | tpcRecoParam->SetUseTOFCorrection(kFALSE); | |
127 | // | |
128 | tpcRecoParam->SetUseDriftCorrectionTime(1); | |
129 | tpcRecoParam->SetUseDriftCorrectionGY(1); | |
130 | // | |
131 | tpcRecoParam->SetUseRadialCorrection(kFALSE); | |
132 | tpcRecoParam->SetUseQuadrantAlignment(kTRUE); | |
133 | // | |
134 | tpcRecoParam->SetUseSectorAlignment(kFALSE); | |
135 | tpcRecoParam->SetUseGainCorrectionTime(kFALSE); | |
136 | tpcRecoParam->SetUseFieldCorrection(kFALSE); | |
137 | tpcRecoParam->SetUseExBCorrection(kTRUE); | |
138 | AliTPCcalibDB::Instance()->SetRun(run); | |
139 | } | |
140 | ||
141 | ||
142 | ||
143 |