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

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

  ViewVC Help
Powered by ViewVC 1.1.23