]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/CalibMacros/CPass1/runCalibTrain.C
Removing AddTaskXXX, LoadLibraries, ConfigCalibTrain from jdl, and taking them everyw...
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass1 / runCalibTrain.C
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("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/LoadLibraries.C");
21   gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass1/ConfigCalibTrain.C");
22
23   // detector tasks
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"); 
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   //
70   Bool_t useTPCcrv=kFALSE;
71   Bool_t writeITSTP = kTRUE;
72   AliAnalysisTaskITSAlignQA *itsAlign = AddTaskSDDCalib(0,writeITSTP,useTPCcrv);
73
74   // Run the analysis
75   if (!mgr->InitAnalysis()) {
76     printf("Analysis cannot be started, returning\n");
77     return;
78   }
79   
80   mgr->PrintStatus();
81   mgr->StartAnalysis("local", chain);
82   
83   return;
84 }