1 // Macro to run TPC performance task (locally, proof).
3 // By default 8 performance components are added to
4 // the task. Look inside AddTaskPerformanceTPC.C
11 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/LoadMyLibs.C");
13 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
14 TChain* chain = CreateESDChain("esds_test.txt",10, 0);
17 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/RunPerformanceTask.C");
18 RunPerformanceTask(chain, kFALSE, kTRUE, kFALSE);
20 //2. Run on PROOF Lite e.g.
24 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/ProofEnableAliRoot.C");
25 ProofEnableAliRoot("/u/jacek/alice/AliRoot/trunk");
27 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
28 TChain* chain = CreateESDChain("list_flatP_JB.txt",20, 0);
31 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/RunPerformanceTask.C");
32 RunPerformanceTask(chain, kTRUE, kTRUE, kTRUE);
35 //3. Run only on PoD at GSI e.g.
36 TProofMgr * proofmgr = TProof::Mgr("lxialpod2.gsi.de:21001");
37 TProof * proof = proofmgr->CreateSession();
38 proof->SetParameter("PROOF_MaxSlavesPerNode", (Long_t)10000);
40 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/ProofEnableAliRoot.C");
41 ProofEnableAliRoot("/d/alice11/jacek/alice/x86_64/AliRoot/trunk");
43 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
44 TChain* chain = CreateESDChain("../input/ffprod_v4-17-Rev-19_900kPythia6D6T.list", 200, 0);
47 //gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/RunPerformanceTask.C");
48 gROOT->LoadMacro("/d/alice11/jacek/alice/TPC/macros/RunPerformanceTask.C");
49 RunPerformanceTask(chain, kFALSE, kTRUE, kTRUE);
51 //4. Make final spectra and store them in the
52 // output folder and generate control pictures e.g.
54 TFile f("TPC.Performance.root");
55 AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceResTPCOuter");
56 compObjRes->Analyse();
57 compObjRes->GetAnalysisFolder()->ls("*");
59 compObjRes->PrintHisto(kTRUE,"PerformanceResTPCOuterQA.ps");
60 // store output QA histograms in file
61 TFile fout("PerformanceResTPCOuterQAHisto.root","recreate");
62 compObjRes->GetAnalysisFolder()->Write();
68 //_____________________________________________________________________________
69 void RunPerformanceTask(TChain *chain, Bool_t bUseMCInfo=kTRUE, Bool_t bUseESDfriend=kTRUE, Bool_t bProof=kTRUE)
73 AliDebug(AliLog::kError, "ERROR: No input chain available");
77 // Swtich off all AliInfo (too much output!)
79 AliLog::SetGlobalLogLevel(AliLog::kError);
82 // Create analysis manager
84 AliAnalysisManager *mgr = new AliAnalysisManager;
86 Error("runTPCQA","AliAnalysisManager not set!");
91 // Set ESD input handler
93 AliESDInputHandler* esdH = new AliESDInputHandler;
95 Error("runTPCQA","AliESDInputHandler not created!");
98 if(bUseESDfriend) esdH->SetActiveBranches("ESDfriend");
99 mgr->SetInputEventHandler(esdH);
102 // Set MC input handler
105 AliMCEventHandler* mcH = new AliMCEventHandler;
107 Error("runTPCQA","AliMCEventHandler not created!");
110 mcH->SetReadTR(kTRUE);
111 mgr->SetMCtruthEventHandler(mcH);
114 // Add task to AliAnalysisManager
116 //gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskPerformanceTPC.C");
117 gROOT->LoadMacro("$ALICE_ROOT/PWGPP/TPC/macros/AddTaskPerformanceTPCQA.C");
118 AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(bUseMCInfo,bUseESDfriend);
120 Error("runTPCQA","TaskPerformanceTPC not created!");
124 // Enable debug printouts
125 mgr->SetDebugLevel(0);
127 if (!mgr->InitAnalysis())
132 if(bProof) mgr->StartAnalysis("proof",chain);
133 else mgr->StartAnalysis("local",chain);