/[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.9 - (hide annotations) (download)
Fri Jan 17 15:10:48 2014 UTC (11 years, 1 month ago) by mocchiut
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +3 -2 lines
Compilation warnings using GCC4.7 fixed

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

  ViewVC Help
Powered by ViewVC 1.1.23