/[PAMELA software]/quicklook/trigger/src/TriggerScanBasic.cpp
ViewVC logotype

Contents of /quicklook/trigger/src/TriggerScanBasic.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations) (download)
Tue Mar 13 12:04:02 2007 UTC (17 years, 8 months ago) by campana
Branch: MAIN
CVS Tags: v1r11, v1r12
Changes since 1.6: +4 -4 lines
corrected for OBT bug

1 /*
2 * TriggerScanBasic
3 * Author Nagni
4 * Modified by G. De Rosa
5 * Version 1.2 - Modified by G. De Rosa
6 * Date 27 Apr 2006
7 * Version 1.4 - Modified by G. De Rosa
8 * Date 26 Jun 2006: Inserted dependences on OnBoardTime and modified histogram ranges.
9 * Version 1.5 - Modified by G. De Rosa
10 * Date 9 Mar 2007: To read correctly the OBT changed the type of time variables from signed to unsigned
11 *
12 * Description:
13 * Describe the performance of the Trigger.
14 *
15 * Parameters:
16 * TString base - the path to the root directory for the specific Pamela unpack session
17 * TString outDirectory - the path where to save the output image (Default = base)
18 * TString format - the format which will be used for save the produced images (Default = "ps")
19 */
20
21 #include <TROOT.h>
22 #include <TFile.h>
23 #include <TString.h>
24 #include <TObjString.h>
25 #include <TTree.h>
26 #include <TBranch.h>
27 #include <TGraph.h>
28 #include <TStyle.h>
29 #include <TH1.h>
30 #include <TH1F.h>
31 #include <TH2S.h>
32 #include <TPaveText.h>
33 #include <TCanvas.h>
34 #include <TLatex.h>
35 #include <TGraph.h>
36 #include <physics/trigger/TriggerEvent.h>
37 #include <EventHeader.h>
38 #include <PscuHeader.h>
39 #include <iostream>
40
41 using namespace std;
42
43 char bit(int decimal, char pos)
44 {
45 return( (decimal>>pos)%2 );
46 }
47
48 void TriggerScanBasic(TString base, TString outDirectory = "", TString format = ""){
49
50 ULong_t lastime, firstime;
51 double obmin=0.;
52 double obmax=0.;
53 stringstream oss, oss1, oss2, oss3, noentries, stringa;
54 std::stringstream sst;
55 if (outDirectory == "") outDirectory = base.Data();
56 TString filename = ((TObjString*)base.Tokenize('/')->Last())->GetString();
57
58 TFile *file =new TFile(base.Data()) ;
59 if (!file){
60 printf("file not Found \n");
61 return;
62 }
63
64 TTree *PhysicsTr = (TTree*)file->Get("Physics");
65 TBranch *TrigBr = PhysicsTr->GetBranch("Trigger");
66 TBranch *HeadBr = PhysicsTr->GetBranch("Header");
67
68 pamela::EventHeader *eh = 0;
69 pamela::PscuHeader *ph = 0;
70
71 pamela::trigger::TriggerEvent *triggerEvent = 0;
72
73 PhysicsTr->SetBranchAddress("Trigger", &triggerEvent);
74 PhysicsTr->SetBranchAddress("Header", &eh);
75
76 Long64_t nevents = TrigBr->GetEntries();
77 if (nevents <= 0) {
78 printf("nevents = %llu \n", nevents);
79 file->Close();
80 return;
81 }
82
83 //-------------- to know the max and min OBT ----------------------------//
84 HeadBr->GetEntry(0);
85 ph = eh->GetPscuHeader();
86 firstime = ph->GetOrbitalTime();
87 HeadBr->GetEntry(nevents);
88 ph = eh->GetPscuHeader();
89 lastime = ph->GetOrbitalTime();
90 int i =0;
91 while(i < nevents){
92 HeadBr->GetEntry(i);
93 ph = eh->GetPscuHeader();
94 if((ph->GetOrbitalTime()) <= firstime) firstime=ph->GetOrbitalTime();
95 if((ph->GetOrbitalTime()) >= lastime) lastime=ph->GetOrbitalTime();
96 i++;
97 }
98
99 //------------------------ First histogram -----------------------------------//
100 obmin=firstime;
101 obmax=lastime;
102 Int_t nbin = (lastime-firstime)/60000; // on 1 min
103 gStyle->SetOptStat(0);
104 TH1F *h1 = new TH1F ("histo1", "" , nbin, obmin, obmax);
105 TH1F *h2 = new TH1F ("histo2", "" , nbin, obmin, obmax);
106 TH1F *h5 = new TH1F ("histo5", "" , nbin, obmin, obmax);
107 TH1F *LiveTimeMean = new TH1F("LiveTimeMean", sst.str().c_str(),nbin, obmin, obmax);
108 TH1F *DeadTimeMean = new TH1F("DeadTimeMean", sst.str().c_str(),nbin, obmin, obmax);
109 //==============================================================
110
111 /* Histo DEF */
112
113 /*
114 * S4 and Calorimeter Counters histograms
115 */
116 TCanvas *S4CalCanvas = new TCanvas("S4CalCanvas","S4CalCanvas", 1280, 1024);
117 S4CalCanvas->Divide(1,2);
118 //----------
119 sst.str("");
120 sst << "S4 Counters based on " << base.Data();
121 //----------
122 sst.str("");
123 sst << "Calorimeter Rate Counters based on " << base.Data();
124 TH1F *S4Cal2Histo = new TH1F("S4Cal2Histo", sst.str().c_str(), 20, 0, 20);
125
126 // int i = 0;
127 i = 0;
128 Int_t size = nevents;
129
130 ULong_t UnsOBT=0;
131
132 Double_t *time = new Double_t[size];
133 Double_t *evCounter = new Double_t[size];
134 Double_t *deadTime = new Double_t[size];
135 Double_t *liveTime = new Double_t[size];
136 //
137 Double_t *trigrate0 = new Double_t[size];
138 Double_t *trigrate1 = new Double_t[size];
139 Double_t *trigrate2 = new Double_t[size];
140 Double_t *trigrate3 = new Double_t[size];
141 Double_t *trigrate4 = new Double_t[size];
142 Double_t *trigrate5 = new Double_t[size];
143 //
144 Double_t *pmt1 = new Double_t[size];
145 Double_t *pmt2 = new Double_t[size];
146 Double_t *pmt3 = new Double_t[size];
147 //
148 Double_t *s4rate = new Double_t[size];
149 //
150 Double_t *pmt1_0 = new Double_t[size];
151 Double_t *pmt1_1 = new Double_t[size];
152 Double_t *pmt1_2 = new Double_t[size];
153 Double_t *pmt1_3 = new Double_t[size];
154 Double_t *pmt1_4 = new Double_t[size];
155 Double_t *pmt1_5 = new Double_t[size];
156 Double_t *pmt1_6 = new Double_t[size];
157 Double_t *pmt1_7 = new Double_t[size];
158 Double_t *pmt1_8 = new Double_t[size];
159 Double_t *pmt1_9 = new Double_t[size];
160 Double_t *pmt1_10 = new Double_t[size];
161 Double_t *pmt1_11 = new Double_t[size];
162 Double_t *pmt1_12 = new Double_t[size];
163 Double_t *pmt1_13 = new Double_t[size];
164 Double_t *pmt1_14 = new Double_t[size];
165 Double_t *pmt1_15 = new Double_t[size];
166 Double_t *pmt1_16 = new Double_t[size];
167 Double_t *pmt1_17 = new Double_t[size];
168 Double_t *pmt1_18 = new Double_t[size];
169 Double_t *pmt1_19 = new Double_t[size];
170 Double_t *pmt1_20 = new Double_t[size];
171 Double_t *pmt1_21 = new Double_t[size];
172 Double_t *pmt1_22 = new Double_t[size];
173 Double_t *pmt1_23 = new Double_t[size];
174 //
175 Double_t *pmt2_0 = new Double_t[size];
176 Double_t *pmt2_1 = new Double_t[size];
177 Double_t *pmt2_2 = new Double_t[size];
178 Double_t *pmt2_3 = new Double_t[size];
179 Double_t *pmt2_4 = new Double_t[size];
180 Double_t *pmt2_5 = new Double_t[size];
181 Double_t *pmt2_6 = new Double_t[size];
182 Double_t *pmt2_7 = new Double_t[size];
183 Double_t *pmt2_8 = new Double_t[size];
184 Double_t *pmt2_9 = new Double_t[size];
185 Double_t *pmt2_10 = new Double_t[size];
186 Double_t *pmt2_11 = new Double_t[size];
187 Double_t *pmt2_12 = new Double_t[size];
188 Double_t *pmt2_13 = new Double_t[size];
189 Double_t *pmt2_14 = new Double_t[size];
190 Double_t *pmt2_15 = new Double_t[size];
191 Double_t *pmt2_16 = new Double_t[size];
192 Double_t *pmt2_17 = new Double_t[size];
193 Double_t *pmt2_18 = new Double_t[size];
194 Double_t *pmt2_19 = new Double_t[size];
195 Double_t *pmt2_20 = new Double_t[size];
196 Double_t *pmt2_21 = new Double_t[size];
197 Double_t *pmt2_22 = new Double_t[size];
198 Double_t *pmt2_23 = new Double_t[size];
199
200 //
201 while(i < nevents){
202 HeadBr->GetEntry(i);
203 TrigBr->GetEntry(i);
204
205 /* time vector fill*/
206 ph = eh->GetPscuHeader();
207 UnsOBT = ph->GetOrbitalTime();
208
209 time[i] = UnsOBT;
210
211
212 /* eventCounter vector fill*/
213 evCounter[i] = triggerEvent->evcount;
214
215 if( evCounter[i] > 1 ){
216
217 /* live time vector fill*/
218 liveTime[i] = 0.16 * triggerEvent->dltime[0];
219
220
221 if (liveTime[i]<600) h1->Fill(UnsOBT,liveTime[i]);
222 if (liveTime[i]<600) h2->Fill(UnsOBT);
223
224 /* dead time vector fill*/
225 deadTime[i] = 0.01 * triggerEvent->dltime[1];
226
227 if (deadTime[i]<600) h5->Fill(UnsOBT,deadTime[i]);
228 }
229
230 gStyle->SetStatY(0.85);
231
232 /* PMT Plane Counters */
233
234 pmt1[i] = 1.*triggerEvent->pmtpl[0];
235 pmt2[i] = 1.*triggerEvent->pmtpl[1];
236 pmt3[i] = 1.*triggerEvent->pmtpl[2];
237
238 /* Trigger Rate Counters*/
239
240 trigrate0[i] = (1/4.)*triggerEvent->trigrate[0];
241 trigrate1[i] = (1/4.)*triggerEvent->trigrate[1];
242 trigrate2[i] = (1/4.)*triggerEvent->trigrate[2];
243 trigrate3[i] = (1/4.)*triggerEvent->trigrate[3];
244 trigrate4[i] = (1/4.)*triggerEvent->trigrate[4];
245 trigrate5[i] = (1/4.)*triggerEvent->trigrate[5];
246
247 /* S4 and Calorimeter Counters fill*/
248
249 s4rate[i] = triggerEvent->s4calcount[0];
250 S4Cal2Histo->Fill(triggerEvent->s4calcount[1]);
251 //
252
253 /* pmtcount1 */
254 pmt1_0[i] = triggerEvent->pmtcount1[0];
255 pmt1_1[i] = triggerEvent->pmtcount1[1];
256 pmt1_2[i] = triggerEvent->pmtcount1[2];
257 pmt1_3[i] = triggerEvent->pmtcount1[3];
258 pmt1_4[i] = triggerEvent->pmtcount1[4];
259 pmt1_5[i] = triggerEvent->pmtcount1[5];
260 pmt1_6[i] = triggerEvent->pmtcount1[6];
261 pmt1_7[i] = triggerEvent->pmtcount1[7];
262 pmt1_8[i] = triggerEvent->pmtcount1[8];
263 pmt1_9[i] = triggerEvent->pmtcount1[9];
264 pmt1_10[i] = triggerEvent->pmtcount1[10];
265 pmt1_11[i] = triggerEvent->pmtcount1[11];
266 pmt1_12[i] = triggerEvent->pmtcount1[12];
267 pmt1_13[i] = triggerEvent->pmtcount1[13];
268 pmt1_14[i] = triggerEvent->pmtcount1[14];
269 pmt1_15[i] = triggerEvent->pmtcount1[15];
270 pmt1_16[i] = triggerEvent->pmtcount1[16];
271 pmt1_17[i] = triggerEvent->pmtcount1[17];
272 pmt1_18[i] = triggerEvent->pmtcount1[18];
273 pmt1_19[i] = triggerEvent->pmtcount1[19];
274 pmt1_20[i] = triggerEvent->pmtcount1[20];
275 pmt1_21[i] = triggerEvent->pmtcount1[21];
276 pmt1_22[i] = triggerEvent->pmtcount1[22];
277 pmt1_23[i] = triggerEvent->pmtcount1[23];
278
279
280 /* pmtcount2 */
281
282 pmt2_0[i] = triggerEvent->pmtcount2[0];
283 pmt2_1[i] = triggerEvent->pmtcount2[1];
284 pmt2_2[i] = triggerEvent->pmtcount2[2];
285 pmt2_3[i] = triggerEvent->pmtcount2[3];
286 pmt2_4[i] = triggerEvent->pmtcount2[4];
287 pmt2_5[i] = triggerEvent->pmtcount2[5];
288 pmt2_6[i] = triggerEvent->pmtcount2[6];
289 pmt2_7[i] = triggerEvent->pmtcount2[7];
290 pmt2_8[i] = triggerEvent->pmtcount2[8];
291 pmt2_9[i] = triggerEvent->pmtcount2[9];
292 pmt2_10[i] = triggerEvent->pmtcount2[10];
293 pmt2_11[i] = triggerEvent->pmtcount2[11];
294 pmt2_12[i] = triggerEvent->pmtcount2[12];
295 pmt2_13[i] = triggerEvent->pmtcount2[13];
296 pmt2_14[i] = triggerEvent->pmtcount2[14];
297 pmt2_15[i] = triggerEvent->pmtcount2[15];
298 pmt2_16[i] = triggerEvent->pmtcount2[16];
299 pmt2_17[i] = triggerEvent->pmtcount2[17];
300 pmt2_18[i] = triggerEvent->pmtcount2[18];
301 pmt2_19[i] = triggerEvent->pmtcount2[19];
302 pmt2_20[i] = triggerEvent->pmtcount2[20];
303 pmt2_21[i] = triggerEvent->pmtcount2[21];
304 pmt2_22[i] = triggerEvent->pmtcount2[22];
305 pmt2_23[i] = triggerEvent->pmtcount2[23];
306 //
307 i++;
308 }
309
310 gStyle->SetOptStat(111111);
311 gStyle->SetStatH(0.15);
312 gStyle->SetStatW(0.15);
313
314 /*
315 * Event Counter graph
316 */
317 TCanvas *EvCounterCanvas = new TCanvas("EvCounterCanvas","EvCounterCanvas", 1280, 1024);
318 //----------
319 sst.str("");
320 sst << "Event Counter";
321 TGraph *evCounterGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)evCounter);
322 evCounterGraph->SetTitle(sst.str().c_str());
323 evCounterGraph->GetXaxis()->SetTitle("OnBoardTime");
324 evCounterGraph->GetXaxis()->CenterTitle();
325 evCounterGraph->Draw("APL");
326
327 /*
328 * Dead and Live time graphs
329 */
330 TCanvas *DeadLiveCanvas = new TCanvas("DeadLiveCanvas","DeadLiveCanvas", 1280, 1024);
331 DeadLiveCanvas->Divide(1,2);
332 //----------
333 sst.str("");
334 sst << "Graph of Dead Time vs OBT based on " << base.Data();
335 TGraph *DeadTimeGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)deadTime);
336 DeadLiveCanvas->cd(1);
337 sst.str("");
338 sst << "Dead Time";
339 DeadTimeGraph->SetTitle(sst.str().c_str());
340 DeadTimeGraph->SetFillColor(2);
341 DeadTimeGraph->GetXaxis()->SetTitle("OnBoardTime");
342 DeadTimeGraph->GetXaxis()->CenterTitle();
343 DeadTimeGraph->GetYaxis()->SetTitle("DeadTime(ms)");
344 DeadTimeGraph->GetYaxis()->CenterTitle();
345 // DeadTimeGraph->SetMaximum(100);
346 DeadTimeGraph->Draw("AP");
347 //----------
348 sst.str("");
349 sst << "Graph of Live Time vs OBT based on " << base.Data();
350 TGraph *LiveTimeGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)liveTime);
351 DeadLiveCanvas->cd(2);
352 sst.str("");
353 sst << "Live Time";
354 LiveTimeGraph->SetTitle(sst.str().c_str());
355 LiveTimeGraph->SetFillColor(2);
356 LiveTimeGraph->GetXaxis()->SetTitle("OnBoardTime");
357 LiveTimeGraph->GetXaxis()->CenterTitle();
358 LiveTimeGraph->GetYaxis()->SetTitle("LiveTime(ms)");
359 LiveTimeGraph->GetYaxis()->CenterTitle();
360 LiveTimeGraph->Draw("AP");
361
362 /*
363 * Average Dead and Live time graphs
364 */
365 TCanvas *MeanLiveDeadCanvas = new TCanvas("MeanLiveDeadCanvas","MeanLiveDeadCanvas", 1280, 1024);
366 MeanLiveDeadCanvas->Divide(1,2);
367
368 MeanLiveDeadCanvas->cd(1);
369 DeadTimeMean->Divide(h5,h2);
370 sst.str("");
371 sst << "Average Dead Time";
372 DeadTimeMean->GetXaxis()->SetTitle("OnBoardTime");
373 DeadTimeMean->GetXaxis()->CenterTitle();
374 DeadTimeMean->GetYaxis()->SetTitle("Average Dead Time (over 1min)");
375 DeadTimeMean->GetYaxis()->CenterTitle();
376 DeadTimeMean->Draw();
377 MeanLiveDeadCanvas->cd(2);
378 LiveTimeMean->Divide(h1,h2);
379 sst.str("");
380 sst << "Average Live Time";
381 LiveTimeMean->GetXaxis()->SetTitle("OnBoardTime");
382 LiveTimeMean->GetXaxis()->CenterTitle();
383 LiveTimeMean->GetYaxis()->SetTitle("Average Live Time (over 1min)");
384 LiveTimeMean->GetYaxis()->CenterTitle();
385 LiveTimeMean->Draw();
386
387 /*
388 * PMT Plane Counters Graph
389 */
390
391 TCanvas *PMTCanvas = new TCanvas("PMTCanvas","PMTCanvas", 1280, 1024);
392 PMTCanvas->Divide(1,3);
393 //----------
394 sst.str("");
395 sst << "Graph of PMT Plane Counters (S11 AND S12) vs OBT based on " << base.Data();
396 TGraph *PMT1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1);
397 PMTCanvas->cd(1);
398 sst.str("");
399 sst << "PMT Plane Counters (S11 AND S12)";
400 PMT1Graph->SetTitle(sst.str().c_str());
401 PMT1Graph->SetFillColor(2);
402 PMT1Graph->GetXaxis()->SetTitle("OnBoardTime");
403 PMT1Graph->GetXaxis()->CenterTitle();
404 PMT1Graph->GetYaxis()->SetTitle("PMT Plane Counters (over 60 ms)");
405 PMT1Graph->GetYaxis()->CenterTitle();
406 PMT1Graph->Draw("AP");
407 //----------
408 sst.str("");
409 sst << "Graph PMT Plane Counters (S21 AND S22) vs OBT based on " << base.Data();
410 TGraph *PMT2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2);
411 PMTCanvas->cd(2);
412 sst.str("");
413 sst << "PMT Plane Counters (S21 AND S22)";
414 PMT2Graph->SetTitle(sst.str().c_str());
415 PMT2Graph->SetFillColor(2);
416 PMT2Graph->GetXaxis()->SetTitle("OnBoardTime");
417 PMT2Graph->GetXaxis()->CenterTitle();
418 PMT2Graph->GetYaxis()->SetTitle("PMT Plane Counters (over 60 ms)");
419 PMT2Graph->GetYaxis()->CenterTitle();
420 PMT2Graph->Draw("AP");
421 //----------
422 sst.str("");
423 sst << "Graph PMT Plane Counters (S31 AND S32) vs OBT based on " << base.Data();
424 TGraph *PMT3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt3);
425 PMTCanvas->cd(3);
426 sst.str("");
427 sst << "PMT Plane Counters (S31 AND S32)";
428 PMT3Graph->SetTitle(sst.str().c_str());
429 PMT3Graph->SetFillColor(2);
430 PMT3Graph->GetXaxis()->SetTitle("OnBoardTime");
431 PMT3Graph->GetXaxis()->CenterTitle();
432 PMT3Graph->GetYaxis()->SetTitle("PMT Plane Rate Counters (over 60 ms)");
433 PMT3Graph->GetYaxis()->CenterTitle();
434 PMT3Graph->Draw("AP");
435 //
436 //----------
437
438 /*
439 * Trigger Rate Counters draw
440 */
441
442 TCanvas *TrigRate1Canvas = new TCanvas("TrigRate1Canvas","TrigRate1Canvas", 1280, 1024);
443 TrigRate1Canvas->Divide(1,3);
444 //----------
445 sst.str("");
446 sst << "Graph of Trigger Rate Counters (S11 OR S12) AND (S21 OR S22) AND (S31 OR S32) vs OBT based on " << base.Data();
447
448 TGraph *TrigRate0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate0);
449 TrigRate1Canvas->cd(1);
450 sst.str("");
451 sst << "Trigger Rate Counters (S11 OR S12) AND (S21 OR S22) AND (S31 OR S32)";
452 TrigRate0Graph->SetTitle(sst.str().c_str());
453 TrigRate0Graph->SetFillColor(2);
454 TrigRate0Graph->GetXaxis()->SetTitle("OnBoardTime");
455 TrigRate0Graph->GetXaxis()->CenterTitle();
456 TrigRate0Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
457 TrigRate0Graph->GetYaxis()->CenterTitle();
458 TrigRate0Graph->Draw("AP");
459 //----------
460 sst.str("");
461 sst << "Graph Trigger Rate Counters (S11 AND S12) AND (S21 AND S22) AND (S31 AND S32) vs OBT based on " << base.Data();
462 TGraph *TrigRate1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate1);
463 TrigRate1Canvas->cd(2);
464 sst.str("");
465 sst << "Trigger Rate Counters (S11 AND S12) AND (S21 AND S22) AND (S31 AND S32)";
466 TrigRate1Graph->SetTitle(sst.str().c_str());
467 TrigRate1Graph->SetFillColor(2);
468 TrigRate1Graph->GetXaxis()->SetTitle("OnBoardTime");
469 TrigRate1Graph->GetXaxis()->CenterTitle();
470 TrigRate1Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
471 TrigRate1Graph->GetYaxis()->CenterTitle();
472 TrigRate1Graph->Draw("AP");
473 //----------
474 sst.str("");
475 sst << "Graph Trigger Rate Counters (S21 OR S22) AND (S31 OR S32) vs OBT based on " << base.Data();
476 TGraph *TrigRate2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate2);
477 TrigRate1Canvas->cd(3);
478 sst.str("");
479 sst << "Trigger Rate Counters (S21 OR S22) AND (S31 OR S32) ";
480 TrigRate2Graph->SetTitle(sst.str().c_str());
481 TrigRate2Graph->SetFillColor(2);
482 TrigRate2Graph->GetXaxis()->SetTitle("OnBoardTime");
483 TrigRate2Graph->GetXaxis()->CenterTitle();
484 TrigRate2Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
485 TrigRate2Graph->GetYaxis()->CenterTitle();
486 TrigRate2Graph->Draw("AP");
487 //
488 //----------
489 //
490 TCanvas *TrigRate2Canvas = new TCanvas("TrigRate2Canvas","TrigRate2Canvas", 1280, 1024);
491 TrigRate2Canvas->Divide(1,3);
492 //----------
493 sst.str("");
494 sst << "Graph of Trigger Rate Counters (S21 AND S22) AND (S31 AND S32) vs OBT based on " << base.Data();
495
496 TGraph *TrigRate3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate3);
497 TrigRate2Canvas->cd(1);
498 sst.str("");
499 sst << "Trigger Rate Counters (S21 AND S22) AND (S31 AND S32)";
500 TrigRate3Graph->SetTitle(sst.str().c_str());
501 TrigRate3Graph->SetFillColor(2);
502 TrigRate3Graph->GetXaxis()->SetTitle("OnBoardTime");
503 TrigRate3Graph->GetXaxis()->CenterTitle();
504 TrigRate3Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
505 TrigRate3Graph->GetYaxis()->CenterTitle();
506 TrigRate3Graph->Draw("AP");
507 //----------
508 sst.str("");
509 sst << "Graph Trigger Rate Counters S12 AND (S21 AND S22) vs OBT based on " << base.Data();
510 TGraph *TrigRate4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate4);
511 TrigRate2Canvas->cd(2);
512 sst.str("");
513 sst << "Trigger Rate Counters S12 AND (S21 AND S22)";
514 TrigRate4Graph->SetTitle(sst.str().c_str());
515 TrigRate4Graph->SetFillColor(2);
516 TrigRate4Graph->GetXaxis()->SetTitle("OnBoardTime");
517 TrigRate4Graph->GetXaxis()->CenterTitle();
518 TrigRate4Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
519 TrigRate4Graph->GetYaxis()->CenterTitle();
520 TrigRate4Graph->Draw("AP");
521 //----------
522 sst.str("");
523 sst << "Graph Trigger Rate Counters (S11 OR S12) AND (S31 OR S32) vs OBT based on " << base.Data();
524 TGraph *TrigRate5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate5);
525 TrigRate2Canvas->cd(3);
526 sst.str("");
527 sst << "Trigger Rate Counters (S11 OR S12) AND (S31 OR S32)";
528 TrigRate5Graph->SetTitle(sst.str().c_str());
529 TrigRate5Graph->SetFillColor(2);
530 TrigRate5Graph->GetXaxis()->SetTitle("OnBoardTime");
531 TrigRate5Graph->GetXaxis()->CenterTitle();
532 TrigRate5Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
533 TrigRate5Graph->GetYaxis()->CenterTitle();
534 TrigRate5Graph->Draw("AP");
535 //----------
536
537 gStyle->SetOptStat("mr");
538
539 /* S4 and Calorimeter Counters draw*/
540 TGraph *s4RateGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)s4rate);
541 S4CalCanvas->cd(1);
542 sst.str("");
543 sst << "S4 Trigger Rate Counters";
544 s4RateGraph->SetTitle(sst.str().c_str());
545 s4RateGraph->SetFillColor(2);
546 s4RateGraph->GetXaxis()->SetTitle("OnBoardTime");
547 s4RateGraph->GetXaxis()->CenterTitle();
548 s4RateGraph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
549 s4RateGraph->GetYaxis()->CenterTitle();
550 s4RateGraph->Draw("AP");
551 //----------
552 S4CalCanvas->cd(2);
553 gPad->SetLogy(1);
554 S4Cal2Histo->GetXaxis()->SetTitle("Hz");
555 S4Cal2Histo->Draw();
556 //
557 //
558 //
559 gStyle->SetOptStat("mr");
560 gStyle->SetStatH(0.3);
561 gStyle->SetStatW(0.3);
562
563
564 //----------
565 TCanvas *RatePMT1 = new TCanvas("RatePMT1", "Rate PMT S11A", 1);
566 RatePMT1->Divide (3,3);
567 //----------
568 sst.str("");
569 sst << "pmtcount1[0] vs OBT based on " << base.Data();
570 TGraph *PMT1_0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_0);
571 RatePMT1->cd(1);
572 sst.str("");
573 sst << "PMT S111A";
574 PMT1_0Graph->SetTitle(sst.str().c_str());
575 PMT1_0Graph->SetFillColor(2);
576 PMT1_0Graph->GetXaxis()->SetTitle("OnBoardTime");
577 PMT1_0Graph->GetXaxis()->CenterTitle();
578 PMT1_0Graph->GetYaxis()->SetTitle("PMT Counters");
579 PMT1_0Graph->GetYaxis()->CenterTitle();
580 PMT1_0Graph->Draw("AP");
581 //delete PMT1_0Graph;
582 //----------
583 sst.str("");
584 sst << "pmtcount1[0] vs OBT based on " << base.Data();
585 TGraph *PMT1_1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_1);
586 RatePMT1->cd(2);
587 sst.str("");
588 sst << "PMT S112A";
589 PMT1_1Graph->SetTitle(sst.str().c_str());
590 PMT1_1Graph->SetFillColor(2);
591 PMT1_1Graph->GetXaxis()->SetTitle("OnBoardTime");
592 PMT1_1Graph->GetXaxis()->CenterTitle();
593 PMT1_1Graph->GetYaxis()->SetTitle("PMT Counters");
594 PMT1_1Graph->GetYaxis()->CenterTitle();
595 PMT1_1Graph->Draw("AP");
596 //----------
597 sst.str("");
598 sst << "pmtcount1[0] vs OBT based on " << base.Data();
599 TGraph *PMT1_2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_2);
600 RatePMT1->cd(3);
601 sst.str("");
602 sst << "PMT S113A";
603 PMT1_2Graph->SetTitle(sst.str().c_str());
604 PMT1_2Graph->SetFillColor(2);
605 PMT1_2Graph->GetXaxis()->SetTitle("OnBoardTime");
606 PMT1_2Graph->GetXaxis()->CenterTitle();
607 PMT1_2Graph->GetYaxis()->SetTitle("PMT Counters");
608 PMT1_2Graph->GetYaxis()->CenterTitle();
609 PMT1_2Graph->Draw("AP");
610 //----------
611 sst.str("");
612 sst << "pmtcount1[0] vs OBT based on " << base.Data();
613 TGraph *PMT1_3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_3);
614 RatePMT1->cd(4);
615 sst.str("");
616 sst << "PMT S114A";
617 PMT1_3Graph->SetTitle(sst.str().c_str());
618 PMT1_3Graph->SetFillColor(2);
619 PMT1_3Graph->GetXaxis()->SetTitle("OnBoardTime");
620 PMT1_3Graph->GetXaxis()->CenterTitle();
621 PMT1_3Graph->GetYaxis()->SetTitle("PMT Counters");
622 PMT1_3Graph->GetYaxis()->CenterTitle();
623 PMT1_3Graph->Draw("AP");
624 //----------
625 sst.str("");
626 sst << "pmtcount1[0] vs OBT based on " << base.Data();
627 TGraph *PMT1_4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_4);
628 RatePMT1->cd(5);
629 sst.str("");
630 sst << "PMT S115A";
631 PMT1_4Graph->SetTitle(sst.str().c_str());
632 PMT1_4Graph->SetFillColor(2);
633 PMT1_4Graph->GetXaxis()->SetTitle("OnBoardTime");
634 PMT1_4Graph->GetXaxis()->CenterTitle();
635 PMT1_4Graph->GetYaxis()->SetTitle("PMT Counters");
636 PMT1_4Graph->GetYaxis()->CenterTitle();
637 PMT1_4Graph->Draw("AP");
638 //----------
639 sst.str("");
640 sst << "pmtcount1[0] vs OBT based on " << base.Data();
641 TGraph *PMT1_5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_5);
642 RatePMT1->cd(6);
643 sst.str("");
644 sst << "PMT S116A";
645 PMT1_5Graph->SetTitle(sst.str().c_str());
646 PMT1_5Graph->SetFillColor(2);
647 PMT1_5Graph->GetXaxis()->SetTitle("OnBoardTime");
648 PMT1_5Graph->GetXaxis()->CenterTitle();
649 PMT1_5Graph->GetYaxis()->SetTitle("PMT Counters");
650 PMT1_5Graph->GetYaxis()->CenterTitle();
651 PMT1_5Graph->Draw("AP");
652 //----------
653 sst.str("");
654 sst << "pmtcount1[0] vs OBT based on " << base.Data();
655 TGraph *PMT1_6Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_6);
656 RatePMT1->cd(7);
657 sst.str("");
658 sst << "PMT S117A";
659 PMT1_6Graph->SetTitle(sst.str().c_str());
660 PMT1_6Graph->SetFillColor(2);
661 PMT1_6Graph->GetXaxis()->SetTitle("OnBoardTime");
662 PMT1_6Graph->GetXaxis()->CenterTitle();
663 PMT1_6Graph->GetYaxis()->SetTitle("PMT Counters");
664 PMT1_6Graph->GetYaxis()->CenterTitle();
665 PMT1_6Graph->Draw("AP");
666 //----------
667 sst.str("");
668 sst << "pmtcount1[0] vs OBT based on " << base.Data();
669 TGraph *PMT1_7Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_7);
670 RatePMT1->cd(8);
671 sst.str("");
672 sst << "PMT S118A";
673 PMT1_7Graph->SetTitle(sst.str().c_str());
674 PMT1_7Graph->SetFillColor(2);
675 PMT1_7Graph->GetXaxis()->SetTitle("OnBoardTime");
676 PMT1_7Graph->GetXaxis()->CenterTitle();
677 PMT1_7Graph->GetYaxis()->SetTitle("PMT Counters");
678 PMT1_7Graph->GetYaxis()->CenterTitle();
679 PMT1_7Graph->Draw("AP");
680
681 ////////////////
682
683 TCanvas *RatePMT2 = new TCanvas("RatePMT2", "Rate PMT S11B", 1);
684 RatePMT2->Divide (3,3);
685 //----------
686 sst.str("");
687 sst << "pmtcount1[0] vs OBT based on " << base.Data();
688 TGraph *PMT1_8Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_8);
689 RatePMT2->cd(1);
690 sst.str("");
691 sst << "PMT S111B";
692 PMT1_8Graph->SetTitle(sst.str().c_str());
693 PMT1_8Graph->SetFillColor(2);
694 PMT1_8Graph->GetXaxis()->SetTitle("OnBoardTime");
695 PMT1_8Graph->GetXaxis()->CenterTitle();
696 PMT1_8Graph->GetYaxis()->SetTitle("PMT Counters");
697 PMT1_8Graph->GetYaxis()->CenterTitle();
698 PMT1_8Graph->Draw("AP");
699 //----------
700 sst.str("");
701 sst << "pmtcount1[0] vs OBT based on " << base.Data();
702 TGraph *PMT1_9Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_9);
703 RatePMT2->cd(2);
704 sst.str("");
705 sst << "PMT S112B";
706 PMT1_9Graph->SetTitle(sst.str().c_str());
707 PMT1_9Graph->SetFillColor(2);
708 PMT1_9Graph->GetXaxis()->SetTitle("OnBoardTime");
709 PMT1_9Graph->GetXaxis()->CenterTitle();
710 PMT1_9Graph->GetYaxis()->SetTitle("PMT Counters");
711 PMT1_9Graph->GetYaxis()->CenterTitle();
712 PMT1_9Graph->Draw("AP");
713 //----------
714 sst.str("");
715 sst << "pmtcount1[0] vs OBT based on " << base.Data();
716 TGraph *PMT1_10Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_10);
717 RatePMT2->cd(3);
718 sst.str("");
719 sst << "PMT S113B";
720 PMT1_10Graph->SetTitle(sst.str().c_str());
721 PMT1_10Graph->SetFillColor(2);
722 PMT1_10Graph->GetXaxis()->SetTitle("OnBoardTime");
723 PMT1_10Graph->GetXaxis()->CenterTitle();
724 PMT1_10Graph->GetYaxis()->SetTitle("PMT Counters");
725 PMT1_10Graph->GetYaxis()->CenterTitle();
726 PMT1_10Graph->Draw("AP");
727 //----------
728 sst.str("");
729 sst << "pmtcount1[0] vs OBT based on " << base.Data();
730 TGraph *PMT1_11Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_11);
731 RatePMT2->cd(4);
732 sst.str("");
733 sst << "PMT S114B";
734 PMT1_11Graph->SetTitle(sst.str().c_str());
735 PMT1_11Graph->SetFillColor(2);
736 PMT1_11Graph->GetXaxis()->SetTitle("OnBoardTime");
737 PMT1_11Graph->GetXaxis()->CenterTitle();
738 PMT1_11Graph->GetYaxis()->SetTitle("PMT Counters");
739 PMT1_11Graph->GetYaxis()->CenterTitle();
740 PMT1_11Graph->Draw("AP");
741 //----------
742 sst.str("");
743 sst << "pmtcount1[0] vs OBT based on " << base.Data();
744 TGraph *PMT1_12Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_12);
745 RatePMT2->cd(5);
746 sst.str("");
747 sst << "PMT S115B";
748 PMT1_12Graph->SetTitle(sst.str().c_str());
749 PMT1_12Graph->SetFillColor(2);
750 PMT1_12Graph->GetXaxis()->SetTitle("OnBoardTime");
751 PMT1_12Graph->GetXaxis()->CenterTitle();
752 PMT1_12Graph->GetYaxis()->SetTitle("PMT Counters");
753 PMT1_12Graph->GetYaxis()->CenterTitle();
754 PMT1_12Graph->Draw("AP");
755 //----------
756 sst.str("");
757 sst << "pmtcount1[0] vs OBT based on " << base.Data();
758 TGraph *PMT1_13Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_13);
759 RatePMT2->cd(6);
760 sst.str("");
761 sst << "PMT S116B";
762 PMT1_13Graph->SetTitle(sst.str().c_str());
763 PMT1_13Graph->SetFillColor(2);
764 PMT1_13Graph->GetXaxis()->SetTitle("OnBoardTime");
765 PMT1_13Graph->GetXaxis()->CenterTitle();
766 PMT1_13Graph->GetYaxis()->SetTitle("PMT Counters");
767 PMT1_13Graph->GetYaxis()->CenterTitle();
768 PMT1_13Graph->Draw("AP");
769 //----------
770 sst.str("");
771 sst << "pmtcount1[0] vs OBT based on " << base.Data();
772 TGraph *PMT1_14Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_14);
773 RatePMT2->cd(7);
774 sst.str("");
775 sst << "PMT S117B";
776 PMT1_14Graph->SetTitle(sst.str().c_str());
777 PMT1_14Graph->SetFillColor(2);
778 PMT1_14Graph->GetXaxis()->SetTitle("OnBoardTime");
779 PMT1_14Graph->GetXaxis()->CenterTitle();
780 PMT1_14Graph->GetYaxis()->SetTitle("PMT Counters");
781 PMT1_14Graph->GetYaxis()->CenterTitle();
782 PMT1_14Graph->Draw("AP");
783 //----------
784 sst.str("");
785 sst << "pmtcount1[0] vs OBT based on " << base.Data();
786 TGraph *PMT1_15Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_15);
787 RatePMT2->cd(8);
788 sst.str("");
789 sst << "PMT S118B";
790 PMT1_15Graph->SetTitle(sst.str().c_str());
791 PMT1_15Graph->SetFillColor(2);
792 PMT1_15Graph->GetXaxis()->SetTitle("OnBoardTime");
793 PMT1_15Graph->GetXaxis()->CenterTitle();
794 PMT1_15Graph->GetYaxis()->SetTitle("PMT Counters");
795 PMT1_15Graph->GetYaxis()->CenterTitle();
796 PMT1_15Graph->Draw("AP");
797
798 ///////////////
799
800
801 TCanvas *RatePMT3 = new TCanvas("RatePMT3", "Rate PMT S11B", 1);
802 RatePMT3->Divide (3,4);
803 //----------
804 sst.str("");
805 sst << "pmtcount1[0] vs OBT based on " << base.Data();
806 TGraph *PMT1_16Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_16);
807 RatePMT3->cd(1);
808 sst.str("");
809 sst << "PMT S121A";
810 PMT1_16Graph->SetTitle(sst.str().c_str());
811 PMT1_16Graph->SetFillColor(2);
812 PMT1_16Graph->GetXaxis()->SetTitle("OnBoardTime");
813 PMT1_16Graph->GetXaxis()->CenterTitle();
814 PMT1_16Graph->GetYaxis()->SetTitle("PMT Counters");
815 PMT1_16Graph->GetYaxis()->CenterTitle();
816 PMT1_16Graph->Draw("AP");
817 //----------
818 sst.str("");
819 sst << "pmtcount1[0] vs OBT based on " << base.Data();
820 TGraph *PMT1_17Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_17);
821 RatePMT3->cd(2);
822 sst.str("");
823 sst << "PMT S122A";
824 PMT1_17Graph->SetTitle(sst.str().c_str());
825 PMT1_17Graph->SetFillColor(2);
826 PMT1_17Graph->GetXaxis()->SetTitle("OnBoardTime");
827 PMT1_17Graph->GetXaxis()->CenterTitle();
828 PMT1_17Graph->GetYaxis()->SetTitle("PMT Counters");
829 PMT1_17Graph->GetYaxis()->CenterTitle();
830 PMT1_17Graph->Draw("AP");
831 //----------
832 sst.str("");
833 sst << "pmtcount1[0] vs OBT based on " << base.Data();
834 TGraph *PMT1_18Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_18);
835 RatePMT3->cd(3);
836 sst.str("");
837 sst << "PMT S123A";
838 PMT1_18Graph->SetTitle(sst.str().c_str());
839 PMT1_18Graph->SetFillColor(2);
840 PMT1_18Graph->GetXaxis()->SetTitle("OnBoardTime");
841 PMT1_18Graph->GetXaxis()->CenterTitle();
842 PMT1_18Graph->GetYaxis()->SetTitle("PMT Counters");
843 PMT1_18Graph->GetYaxis()->CenterTitle();
844 PMT1_18Graph->Draw("AP");
845 //----------
846 sst.str("");
847 sst << "pmtcount1[0] vs OBT based on " << base.Data();
848 TGraph *PMT1_19Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_19);
849 RatePMT3->cd(4);
850 sst.str("");
851 sst << "PMT S124A";
852 PMT1_19Graph->SetTitle(sst.str().c_str());
853 PMT1_19Graph->SetFillColor(2);
854 PMT1_19Graph->GetXaxis()->SetTitle("OnBoardTime");
855 PMT1_19Graph->GetXaxis()->CenterTitle();
856 PMT1_19Graph->GetYaxis()->SetTitle("PMT Counters");
857 PMT1_19Graph->GetYaxis()->CenterTitle();
858 PMT1_19Graph->Draw("AP");
859 //----------
860 sst.str("");
861 sst << "pmtcount1[0] vs OBT based on " << base.Data();
862 TGraph *PMT1_20Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_20);
863 RatePMT3->cd(5);
864 sst.str("");
865 sst << "PMT S125A";
866 PMT1_20Graph->SetTitle(sst.str().c_str());
867 PMT1_20Graph->SetFillColor(2);
868 PMT1_20Graph->GetXaxis()->SetTitle("OnBoardTime");
869 PMT1_20Graph->GetXaxis()->CenterTitle();
870 PMT1_20Graph->GetYaxis()->SetTitle("PMT Counters");
871 PMT1_20Graph->GetYaxis()->CenterTitle();
872 PMT1_20Graph->Draw("AP");
873 //----------
874 sst.str("");
875 sst << "pmtcount1[0] vs OBT based on " << base.Data();
876 TGraph *PMT1_21Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_21);
877 RatePMT3->cd(6);
878 sst.str("");
879 sst << "PMT S126A";
880 PMT1_21Graph->SetTitle(sst.str().c_str());
881 PMT1_21Graph->SetFillColor(2);
882 PMT1_21Graph->GetXaxis()->SetTitle("OnBoardTime");
883 PMT1_21Graph->GetXaxis()->CenterTitle();
884 PMT1_21Graph->GetYaxis()->SetTitle("PMT Counters");
885 PMT1_21Graph->GetYaxis()->CenterTitle();
886 PMT1_21Graph->Draw("AP");
887 //----------
888 sst.str("");
889 sst << "pmtcount1[0] vs OBT based on " << base.Data();
890 TGraph *PMT1_22Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_22);
891 RatePMT3->cd(7);
892 sst.str("");
893 sst << "PMT S121B";
894 PMT1_22Graph->SetTitle(sst.str().c_str());
895 PMT1_22Graph->SetFillColor(2);
896 PMT1_22Graph->GetXaxis()->SetTitle("OnBoardTime");
897 PMT1_22Graph->GetXaxis()->CenterTitle();
898 PMT1_22Graph->GetYaxis()->SetTitle("PMT Counters");
899 PMT1_22Graph->GetYaxis()->CenterTitle();
900 PMT1_22Graph->Draw("AP");
901 //----------
902 sst.str("");
903 sst << "pmtcount1[0] vs OBT based on " << base.Data();
904 TGraph *PMT1_23Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_23);
905 RatePMT3->cd(8);
906 sst.str("");
907 sst << "PMT S122B";
908 PMT1_23Graph->SetTitle(sst.str().c_str());
909 PMT1_23Graph->SetFillColor(2);
910 PMT1_23Graph->GetXaxis()->SetTitle("OnBoardTime");
911 PMT1_23Graph->GetXaxis()->CenterTitle();
912 PMT1_23Graph->GetYaxis()->SetTitle("PMT Counters");
913 PMT1_23Graph->GetYaxis()->CenterTitle();
914 PMT1_23Graph->Draw("AP");
915
916 /////////////////////////
917
918 //----------
919 sst.str("");
920 sst << "pmtcount1[0] vs OBT based on " << base.Data();
921 TGraph *PMT2_0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_0);
922 RatePMT3->cd(9);
923 sst.str("");
924 sst << "PMT S123B";
925 PMT2_0Graph->SetTitle(sst.str().c_str());
926 PMT2_0Graph->SetFillColor(2);
927 PMT2_0Graph->GetXaxis()->SetTitle("OnBoardTime");
928 PMT2_0Graph->GetXaxis()->CenterTitle();
929 PMT2_0Graph->GetYaxis()->SetTitle("PMT Counters");
930 PMT2_0Graph->GetYaxis()->CenterTitle();
931 PMT2_0Graph->Draw("AP");
932
933 //----------
934 sst.str("");
935 sst << "pmtcount1[0] vs OBT based on " << base.Data();
936 TGraph *PMT2_1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_1);
937 RatePMT3->cd(10);
938 sst.str("");
939 sst << "PMT S124B";
940 PMT2_1Graph->SetTitle(sst.str().c_str());
941 PMT2_1Graph->SetFillColor(2);
942 PMT2_1Graph->GetXaxis()->SetTitle("OnBoardTime");
943 PMT2_1Graph->GetXaxis()->CenterTitle();
944 PMT2_1Graph->GetYaxis()->SetTitle("PMT Counters");
945 PMT2_1Graph->GetYaxis()->CenterTitle();
946 PMT2_1Graph->Draw("AP");
947
948 //----------
949 sst.str("");
950 sst << "pmtcount1[0] vs OBT based on " << base.Data();
951 TGraph *PMT2_2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_2);
952 RatePMT3->cd(11);
953 sst.str("");
954 sst << "PMT S125B";
955 PMT2_2Graph->SetTitle(sst.str().c_str());
956 PMT2_2Graph->SetFillColor(2);
957 PMT2_2Graph->GetXaxis()->SetTitle("OnBoardTime");
958 PMT2_2Graph->GetXaxis()->CenterTitle();
959 PMT2_2Graph->GetYaxis()->SetTitle("PMT Counters");
960 PMT2_2Graph->GetYaxis()->CenterTitle();
961 PMT2_2Graph->Draw("AP");
962
963 //----------
964 sst.str("");
965 sst << "pmtcount1[0] vs OBT based on " << base.Data();
966 TGraph *PMT2_3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_3);
967 RatePMT3->cd(12);
968 sst.str("");
969 sst << "PMT S126B";
970 PMT2_3Graph->SetTitle(sst.str().c_str());
971 PMT2_3Graph->SetFillColor(2);
972 PMT2_3Graph->GetXaxis()->SetTitle("OnBoardTime");
973 PMT2_3Graph->GetXaxis()->CenterTitle();
974 PMT2_3Graph->GetYaxis()->SetTitle("PMT Counters");
975 PMT2_3Graph->GetYaxis()->CenterTitle();
976 PMT2_3Graph->Draw("AP");
977
978 ////////////////////
979
980
981 TCanvas *RatePMT4 = new TCanvas("RatePMT4", "Rate PMT S11B", 1);
982 RatePMT4->Divide (3,3);
983 //----------
984 sst.str("");
985 sst << "pmtcount1[0] vs OBT based on " << base.Data();
986 TGraph *PMT2_4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_4);
987 RatePMT4->cd(1);
988 sst.str("");
989 sst << "PMT S211A";
990 PMT2_4Graph->SetTitle(sst.str().c_str());
991 PMT2_4Graph->SetFillColor(2);
992 PMT2_4Graph->GetXaxis()->SetTitle("OnBoardTime");
993 PMT2_4Graph->GetXaxis()->CenterTitle();
994 PMT2_4Graph->GetYaxis()->SetTitle("PMT Counters");
995 PMT2_4Graph->GetYaxis()->CenterTitle();
996 PMT2_4Graph->Draw("AP");
997 //----------
998 sst.str("");
999 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1000 TGraph *PMT2_5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_5);
1001 RatePMT4->cd(2);
1002 sst.str("");
1003 sst << "PMT S212A";
1004 PMT2_5Graph->SetTitle(sst.str().c_str());
1005 PMT2_5Graph->SetFillColor(2);
1006 PMT2_5Graph->GetXaxis()->SetTitle("OnBoardTime");
1007 PMT2_5Graph->GetXaxis()->CenterTitle();
1008 PMT2_5Graph->GetYaxis()->SetTitle("PMT Counters");
1009 PMT2_5Graph->GetYaxis()->CenterTitle();
1010 PMT2_5Graph->Draw("AP");
1011 //----------
1012 sst.str("");
1013 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1014 TGraph *PMT2_6Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_6);
1015 RatePMT4->cd(3);
1016 sst.str("");
1017 sst << "PMT S211B";
1018 PMT2_6Graph->SetTitle(sst.str().c_str());
1019 PMT2_6Graph->SetFillColor(2);
1020 PMT2_6Graph->GetXaxis()->SetTitle("OnBoardTime");
1021 PMT2_6Graph->GetXaxis()->CenterTitle();
1022 PMT2_6Graph->GetYaxis()->SetTitle("PMT Counters");
1023 PMT2_6Graph->GetYaxis()->CenterTitle();
1024 PMT2_6Graph->Draw("AP");
1025 //----------
1026 sst.str("");
1027 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1028 TGraph *PMT2_7Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_7);
1029 RatePMT4->cd(4);
1030 sst.str("");
1031 sst << "PMT S212B";
1032 PMT2_7Graph->SetTitle(sst.str().c_str());
1033 PMT2_7Graph->SetFillColor(2);
1034 PMT2_7Graph->GetXaxis()->SetTitle("OnBoardTime");
1035 PMT2_7Graph->GetXaxis()->CenterTitle();
1036 PMT2_7Graph->GetYaxis()->SetTitle("PMT Counters");
1037 PMT2_7Graph->GetYaxis()->CenterTitle();
1038 PMT2_7Graph->Draw("AP");
1039 //----------
1040 sst.str("");
1041 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1042 TGraph *PMT2_8Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_8);
1043 RatePMT4->cd(5);
1044 sst.str("");
1045 sst << "PMT S221A";
1046 PMT2_8Graph->SetTitle(sst.str().c_str());
1047 PMT2_8Graph->SetFillColor(2);
1048 PMT2_8Graph->GetXaxis()->SetTitle("OnBoardTime");
1049 PMT2_8Graph->GetXaxis()->CenterTitle();
1050 PMT2_8Graph->GetYaxis()->SetTitle("PMT Counters");
1051 PMT2_8Graph->GetYaxis()->CenterTitle();
1052 PMT2_8Graph->Draw("AP");
1053 //----------
1054 sst.str("");
1055 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1056 TGraph *PMT2_9Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_9);
1057 RatePMT4->cd(6);
1058 sst.str("");
1059 sst << "PMT S222A";
1060 PMT2_9Graph->SetTitle(sst.str().c_str());
1061 PMT2_9Graph->SetFillColor(2);
1062 PMT2_9Graph->GetXaxis()->SetTitle("OnBoardTime");
1063 PMT2_9Graph->GetXaxis()->CenterTitle();
1064 PMT2_9Graph->GetYaxis()->SetTitle("PMT Counters");
1065 PMT2_9Graph->GetYaxis()->CenterTitle();
1066 PMT2_9Graph->Draw("AP");
1067 //----------
1068 sst.str("");
1069 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1070 TGraph *PMT2_10Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_10);
1071 RatePMT4->cd(7);
1072 sst.str("");
1073 sst << "PMT S221B";
1074 PMT2_10Graph->SetTitle(sst.str().c_str());
1075 PMT2_10Graph->SetFillColor(2);
1076 PMT2_10Graph->GetXaxis()->SetTitle("OnBoardTime");
1077 PMT2_10Graph->GetXaxis()->CenterTitle();
1078 PMT2_10Graph->GetYaxis()->SetTitle("PMT Counters");
1079 PMT2_10Graph->GetYaxis()->CenterTitle();
1080 PMT2_10Graph->Draw("AP");
1081 //----------
1082 sst.str("");
1083 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1084 TGraph *PMT2_11Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_11);
1085 RatePMT4->cd(8);
1086 sst.str("");
1087 sst << "PMT S222B ";
1088 PMT2_11Graph->SetTitle(sst.str().c_str());
1089 PMT2_11Graph->SetFillColor(2);
1090 PMT2_11Graph->GetXaxis()->SetTitle("OnBoardTime");
1091 PMT2_11Graph->GetXaxis()->CenterTitle();
1092 PMT2_11Graph->GetYaxis()->SetTitle("PMT Counters");
1093 PMT2_11Graph->GetYaxis()->CenterTitle();
1094 PMT2_11Graph->Draw("AP");
1095
1096 /////////////////////////
1097
1098
1099 TCanvas *RatePMT5 = new TCanvas("RatePMT5", "Rate PMT S311A", 1);
1100 RatePMT5->Divide (3,4);
1101 //----------
1102 sst.str("");
1103 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1104 TGraph *PMT2_12Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_12);
1105 RatePMT5->cd(1);
1106 sst.str("");
1107 sst << "PMT S311A ";
1108 PMT2_12Graph->SetTitle(sst.str().c_str());
1109 PMT2_12Graph->SetFillColor(2);
1110 PMT2_12Graph->GetXaxis()->SetTitle("OnBoardTime");
1111 PMT2_12Graph->GetXaxis()->CenterTitle();
1112 PMT2_12Graph->GetYaxis()->SetTitle("PMT Counters");
1113 PMT2_12Graph->GetYaxis()->CenterTitle();
1114 PMT2_12Graph->Draw("AP");
1115 //----------
1116 sst.str("");
1117 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1118 TGraph *PMT2_13Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_13);
1119 RatePMT5->cd(2);
1120 sst.str("");
1121 sst << "PMT S312A";
1122 PMT2_13Graph->SetTitle(sst.str().c_str());
1123 PMT2_13Graph->SetFillColor(2);
1124 PMT2_13Graph->GetXaxis()->SetTitle("OnBoardTime");
1125 PMT2_13Graph->GetXaxis()->CenterTitle();
1126 PMT2_13Graph->GetYaxis()->SetTitle("PMT Counters");
1127 PMT2_13Graph->GetYaxis()->CenterTitle();
1128 PMT2_13Graph->Draw("AP");
1129 //----------
1130 sst.str("");
1131 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1132 TGraph *PMT2_14Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_14);
1133 RatePMT5->cd(3);
1134 sst.str("");
1135 sst << "PMT S313A";
1136 PMT2_14Graph->SetTitle(sst.str().c_str());
1137 PMT2_14Graph->SetFillColor(2);
1138 PMT2_14Graph->GetXaxis()->SetTitle("OnBoardTime");
1139 PMT2_14Graph->GetXaxis()->CenterTitle();
1140 PMT2_14Graph->GetYaxis()->SetTitle("PMT Counters");
1141 PMT2_14Graph->GetYaxis()->CenterTitle();
1142 PMT2_14Graph->Draw("AP");
1143 //----------
1144 sst.str("");
1145 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1146 TGraph *PMT2_15Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_15);
1147 RatePMT5->cd(4);
1148 sst.str("");
1149 sst << "PMT S311B";
1150 PMT2_15Graph->SetTitle(sst.str().c_str());
1151 PMT2_15Graph->SetFillColor(2);
1152 PMT2_15Graph->GetXaxis()->SetTitle("OnBoardTime");
1153 PMT2_15Graph->GetXaxis()->CenterTitle();
1154 PMT2_15Graph->GetYaxis()->SetTitle("PMT Counters");
1155 PMT2_15Graph->GetYaxis()->CenterTitle();
1156 PMT2_15Graph->Draw("AP");
1157 //----------
1158 sst.str("");
1159 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1160 TGraph *PMT2_16Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_16);
1161 RatePMT5->cd(5);
1162 sst.str("");
1163 sst << "PMT S312B";
1164 PMT2_16Graph->SetTitle(sst.str().c_str());
1165 PMT2_16Graph->SetFillColor(2);
1166 PMT2_16Graph->GetXaxis()->SetTitle("OnBoardTime");
1167 PMT2_16Graph->GetXaxis()->CenterTitle();
1168 PMT2_16Graph->GetYaxis()->SetTitle("PMT Counters");
1169 PMT2_16Graph->GetYaxis()->CenterTitle();
1170 PMT2_16Graph->Draw("AP");
1171 //----------
1172 sst.str("");
1173 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1174 TGraph *PMT2_17Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_17);
1175 RatePMT5->cd(6);
1176 sst.str("");
1177 sst << "PMT S313B";
1178 PMT2_17Graph->SetTitle(sst.str().c_str());
1179 PMT2_17Graph->SetFillColor(2);
1180 PMT2_17Graph->GetXaxis()->SetTitle("OnBoardTime");
1181 PMT2_17Graph->GetXaxis()->CenterTitle();
1182 PMT2_17Graph->GetYaxis()->SetTitle("PMT Counters");
1183 PMT2_17Graph->GetYaxis()->CenterTitle();
1184 PMT2_17Graph->Draw("AP");
1185 //----------
1186 sst.str("");
1187 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1188 TGraph *PMT2_18Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_18);
1189 RatePMT5->cd(7);
1190 sst.str("");
1191 sst << "PMT S321A";
1192 PMT2_18Graph->SetTitle(sst.str().c_str());
1193 PMT2_18Graph->SetFillColor(2);
1194 PMT2_18Graph->GetXaxis()->SetTitle("OnBoardTime");
1195 PMT2_18Graph->GetXaxis()->CenterTitle();
1196 PMT2_18Graph->GetYaxis()->SetTitle("PMT Counters");
1197 PMT2_18Graph->GetYaxis()->CenterTitle();
1198 PMT2_18Graph->Draw("AP");
1199 //----------
1200 sst.str("");
1201 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1202 TGraph *PMT2_19Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_19);
1203 RatePMT5->cd(8);
1204 sst.str("");
1205 sst << "PMT S322A";
1206 PMT2_19Graph->SetTitle(sst.str().c_str());
1207 PMT2_19Graph->SetFillColor(2);
1208 PMT2_19Graph->GetXaxis()->SetTitle("OnBoardTime");
1209 PMT2_19Graph->GetXaxis()->CenterTitle();
1210 PMT2_19Graph->GetYaxis()->SetTitle("PMT Counters");
1211 PMT2_19Graph->GetYaxis()->CenterTitle();
1212 PMT2_19Graph->Draw("AP");
1213
1214 /////////////////////////
1215
1216 //----------
1217 sst.str("");
1218 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1219 TGraph *PMT2_20Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_20);
1220 RatePMT5->cd(9);
1221 sst.str("");
1222 sst << "PMT S323A";
1223 PMT2_20Graph->SetTitle(sst.str().c_str());
1224 PMT2_20Graph->SetFillColor(2);
1225 PMT2_20Graph->GetXaxis()->SetTitle("OnBoardTime");
1226 PMT2_20Graph->GetXaxis()->CenterTitle();
1227 PMT2_20Graph->GetYaxis()->SetTitle("PMT Counters");
1228 PMT2_20Graph->GetYaxis()->CenterTitle();
1229 PMT2_20Graph->Draw("AP");
1230
1231 //----------
1232 sst.str("");
1233 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1234 TGraph *PMT2_21Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_21);
1235 RatePMT5->cd(10);
1236 sst.str("");
1237 sst << "PMT S321B";
1238 PMT2_21Graph->SetTitle(sst.str().c_str());
1239 PMT2_21Graph->SetFillColor(2);
1240 PMT2_21Graph->GetXaxis()->SetTitle("OnBoardTime");
1241 PMT2_21Graph->GetXaxis()->CenterTitle();
1242 PMT2_21Graph->GetYaxis()->SetTitle("PMT Counters");
1243 PMT2_21Graph->GetYaxis()->CenterTitle();
1244 PMT2_21Graph->Draw("AP");
1245
1246 //----------
1247 sst.str("");
1248 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1249 TGraph *PMT2_22Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_22);
1250 RatePMT5->cd(11);
1251 sst.str("");
1252 sst << "PMT S322B";
1253 PMT2_22Graph->SetTitle(sst.str().c_str());
1254 PMT2_22Graph->SetFillColor(2);
1255 PMT2_22Graph->GetXaxis()->SetTitle("OnBoardTime");
1256 PMT2_22Graph->GetXaxis()->CenterTitle();
1257 PMT2_22Graph->GetYaxis()->SetTitle("PMT Counters");
1258 PMT2_22Graph->GetYaxis()->CenterTitle();
1259 PMT2_22Graph->Draw("AP");
1260
1261 //----------
1262 sst.str("");
1263 sst << "pmtcount1[0] vs OBT based on " << base.Data();
1264 TGraph *PMT2_23Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_23);
1265 RatePMT5->cd(12);
1266 sst.str("");
1267 sst << "PMT S323B";
1268 PMT2_23Graph->SetTitle(sst.str().c_str());
1269 PMT2_23Graph->SetFillColor(2);
1270 PMT2_23Graph->GetXaxis()->SetTitle("OnBoardTime");
1271 PMT2_23Graph->GetXaxis()->CenterTitle();
1272 PMT2_23Graph->GetYaxis()->SetTitle("PMT Counters");
1273 PMT2_23Graph->GetYaxis()->CenterTitle();
1274 PMT2_23Graph->Draw("AP");
1275
1276
1277 // print the output
1278 const char *saveas = format;
1279 if ( !strcmp(saveas,"ps") ) {
1280 // ------print the ps
1281
1282 gStyle->SetOptStat(111111);
1283
1284 sst.str("");
1285 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic." << saveas << "(";
1286 EvCounterCanvas->Print(sst.str().c_str());
1287 DeadLiveCanvas->Print(sst.str().c_str());
1288 MeanLiveDeadCanvas->Print(sst.str().c_str());
1289 PMTCanvas->Print(sst.str().c_str());
1290 TrigRate1Canvas->Print(sst.str().c_str());
1291 TrigRate2Canvas->Print(sst.str().c_str());
1292
1293 gStyle->SetOptStat("mr");
1294 S4CalCanvas->Print(sst.str().c_str());
1295
1296 gStyle->SetOptStat("mr");
1297 RatePMT1->Print(sst.str().c_str());
1298 RatePMT2->Print(sst.str().c_str());
1299 RatePMT3->Print(sst.str().c_str());
1300 RatePMT4->Print(sst.str().c_str());
1301 //
1302 sst.str("");
1303 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic." << saveas << ")";
1304 RatePMT5->Print(sst.str().c_str());
1305
1306 } else {
1307
1308 gStyle->SetOptStat(111111);
1309
1310 sst.str("");
1311 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic1." << saveas;
1312 EvCounterCanvas->SaveAs(sst.str().c_str());
1313
1314 sst.str("");
1315 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic2." << saveas;
1316 DeadLiveCanvas->SaveAs(sst.str().c_str());
1317
1318 sst.str("");
1319 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic3." << saveas;
1320 MeanLiveDeadCanvas->SaveAs(sst.str().c_str());
1321 sst.str("");
1322 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic4." << saveas;
1323 PMTCanvas->SaveAs(sst.str().c_str());
1324
1325 sst.str("");
1326 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic5." << saveas;
1327 TrigRate1Canvas->SaveAs(sst.str().c_str());
1328
1329 sst.str("");
1330 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic6." << saveas;
1331 TrigRate2Canvas->SaveAs(sst.str().c_str());
1332
1333 sst.str("");
1334 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic7." << saveas;
1335 S4CalCanvas->SaveAs(sst.str().c_str());
1336
1337 gStyle->SetOptStat("mr");
1338
1339 sst.str("");
1340 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic8." << saveas;
1341 RatePMT1->SaveAs(sst.str().c_str());
1342
1343 sst.str("");
1344 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic9." << saveas;
1345 RatePMT2->SaveAs(sst.str().c_str());
1346
1347 sst.str("");
1348 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic10." << saveas;
1349 RatePMT3->SaveAs(sst.str().c_str());
1350
1351 sst.str("");
1352 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic11." << saveas;
1353 RatePMT4->SaveAs(sst.str().c_str());
1354
1355 gStyle->SetOptStat("mr");
1356
1357 sst.str("");
1358 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic12." << saveas;
1359 RatePMT5->SaveAs(sst.str().c_str());
1360
1361 }
1362
1363 }
1364
1365
1366 int main(int argc, char* argv[]){
1367 TString path;
1368 TString outDir ="./";
1369 TString format ="ps";
1370
1371 if (argc < 2){
1372 printf("You have to insert at least the file to analyze \n");
1373 printf("Try '--help' for more information. \n");
1374 exit(1);
1375 }
1376
1377 if (!strcmp(argv[1], "--help")){
1378 printf( "Usage: TriggerScanBasic FILE [OPTION] \n");
1379 printf( "\t --help Print this help and exit \n");
1380 printf( "\t -outDir[path] Path where to put the output [default ./] \n");
1381 printf( "\t -format[ps] Format for output files [default 'ps'] \n");
1382 exit(1);
1383 }
1384
1385
1386 path=argv[1];
1387
1388 for (int i = 2; i < argc; i++){
1389
1390 if (!strcmp(argv[i], "-outDir")){
1391 if (++i >= argc){
1392 printf( "-outDir needs arguments. \n");
1393 printf( "Try '--help' for more information. \n");
1394 exit(1);
1395 }
1396 else{
1397 outDir = argv[i];
1398 continue;
1399 }
1400 }
1401
1402
1403
1404 if (!strcmp(argv[i], "-format")){
1405 if (++i >= argc){
1406 printf( "-format needs arguments. \n");
1407 printf( "Try '--help' for more information. \n");
1408 exit(1);
1409 }
1410 else{
1411 format = argv[i];
1412 continue;
1413 }
1414 }
1415 }
1416
1417 TriggerScanBasic(argv[1], outDir, format);
1418
1419 }

  ViewVC Help
Powered by ViewVC 1.1.23