]>
Commit | Line | Data |
---|---|---|
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 | //_____________________________________________________________________________ | |
69 | void 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 |