]>
Commit | Line | Data |
---|---|---|
a45764d9 | 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 | ||
40f73007 | 14 | void runCalibTrain(Int_t runNumber, const char *inFileName = "AliESDs.root", const char *ocdb="raw://") |
a45764d9 | 15 | { |
16 | // | |
17 | // macro to run TPC calibration train | |
18 | // | |
19 | AliLog::SetGlobalLogLevel(AliLog::kError); | |
cd9dc5c7 | 20 | gROOT->Macro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/LoadLibraries.C"); |
21 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/ConfigCalibTrain.C"); | |
a45764d9 | 22 | |
23 | // detector tasks | |
cd9dc5c7 | 24 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTaskTPCCalib.C"); |
25 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTaskTRDCalib.C"); | |
26 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTOFAnalysisTaskCalibPass0.C"); | |
27 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTaskT0Calib.C"); | |
28 | // gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTaskMeanVertexCalib.C"); | |
29 | gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/AddTaskSDDCalib.C"); | |
a45764d9 | 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 | |
a45764d9 | 40 | printf("runNumber from runCalibTrain = %d\n",runNumber); |
41 | printf("ocdb from runCalibTrain = %s\n",ocdb); | |
42 | ConfigCalibTrain(runNumber, ocdb); | |
43 | ||
9e160db9 | 44 | if (gROOT->LoadMacro("localOCDBaccessConfig.C")==0) { |
45 | localOCDBaccessConfig(); | |
46 | } | |
47 | ||
a45764d9 | 48 | // |
8d358369 | 49 | // check the presence of the detectors |
50 | AliCDBEntry* entry = AliCDBManager::Instance()->Get("GRP/GRP/Data"); | |
51 | AliGRPObject* grpData = dynamic_cast<AliGRPObject*>(entry->GetObject()); | |
52 | if (!grpData) {printf("Failed to get GRP data for run",runNumber); return;} | |
53 | Int_t activeDetectors = grpData->GetDetectorMask(); | |
54 | TString detStr = AliDAQ::ListOfTriggeredDetectors(activeDetectors); | |
55 | printf("Detectors in the data:\n%s\n",detStr.Data()); | |
56 | ||
a45764d9 | 57 | // setup analysis |
58 | // | |
59 | AliAnalysisManager *mgr = new AliAnalysisManager("ESD to ESD", "Analysis Manager"); | |
60 | // mgr->SetDebugLevel(3); | |
383fa54e | 61 | mgr->SetNSysInfo(50); |
62 | ||
a45764d9 | 63 | // Input |
64 | AliESDInputHandler* inpHandler = new AliESDInputHandler(); | |
65 | inpHandler->SetReadFriends(1); | |
66 | mgr->SetInputEventHandler(inpHandler); | |
67 | ||
68 | // Output | |
69 | const char *outFile = "AliESDfriends_v1.root"; | |
70 | AliESDHandler* esdHandler = new AliESDHandler(); | |
71 | mgr->SetOutputEventHandler(esdHandler); | |
72 | esdHandler->SetOutputFileName(outFile); | |
73 | mgr->SetCommonFileName(outFile); | |
74 | // | |
75 | // Detector Tasks | |
2e574c93 | 76 | // |
77 | if ( detStr.Contains("TPC")) AddTaskTPCCalib(runNumber); | |
77e04716 | 78 | if ( detStr.Contains("TRD") && detStr.Contains("TPC")) AddTaskTRDCalib(runNumber); |
00be352d | 79 | if ( detStr.Contains("TOF") && detStr.Contains("TPC")) AddTOFAnalysisTaskCalibPass0(); |
2e574c93 | 80 | if ( detStr.Contains("T0")) AddTaskT0Calib(runNumber); |
81 | //if ( detStr.Contains("ITSSPD")) tMeanVtx = AddTaskMeanVertexCalib(); | |
f28dbaea | 82 | // |
8d358369 | 83 | Bool_t okTPC = detStr.Contains("TPC"); |
f28dbaea | 84 | Bool_t useTPCcrv=kFALSE; |
90db9ad5 | 85 | Bool_t writeITSTP = kFALSE; |
8d358369 | 86 | if (!okTPC) useTPCcrv = kFALSE; |
f28dbaea | 87 | AliAnalysisTaskITSAlignQA *itsAlign = AddTaskSDDCalib(0,writeITSTP,useTPCcrv); |
ef6fa479 | 88 | if (!okTPC) itsAlign->SetUseITSstandaloneTracks(kTRUE); |
89 | if (grpData->GetL3Current()[0] < 300) itsAlign->SetMinPt(0.001); | |
8d358369 | 90 | // |
a45764d9 | 91 | // Run the analysis |
92 | if (!mgr->InitAnalysis()) { | |
93 | printf("Analysis cannot be started, returning\n"); | |
94 | return; | |
95 | } | |
96 | ||
97 | mgr->PrintStatus(); | |
98 | mgr->StartAnalysis("local", chain); | |
99 | ||
100 | return; | |
101 | } |