]>
Commit | Line | Data |
---|---|---|
1037b1ac | 1 | /* |
2 | Simple calibration analysis | |
967eae0d | 3 | // |
4 | //0. Setup memory chcecker if you want | |
5 | // | |
3d64ddde | 6 | TMemStat *memstat = new TMemStat("new,gnubuildin"); |
967eae0d | 7 | AliSysInfo::AddCallBack(TMemStatManager::GetInstance()->fStampCallBack); |
32743ed6 | 8 | AliSysInfo::AddStamp("Start"); |
9 | ||
10 | gSystem->Load("$ROOTSYS/lib/libXrdClient.so"); | |
11 | gSystem->Load("libNetx.so"); | |
12 | ||
13 | gSystem->Setenv("alien_CLOSE_SE","ALICE::GSI::SE") | |
14 | TGrid * alien = TGrid::Connect("alien://",0,0,"t"); | |
15 | gSystem->Setenv("alien_CLOSE_SE","ALICE::GSI::SE") | |
16 | ||
1037b1ac | 17 | //1. Load needed libraries |
18 | gSystem->Load("libANALYSIS"); | |
19 | gSystem->Load("libTPCcalib"); | |
20 | // | |
21 | // Setup analysis manager | |
22 | // | |
26878333 | 23 | TString path=gSystem->pwd(); |
bb1804e9 | 24 | gROOT->Macro(Form("%s/ConfigOCDB.C\(%d\)",path->Data(),0)); |
26878333 | 25 | |
26 | .L CalibrateTPC.C | |
27 | AliAnalysisManager * mgr = ( AliAnalysisManager *)SetupCalibTask("/V6/"); | |
3d64ddde | 28 | |
1037b1ac | 29 | // |
30 | // Process data - chain | |
32743ed6 | 31 | // |
32 | //gEnv->SetValue("TFile.Recover", 0); // dont try to recover anything | |
1037b1ac | 33 | gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros"); |
ae28e92e | 34 | gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+") |
6fa23923 | 35 | AliXRDPROOFtoolkit tool; |
bb1804e9 | 36 | TChain * chain = tool.MakeChain("esd.txt","esdTree",0,200000); |
26878333 | 37 | //chain->Lookup(); |
cbc19295 | 38 | // memory |
3d64ddde | 39 | mgr->SetNSysInfo(1000); |
cbc19295 | 40 | // |
3d64ddde | 41 | mgr->SetDebugLevel(10); |
f491be13 | 42 | mgr->StartAnalysis("proof",chain); |
26878333 | 43 | //mgr->StartAnalysis("local",chain);// |
967eae0d | 44 | // delete manager |
45 | // | |
46 | delete mgr; | |
47 | AliSysInfo::AddStamp("End"); | |
48 | // | |
49 | // analyze memstat report | |
50 | // | |
51 | delete memstat; | |
3d64ddde | 52 | TMemStat mem; |
53 | mem.MakeReport(0,0,"order 0 sortstat 3 sortstamp 0 sortdeep 10 stackdeep 15 maxlength 50") | |
1037b1ac | 54 | */ |
55 | ||
3d5dfcdb | 56 | |
57 | void SetupCalibTaskTrain1(TObject * task1); | |
58 | void SetupCalibTaskTrain2(TObject * task2); | |
59 | ||
26878333 | 60 | char * prefix = "/V6/"; |
bb1804e9 | 61 | // Global parameters to set |
62 | TTimeStamp startTime(2009,8,7,0,0,0); | |
32743ed6 | 63 | TTimeStamp stopTime(2009,12,31,0,0,0); |
bb1804e9 | 64 | Int_t debugLevel = 2; |
65 | Int_t streamLevel = 20; | |
66 | ||
67 | // | |
26878333 | 68 | |
69 | TObject * SetupCalibTask(char * tprefix ="/V12/") { | |
1037b1ac | 70 | // |
71 | // | |
72 | // | |
26878333 | 73 | prefix=tprefix; |
1037b1ac | 74 | TStopwatch stopwatch; |
75 | stopwatch.Start(); | |
1037b1ac | 76 | AliAnalysisManager *mgr=new AliAnalysisManager("TestManager"); |
1037b1ac | 77 | AliESDInputHandler* esdH=new AliESDInputHandler; |
78 | esdH->SetActiveBranches("ESDfriend"); | |
79 | mgr->SetInputEventHandler(esdH); | |
3d5dfcdb | 80 | |
81 | // | |
82 | // Train 1 - to be run always on full statistic ( | |
ae28e92e | 83 | // |
3d5dfcdb | 84 | AliTPCAnalysisTaskcalib *task1=new AliTPCAnalysisTaskcalib("CalibObjectsTrain1"); |
85 | // | |
86 | SetupCalibTaskTrain1(task1); | |
ae28e92e | 87 | // |
26878333 | 88 | mgr->AddTask(task1); |
89 | AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer(); | |
1037b1ac | 90 | |
26878333 | 91 | if (!cinput1) cinput1 = mgr->CreateContainer("cchain",TChain::Class(), |
92 | AliAnalysisManager::kInputContainer); | |
1037b1ac | 93 | |
3d5dfcdb | 94 | AliAnalysisDataContainer *coutput1 =mgr->CreateContainer("TPCCalib",TObjArray::Class(), AliAnalysisManager::kOutputContainer, "CalibObjectsTrain1.root"); |
26878333 | 95 | mgr->ConnectInput(task1,0,cinput1); |
96 | mgr->ConnectOutput(task1,0,coutput1); | |
3d5dfcdb | 97 | // |
98 | // | |
99 | // | |
100 | AliTPCAnalysisTaskcalib *task2=new AliTPCAnalysisTaskcalib("CalibObjectsTrain2"); | |
101 | // | |
102 | SetupCalibTaskTrain2(task2); | |
103 | // | |
104 | mgr->AddTask(task2); | |
105 | AliAnalysisDataContainer *cinput2 = mgr->GetCommonInputContainer(); | |
106 | ||
107 | if (!cinput2) cinput2 = mgr->CreateContainer("cchain",TChain::Class(), | |
108 | AliAnalysisManager::kInputContainer); | |
109 | ||
110 | AliAnalysisDataContainer *coutput2 =mgr->CreateContainer("TPCCalib2",TObjArray::Class(), AliAnalysisManager::kOutputContainer, "CalibObjectsTrain2.root"); | |
111 | mgr->ConnectInput(task2,0,cinput2); | |
112 | mgr->ConnectOutput(task2,0,coutput2); | |
113 | ||
114 | ||
115 | ||
26878333 | 116 | // |
117 | if (!mgr->InitAnalysis()) return 0; | |
118 | mgr->PrintStatus(); | |
119 | stopwatch.Stop(); | |
120 | stopwatch.Print(); | |
121 | return mgr; | |
122 | } | |
123 | ||
bb1804e9 | 124 | void AddCalibCalib(TObject* task){ |
125 | // | |
126 | // Responsible: Marian Ivanov | |
127 | // Description: | |
128 | // calibCalib is a prefilter | |
129 | // The current OCDB entries transformation are applied on cluster, tracks are refitted | |
130 | // | |
131 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
132 | AliTPCcalibCalib *calibCalib = new AliTPCcalibCalib("calibTPC","calibTPC"); | |
133 | calibCalib->SetDebugLevel(debugLevel); | |
32743ed6 | 134 | calibCalib->SetStreamLevel(0); |
bb1804e9 | 135 | calibCalib->SetTriggerMask(-1,-1,kFALSE); //accept everything |
136 | myTask->AddJob(calibCalib); | |
137 | ||
138 | } | |
139 | void AddCalibTimeGain(TObject* task){ | |
140 | // | |
141 | // Responsible: Alexander Kalweit | |
142 | // Description: | |
143 | // Parameters to set | |
144 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
145 | AliTPCcalibTimeGain *calibTimeGain = new AliTPCcalibTimeGain("calibTimeGain","calibTimeGain", startTime.GetSec(), stopTime.GetSec(), 30*60); | |
146 | //calibTimeGain->SetLowMemoryConsumption(kTRUE); | |
147 | //calibTimeGain->SetMIP(25.); | |
8493058b | 148 | calibTimeGain->IsCosmic(kFALSE); |
bb1804e9 | 149 | calibTimeGain->SetUseCookAnalytical(kTRUE); |
150 | calibTimeGain->SetUseMax(kFALSE); | |
151 | calibTimeGain->SetDebugLevel(debugLevel); | |
152 | calibTimeGain->SetStreamLevel(streamLevel); | |
32743ed6 | 153 | calibTimeGain->SetTriggerMask(-1,-1,kTRUE); //reject laser |
bb1804e9 | 154 | myTask->AddJob(calibTimeGain); |
155 | } | |
156 | ||
157 | void AddCalibTime(TObject* task){ | |
158 | // | |
159 | // Responsible: Dag Larsen | |
160 | // Description: | |
161 | // | |
162 | // | |
163 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
164 | AliTPCcalibTime *calibTime = new AliTPCcalibTime("calibTime","calibTime", startTime.GetSec(), stopTime.GetSec(), 20*60); | |
165 | calibTime->SetDebugLevel(debugLevel); | |
166 | calibTime->SetStreamLevel(streamLevel); | |
167 | calibTime->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
168 | myTask->AddJob(calibTime); | |
169 | } | |
170 | ||
171 | void AddCalibTrigger(TObject* task){ | |
172 | // | |
173 | // Responsible: Marian Ivanov | |
174 | // Description: | |
175 | // Export trees with summary information for the trigger efficieciency and purity study | |
176 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
177 | AliTPCcalibTrigger *calibTrigger = new AliTPCcalibTrigger(); | |
178 | calibTrigger->SetStreamLevel(20); | |
179 | calibTrigger->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
180 | myTask->AddJob(calibTrigger); | |
181 | } | |
182 | ||
183 | void AddCalibCosmic(TObject* task){ | |
184 | // | |
185 | // Responsible: Marian Ivanov | |
186 | // Description: | |
187 | // Histogram residuals and pulls of the track parameters in bins of track parameters | |
188 | // | |
189 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
190 | AliTPCcalibCosmic *calibCosmic = new AliTPCcalibCosmic("cosmicTPC","cosmicTPC"); | |
191 | calibCosmic->SetDebugLevel(debugLevel); | |
192 | calibCosmic->SetStreamLevel(streamLevel); | |
193 | calibCosmic->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
194 | myTask->AddJob(calibCosmic); | |
195 | } | |
196 | ||
32743ed6 | 197 | void AddCalibLaser(TObject* task){ |
198 | // | |
199 | // Responsible: Marian Ivanov | |
200 | // Description: | |
201 | // | |
202 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
203 | AliTPCcalibLaser *calibLaser = new AliTPCcalibLaser("laserTPC","laserTPC"); | |
204 | calibLaser->SetDebugLevel(debugLevel); | |
205 | calibLaser->SetStreamLevel(streamLevel); | |
206 | calibLaser->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
207 | myTask->AddJob(calibLaser); | |
208 | } | |
209 | ||
210 | ||
211 | void AddCalibAlign(TObject* task){ | |
212 | // | |
213 | // Responsible: Marian Ivanov | |
214 | // Description: | |
215 | // | |
216 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
217 | AliTPCcalibAlign *calibAlign = new AliTPCcalibAlign("alignTPC","Alignment of the TPC sectors"); | |
218 | calibAlign->SetDebugLevel(debugLevel); | |
219 | calibAlign->SetStreamLevel(streamLevel); | |
220 | calibAlign->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
221 | myTask->AddJob(calibAlign); | |
222 | } | |
223 | ||
224 | ||
225 | ||
226 | ||
227 | ||
228 | ||
bb1804e9 | 229 | void AddCalibPID(TObject* task){ |
230 | // | |
231 | // Responsible: Marian Ivanov, Alexander Kalweit | |
232 | // Description: | |
233 | // | |
234 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
235 | AliTPCcalibPID *calibPID06 = new AliTPCcalibPID("calibPID06","calibPID06"); | |
236 | AliTPCcalibPID *calibPID08 = new AliTPCcalibPID("calibPID08","calibPID08"); | |
237 | AliTPCcalibPID *calibPID10 = new AliTPCcalibPID("calibPID10","calibPID10"); | |
32743ed6 | 238 | calibPID06->SetTriggerMask(-1,-1,kTRUE); //reject laser |
239 | calibPID08->SetTriggerMask(-1,-1,kTRUE); //reject laser | |
240 | calibPID10->SetTriggerMask(-1,-1,kTRUE); //reject laser | |
bb1804e9 | 241 | calibPID06->SetUpperTrunc(0.6); |
242 | calibPID08->SetUpperTrunc(0.8); | |
243 | calibPID10->SetUpperTrunc(0.99); | |
244 | // | |
245 | calibPID06->SetUsePosNorm(2); | |
246 | calibPID08->SetUsePosNorm(2); | |
247 | calibPID10->SetUsePosNorm(2); | |
248 | // | |
249 | calibPID06->SetUseShapeNorm(kFALSE); | |
250 | calibPID08->SetUseShapeNorm(kFALSE); | |
251 | calibPID10->SetUseShapeNorm(kFALSE); | |
252 | // | |
253 | calibPID06->SetPadNorm(0); | |
254 | calibPID08->SetPadNorm(0); | |
255 | calibPID10->SetPadNorm(0); | |
32743ed6 | 256 | calibPID06->SetMIPvalue(50); |
257 | calibPID08->SetMIPvalue(50); | |
258 | calibPID08->SetMIPvalue(50); | |
bb1804e9 | 259 | // |
260 | // | |
261 | // | |
262 | calibPID06->SetDebugLevel(debugLevel); | |
263 | calibPID06->SetStreamLevel(streamLevel); | |
264 | calibPID06->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
265 | calibPID08->SetDebugLevel(debugLevel); | |
266 | calibPID08->SetStreamLevel(streamLevel); | |
267 | calibPID08->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
268 | calibPID10->SetDebugLevel(debugLevel); | |
269 | calibPID10->SetStreamLevel(streamLevel); | |
270 | calibPID10->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
271 | myTask->AddJob(calibPID06); | |
272 | myTask->AddJob(calibPID08); | |
273 | myTask->AddJob(calibPID10); | |
274 | } | |
275 | ||
26878333 | 276 | |
32743ed6 | 277 | |
278 | ||
bb1804e9 | 279 | // |
280 | // | |
26878333 | 281 | |
3d5dfcdb | 282 | void SetupCalibTaskTrain1(TObject* task){ |
bb1804e9 | 283 | // |
284 | // | |
285 | // | |
286 | AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam(); | |
287 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
288 | AddCalibCalib(task); | |
289 | AddCalibTimeGain(task); | |
290 | AddCalibTime(task); | |
291 | AddCalibCosmic(task); | |
32743ed6 | 292 | //AddCalibTrigger(task); |
bb1804e9 | 293 | // |
294 | TString path=gSystem->pwd(); | |
295 | path+=prefix; | |
296 | gSystem->mkdir(path); | |
297 | myTask->SetDebugOuputhPath(path.Data()); | |
298 | ||
299 | } | |
300 | ||
3d5dfcdb | 301 | void SetupCalibTaskTrain2(TObject* task){ |
302 | // | |
303 | // | |
304 | // | |
305 | AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam(); | |
306 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*) task; | |
307 | // AddCalibCalib(task); | |
32743ed6 | 308 | //AddCalibAlign(task); |
309 | AddCalibLaser(task); | |
3d5dfcdb | 310 | // AddCalibTracks() |
311 | AddCalibPID(task); | |
312 | // | |
313 | TString path=gSystem->pwd(); | |
314 | path+=prefix; | |
315 | gSystem->mkdir(path); | |
316 | myTask->SetDebugOuputhPath(path.Data()); | |
317 | } | |
318 | ||
bb1804e9 | 319 | |
320 | ||
321 | ||
322 | ||
323 | // | |
324 | // backup of old setups - to be removed soon | |
325 | // | |
326 | ||
327 | ||
328 | ||
329 | ||
330 | void SetupCalibTask(TObject* task1){ | |
26878333 | 331 | // |
332 | // Configure calibration task | |
333 | // | |
bb1804e9 | 334 | AliTPCAnalysisTaskcalib* myTask = (AliTPCAnalysisTaskcalib*)task1; |
26878333 | 335 | AliTPCClusterParam * clusterParam = AliTPCcalibDB::Instance()->GetClusterParam(); |
bb1804e9 | 336 | AliTPCcalibTracksCuts *cuts = new AliTPCcalibTracksCuts(30, 0.4, 5, 0.13, 0.018); |
967eae0d | 337 | // |
ae28e92e | 338 | AliTPCcalibTracks *calibTracks = new AliTPCcalibTracks("calibTracks", "Resolution calibration object for tracks", clusterParam, cuts); |
78abca19 | 339 | |
340 | ||
967eae0d | 341 | AliTPCcalibTracksGain *calibTracksGain = new AliTPCcalibTracksGain("calibTracksGain","Gain calibration using tracks",cuts); |
342 | AliTPCcalibAlign *calibAlign = new AliTPCcalibAlign("alignTPC","Alignment of the TPC sectors"); | |
3d64ddde | 343 | AliTPCcalibAlign *calibAlignAll = new AliTPCcalibAlign("alignTPCAll","Alignment of the TPC sectors- All"); |
752287d5 | 344 | AliTPCcalibLaser *calibLaser = new AliTPCcalibLaser("laserTPC","laserTPC"); |
345 | AliTPCcalibCosmic *calibCosmic = new AliTPCcalibCosmic("cosmicTPC","cosmicTPC"); | |
bb1804e9 | 346 | AliTPCcalibTrigger *calibTrigger = new AliTPCcalibTrigger(); |
78abca19 | 347 | AliTPCcalibCalib *calibCalib = new AliTPCcalibCalib("calibTPC","calibTPC"); |
bb1804e9 | 348 | AliTPCcalibTime *calibTime = new AliTPCcalibTime("calibTime","calibTime", startTime.GetSec(), stopTime.GetSec(), 20*60); |
3d64ddde | 349 | |
350 | AliTPCcalibUnlinearity *calibUnlinearity = new AliTPCcalibUnlinearity("calibUnlinearity","calibUnlinearity"); | |
351 | AliTPCcalibUnlinearity *calibUnlinearityAll = new AliTPCcalibUnlinearity("calibUnlinearityAll","calibUnlinearityAll"); | |
26878333 | 352 | // |
353 | // | |
bb1804e9 | 354 | AliTPCcalibPID *calibPID06 = new AliTPCcalibPID("calibPID06","calibPID06"); |
355 | AliTPCcalibPID *calibPID08 = new AliTPCcalibPID("calibPID08","calibPID08"); | |
356 | AliTPCcalibPID *calibPID10 = new AliTPCcalibPID("calibPID10","calibPID10"); | |
357 | calibPID06->SetUpperTrunc(0.6); | |
358 | calibPID08->SetUpperTrunc(0.8); | |
359 | calibPID10->SetUpperTrunc(0.99); | |
26878333 | 360 | // |
bb1804e9 | 361 | calibPID06->SetUsePosNorm(2); |
362 | calibPID08->SetUsePosNorm(2); | |
363 | calibPID10->SetUsePosNorm(2); | |
26878333 | 364 | // |
bb1804e9 | 365 | calibPID06->SetUseShapeNorm(kFALSE); |
366 | calibPID08->SetUseShapeNorm(kFALSE); | |
367 | calibPID10->SetUseShapeNorm(kFALSE); | |
26878333 | 368 | // |
bb1804e9 | 369 | calibPID06->SetPadNorm(0); |
370 | calibPID08->SetPadNorm(0); | |
371 | calibPID10->SetPadNorm(0); | |
372 | calibPID06->SetMIPvalue(50*3); | |
373 | calibPID08->SetMIPvalue(50*3); | |
374 | calibPID08->SetMIPvalue(50*3); | |
26878333 | 375 | // |
26878333 | 376 | // |
f491be13 | 377 | // |
bb1804e9 | 378 | calibPID06->SetStreamLevel(2); |
379 | calibPID06->SetDebugLevel(2); | |
380 | calibPID08->SetStreamLevel(2); | |
381 | calibPID08->SetDebugLevel(2); | |
382 | calibPID10->SetStreamLevel(2); | |
383 | calibPID10->SetDebugLevel(2); | |
384 | ||
3d64ddde | 385 | calibTracks->SetDebugLevel(2); |
f491be13 | 386 | calibTracks->SetStreamLevel(20); |
387 | calibTracksGain->SetDebugLevel(2); | |
388 | calibTracksGain->SetStreamLevel(20); | |
967eae0d | 389 | calibAlign->SetDebugLevel(20); |
f491be13 | 390 | calibAlign->SetStreamLevel(10); |
3d64ddde | 391 | calibAlignAll->SetDebugLevel(20); |
392 | calibAlignAll->SetStreamLevel(10); | |
26878333 | 393 | calibLaser->SetDebugLevel(20); |
394 | calibLaser->SetStreamLevel(20); | |
752287d5 | 395 | calibCosmic->SetDebugLevel(20); |
26878333 | 396 | calibCosmic->SetStreamLevel(20); |
397 | calibCalib->SetDebugLevel(20); | |
398 | calibCalib->SetStreamLevel(20); | |
bb1804e9 | 399 | //calibTime->SetDebugLevel(20); |
400 | calibTrigger->SetStreamLevel(20); | |
3d64ddde | 401 | // |
402 | calibUnlinearity->SetDebugLevel(20); | |
403 | calibUnlinearity->SetStreamLevel(10); | |
404 | calibUnlinearityAll->SetDebugLevel(20); | |
405 | calibUnlinearityAll->SetStreamLevel(10); | |
406 | ||
26878333 | 407 | // calibCalib->SetTriggerMask(-1,-1,kFALSE); //accept everything |
bb1804e9 | 408 | calibTrigger->SetTriggerMask(-1,-1,kFALSE); //accept everything |
26878333 | 409 | calibCalib->SetTriggerMask(-1,-1,kTRUE); //accept everything - except laser |
3d64ddde | 410 | calibTracks->SetTriggerMask(-1,16,kTRUE); //reject laser trigger, accept everything else |
411 | calibTracksGain->SetTriggerMask(-1,16,kTRUE); //reject laser trigger, accept everything else | |
412 | calibAlign->SetTriggerMask(-1,-1,kTRUE); //accept everything | |
413 | calibAlignAll->SetTriggerMask(-1,-1,kFALSE); //accept everything | |
414 | calibLaser->SetTriggerMask(-1,-1,kFALSE); //accept only laser trigger | |
415 | calibCosmic->SetTriggerMask(-1,-1,kTRUE); //reject laser trigger, accept everything else | |
bb1804e9 | 416 | //calibTime->SetTriggerMask(-1,-1,kFALSE); //accept everything |
3d64ddde | 417 | calibUnlinearity->SetTriggerMask(-1,-1,kTRUE); //reject laser |
418 | calibUnlinearityAll->SetTriggerMask(-1,-1,kFALSE); //non reject laser | |
419 | ||
752287d5 | 420 | |
967eae0d | 421 | // |
ae28e92e | 422 | // ---*---*-----*-*-----*----------*--- |
1037b1ac | 423 | // ADD CALIB JOBS HERE!!!!!!!!!!!!!!!! |
bb1804e9 | 424 | //myTask->AddJob(calibCalib); |
425 | //myTask->AddJob(calibAlign); | |
426 | //myTask->AddJob(calibAlignAll); | |
427 | //myTask->AddJob(calibLaser); | |
428 | //myTask->AddJob(calibCosmic); | |
429 | myTask->AddJob(calibTrigger); | |
430 | //myTask->AddJob(calibTime); | |
431 | //myTask->AddJob(calibPID06); | |
432 | //myTask->AddJob(calibPID08); | |
433 | //myTask->AddJob(calibPID10); | |
434 | // myTask->AddJob(calibTracksGain); | |
435 | //myTask->AddJob(calibTracks); | |
436 | //myTask->AddJob(calibUnlinearity); | |
437 | //myTask->AddJob(calibUnlinearityAll); | |
438 | // myTask->AddJob(new AliTPCcalibV0); | |
1037b1ac | 439 | // -*----*----*---*-*------*-------**-- |
440 | // -------*--*---------*-----*-------*- | |
78abca19 | 441 | TString path=gSystem->pwd(); |
442 | path+=prefix; | |
443 | gSystem->mkdir(path); | |
bb1804e9 | 444 | myTask->SetDebugOuputhPath(path.Data()); |
445 | ||
78abca19 | 446 | |
bb1804e9 | 447 | // |
448 | // backup important parameters | |
449 | // | |
450 | AliTPCClusterParam * paramCl = AliTPCcalibDB::Instance()->GetClusterParam(); | |
451 | TFile f("ClusterParam.root","recreate"); | |
452 | paramCl->Write(); | |
453 | f.Close(); | |
1037b1ac | 454 | } |
78abca19 | 455 | |
456 | ||
3d64ddde | 457 | |
458 | ||
bb1804e9 | 459 | void CalibrateTPC(Int_t first, Int_t last, Int_t run, const char*closeSE="ALICE::GSI::SE"){ |
32743ed6 | 460 | gSystem->Load("$ROOTSYS/lib/libXrdClient.so"); |
461 | gSystem->Load("libNetx.so"); | |
3d64ddde | 462 | gSystem->Load("libANALYSIS"); |
463 | gSystem->Load("libTPCcalib"); | |
32743ed6 | 464 | //gEnv->SetValue("TFile.Recover", 0); // dont try to recover anything |
bb1804e9 | 465 | gSystem->Setenv("alien_CLOSE_SE",closeSE); |
3d5dfcdb | 466 | TGrid * alien = TGrid::Connect("alien://",0,0,"t"); |
32743ed6 | 467 | gSystem->Setenv("alien_CLOSE_SE",closeSE); |
468 | ||
ac6d8ff3 | 469 | gSystem->Exec("touch nonOK"); |
3d5dfcdb | 470 | gSystem->Exec("rm -f isOK"); |
bb1804e9 | 471 | gROOT->Macro(Form("ConfigOCDB.C\(%d\)",run)); |
3d64ddde | 472 | // |
473 | // Setup analysis manager | |
474 | // | |
475 | //.L $ALICE_ROOT/TPC/macros/CalibrateTPC.C | |
476 | AliAnalysisManager * mgr = (AliAnalysisManager*)SetupCalibTask("/V3/"); | |
477 | // | |
478 | // Process data - chain | |
479 | // | |
480 | gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros"); | |
481 | gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+"); | |
482 | AliXRDPROOFtoolkit tool; | |
32743ed6 | 483 | TChain * chain = tool.MakeChain("esd.txt","esdTree",0,last-first,first); |
3d64ddde | 484 | chain->Lookup(); |
485 | // memory | |
32743ed6 | 486 | mgr->SetNSysInfo(100); |
3d64ddde | 487 | // |
32743ed6 | 488 | mgr->SetDebugLevel(0); |
3d64ddde | 489 | mgr->StartAnalysis("local",chain); |
3d5dfcdb | 490 | gSystem->Exec("touch isOK"); |
ac6d8ff3 | 491 | gSystem->Exec("rm -f nonOK"); |
32743ed6 | 492 | printf("Kill ourself\n"); |
493 | printf("Kill ourself\n"); | |
494 | printf("Kill ourself\n"); | |
495 | printf("Kill ourself\n"); | |
496 | gSystem->Exec(Form("kill -9 %d",gSystem->GetPid())); | |
78abca19 | 497 | } |