]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/CalibMacros/CPass1/runCalibTrain.C
Disabling trees for alignment for LHC11 reprocessing (Ruben).
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass1 / runCalibTrain.C
CommitLineData
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 14void 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}