]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TPC/macros/RunPerformanceTask.C
bug fix and small changed in the macros
[u/mrichter/AliRoot.git] / PWG1 / TPC / macros / RunPerformanceTask.C
CommitLineData
78c8a9b8 1// Macro to run TPC performance task (locally, proof).
2//
3// By default 8 performance components are added to
4// the task. Look inside AddTaskPerformanceTPC.C
5//
6
7/*
ff7b6e14 8
78c8a9b8 9 //1. Run locally e.g.
10
11 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/LoadMyLibs.C");
12
13 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
ff7b6e14 14 TChain* chain = CreateESDChain("esds_test.txt",10, 0);
78c8a9b8 15 chain->Lookup();
16
17 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/RunPerformanceTask.C");
ff7b6e14 18 RunPerformanceTask(chain, kFALSE, kTRUE, kFALSE);
78c8a9b8 19
20 //2. Run on PROOF Lite e.g.
21
22 TProof::Open("");
23
24 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/ProofEnableAliRoot.C");
ff7b6e14 25 ProofEnableAliRoot("/u/jacek/alice/AliRoot/trunk");
78c8a9b8 26
27 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
28 TChain* chain = CreateESDChain("list_flatP_JB.txt",20, 0);
29 chain->Lookup();
30
31 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/RunPerformanceTask.C");
32 RunPerformanceTask(chain, kTRUE, kTRUE, kTRUE);
33
34
dfb7be8c 35 //3. Run only on PoD at GSI e.g.
36 TProofMgr * proofmgr = TProof::Mgr("lxialpod2.gsi.de:21001");
78c8a9b8 37 TProof * proof = proofmgr->CreateSession();
38 proof->SetParameter("PROOF_MaxSlavesPerNode", (Long_t)10000);
39
40 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/ProofEnableAliRoot.C");
dfb7be8c 41 ProofEnableAliRoot("/d/alice11/jacek/alice/x86_64/AliRoot/trunk");
78c8a9b8 42
43 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
dfb7be8c 44 TChain* chain = CreateESDChain("../input/ffprod_v4-17-Rev-19_900kPythia6D6T.list", 200, 0);
78c8a9b8 45 chain->Lookup();
46
dfb7be8c 47 //gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/RunPerformanceTask.C");
48 gROOT->LoadMacro("/d/alice11/jacek/alice/TPC/macros/RunPerformanceTask.C");
49 RunPerformanceTask(chain, kFALSE, kTRUE, kTRUE);
78c8a9b8 50
51 //4. Make final spectra and store them in the
52 // output folder and generate control pictures e.g.
53
54 TFile f("TPC.Performance.root");
55 AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceResTPCOuter");
56 compObjRes->Analyse();
57 compObjRes->GetAnalysisFolder()->ls("*");
58 // create pictures
59 compObjRes->PrintHisto(kTRUE,"PerformanceResTPCOuterQA.ps");
60 // store output QA histograms in file
61 TFile fout("PerformanceResTPCOuterQAHisto.root","recreate");
62 compObjRes->GetAnalysisFolder()->Write();
63 fout.Close();
64 f.Close();
65
66*/
67
68//_____________________________________________________________________________
69void RunPerformanceTask(TChain *chain, Bool_t bUseMCInfo=kTRUE, Bool_t bUseESDfriend=kTRUE, Bool_t bProof=kTRUE)
70{
71 if(!chain)
72 {
73 AliDebug(AliLog::kError, "ERROR: No input chain available");
74 return;
75 }
76 //
77 // Swtich off all AliInfo (too much output!)
78 //
79 AliLog::SetGlobalLogLevel(AliLog::kError);
80
81 //
82 // Create analysis manager
83 //
84 AliAnalysisManager *mgr = new AliAnalysisManager;
85 if(!mgr) {
86 Error("runTPCQA","AliAnalysisManager not set!");
87 return;
88 }
89
90 //
91 // Set ESD input handler
92 //
93 AliESDInputHandler* esdH = new AliESDInputHandler;
94 if(!esdH) {
95 Error("runTPCQA","AliESDInputHandler not created!");
96 return;
97 }
98 if(bUseESDfriend) esdH->SetActiveBranches("ESDfriend");
99 mgr->SetInputEventHandler(esdH);
100
101 //
102 // Set MC input handler
103 //
104 if(bUseMCInfo) {
105 AliMCEventHandler* mcH = new AliMCEventHandler;
106 if(!esdH) {
107 Error("runTPCQA","AliMCEventHandler not created!");
108 return;
109 }
110 mcH->SetReadTR(kTRUE);
111 mgr->SetMCtruthEventHandler(mcH);
112 }
113 //
114 // Add task to AliAnalysisManager
115 //
ff7b6e14 116 //gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceTPC.C");
117 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/AddTaskPerformanceTPCQA.C");
118 AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(bUseMCInfo,bUseESDfriend);
78c8a9b8 119 if(!tpcQA) {
120 Error("runTPCQA","TaskPerformanceTPC not created!");
121 return;
122 }
123
124 // Enable debug printouts
125 mgr->SetDebugLevel(0);
126
127 if (!mgr->InitAnalysis())
128 return;
129
130 mgr->PrintStatus();
131
132 if(bProof) mgr->StartAnalysis("proof",chain);
133 else mgr->StartAnalysis("local",chain);
134}
135