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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide 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 campana 1.1 /*
2     * TriggerScanBasic
3     * Author Nagni
4     * Modified by G. De Rosa
5 campana 1.6 * Version 1.2 - Modified by G. De Rosa
6 campana 1.1 * Date 27 Apr 2006
7 campana 1.6 * Version 1.4 - Modified by G. De Rosa
8 campana 1.3 * Date 26 Jun 2006: Inserted dependences on OnBoardTime and modified histogram ranges.
9 campana 1.6 * 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 campana 1.1 *
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 campana 1.2 #include <TROOT.h>
22     #include <TFile.h>
23 campana 1.1 #include <TString.h>
24     #include <TObjString.h>
25     #include <TTree.h>
26     #include <TBranch.h>
27     #include <TGraph.h>
28     #include <TStyle.h>
29 campana 1.2 #include <TH1.h>
30 pam-rm2 1.4 #include <TH1F.h>
31 campana 1.3 #include <TH2S.h>
32 campana 1.1 #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 pam-rm2 1.4
50 campana 1.6 ULong_t lastime, firstime;
51 pam-rm2 1.4 double obmin=0.;
52     double obmax=0.;
53     stringstream oss, oss1, oss2, oss3, noentries, stringa;
54 campana 1.1 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 pam-rm2 1.4
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 campana 1.5 Int_t nbin = (lastime-firstime)/60000; // on 1 min
103 pam-rm2 1.4 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 campana 1.1
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 campana 1.2 sst << "Calorimeter Rate Counters based on " << base.Data();
124     TH1F *S4Cal2Histo = new TH1F("S4Cal2Histo", sst.str().c_str(), 20, 0, 20);
125 campana 1.1
126 pam-rm2 1.4 // int i = 0;
127     i = 0;
128 campana 1.1 Int_t size = nevents;
129    
130 campana 1.6 ULong_t UnsOBT=0;
131    
132 campana 1.1 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 campana 1.3 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 campana 1.6
200 campana 1.3 //
201 campana 1.1 while(i < nevents){
202     HeadBr->GetEntry(i);
203     TrigBr->GetEntry(i);
204    
205     /* time vector fill*/
206     ph = eh->GetPscuHeader();
207 campana 1.6 UnsOBT = ph->GetOrbitalTime();
208    
209     time[i] = UnsOBT;
210    
211    
212 campana 1.1 /* 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 pam-rm2 1.4
221 campana 1.7 if (liveTime[i]<600) h1->Fill(UnsOBT,liveTime[i]);
222     if (liveTime[i]<600) h2->Fill(UnsOBT);
223 pam-rm2 1.4
224 campana 1.1 /* dead time vector fill*/
225     deadTime[i] = 0.01 * triggerEvent->dltime[1];
226    
227 campana 1.7 if (deadTime[i]<600) h5->Fill(UnsOBT,deadTime[i]);
228 campana 1.1 }
229    
230     gStyle->SetStatY(0.85);
231 pam-rm2 1.4
232 campana 1.1 /* 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 campana 1.3 //
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 campana 1.1 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 campana 1.6 TGraph *evCounterGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)evCounter);
322 campana 1.1 evCounterGraph->SetTitle(sst.str().c_str());
323 campana 1.3 evCounterGraph->GetXaxis()->SetTitle("OnBoardTime");
324 campana 1.1 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 campana 1.6 TGraph *DeadTimeGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)deadTime);
336 campana 1.1 DeadLiveCanvas->cd(1);
337     sst.str("");
338     sst << "Dead Time";
339     DeadTimeGraph->SetTitle(sst.str().c_str());
340     DeadTimeGraph->SetFillColor(2);
341 campana 1.3 DeadTimeGraph->GetXaxis()->SetTitle("OnBoardTime");
342 campana 1.1 DeadTimeGraph->GetXaxis()->CenterTitle();
343     DeadTimeGraph->GetYaxis()->SetTitle("DeadTime(ms)");
344     DeadTimeGraph->GetYaxis()->CenterTitle();
345 campana 1.3 // DeadTimeGraph->SetMaximum(100);
346 campana 1.1 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 campana 1.3 LiveTimeGraph->GetXaxis()->SetTitle("OnBoardTime");
357 campana 1.1 LiveTimeGraph->GetXaxis()->CenterTitle();
358     LiveTimeGraph->GetYaxis()->SetTitle("LiveTime(ms)");
359     LiveTimeGraph->GetYaxis()->CenterTitle();
360     LiveTimeGraph->Draw("AP");
361    
362 pam-rm2 1.4 /*
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 campana 1.1 /*
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 campana 1.6 TGraph *PMT1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1);
397 campana 1.1 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 campana 1.3 PMT1Graph->GetXaxis()->SetTitle("OnBoardTime");
403 campana 1.1 PMT1Graph->GetXaxis()->CenterTitle();
404 pam-rm2 1.4 PMT1Graph->GetYaxis()->SetTitle("PMT Plane Counters (over 60 ms)");
405 campana 1.1 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 campana 1.6 TGraph *PMT2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2);
411 campana 1.1 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 campana 1.3 PMT2Graph->GetXaxis()->SetTitle("OnBoardTime");
417 campana 1.1 PMT2Graph->GetXaxis()->CenterTitle();
418 pam-rm2 1.4 PMT2Graph->GetYaxis()->SetTitle("PMT Plane Counters (over 60 ms)");
419 campana 1.1 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 campana 1.6 TGraph *PMT3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt3);
425 campana 1.1 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 campana 1.3 PMT3Graph->GetXaxis()->SetTitle("OnBoardTime");
431 campana 1.1 PMT3Graph->GetXaxis()->CenterTitle();
432 pam-rm2 1.4 PMT3Graph->GetYaxis()->SetTitle("PMT Plane Rate Counters (over 60 ms)");
433 campana 1.1 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 campana 1.6 TGraph *TrigRate0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate0);
449 campana 1.1 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 campana 1.3 TrigRate0Graph->GetXaxis()->SetTitle("OnBoardTime");
455 campana 1.1 TrigRate0Graph->GetXaxis()->CenterTitle();
456 campana 1.2 TrigRate0Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
457 campana 1.1 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 campana 1.6 TGraph *TrigRate1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate1);
463 campana 1.1 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 campana 1.3 TrigRate1Graph->GetXaxis()->SetTitle("OnBoardTime");
469 campana 1.1 TrigRate1Graph->GetXaxis()->CenterTitle();
470 campana 1.2 TrigRate1Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
471 campana 1.1 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 campana 1.6 TGraph *TrigRate2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate2);
477 campana 1.1 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 campana 1.3 TrigRate2Graph->GetXaxis()->SetTitle("OnBoardTime");
483 campana 1.1 TrigRate2Graph->GetXaxis()->CenterTitle();
484 campana 1.2 TrigRate2Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
485 campana 1.1 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 campana 1.6 TGraph *TrigRate3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate3);
497 campana 1.1 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 campana 1.3 TrigRate3Graph->GetXaxis()->SetTitle("OnBoardTime");
503 campana 1.1 TrigRate3Graph->GetXaxis()->CenterTitle();
504 campana 1.2 TrigRate3Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
505 campana 1.1 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 campana 1.6 TGraph *TrigRate4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate4);
511 campana 1.1 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 campana 1.3 TrigRate4Graph->GetXaxis()->SetTitle("OnBoardTime");
517 campana 1.1 TrigRate4Graph->GetXaxis()->CenterTitle();
518 campana 1.2 TrigRate4Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
519 campana 1.1 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 campana 1.6 TGraph *TrigRate5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)trigrate5);
525 campana 1.1 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 campana 1.3 TrigRate5Graph->GetXaxis()->SetTitle("OnBoardTime");
531 campana 1.1 TrigRate5Graph->GetXaxis()->CenterTitle();
532 campana 1.2 TrigRate5Graph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
533 campana 1.1 TrigRate5Graph->GetYaxis()->CenterTitle();
534     TrigRate5Graph->Draw("AP");
535     //----------
536    
537     gStyle->SetOptStat("mr");
538    
539     /* S4 and Calorimeter Counters draw*/
540 campana 1.6 TGraph *s4RateGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)s4rate);
541 campana 1.1 S4CalCanvas->cd(1);
542     sst.str("");
543     sst << "S4 Trigger Rate Counters";
544     s4RateGraph->SetTitle(sst.str().c_str());
545     s4RateGraph->SetFillColor(2);
546 campana 1.3 s4RateGraph->GetXaxis()->SetTitle("OnBoardTime");
547 campana 1.1 s4RateGraph->GetXaxis()->CenterTitle();
548 campana 1.2 s4RateGraph->GetYaxis()->SetTitle("Trigger Rate Counters (Hz)");
549 campana 1.1 s4RateGraph->GetYaxis()->CenterTitle();
550     s4RateGraph->Draw("AP");
551     //----------
552     S4CalCanvas->cd(2);
553 campana 1.2 gPad->SetLogy(1);
554 campana 1.1 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 campana 1.3 //----------
565 campana 1.1 TCanvas *RatePMT1 = new TCanvas("RatePMT1", "Rate PMT S11A", 1);
566     RatePMT1->Divide (3,3);
567 campana 1.3 //----------
568     sst.str("");
569     sst << "pmtcount1[0] vs OBT based on " << base.Data();
570 campana 1.6 TGraph *PMT1_0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_0);
571 campana 1.1 RatePMT1->cd(1);
572 campana 1.3 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 campana 1.6 TGraph *PMT1_1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_1);
586 campana 1.3 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 campana 1.6 TGraph *PMT1_2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_2);
600 campana 1.3 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 campana 1.1 //----------
611 campana 1.3 sst.str("");
612     sst << "pmtcount1[0] vs OBT based on " << base.Data();
613 campana 1.6 TGraph *PMT1_3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_3);
614 campana 1.1 RatePMT1->cd(4);
615 campana 1.3 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 campana 1.6 TGraph *PMT1_4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_4);
628 campana 1.3 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 campana 1.1 //----------
639 campana 1.3 sst.str("");
640     sst << "pmtcount1[0] vs OBT based on " << base.Data();
641 campana 1.6 TGraph *PMT1_5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_5);
642 campana 1.1 RatePMT1->cd(6);
643 campana 1.3 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 campana 1.1 //----------
653 campana 1.3 sst.str("");
654     sst << "pmtcount1[0] vs OBT based on " << base.Data();
655 campana 1.6 TGraph *PMT1_6Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_6);
656 campana 1.1 RatePMT1->cd(7);
657 campana 1.3 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 campana 1.1 //----------
667 campana 1.3 sst.str("");
668     sst << "pmtcount1[0] vs OBT based on " << base.Data();
669 campana 1.6 TGraph *PMT1_7Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_7);
670 campana 1.1 RatePMT1->cd(8);
671 campana 1.3 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 campana 1.1
683     TCanvas *RatePMT2 = new TCanvas("RatePMT2", "Rate PMT S11B", 1);
684     RatePMT2->Divide (3,3);
685 campana 1.3 //----------
686     sst.str("");
687     sst << "pmtcount1[0] vs OBT based on " << base.Data();
688 campana 1.6 TGraph *PMT1_8Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_8);
689 campana 1.1 RatePMT2->cd(1);
690 campana 1.3 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 campana 1.1 //----------
700 campana 1.3 sst.str("");
701     sst << "pmtcount1[0] vs OBT based on " << base.Data();
702 campana 1.6 TGraph *PMT1_9Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_9);
703 campana 1.1 RatePMT2->cd(2);
704 campana 1.3 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 campana 1.1 //----------
714 campana 1.3 sst.str("");
715     sst << "pmtcount1[0] vs OBT based on " << base.Data();
716 campana 1.6 TGraph *PMT1_10Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_10);
717 campana 1.1 RatePMT2->cd(3);
718 campana 1.3 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 campana 1.1 //----------
728 campana 1.3 sst.str("");
729     sst << "pmtcount1[0] vs OBT based on " << base.Data();
730 campana 1.6 TGraph *PMT1_11Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_11);
731 campana 1.1 RatePMT2->cd(4);
732 campana 1.3 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 campana 1.1 //----------
742 campana 1.3 sst.str("");
743     sst << "pmtcount1[0] vs OBT based on " << base.Data();
744 campana 1.6 TGraph *PMT1_12Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_12);
745 campana 1.1 RatePMT2->cd(5);
746 campana 1.3 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 campana 1.1 //----------
756 campana 1.3 sst.str("");
757     sst << "pmtcount1[0] vs OBT based on " << base.Data();
758 campana 1.6 TGraph *PMT1_13Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_13);
759 campana 1.1 RatePMT2->cd(6);
760 campana 1.3 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 campana 1.1 //----------
770 campana 1.3 sst.str("");
771     sst << "pmtcount1[0] vs OBT based on " << base.Data();
772 campana 1.6 TGraph *PMT1_14Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_14);
773 campana 1.1 RatePMT2->cd(7);
774 campana 1.3 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 campana 1.1 //----------
784 campana 1.3 sst.str("");
785     sst << "pmtcount1[0] vs OBT based on " << base.Data();
786 campana 1.6 TGraph *PMT1_15Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_15);
787 campana 1.1 RatePMT2->cd(8);
788 campana 1.3 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 campana 1.1 RatePMT3->Divide (3,4);
803 campana 1.3 //----------
804     sst.str("");
805     sst << "pmtcount1[0] vs OBT based on " << base.Data();
806 campana 1.6 TGraph *PMT1_16Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_16);
807 campana 1.1 RatePMT3->cd(1);
808 campana 1.3 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 campana 1.1 //----------
818 campana 1.3 sst.str("");
819     sst << "pmtcount1[0] vs OBT based on " << base.Data();
820 campana 1.6 TGraph *PMT1_17Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_17);
821 campana 1.1 RatePMT3->cd(2);
822 campana 1.3 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 campana 1.6 TGraph *PMT1_18Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_18);
835 campana 1.3 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 campana 1.1 //----------
846 campana 1.3 sst.str("");
847     sst << "pmtcount1[0] vs OBT based on " << base.Data();
848 campana 1.6 TGraph *PMT1_19Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_19);
849 campana 1.1 RatePMT3->cd(4);
850 campana 1.3 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 campana 1.1 //----------
860 campana 1.3 sst.str("");
861     sst << "pmtcount1[0] vs OBT based on " << base.Data();
862 campana 1.6 TGraph *PMT1_20Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_20);
863 campana 1.1 RatePMT3->cd(5);
864 campana 1.3 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 campana 1.1 //----------
874 campana 1.3 sst.str("");
875     sst << "pmtcount1[0] vs OBT based on " << base.Data();
876 campana 1.6 TGraph *PMT1_21Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_21);
877 campana 1.1 RatePMT3->cd(6);
878 campana 1.3 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 campana 1.1 //----------
888 campana 1.3 sst.str("");
889     sst << "pmtcount1[0] vs OBT based on " << base.Data();
890 campana 1.6 TGraph *PMT1_22Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_22);
891 campana 1.1 RatePMT3->cd(7);
892 campana 1.3 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 campana 1.1 //----------
902 campana 1.3 sst.str("");
903     sst << "pmtcount1[0] vs OBT based on " << base.Data();
904 campana 1.6 TGraph *PMT1_23Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt1_23);
905 campana 1.1 RatePMT3->cd(8);
906 campana 1.3 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 campana 1.6 TGraph *PMT2_0Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_0);
922 campana 1.3 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 campana 1.1 //----------
934 campana 1.3 sst.str("");
935     sst << "pmtcount1[0] vs OBT based on " << base.Data();
936 campana 1.6 TGraph *PMT2_1Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_1);
937 campana 1.3 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 campana 1.1 //----------
949 campana 1.3 sst.str("");
950     sst << "pmtcount1[0] vs OBT based on " << base.Data();
951 campana 1.6 TGraph *PMT2_2Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_2);
952 campana 1.3 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 campana 1.1 //----------
964 campana 1.3 sst.str("");
965     sst << "pmtcount1[0] vs OBT based on " << base.Data();
966 campana 1.6 TGraph *PMT2_3Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_3);
967 campana 1.3 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 campana 1.6 TGraph *PMT2_4Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_4);
987 campana 1.3 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 campana 1.6 TGraph *PMT2_5Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_5);
1001 campana 1.3 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 campana 1.6 TGraph *PMT2_6Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_6);
1015 campana 1.3 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 campana 1.6 TGraph *PMT2_7Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_7);
1029 campana 1.3 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 campana 1.6 TGraph *PMT2_8Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_8);
1043 campana 1.3 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 campana 1.6 TGraph *PMT2_9Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_9);
1057 campana 1.3 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 campana 1.6 TGraph *PMT2_10Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_10);
1071 campana 1.3 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 campana 1.6 TGraph *PMT2_11Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_11);
1085 campana 1.3 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 campana 1.6 TGraph *PMT2_12Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_12);
1105 campana 1.3 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 campana 1.6 TGraph *PMT2_13Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_13);
1119 campana 1.3 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 campana 1.6 TGraph *PMT2_14Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_14);
1133 campana 1.3 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 campana 1.6 TGraph *PMT2_15Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_15);
1147 campana 1.3 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 campana 1.6 TGraph *PMT2_16Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_16);
1161 campana 1.3 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 campana 1.6 TGraph *PMT2_17Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_17);
1175 campana 1.3 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 campana 1.6 TGraph *PMT2_18Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_18);
1189 campana 1.3 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 campana 1.6 TGraph *PMT2_19Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_19);
1203 campana 1.3 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 campana 1.6 TGraph *PMT2_20Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_20);
1220 campana 1.3 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 campana 1.6 TGraph *PMT2_21Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_21);
1235 campana 1.3 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 campana 1.6 TGraph *PMT2_22Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_22);
1250 campana 1.3 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 campana 1.6 TGraph *PMT2_23Graph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)pmt2_23);
1265 campana 1.3 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 campana 1.1
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 pam-rm2 1.4 MeanLiveDeadCanvas->Print(sst.str().c_str());
1289 campana 1.1 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 pam-rm2 1.4 MeanLiveDeadCanvas->SaveAs(sst.str().c_str());
1321     sst.str("");
1322     sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic4." << saveas;
1323 campana 1.1 PMTCanvas->SaveAs(sst.str().c_str());
1324    
1325     sst.str("");
1326 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic5." << saveas;
1327 campana 1.1 TrigRate1Canvas->SaveAs(sst.str().c_str());
1328    
1329     sst.str("");
1330 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic6." << saveas;
1331 campana 1.1 TrigRate2Canvas->SaveAs(sst.str().c_str());
1332    
1333     sst.str("");
1334 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic7." << saveas;
1335 campana 1.1 S4CalCanvas->SaveAs(sst.str().c_str());
1336    
1337     gStyle->SetOptStat("mr");
1338    
1339     sst.str("");
1340 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic8." << saveas;
1341 campana 1.1 RatePMT1->SaveAs(sst.str().c_str());
1342    
1343     sst.str("");
1344 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic9." << saveas;
1345 campana 1.1 RatePMT2->SaveAs(sst.str().c_str());
1346    
1347     sst.str("");
1348 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic10." << saveas;
1349 campana 1.1 RatePMT3->SaveAs(sst.str().c_str());
1350    
1351     sst.str("");
1352 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic11." << saveas;
1353 campana 1.1 RatePMT4->SaveAs(sst.str().c_str());
1354    
1355     gStyle->SetOptStat("mr");
1356    
1357     sst.str("");
1358 pam-rm2 1.4 sst << outDirectory.Data() << filename.Data() << "TriggerScanBasic12." << saveas;
1359 campana 1.1 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 campana 1.7 }

  ViewVC Help
Powered by ViewVC 1.1.23