]>
Commit | Line | Data |
---|---|---|
27eb9bff | 1 | /* |
2 | Template of calibration/filtering macro using ESD: | |
3 | - requires AliESDs.root and AliESDfriend.root | |
4 | - requires OCDB access (default set to "raw://") | |
5 | - requires run number as argument to init OCDB | |
6 | - calls LoadLibraries.C, ConfigCalibTrain.C and AddTaskTPCCalib.C macros | |
7 | - output AliESDfriends_v1.root with TPC and TRD calibration objects are created | |
8 | ||
9 | Example: | |
10 | .L $ALICE_ROOT/ANALYSIS/macros/runCalibTrain.C | |
11 | runCalibTrain("104892"); | |
12 | */ | |
13 | ||
14 | void runCalibTrain(TString runNumberString, const char *inFileName = "AliESDs.root", const char *ocdb="raw://") | |
15 | { | |
16 | // | |
17 | // macro to run TPC calibration train | |
18 | // | |
19 | AliLog::SetGlobalLogLevel(AliLog::kError); | |
20 | gROOT->Macro("LoadLibraries.C"); | |
21 | gROOT->LoadMacro("ConfigCalibTrain.C"); | |
22 | ||
23 | // detector tasks | |
24 | gROOT->LoadMacro("AddTaskTPCCalib.C"); | |
25 | gROOT->LoadMacro("AddTaskTRDCalib.C"); | |
26 | gROOT->LoadMacro("AddTOFAnalysisTaskCalibPass0.C"); | |
27 | gROOT->LoadMacro("AddTaskT0Calib.C"); | |
28 | gROOT->LoadMacro("AddTaskMeanVertexCalib.C"); | |
29 | gROOT->LoadMacro("AddTaskSDDCalib.C"); | |
30 | ||
31 | // switch off debug | |
32 | AliLog::SetClassDebugLevel("AliESDEvent",0); | |
33 | ||
34 | // steering input chain | |
35 | TChain *chain = new TChain("esdTree"); | |
36 | chain->Add(inFileName); | |
37 | ||
38 | // config calibration train | |
39 | // setting geometry and B-field from GRP | |
40 | Int_t runNumber = runNumberString.Atoi(); | |
41 | printf("runNumber from runCalibTrain = %d\n",runNumber); | |
42 | printf("ocdb from runCalibTrain = %s\n",ocdb); | |
43 | ConfigCalibTrain(runNumber, ocdb); | |
44 | ||
45 | // | |
46 | // setup analysis | |
47 | // | |
48 | AliAnalysisManager *mgr = new AliAnalysisManager("ESD to ESD", "Analysis Manager"); | |
49 | // mgr->SetDebugLevel(3); | |
50 | ||
51 | // Input | |
52 | AliESDInputHandler* inpHandler = new AliESDInputHandler(); | |
53 | inpHandler->SetReadFriends(1); | |
54 | mgr->SetInputEventHandler(inpHandler); | |
55 | ||
56 | // Output | |
57 | const char *outFile = "AliESDfriends_v1.root"; | |
58 | AliESDHandler* esdHandler = new AliESDHandler(); | |
59 | mgr->SetOutputEventHandler(esdHandler); | |
60 | esdHandler->SetOutputFileName(outFile); | |
61 | mgr->SetCommonFileName(outFile); | |
62 | // | |
63 | // Detector Tasks | |
64 | AliAnalysisTask* tTPC = AddTaskTPCCalib(runNumber); | |
65 | AliAnalysisTask* tTRD = AddTaskTRDCalib(runNumber); | |
66 | AliTOFAnalysisTaskCalibPass0 *thisTask = AddTOFAnalysisTaskCalibPass0(); | |
67 | AliAnalysisTask* tT0 = AddTaskT0Calib(runNumber); | |
68 | AliMeanVertexCalibTask *tMeanVtx = AddTaskMeanVertexCalib(); | |
69 | AliAnalysisTaskITSAlignQA *itsAlign = AddTaskSDDCalib(); | |
70 | ||
71 | // Run the analysis | |
72 | if (!mgr->InitAnalysis()) { | |
73 | printf("Analysis cannot be started, returning\n"); | |
74 | return; | |
75 | } | |
76 | ||
77 | mgr->PrintStatus(); | |
78 | mgr->StartAnalysis("local", chain); | |
79 | ||
80 | return; | |
81 | } |