1 |
/** |
2 |
* TriggerScan |
3 |
* Author Nagni |
4 |
* Modified by G. De Rosa |
5 |
* Version 1.2 |
6 |
* Date 27 Apr 2006 |
7 |
* |
8 |
* Description: |
9 |
* Describe the performance of the Trigger. |
10 |
* |
11 |
* Parameters: |
12 |
* TString base - the path to the root directory for the specific Pamela unpack session |
13 |
* TString outDirectory - the path where to save the output image (Default = base) |
14 |
* TString format - the format which will be used for save the produced images (Default = "ps") |
15 |
*/ |
16 |
|
17 |
#include <TString.h> |
18 |
#include <TObjString.h> |
19 |
#include <TTree.h> |
20 |
#include <TBranch.h> |
21 |
#include <TGraph.h> |
22 |
#include <TStyle.h> |
23 |
#include <TH2S.h> |
24 |
#include <TPaveText.h> |
25 |
#include <TCanvas.h> |
26 |
#include <TLatex.h> |
27 |
#include <TGraph.h> |
28 |
#include <physics/trigger/TriggerEvent.h> |
29 |
#include <EventHeader.h> |
30 |
#include <PscuHeader.h> |
31 |
#include <iostream> |
32 |
|
33 |
using namespace std; |
34 |
|
35 |
char bit(int decimal, char pos) |
36 |
{ |
37 |
return( (decimal>>pos)%2 ); |
38 |
} |
39 |
|
40 |
void TriggerScan(TString base, TString outDirectory = "", TString format = ""){ |
41 |
TLatex *t=new TLatex(); |
42 |
|
43 |
std::stringstream sst; |
44 |
if (outDirectory == "") outDirectory = base.Data(); |
45 |
TString filename = ((TObjString*)base.Tokenize('/')->Last())->GetString(); |
46 |
|
47 |
TFile *file =new TFile(base.Data()) ; |
48 |
if (!file){ |
49 |
printf("file not Found \n"); |
50 |
return; |
51 |
} |
52 |
|
53 |
TTree *PhysicsTr = (TTree*)file->Get("Physics"); |
54 |
TBranch *TrigBr = PhysicsTr->GetBranch("Trigger"); |
55 |
TBranch *HeadBr = PhysicsTr->GetBranch("Header"); |
56 |
|
57 |
pamela::EventHeader *eh = 0; |
58 |
pamela::PscuHeader *ph = 0; |
59 |
|
60 |
pamela::trigger::TriggerEvent *triggerEvent = 0; |
61 |
|
62 |
PhysicsTr->SetBranchAddress("Trigger", &triggerEvent); |
63 |
PhysicsTr->SetBranchAddress("Header", &eh); |
64 |
|
65 |
Long64_t nevents = TrigBr->GetEntries(); |
66 |
if (nevents <= 0) { |
67 |
printf("nevents = %llu \n", nevents); |
68 |
file->Close(); |
69 |
return; |
70 |
} |
71 |
|
72 |
/* Histo DEF */ |
73 |
|
74 |
/* |
75 |
* PTM Plane Counters histograms |
76 |
*/ |
77 |
TCanvas *PMTCanvas = new TCanvas("PMTCanvas","PMTCanvas", 1280, 1024); |
78 |
PMTCanvas->Divide(1,3); |
79 |
//---------- |
80 |
sst.str(""); |
81 |
sst << "Histogram of PMT Plane Counters (S11 AND S12) based on " << base.Data(); |
82 |
TH1S *pmt1Histo = new TH1S("PMT1Histo", sst.str().c_str(), 20, 0., 300.); |
83 |
//---------- |
84 |
sst.str(""); |
85 |
sst << "Histogram of PMT Plane Counters (S21 AND S22) based on " << base.Data(); |
86 |
TH1S *pmt2Histo = new TH1S("PMT2Histo", sst.str().c_str(), 20, 0., 300.); |
87 |
//---------- |
88 |
sst.str(""); |
89 |
sst << "Histogram of PMT Plane Counters (S31 AND S32) based on " << base.Data(); |
90 |
TH1S *pmt3Histo = new TH1S("PMT3Histo", sst.str().c_str(), 20, 0., 300.); |
91 |
|
92 |
/* |
93 |
* Trigger Rate Counters histograms |
94 |
*/ |
95 |
TCanvas *TrigRate1Canvas = new TCanvas("TrigRate1Canvas","TrigRate1Canvas", 1280, 1024); |
96 |
TrigRate1Canvas->Divide(1,3); |
97 |
|
98 |
TCanvas *TrigRate2Canvas = new TCanvas("TrigRate2Canvas","TrigRate2Canvas", 1280, 1024); |
99 |
TrigRate2Canvas->Divide(1,3); |
100 |
//---------- |
101 |
sst.str(""); |
102 |
sst << "Histogram of Trigger Rate Counters (S11 OR S12) AND (S21 OR S22) AND (S31 OR S32) based on " << base.Data(); |
103 |
TH1S *trRate1Histo = new TH1S("trRate1Histo", sst.str().c_str(), 20, 0., 5.); |
104 |
//---------- |
105 |
sst.str(""); |
106 |
sst << "Histogram of Trigger Rate Counters (S11 AND S12) AND (S21 AND S22) AND (S31 AND S32) based on " << base.Data(); |
107 |
TH1S *trRate2Histo = new TH1S("trRate2Histo", sst.str().c_str(), 20, 0., 5.); |
108 |
//--------- |
109 |
sst.str(""); |
110 |
sst << "Histogram of Trigger Rate Counters (S21 OR S22) AND (S31 OR S32) based on " << base.Data(); |
111 |
TH1S *trRate3Histo = new TH1S("trRate3Histo", sst.str().c_str(), 20, 0., 5.); |
112 |
//--------- |
113 |
sst.str(""); |
114 |
sst << "Histogram of Trigger Rate Counters (S21 AND S22) AND (S31 AND S32) based on " << base.Data(); |
115 |
TH1S *trRate4Histo = new TH1S("trRate4Histo", sst.str().c_str(), 20, 0., 5.); |
116 |
//--------- |
117 |
sst.str(""); |
118 |
sst << "Histogram of Trigger Rate Counters S12 AND (S21 OR S22) based on " << base.Data(); |
119 |
TH1S *trRate5Histo = new TH1S("trRate5Histo", sst.str().c_str(), 20, 0., 5.); |
120 |
//--------- |
121 |
sst.str(""); |
122 |
sst << "Histogram of Trigger Rate Counters (S11 OR S12) AND (S31 OR S32) based on " << base.Data(); |
123 |
TH1S *trRate6Histo = new TH1S("trRate6Histo", sst.str().c_str(), 20, 0., 5.); |
124 |
|
125 |
|
126 |
/* |
127 |
* S4 and Calorimeter Counters histograms |
128 |
*/ |
129 |
TCanvas *S4CalCanvas = new TCanvas("S4CalCanvas","S4CalCanvas", 1280, 1024); |
130 |
S4CalCanvas->Divide(1,2); |
131 |
//---------- |
132 |
sst.str(""); |
133 |
sst << "S4 Counters based on " << base.Data(); |
134 |
TH1S *S4Cal1Histo = new TH1S("S4Cal1Histo", sst.str().c_str(), 20, 0, 20); |
135 |
//---------- |
136 |
sst.str(""); |
137 |
sst << "Calorimeter Counters based on " << base.Data(); |
138 |
TH1S *S4Cal2Histo = new TH1S("S4Cal2Histo", sst.str().c_str(), 20, 0, 20); |
139 |
|
140 |
/* |
141 |
* Pattern Trigger Rate histograms |
142 |
*/ |
143 |
|
144 |
TCanvas *PatternTrig0 = new TCanvas("PatternTrig0","PatternTrig0", 1280, 1024); |
145 |
//---------- |
146 |
sst.str(""); |
147 |
sst << "Histogram of Calo pattern trigger " << base.Data(); |
148 |
TH1S *PatternTrig0Histo = new TH1S("PatternTrig0Histo", sst.str().c_str(), 4, 0, 4); |
149 |
|
150 |
TCanvas *PatternTrig1 = new TCanvas("PatternTrig1","PatternTrig1", 1280, 1024); |
151 |
//---------- |
152 |
sst.str(""); |
153 |
sst << "Histogram of S4 pattern trigger " << base.Data(); |
154 |
TH1S *PatternTrig1Histo = new TH1S("PatternTrig1Histo", sst.str().c_str(), 3, 0, 3); |
155 |
|
156 |
|
157 |
TCanvas *PatternTrig2 = new TCanvas("PatternTrig2","PatternTrig2", 1280, 1024); |
158 |
//---------- |
159 |
sst.str(""); |
160 |
sst << "Histogram of S3 pattern trigger " << base.Data(); |
161 |
TH1S *PatternTrig2Histo = new TH1S("PatternTrig2Histo", sst.str().c_str(), 16, 0, 16); |
162 |
|
163 |
|
164 |
TCanvas *PatternTrig3 = new TCanvas("PatternTrig3","PatternTrig3", 1280, 1024); |
165 |
//---------- |
166 |
sst.str(""); |
167 |
sst << "Histogram of S2 pattern trigger " << base.Data(); |
168 |
TH1S *PatternTrig3Histo = new TH1S("PatternTrig3Histo", sst.str().c_str(), 16, 0, 16); |
169 |
|
170 |
|
171 |
TCanvas *PatternTrig4 = new TCanvas("PatternTrig4","PatternTrig4", 1280, 1024); |
172 |
//---------- |
173 |
sst.str(""); |
174 |
sst << "Histogram of S12 pattern trigger " << base.Data(); |
175 |
TH1S *PatternTrig4Histo = new TH1S("PatternTrig4Histo", sst.str().c_str(), 16, 0, 16); |
176 |
|
177 |
|
178 |
TCanvas *PatternTrig5 = new TCanvas("PatternTrig5","PatternTrig5", 1280, 1024); |
179 |
//---------- |
180 |
sst.str(""); |
181 |
sst << "Histogram of S11 pattern trigger " << base.Data(); |
182 |
TH1S *PatternTrig5Histo = new TH1S("PatternTrig5Histo", sst.str().c_str(), 16, 0, 16); |
183 |
|
184 |
|
185 |
|
186 |
int i = 0; |
187 |
Int_t size = nevents; |
188 |
|
189 |
Double_t *time = new Double_t[size]; |
190 |
Double_t *evCounter = new Double_t[size]; |
191 |
Double_t *deadTime = new Double_t[size]; |
192 |
Double_t *liveTime = new Double_t[size]; |
193 |
|
194 |
while(i < nevents){ |
195 |
HeadBr->GetEntry(i); |
196 |
TrigBr->GetEntry(i); |
197 |
|
198 |
/* time vector fill*/ |
199 |
ph = eh->GetPscuHeader(); |
200 |
time[i] = ph->GetOrbitalTime(); |
201 |
|
202 |
/* eventCounter vector fill*/ |
203 |
evCounter[i] = triggerEvent->evcount; |
204 |
|
205 |
/* live time vector fill*/ |
206 |
liveTime[i] = 0.16 * triggerEvent->dltime[0]; |
207 |
|
208 |
/* dead time vector fill*/ |
209 |
deadTime[i] = 0.01 * triggerEvent->dltime[1]; |
210 |
|
211 |
gStyle->SetStatY(0.85); |
212 |
|
213 |
/* PMT Plane Counters fill*/ |
214 |
|
215 |
pmt1Histo->Fill((1/0.06)*triggerEvent->pmtpl[0]); |
216 |
pmt2Histo->Fill((1/0.06)*triggerEvent->pmtpl[1]); |
217 |
pmt3Histo->Fill((1/0.06)*triggerEvent->pmtpl[2]); |
218 |
|
219 |
/* Trigger Rate Counters fill*/ |
220 |
trRate1Histo->Fill((1/4.)*triggerEvent->trigrate[0]); |
221 |
trRate2Histo->Fill((1/4.)*triggerEvent->trigrate[1]); |
222 |
trRate3Histo->Fill((1/4.)*triggerEvent->trigrate[2]); |
223 |
trRate4Histo->Fill((1/4.)*triggerEvent->trigrate[3]); |
224 |
trRate5Histo->Fill((1/4.)*triggerEvent->trigrate[4]); |
225 |
trRate6Histo->Fill((1/4.)*triggerEvent->trigrate[5]); |
226 |
|
227 |
/* S4 and Calorimeter Counters fill*/ |
228 |
S4Cal1Histo->Fill(triggerEvent->s4calcount[0]); |
229 |
S4Cal2Histo->Fill(triggerEvent->s4calcount[1]); |
230 |
|
231 |
int trte0=(int)triggerEvent->patterntrig[0]; |
232 |
|
233 |
PatternTrig0Histo->AddBinContent(1,bit(trte0,0)); |
234 |
PatternTrig0Histo->AddBinContent(2,bit(trte0,1)); |
235 |
PatternTrig0Histo->AddBinContent(3,bit(trte0,2)); |
236 |
PatternTrig0Histo->AddBinContent(4,bit(trte0,3)); |
237 |
|
238 |
int trte1=(int)triggerEvent->patterntrig[1]; |
239 |
|
240 |
PatternTrig1Histo->AddBinContent(1,bit(trte1,0)); |
241 |
PatternTrig1Histo->AddBinContent(2,bit(trte1,1)); |
242 |
PatternTrig1Histo->AddBinContent(3,bit(trte1,2)); |
243 |
|
244 |
|
245 |
int trte2=(int)triggerEvent->patterntrig[2]; |
246 |
|
247 |
PatternTrig2Histo->AddBinContent(1,bit(trte2,0)); |
248 |
PatternTrig2Histo->AddBinContent(2,bit(trte2,1)); |
249 |
PatternTrig2Histo->AddBinContent(3,bit(trte2,2)); |
250 |
PatternTrig2Histo->AddBinContent(4,bit(trte2,3)); |
251 |
PatternTrig2Histo->AddBinContent(5,bit(trte2,4)); |
252 |
PatternTrig2Histo->AddBinContent(6,bit(trte2,5)); |
253 |
PatternTrig2Histo->AddBinContent(7,bit(trte2,6)); |
254 |
PatternTrig2Histo->AddBinContent(8,bit(trte2,7)); |
255 |
PatternTrig2Histo->AddBinContent(9,bit(trte2,8)); |
256 |
PatternTrig2Histo->AddBinContent(10,bit(trte2,9)); |
257 |
PatternTrig2Histo->AddBinContent(11,bit(trte2,10)); |
258 |
PatternTrig2Histo->AddBinContent(12,bit(trte2,11)); |
259 |
PatternTrig2Histo->AddBinContent(13,bit(trte2,12)); |
260 |
PatternTrig2Histo->AddBinContent(14,bit(trte2,13)); |
261 |
PatternTrig2Histo->AddBinContent(15,bit(trte2,14)); |
262 |
PatternTrig2Histo->AddBinContent(16,bit(trte2,15)); |
263 |
|
264 |
int trte3=(int)triggerEvent->patterntrig[3]; |
265 |
|
266 |
|
267 |
PatternTrig3Histo->AddBinContent(1,bit(trte3,0)); |
268 |
PatternTrig3Histo->AddBinContent(2,bit(trte3,1)); |
269 |
PatternTrig3Histo->AddBinContent(3,bit(trte3,2)); |
270 |
PatternTrig3Histo->AddBinContent(4,bit(trte3,3)); |
271 |
PatternTrig3Histo->AddBinContent(5,bit(trte3,4)); |
272 |
PatternTrig3Histo->AddBinContent(6,bit(trte3,5)); |
273 |
PatternTrig3Histo->AddBinContent(7,bit(trte3,6)); |
274 |
PatternTrig3Histo->AddBinContent(8,bit(trte3,7)); |
275 |
PatternTrig3Histo->AddBinContent(9,bit(trte3,8)); |
276 |
PatternTrig3Histo->AddBinContent(10,bit(trte3,9)); |
277 |
PatternTrig3Histo->AddBinContent(11,bit(trte3,10)); |
278 |
PatternTrig3Histo->AddBinContent(12,bit(trte3,11)); |
279 |
PatternTrig3Histo->AddBinContent(13,bit(trte3,12)); |
280 |
PatternTrig3Histo->AddBinContent(14,bit(trte3,13)); |
281 |
PatternTrig3Histo->AddBinContent(15,bit(trte3,14)); |
282 |
PatternTrig3Histo->AddBinContent(16,bit(trte3,15)); |
283 |
|
284 |
int trte4=(int)triggerEvent->patterntrig[4]; |
285 |
|
286 |
|
287 |
PatternTrig4Histo->AddBinContent(1,bit(trte4,0)); |
288 |
PatternTrig4Histo->AddBinContent(2,bit(trte4,1)); |
289 |
PatternTrig4Histo->AddBinContent(3,bit(trte4,2)); |
290 |
PatternTrig4Histo->AddBinContent(4,bit(trte4,3)); |
291 |
PatternTrig4Histo->AddBinContent(5,bit(trte4,4)); |
292 |
PatternTrig4Histo->AddBinContent(6,bit(trte4,5)); |
293 |
PatternTrig4Histo->AddBinContent(7,bit(trte4,6)); |
294 |
PatternTrig4Histo->AddBinContent(8,bit(trte4,7)); |
295 |
PatternTrig4Histo->AddBinContent(9,bit(trte4,8)); |
296 |
PatternTrig4Histo->AddBinContent(10,bit(trte4,9)); |
297 |
PatternTrig4Histo->AddBinContent(11,bit(trte4,10)); |
298 |
PatternTrig4Histo->AddBinContent(12,bit(trte4,11)); |
299 |
PatternTrig4Histo->AddBinContent(13,bit(trte4,12)); |
300 |
PatternTrig4Histo->AddBinContent(14,bit(trte4,13)); |
301 |
PatternTrig4Histo->AddBinContent(15,bit(trte4,14)); |
302 |
PatternTrig4Histo->AddBinContent(16,bit(trte4,15)); |
303 |
|
304 |
int trte5=(int)triggerEvent->patterntrig[5]; |
305 |
|
306 |
|
307 |
PatternTrig5Histo->AddBinContent(1,bit(trte5,0)); |
308 |
PatternTrig5Histo->AddBinContent(2,bit(trte5,1)); |
309 |
PatternTrig5Histo->AddBinContent(3,bit(trte5,2)); |
310 |
PatternTrig5Histo->AddBinContent(4,bit(trte5,3)); |
311 |
PatternTrig5Histo->AddBinContent(5,bit(trte5,4)); |
312 |
PatternTrig5Histo->AddBinContent(6,bit(trte5,5)); |
313 |
PatternTrig5Histo->AddBinContent(7,bit(trte5,6)); |
314 |
PatternTrig5Histo->AddBinContent(8,bit(trte5,7)); |
315 |
PatternTrig5Histo->AddBinContent(9,bit(trte5,8)); |
316 |
PatternTrig5Histo->AddBinContent(10,bit(trte5,9)); |
317 |
PatternTrig5Histo->AddBinContent(11,bit(trte5,10)); |
318 |
PatternTrig5Histo->AddBinContent(12,bit(trte5,11)); |
319 |
PatternTrig5Histo->AddBinContent(13,bit(trte5,12)); |
320 |
PatternTrig5Histo->AddBinContent(14,bit(trte5,13)); |
321 |
PatternTrig5Histo->AddBinContent(15,bit(trte5,14)); |
322 |
PatternTrig5Histo->AddBinContent(16,bit(trte5,15)); |
323 |
|
324 |
i++; |
325 |
} |
326 |
|
327 |
|
328 |
gStyle->SetOptStat(111111); |
329 |
gStyle->SetStatH(0.15); |
330 |
gStyle->SetStatW(0.15); |
331 |
|
332 |
|
333 |
/* |
334 |
* Event Counter graph |
335 |
*/ |
336 |
TCanvas *EvCounterCanvas = new TCanvas("EvCounterCanvas","EvCounterCanvas", 1280, 1024); |
337 |
//---------- |
338 |
sst.str(""); |
339 |
sst << "Event Counter"; |
340 |
TGraph *evCounterGraph = new TGraph(nevents, time, evCounter); |
341 |
evCounterGraph->SetTitle(sst.str().c_str()); |
342 |
evCounterGraph->Draw("APL"); |
343 |
|
344 |
/* |
345 |
* Dead and Live time graphs |
346 |
*/ |
347 |
TCanvas *DeadLiveCanvas = new TCanvas("DeadLiveCanvas","DeadLiveCanvas", 1280, 1024); |
348 |
DeadLiveCanvas->Divide(1,2); |
349 |
//---------- |
350 |
sst.str(""); |
351 |
sst << "Graph of Dead Time vs OBT based on " << base.Data(); |
352 |
TGraph *DeadTimeGraph = new TGraph(nevents, time, deadTime); |
353 |
DeadLiveCanvas->cd(1); |
354 |
sst.str(""); |
355 |
sst << "Dead Time"; |
356 |
DeadTimeGraph->SetTitle(sst.str().c_str()); |
357 |
DeadTimeGraph->SetFillColor(2); |
358 |
DeadTimeGraph->GetXaxis()->SetTitle("OnBoardTime"); |
359 |
DeadTimeGraph->GetXaxis()->CenterTitle(); |
360 |
DeadTimeGraph->GetYaxis()->SetTitle("DeadTime(ms)"); |
361 |
DeadTimeGraph->GetYaxis()->CenterTitle(); |
362 |
DeadTimeGraph->SetMaximum(100); |
363 |
DeadTimeGraph->Draw("APL"); |
364 |
//---------- |
365 |
sst.str(""); |
366 |
sst << "Graph of Live Time vs OBT based on " << base.Data(); |
367 |
TGraph *LiveTimeGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)liveTime); |
368 |
DeadLiveCanvas->cd(2); |
369 |
sst.str(""); |
370 |
sst << "Live Time"; |
371 |
LiveTimeGraph->SetTitle(sst.str().c_str()); |
372 |
LiveTimeGraph->SetFillColor(2); |
373 |
LiveTimeGraph->GetXaxis()->SetTitle("OnBoardTime"); |
374 |
LiveTimeGraph->GetXaxis()->CenterTitle(); |
375 |
LiveTimeGraph->GetYaxis()->SetTitle("LiveTime(ms)"); |
376 |
LiveTimeGraph->GetYaxis()->CenterTitle(); |
377 |
LiveTimeGraph->Draw("APL"); |
378 |
|
379 |
/* PMT Plane Counters draw*/ |
380 |
|
381 |
PMTCanvas->cd(1); |
382 |
pmt1Histo->GetXaxis()->SetTitle("Hz"); |
383 |
pmt1Histo->Draw(); |
384 |
PMTCanvas->cd(2); |
385 |
pmt2Histo->GetXaxis()->SetTitle("Hz"); |
386 |
pmt2Histo->Draw(); |
387 |
PMTCanvas->cd(3); |
388 |
pmt3Histo->GetXaxis()->SetTitle("Hz"); |
389 |
pmt3Histo->Draw(); |
390 |
|
391 |
/* Trigger Rate Counters draw*/ |
392 |
TrigRate1Canvas->cd(1); |
393 |
trRate1Histo->GetXaxis()->SetTitle("Hz"); |
394 |
trRate1Histo->Draw(); |
395 |
TrigRate1Canvas->cd(2); |
396 |
trRate2Histo->GetXaxis()->SetTitle("Hz"); |
397 |
trRate2Histo->Draw(); |
398 |
TrigRate1Canvas->cd(3); |
399 |
trRate3Histo->GetXaxis()->SetTitle("Hz"); |
400 |
trRate3Histo->Draw(); |
401 |
TrigRate2Canvas->cd(1); |
402 |
trRate4Histo->GetXaxis()->SetTitle("Hz"); |
403 |
trRate4Histo->Draw(); |
404 |
TrigRate2Canvas->cd(2); |
405 |
trRate5Histo->GetXaxis()->SetTitle("Hz"); |
406 |
trRate5Histo->Draw(); |
407 |
TrigRate2Canvas->cd(3); |
408 |
trRate6Histo->GetXaxis()->SetTitle("Hz"); |
409 |
trRate6Histo->Draw(); |
410 |
|
411 |
/* S4 and Calorimeter Counters draw*/ |
412 |
S4CalCanvas->cd(1); |
413 |
S4Cal1Histo->GetXaxis()->SetTitle("Hz"); |
414 |
S4Cal1Histo->Draw(); |
415 |
S4CalCanvas->cd(2); |
416 |
S4Cal2Histo->GetXaxis()->SetTitle("Hz"); |
417 |
S4Cal2Histo->Draw(); |
418 |
|
419 |
/* Pattern Trigger draw*/ |
420 |
|
421 |
gStyle->SetOptStat(1101); |
422 |
|
423 |
PatternTrig5->cd(); |
424 |
PatternTrig5Histo->Draw(""); |
425 |
|
426 |
PatternTrig4->cd(); |
427 |
PatternTrig4Histo->Draw(""); |
428 |
|
429 |
PatternTrig3->cd(); |
430 |
PatternTrig3Histo->Draw(""); |
431 |
|
432 |
PatternTrig2->cd(); |
433 |
PatternTrig2Histo->Draw(""); |
434 |
|
435 |
PatternTrig0->cd(); |
436 |
PatternTrig0Histo->Draw(""); |
437 |
|
438 |
PatternTrig1->cd(); |
439 |
PatternTrig1Histo->Draw(""); |
440 |
|
441 |
gStyle->SetOptStat(1111); |
442 |
gStyle->SetStatH(0.3); |
443 |
gStyle->SetStatW(0.3); |
444 |
|
445 |
TCanvas *RatePMT1 = new TCanvas("RatePMT1", "Rate PMT S11A", 1); |
446 |
RatePMT1->Divide (3,3); |
447 |
//---------- |
448 |
RatePMT1->cd(1); |
449 |
PhysicsTr->Draw("pmtcount1[0]"); |
450 |
t=new TLatex(); |
451 |
t->SetTextFont(32); |
452 |
t->SetTextColor(1); |
453 |
t->SetTextAlign(12); |
454 |
t->SetTextSize(0.12); |
455 |
t->DrawLatex(5.,20.,"S111A"); |
456 |
//---------- |
457 |
RatePMT1->cd (2); |
458 |
PhysicsTr->Draw("pmtcount1[1]"); |
459 |
t=new TLatex(); |
460 |
t->SetTextFont(32); |
461 |
t->SetTextColor(1); |
462 |
t->SetTextAlign(12); |
463 |
t->SetTextSize(0.12); |
464 |
t->DrawLatex(5.,20.,"S112A"); |
465 |
//---------- |
466 |
RatePMT1->cd (3); |
467 |
PhysicsTr->Draw("pmtcount1[2]"); |
468 |
t=new TLatex(); |
469 |
t->SetTextFont(32); |
470 |
t->SetTextColor(1); |
471 |
t->SetTextAlign(12); |
472 |
t->SetTextSize(0.12); |
473 |
t->DrawLatex(5.,20.,"S113A"); |
474 |
//---------- |
475 |
RatePMT1->cd(4); |
476 |
PhysicsTr->Draw("pmtcount1[3]"); |
477 |
t=new TLatex(); |
478 |
t->SetTextFont(32); |
479 |
t->SetTextColor(1); |
480 |
t->SetTextAlign(12); |
481 |
t->SetTextSize(0.12); |
482 |
t->DrawLatex(5.,20.,"S114A"); |
483 |
//---------- |
484 |
RatePMT1->cd(5); |
485 |
PhysicsTr->Draw("pmtcount1[4]"); |
486 |
t=new TLatex(); |
487 |
t->SetTextFont(32); |
488 |
t->SetTextColor(1); |
489 |
t->SetTextAlign(12); |
490 |
t->SetTextSize(0.12); |
491 |
t->DrawLatex(5.,20.,"S115A"); |
492 |
//---------- |
493 |
RatePMT1->cd(6); |
494 |
PhysicsTr->Draw("pmtcount1[5]"); |
495 |
t=new TLatex(); |
496 |
t->SetTextFont(32); |
497 |
t->SetTextColor(1); |
498 |
t->SetTextAlign(12); |
499 |
t->SetTextSize(0.12); |
500 |
t->DrawLatex(5.,20.,"S116A"); |
501 |
//---------- |
502 |
RatePMT1->cd(7); |
503 |
PhysicsTr->Draw("pmtcount1[6]"); |
504 |
t=new TLatex(); |
505 |
t->SetTextFont(32); |
506 |
t->SetTextColor(1); |
507 |
t->SetTextAlign(12); |
508 |
t->SetTextSize(0.12); |
509 |
t->DrawLatex(5.,20.,"S117A"); |
510 |
//---------- |
511 |
RatePMT1->cd(8); |
512 |
PhysicsTr->Draw("pmtcount1[7]"); |
513 |
t=new TLatex(); |
514 |
t->SetTextFont(32); |
515 |
t->SetTextColor(1); |
516 |
t->SetTextAlign(12); |
517 |
t->SetTextSize(0.12); |
518 |
t->DrawLatex(5.,20.,"S118A"); |
519 |
|
520 |
TCanvas *RatePMT2 = new TCanvas("RatePMT2", "Rate PMT S11B", 1); |
521 |
RatePMT2->Divide (3,3); |
522 |
//---------- |
523 |
RatePMT2->cd(1); |
524 |
PhysicsTr-> Draw("pmtcount1[8]"); |
525 |
t=new TLatex(); |
526 |
t->SetTextFont(32); |
527 |
t->SetTextColor(1); |
528 |
t->SetTextAlign(12); |
529 |
t->SetTextSize(0.12); |
530 |
t->DrawLatex(5.,20.,"S111B"); |
531 |
//---------- |
532 |
RatePMT2->cd(2); |
533 |
PhysicsTr->Draw("pmtcount1[9]"); |
534 |
t=new TLatex(); |
535 |
t->SetTextFont(32); |
536 |
t->SetTextColor(1); |
537 |
t->SetTextAlign(12); |
538 |
t->SetTextSize(0.12); |
539 |
t->DrawLatex(5.,20.,"S112B"); |
540 |
//---------- |
541 |
RatePMT2->cd(3); |
542 |
PhysicsTr->Draw("pmtcount1[10]"); |
543 |
t=new TLatex(); |
544 |
t->SetTextFont(32); |
545 |
t->SetTextColor(1); |
546 |
t->SetTextAlign(12); |
547 |
t->SetTextSize(0.12); |
548 |
t->DrawLatex(5.,20.,"S113B"); |
549 |
//---------- |
550 |
RatePMT2->cd(4); |
551 |
PhysicsTr->Draw("pmtcount1[11]"); |
552 |
t=new TLatex(); |
553 |
t->SetTextFont(32); |
554 |
t->SetTextColor(1); |
555 |
t->SetTextAlign(12); |
556 |
t->SetTextSize(0.12); |
557 |
t->DrawLatex(5.,20.,"S114B"); |
558 |
//---------- |
559 |
RatePMT2->cd(5); |
560 |
PhysicsTr-> Draw("pmtcount1[12]"); |
561 |
t=new TLatex(); |
562 |
t->SetTextFont(32); |
563 |
t->SetTextColor(1); |
564 |
t->SetTextAlign(12); |
565 |
t->SetTextSize(0.12); |
566 |
t->DrawLatex(5.,20.,"S115B"); |
567 |
//---------- |
568 |
RatePMT2->cd(6); |
569 |
PhysicsTr-> Draw("pmtcount1[13]"); |
570 |
t=new TLatex(); |
571 |
t->SetTextFont(32); |
572 |
t->SetTextColor(1); |
573 |
t->SetTextAlign(12); |
574 |
t->SetTextSize(0.12); |
575 |
t->DrawLatex(5.,20.,"S116B"); |
576 |
//---------- |
577 |
RatePMT2->cd(7); |
578 |
PhysicsTr-> Draw("pmtcount1[14]"); |
579 |
t=new TLatex(); |
580 |
t->SetTextFont(32); |
581 |
t->SetTextColor(1); |
582 |
t->SetTextAlign(12); |
583 |
t->SetTextSize(0.12); |
584 |
t->DrawLatex(5.,20.,"S117B"); |
585 |
//---------- |
586 |
RatePMT2->cd(8); |
587 |
PhysicsTr->Draw("pmtcount1[15]"); |
588 |
t=new TLatex(); |
589 |
t->SetTextFont(32); |
590 |
t->SetTextColor(1); |
591 |
t->SetTextAlign(12); |
592 |
t->SetTextSize(0.12); |
593 |
t->DrawLatex(5.,20.,"S118B"); |
594 |
|
595 |
TCanvas *RatePMT3 = new TCanvas("RatePMT3", "Rate PMT S12", 1); |
596 |
RatePMT3->Divide (3,4); |
597 |
//---------- |
598 |
RatePMT3->cd(1); |
599 |
PhysicsTr-> Draw("pmtcount1[16]"); |
600 |
t=new TLatex(); |
601 |
t->SetTextFont(32); |
602 |
t->SetTextColor(1); |
603 |
t->SetTextAlign(12); |
604 |
t->SetTextSize(0.12); |
605 |
t->DrawLatex(5.,20.,"S121A"); |
606 |
//---------- |
607 |
RatePMT3->cd(2); |
608 |
PhysicsTr-> Draw("pmtcount1[17]"); |
609 |
t=new TLatex(); |
610 |
t->SetTextFont(32); |
611 |
t->SetTextColor(1); |
612 |
t->SetTextAlign(12); |
613 |
t->SetTextSize(0.12); |
614 |
t->DrawLatex(5.,20.,"S122A"); |
615 |
//---------- |
616 |
RatePMT3->cd (3); |
617 |
PhysicsTr-> Draw("pmtcount1[18]"); |
618 |
t=new TLatex(); |
619 |
t->SetTextFont(32); |
620 |
t->SetTextColor(1); |
621 |
t->SetTextAlign(12); |
622 |
t->SetTextSize(0.12); |
623 |
t->DrawLatex(5.,20.,"S123A"); |
624 |
//---------- |
625 |
RatePMT3->cd(4); |
626 |
PhysicsTr->Draw("pmtcount1[19]"); |
627 |
t=new TLatex(); |
628 |
t->SetTextFont(32); |
629 |
t->SetTextColor(1); |
630 |
t->SetTextAlign(12); |
631 |
t->SetTextSize(0.12); |
632 |
t->DrawLatex(5.,20.,"S124A"); |
633 |
//---------- |
634 |
RatePMT3->cd(5); |
635 |
PhysicsTr-> Draw("pmtcount1[20]"); |
636 |
t=new TLatex(); |
637 |
t->SetTextFont(32); |
638 |
t->SetTextColor(1); |
639 |
t->SetTextAlign(12); |
640 |
t->SetTextSize(0.12); |
641 |
t->DrawLatex(5.,20.,"S125A"); |
642 |
//---------- |
643 |
RatePMT3->cd(6); |
644 |
PhysicsTr-> Draw("pmtcount1[21]"); |
645 |
t=new TLatex(); |
646 |
t->SetTextFont(32); |
647 |
t->SetTextColor(1); |
648 |
t->SetTextAlign(12); |
649 |
t->SetTextSize(0.12); |
650 |
t->DrawLatex(5.,20.,"S126A"); |
651 |
//---------- |
652 |
RatePMT3->cd(7); |
653 |
PhysicsTr->Draw("pmtcount1[22]"); |
654 |
t=new TLatex(); |
655 |
t->SetTextFont(32); |
656 |
t->SetTextColor(1); |
657 |
t->SetTextAlign(12); |
658 |
t->SetTextSize(0.12); |
659 |
t->DrawLatex(5.,20.,"S121B"); |
660 |
//---------- |
661 |
RatePMT3->cd(8); |
662 |
PhysicsTr-> Draw("pmtcount1[23]"); |
663 |
t=new TLatex(); |
664 |
t->SetTextFont(32); |
665 |
t->SetTextColor(1); |
666 |
t->SetTextAlign(12); |
667 |
t->SetTextSize(0.12); |
668 |
t->DrawLatex(5.,20.,"S122B"); |
669 |
//---------- |
670 |
RatePMT3->cd (9); |
671 |
PhysicsTr->Draw("pmtcount2[0]"); |
672 |
t=new TLatex(); |
673 |
t->SetTextFont(32); |
674 |
t->SetTextColor(1); |
675 |
t->SetTextAlign(12); |
676 |
t->SetTextSize(0.12); |
677 |
t->DrawLatex(5.,20.,"S123B"); |
678 |
//---------- |
679 |
RatePMT3->cd (10); |
680 |
PhysicsTr->Draw("pmtcount2[1]"); |
681 |
t=new TLatex(); |
682 |
t->SetTextFont(32); |
683 |
t->SetTextColor(1); |
684 |
t->SetTextAlign(12); |
685 |
t->SetTextSize(0.12); |
686 |
t->DrawLatex(5.,20.,"S124B"); |
687 |
//---------- |
688 |
RatePMT3->cd (11); |
689 |
PhysicsTr->Draw("pmtcount2[2]"); |
690 |
t=new TLatex(); |
691 |
t->SetTextFont(32); |
692 |
t->SetTextColor(1); |
693 |
t->SetTextAlign(12); |
694 |
t->SetTextSize(0.12); |
695 |
t->DrawLatex(5.,20.,"S125B"); |
696 |
//---------- |
697 |
RatePMT3->cd (12); |
698 |
PhysicsTr->Draw("pmtcount2[3]"); |
699 |
t=new TLatex(); |
700 |
t->SetTextFont(32); |
701 |
t->SetTextColor(1); |
702 |
t->SetTextAlign(12); |
703 |
t->SetTextSize(0.12); |
704 |
t->DrawLatex(5.,20.,"S126B"); |
705 |
|
706 |
TCanvas *RatePMT4 = new TCanvas("RatePMT4", "Rate PMT S2", 1); |
707 |
RatePMT4->Divide (3,3); |
708 |
//---------- |
709 |
RatePMT4->cd (1); |
710 |
PhysicsTr-> Draw("pmtcount2[4]"); |
711 |
t=new TLatex(); |
712 |
t->SetTextFont(32); |
713 |
t->SetTextColor(1); |
714 |
t->SetTextAlign(12); |
715 |
t->SetTextSize(0.12); |
716 |
t->DrawLatex(5.,20.,"S211A"); |
717 |
//---------- |
718 |
RatePMT4->cd (2); |
719 |
PhysicsTr-> Draw("pmtcount2[5]"); |
720 |
t=new TLatex(); |
721 |
t->SetTextFont(32); |
722 |
t->SetTextColor(1); |
723 |
t->SetTextAlign(12); |
724 |
t->SetTextSize(0.12); |
725 |
t->DrawLatex(5.,20.,"S212A"); |
726 |
//---------- |
727 |
RatePMT4->cd (3); |
728 |
PhysicsTr-> Draw("pmtcount2[6]"); |
729 |
t=new TLatex(); |
730 |
t->SetTextFont(32); |
731 |
t->SetTextColor(1); |
732 |
t->SetTextAlign(12); |
733 |
t->SetTextSize(0.12); |
734 |
t->DrawLatex(5.,20.,"S211B"); |
735 |
//---------- |
736 |
RatePMT4->cd (4); |
737 |
PhysicsTr-> Draw("pmtcount2[7]"); |
738 |
t=new TLatex(); |
739 |
t->SetTextFont(32); |
740 |
t->SetTextColor(1); |
741 |
t->SetTextAlign(12); |
742 |
t->SetTextSize(0.12); |
743 |
t->DrawLatex(5.,20.,"S212B"); |
744 |
//---------- |
745 |
RatePMT4->cd (5); |
746 |
PhysicsTr-> Draw("pmtcount2[8]"); |
747 |
t=new TLatex(); |
748 |
t->SetTextFont(32); |
749 |
t->SetTextColor(1); |
750 |
t->SetTextAlign(12); |
751 |
t->SetTextSize(0.12); |
752 |
t->DrawLatex(5.,20.,"S221A"); |
753 |
//---------- |
754 |
RatePMT4->cd (6); |
755 |
PhysicsTr-> Draw("pmtcount2[9]"); |
756 |
t=new TLatex(); |
757 |
t->SetTextFont(32); |
758 |
t->SetTextColor(1); |
759 |
t->SetTextAlign(12); |
760 |
t->SetTextSize(0.12); |
761 |
t->DrawLatex(5.,20.,"S222A"); |
762 |
//---------- |
763 |
RatePMT4->cd (7); |
764 |
PhysicsTr-> Draw("pmtcount2[10]"); |
765 |
t=new TLatex(); |
766 |
t->SetTextFont(32); |
767 |
t->SetTextColor(1); |
768 |
t->SetTextAlign(12); |
769 |
t->SetTextSize(0.12); |
770 |
t->DrawLatex(5.,20.,"S221B"); |
771 |
//---------- |
772 |
RatePMT4->cd (8); |
773 |
PhysicsTr->Draw("pmtcount2[11]"); |
774 |
t=new TLatex(); |
775 |
t->SetTextFont(32); |
776 |
t->SetTextColor(1); |
777 |
t->SetTextAlign(12); |
778 |
t->SetTextSize(0.12); |
779 |
t->DrawLatex(5.,20.,"S222B"); |
780 |
|
781 |
TCanvas *RatePMT5 = new TCanvas("RatePMT5", "Rate PMT S3", 1); |
782 |
RatePMT5->Divide (3,4); |
783 |
//---------- |
784 |
RatePMT5->cd (1); |
785 |
PhysicsTr-> Draw("pmtcount2[12]"); |
786 |
t=new TLatex(); |
787 |
t->SetTextFont(32); |
788 |
t->SetTextColor(1); |
789 |
t->SetTextAlign(12); |
790 |
t->SetTextSize(0.12); |
791 |
t->DrawLatex(5.,20.,"S311A"); |
792 |
//---------- |
793 |
RatePMT5->cd (2); |
794 |
PhysicsTr-> Draw("pmtcount2[13]"); |
795 |
t=new TLatex(); |
796 |
t->SetTextFont(32); |
797 |
t->SetTextColor(1); |
798 |
t->SetTextAlign(12); |
799 |
t->SetTextSize(0.12); |
800 |
t->DrawLatex(5.,20.,"S312A"); |
801 |
//---------- |
802 |
RatePMT5->cd (3); |
803 |
PhysicsTr-> Draw("pmtcount2[14]"); |
804 |
t=new TLatex(); |
805 |
t->SetTextFont(32); |
806 |
t->SetTextColor(1); |
807 |
t->SetTextAlign(12); |
808 |
t->SetTextSize(0.12); |
809 |
t->DrawLatex(5.,20.,"S313A"); |
810 |
//---------- |
811 |
RatePMT5->cd (4); |
812 |
PhysicsTr-> Draw("pmtcount2[15]"); |
813 |
t=new TLatex(); |
814 |
t->SetTextFont(32); |
815 |
t->SetTextColor(1); |
816 |
t->SetTextAlign(12); |
817 |
t->SetTextSize(0.12); |
818 |
t->DrawLatex(5.,20.,"S311B"); |
819 |
//---------- |
820 |
RatePMT5->cd (5); |
821 |
PhysicsTr-> Draw("pmtcount2[16]"); |
822 |
t=new TLatex(); |
823 |
t->SetTextFont(32); |
824 |
t->SetTextColor(1); |
825 |
t->SetTextAlign(12); |
826 |
t->SetTextSize(0.12); |
827 |
t->DrawLatex(5.,20.,"S312B"); |
828 |
//---------- |
829 |
RatePMT5->cd (6); |
830 |
PhysicsTr-> Draw("pmtcount2[17]"); |
831 |
t=new TLatex(); |
832 |
t->SetTextFont(32); |
833 |
t->SetTextColor(1); |
834 |
t->SetTextAlign(12); |
835 |
t->SetTextSize(0.12); |
836 |
t->DrawLatex(5.,20.,"S313B"); |
837 |
//---------- |
838 |
RatePMT5->cd (7); |
839 |
PhysicsTr-> Draw("pmtcount2[18]"); |
840 |
t=new TLatex(); |
841 |
t->SetTextFont(32); |
842 |
t->SetTextColor(1); |
843 |
t->SetTextAlign(12); |
844 |
t->SetTextSize(0.12); |
845 |
t->DrawLatex(5.,20.,"S321A"); |
846 |
//---------- |
847 |
RatePMT5->cd (8); |
848 |
PhysicsTr-> Draw("pmtcount2[19]"); |
849 |
t=new TLatex(); |
850 |
t->SetTextFont(32); |
851 |
t->SetTextColor(1); |
852 |
t->SetTextAlign(12); |
853 |
t->SetTextSize(0.12); |
854 |
t->DrawLatex(5.,20.,"S322A"); |
855 |
//---------- |
856 |
RatePMT5->cd (9); |
857 |
PhysicsTr-> Draw("pmtcount2[20]"); |
858 |
t=new TLatex(); |
859 |
t->SetTextFont(32); |
860 |
t->SetTextColor(1); |
861 |
t->SetTextAlign(12); |
862 |
t->SetTextSize(0.12); |
863 |
t->DrawLatex(5.,20.,"S323A"); |
864 |
//---------- |
865 |
RatePMT5->cd (10); |
866 |
PhysicsTr-> Draw("pmtcount2[21]"); |
867 |
t=new TLatex(); |
868 |
t->SetTextFont(32); |
869 |
t->SetTextColor(1); |
870 |
t->SetTextAlign(12); |
871 |
t->SetTextSize(0.12); |
872 |
t->DrawLatex(5.,20.,"S321B"); |
873 |
//---------- |
874 |
RatePMT5->cd (11); |
875 |
PhysicsTr-> Draw("pmtcount2[22]"); |
876 |
t=new TLatex(); |
877 |
t->SetTextFont(32); |
878 |
t->SetTextColor(1); |
879 |
t->SetTextAlign(12); |
880 |
t->SetTextSize(0.12); |
881 |
t->DrawLatex(5.,20.,"S322B"); |
882 |
//---------- |
883 |
RatePMT5->cd (12); |
884 |
PhysicsTr-> Draw("pmtcount2[23]"); |
885 |
t=new TLatex(); |
886 |
t->SetTextFont(32); |
887 |
t->SetTextColor(1); |
888 |
t->SetTextAlign(12); |
889 |
t->SetTextSize(0.12); |
890 |
t->DrawLatex(5.,20.,"S323B"); |
891 |
|
892 |
// print the output |
893 |
const char *saveas = format; |
894 |
if ( !strcmp(saveas,"ps") ) { |
895 |
// ------print the ps |
896 |
|
897 |
gStyle->SetOptStat(111111); |
898 |
|
899 |
sst.str(""); |
900 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan." << saveas << "("; |
901 |
EvCounterCanvas->Print(sst.str().c_str()); |
902 |
DeadLiveCanvas->Print(sst.str().c_str()); |
903 |
PMTCanvas->Print(sst.str().c_str()); |
904 |
TrigRate1Canvas->Print(sst.str().c_str()); |
905 |
TrigRate2Canvas->Print(sst.str().c_str()); |
906 |
S4CalCanvas->Print(sst.str().c_str()); |
907 |
|
908 |
gStyle->SetOptStat(1101); |
909 |
|
910 |
PatternTrig5->Print(sst.str().c_str()); |
911 |
PatternTrig4->Print(sst.str().c_str()); |
912 |
PatternTrig3->Print(sst.str().c_str()); |
913 |
PatternTrig2->Print(sst.str().c_str()); |
914 |
PatternTrig0->Print(sst.str().c_str()); |
915 |
PatternTrig1->Print(sst.str().c_str()); |
916 |
RatePMT1->Print(sst.str().c_str()); |
917 |
RatePMT2->Print(sst.str().c_str()); |
918 |
RatePMT3->Print(sst.str().c_str()); |
919 |
RatePMT4->Print(sst.str().c_str()); |
920 |
sst.str(""); |
921 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan." << saveas << ")"; |
922 |
RatePMT5->Print(sst.str().c_str()); |
923 |
|
924 |
} else { |
925 |
|
926 |
gStyle->SetOptStat(111111); |
927 |
|
928 |
sst.str(""); |
929 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan1." << saveas; |
930 |
EvCounterCanvas->SaveAs(sst.str().c_str()); |
931 |
|
932 |
sst.str(""); |
933 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan2." << saveas; |
934 |
DeadLiveCanvas->SaveAs(sst.str().c_str()); |
935 |
|
936 |
sst.str(""); |
937 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan3." << saveas; |
938 |
PMTCanvas->SaveAs(sst.str().c_str()); |
939 |
|
940 |
sst.str(""); |
941 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan4." << saveas; |
942 |
TrigRate1Canvas->SaveAs(sst.str().c_str()); |
943 |
|
944 |
sst.str(""); |
945 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan5." << saveas; |
946 |
TrigRate2Canvas->SaveAs(sst.str().c_str()); |
947 |
|
948 |
sst.str(""); |
949 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan6." << saveas; |
950 |
S4CalCanvas->SaveAs(sst.str().c_str()); |
951 |
|
952 |
gStyle->SetOptStat(1101); |
953 |
|
954 |
sst.str(""); |
955 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan7." << saveas; |
956 |
PatternTrig5->SaveAs(sst.str().c_str()); |
957 |
|
958 |
sst.str(""); |
959 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan8." << saveas; |
960 |
PatternTrig4->SaveAs(sst.str().c_str()); |
961 |
|
962 |
sst.str(""); |
963 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan9." << saveas; |
964 |
PatternTrig3->SaveAs(sst.str().c_str()); |
965 |
|
966 |
sst.str(""); |
967 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan10." << saveas; |
968 |
PatternTrig2->SaveAs(sst.str().c_str()); |
969 |
|
970 |
sst.str(""); |
971 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan11." << saveas; |
972 |
PatternTrig0->SaveAs(sst.str().c_str()); |
973 |
|
974 |
sst.str(""); |
975 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan12." << saveas; |
976 |
PatternTrig1->SaveAs(sst.str().c_str()); |
977 |
|
978 |
sst.str(""); |
979 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan13." << saveas; |
980 |
RatePMT1->SaveAs(sst.str().c_str()); |
981 |
|
982 |
sst.str(""); |
983 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan14." << saveas; |
984 |
RatePMT2->SaveAs(sst.str().c_str()); |
985 |
|
986 |
sst.str(""); |
987 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan15." << saveas; |
988 |
RatePMT3->SaveAs(sst.str().c_str()); |
989 |
|
990 |
sst.str(""); |
991 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan16." << saveas; |
992 |
RatePMT4->SaveAs(sst.str().c_str()); |
993 |
|
994 |
sst.str(""); |
995 |
sst << outDirectory.Data() << filename.Data() << "TriggerScan17." << saveas; |
996 |
RatePMT5->SaveAs(sst.str().c_str()); |
997 |
|
998 |
} |
999 |
|
1000 |
} |
1001 |
|
1002 |
|
1003 |
int main(int argc, char* argv[]){ |
1004 |
TString path; |
1005 |
TString outDir ="./"; |
1006 |
TString format ="ps"; |
1007 |
|
1008 |
if (argc < 2){ |
1009 |
printf("You have to insert at least the file to analyze \n"); |
1010 |
printf("Try '--help' for more information. \n"); |
1011 |
exit(1); |
1012 |
} |
1013 |
|
1014 |
if (!strcmp(argv[1], "--help")){ |
1015 |
printf( "Usage: TriggerScan FILE [OPTION] \n"); |
1016 |
printf( "\t --help Print this help and exit \n"); |
1017 |
printf( "\t -outDir[path] Path where to put the output [default ./] \n"); |
1018 |
printf( "\t -format[ps] Format for output files [default 'ps'] \n"); |
1019 |
exit(1); |
1020 |
} |
1021 |
|
1022 |
|
1023 |
path=argv[1]; |
1024 |
|
1025 |
for (int i = 2; i < argc; i++){ |
1026 |
|
1027 |
if (!strcmp(argv[i], "-outDir")){ |
1028 |
if (++i >= argc){ |
1029 |
printf( "-outDir needs arguments. \n"); |
1030 |
printf( "Try '--help' for more information. \n"); |
1031 |
exit(1); |
1032 |
} |
1033 |
else{ |
1034 |
outDir = argv[i]; |
1035 |
continue; |
1036 |
} |
1037 |
} |
1038 |
|
1039 |
|
1040 |
|
1041 |
if (!strcmp(argv[i], "-format")){ |
1042 |
if (++i >= argc){ |
1043 |
printf( "-format needs arguments. \n"); |
1044 |
printf( "Try '--help' for more information. \n"); |
1045 |
exit(1); |
1046 |
} |
1047 |
else{ |
1048 |
format = argv[i]; |
1049 |
continue; |
1050 |
} |
1051 |
} |
1052 |
} |
1053 |
|
1054 |
TriggerScan(argv[1], outDir, format); |
1055 |
|
1056 |
} |