2 // Macro to run performance QA train
3 // locally. The TPC performance task is attached.
6 //13.10.2009 - J.Otwinowski@gsi.de
13 1. Start train macro (real data from GSI::SE). Source your own Alien environment.
15 source /u/jacek/alien/set_alien_env.sh
16 aliroot -b -q 'RunPerformanceTrainTPC.C("AliESDs.root",2,kFALSE,kTRUE,kTRUE)'
18 3. Start train macro (real data from lustre)
20 aliroot -b -q 'RunPerformanceTrainTPC.C("AliESDs.root",2,kFALSE,kTRUE,kFALSE)'
24 //_____________________________________________________________________________
25 void RunPerformanceTrainTPC(Char_t *file="esd.root", Int_t magField = 2, Bool_t bUseMCInfo=kFALSE, Bool_t bUseESDfriend=kTRUE, Bool_t bGrid=kTRUE)
31 gSystem->Setenv("alien_CLOSE_SE","ALICE::GSI::SE");
32 TGrid * alien = TGrid::Connect("alien://",0,0,"t");
33 gSystem->Setenv("alien_CLOSE_SE","ALICE::GSI::SE");
37 // Train Configuration
39 Int_t iPWG1perfTPC = 1; // Test TPC performance
40 Int_t iPWG1perfTRD = 0; // Test TRD performance
41 Int_t iPWG1perfITS = 0; // Test ITS performance
42 Int_t iPWG1perfCalo = 0; // Test Calo performance
43 Int_t iPWG1perfMuonTrig = 0; // Test Muon Trigger performance
44 Int_t iPWG1perfMuonEff = 0; // Test Muon Efficiency performance
45 Int_t iPWG1perfTOF = 0; // Test TOF-TPC matching performance
46 Int_t iPWG1perfPrimVertex = 0; // Test Primary Vertex performance
47 Int_t iPWG1v0QA = 0; // V0 algorithm QA task
52 gSystem->Load("libANALYSIS");
53 gSystem->Load("libANALYSISalice");
54 gSystem->Load("libTENDER");
55 gSystem->Load("libCORRFW");
57 gSystem->Load("libTPCcalib.so");
58 gSystem->Load("libPWG1");
60 gSystem->Load("libPHOSUtils");
61 gSystem->Load("libEMCALUtils");
62 gSystem->Load("libPWG4PartCorrBase");
63 gSystem->Load("libPWG4PartCorrDep");
65 gSystem->Load("libPWG3muon.so"); // The class is here
70 AliCDBManager *cdbManager = AliCDBManager::Instance();
71 cdbManager->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
72 cdbManager->SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd()));
73 cdbManager->SetRun(0);
74 //cdbManager->SetCacheFlag(kFALSE);
75 // initialize magnetic field from the GRP manager.
76 if(magField==0) TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 0., 0., AliMagF::k2kG));
77 if(magField==1) TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1., AliMagF::k2kG));
78 if(magField==2) TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1., AliMagF::k5kG));
80 //AliGRPManager grpMan;
81 //grpMan.ReadGRPEntry();
82 //grpMan.SetMagField();
83 //AliRunInfo *runInfo = grpMan.GetRunInfo();
88 AliGeomManager::LoadGeometry();
91 // Swtich off all AliInfo (too much output!)
93 AliLog::SetGlobalLogLevel(AliLog::kError);
96 // Create input ESD chain
99 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
100 TChain* chain = CreateESDChain(list,nFiles,fistFile);
102 Error("RunPerformanceTrain","ESD chain not created!");
106 TChain *chain = new TChain("esdTree");
108 Error("RunPerformanceTrain","ESD chain not created!");
115 // Create analysis manager
117 AliAnalysisManager *mgr = new AliAnalysisManager;
119 Error("RunPerformanceTrain","AliAnalysisManager not set!");
124 // Set ESD input handler
126 AliESDInputHandler* esdH = new AliESDInputHandler;
128 Error("RunPerformanceTrain","AliESDInputHandler not created!");
131 if(bUseESDfriend) esdH->SetActiveBranches("ESDfriend");
132 mgr->SetInputEventHandler(esdH);
136 // Set RecPoints and ESD input handler
138 AliESDInputHandlerRP* rpH = new AliESDInputHandlerRP;
140 Error("RunPerformanceTrain","AliESDInputHandlerRP not created!");
143 if(bUseESDfriend) rpH->SetActiveBranches("ESDfriend");
144 mgr->SetInputEventHandler(rpH);
148 // Set MC input handler
151 AliMCEventHandler* mcH = new AliMCEventHandler;
153 Error("RunPerformanceTrain","AliMCEventHandler not created!");
156 mcH->SetReadTR(kTRUE);
157 mgr->SetMCtruthEventHandler(mcH);
162 // Add task to AliAnalysisManager
169 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceTPC.C");
170 AliPerformanceTask *tpcQA = AddTaskPerformanceTPC(bUseMCInfo,bUseESDfriend);
172 Error("RunPerformanceTrain","AliPerformanceTask not created!");
177 Printf("RunPerformanceTrain: TPC Performance - EXCLUDED!");
183 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTrainPerformanceTRD.C");
184 if(!AddTrainPerformanceTRD(bUseMCInfo,bUseESDfriend)) {
185 Error("RunPerformanceTrain","TrainPerformanceTRD not created!");
189 Printf("RunPerformanceTrain: TRD TrainPerformanceTRD - EXCLUDED!");
195 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceITS.C");
196 AliAnalysisTaskITSTrackingCheck *itsQA = AddTaskPerformanceITS(bUseMCInfo);
198 Error("RunPerformanceTrain","AliAnalysisTaskITSTrackingCheck not created!");
203 Printf("RunPerformanceTrain: AliAnalysisTaskITSTrackingCheck - EXCLUDED!");
206 // Calorimeter Performance
209 gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskCalorimeterQA.C");
210 AliAnalysisTaskParticleCorrelation *taskCaloQA = AddTaskCalorimeterQA("ESD",bUseMCInfo,kFALSE);
212 Error("RunPerformanceTrain","AliAnalysisTaskParticleCorrelation not created!");
215 mgr->AddTask(taskCaloQA);
218 Printf("RunPerformanceTrain: AliAnalysisTaskParticleCorrelation - EXCLUDED!");
223 if(iPWG1perfMuonTrig) {
224 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskMTRchamberEfficiency.C");
225 AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency();
227 Error("RunPerformanceTrain","AliAnalysisTaskTrigChEff not created!");
230 mgr->AddTask(taskMuonTrig);
233 Printf("RunPerformanceTrain: AliAnalysisTaskTrigChEff - EXCLUDED!");
238 if(iPWG1perfMuonEff) {
242 Printf("RunPerformanceTrain: Muon Efficiency - EXCLUDED!");
251 Printf("RunPerformanceTrain: TOF - EXCLUDED!");
254 // PWG1 Primary Vertex
256 if(iPWG1perfPrimVertex) {
257 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskVertexESD.C");
258 AliAnalysisTaskVertexESD *taskPrimVertex = AddTaskVertexESD();
259 if(!taskPrimVertex) {
260 Error("RunPerformanceTrain","AliAnalysisTaskVertexESD not created!");
265 Printf("RunPerformanceTrain: AliAnalysisTaskVertexESD - EXCLUDED!");
271 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskV0QA.C");
272 AliAnalysisTaskV0QA *taskv0QA = AddTaskV0QA(bUseMCInfo);
274 Error("RunPerformanceTrain","AliAnalysisTaskV0QA not created!");
279 Printf("RunPerformanceTrain: AliAnalysisTaskV0QA - EXCLUDED!");
283 // Disable debug printouts
285 mgr->SetDebugLevel(0);
287 if (!mgr->InitAnalysis())
291 //mgr->StartAnalysis("local",chain, nEvents, firstEvent);
292 mgr->StartAnalysis("local",chain);