/[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.8 - (show annotations) (download)
Wed Mar 23 17:04:34 2011 UTC (13 years, 11 months ago) by campana
Branch: MAIN
Changes since 1.7: +22 -11 lines
*** empty log message ***

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

  ViewVC Help
Powered by ViewVC 1.1.23