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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23