1 |
campana |
1.1 |
/** |
2 |
|
|
* TriggerScan |
3 |
|
|
* Author Nagni |
4 |
|
|
* Modified by G. De Rosa |
5 |
|
|
* Version 1.2 |
6 |
|
|
* Date 27 Apr 2006 |
7 |
|
|
* |
8 |
|
|
* Description: |
9 |
|
|
* Describe the performance of the Trigger. |
10 |
|
|
* |
11 |
|
|
* Parameters: |
12 |
|
|
* TString base - the path to the root directory for the specific Pamela unpack session |
13 |
|
|
* TString outDirectory - the path where to save the output image (Default = base) |
14 |
|
|
* TString format - the format which will be used for save the produced images (Default = "ps") |
15 |
|
|
*/ |
16 |
|
|
|
17 |
|
|
#include <TString.h> |
18 |
|
|
#include <TObjString.h> |
19 |
|
|
#include <TTree.h> |
20 |
|
|
#include <TBranch.h> |
21 |
|
|
#include <TGraph.h> |
22 |
|
|
#include <TStyle.h> |
23 |
|
|
#include <TH2S.h> |
24 |
|
|
#include <TPaveText.h> |
25 |
|
|
#include <TCanvas.h> |
26 |
|
|
#include <TLatex.h> |
27 |
|
|
#include <TGraph.h> |
28 |
|
|
#include <physics/trigger/TriggerEvent.h> |
29 |
|
|
#include <EventHeader.h> |
30 |
|
|
#include <PscuHeader.h> |
31 |
|
|
#include <iostream> |
32 |
|
|
|
33 |
|
|
using namespace std; |
34 |
|
|
|
35 |
|
|
char bit(int decimal, char pos) |
36 |
|
|
{ |
37 |
|
|
return( (decimal>>pos)%2 ); |
38 |
|
|
} |
39 |
|
|
|
40 |
|
|
void TriggerScan(TString base, TString outDirectory = "", TString format = ""){ |
41 |
|
|
TLatex *t=new TLatex(); |
42 |
|
|
|
43 |
|
|
std::stringstream sst; |
44 |
|
|
if (outDirectory == "") outDirectory = base.Data(); |
45 |
|
|
TString filename = ((TObjString*)base.Tokenize('/')->Last())->GetString(); |
46 |
|
|
|
47 |
|
|
TFile *file =new TFile(base.Data()) ; |
48 |
|
|
if (!file){ |
49 |
|
|
printf("file not Found \n"); |
50 |
|
|
return; |
51 |
|
|
} |
52 |
|
|
|
53 |
|
|
TTree *PhysicsTr = (TTree*)file->Get("Physics"); |
54 |
|
|
TBranch *TrigBr = PhysicsTr->GetBranch("Trigger"); |
55 |
|
|
TBranch *HeadBr = PhysicsTr->GetBranch("Header"); |
56 |
|
|
|
57 |
|
|
pamela::EventHeader *eh = 0; |
58 |
|
|
pamela::PscuHeader *ph = 0; |
59 |
|
|
|
60 |
|
|
pamela::trigger::TriggerEvent *triggerEvent = 0; |
61 |
|
|
|
62 |
|
|
PhysicsTr->SetBranchAddress("Trigger", &triggerEvent); |
63 |
|
|
PhysicsTr->SetBranchAddress("Header", &eh); |
64 |
|
|
|
65 |
|
|
Long64_t nevents = TrigBr->GetEntries(); |
66 |
|
|
if (nevents <= 0) { |
67 |
|
|
printf("nevents = %llu \n", nevents); |
68 |
|
|
file->Close(); |
69 |
|
|
return; |
70 |
|
|
} |
71 |
|
|
|
72 |
|
|
/* Histo DEF */ |
73 |
|
|
|
74 |
|
|
/* |
75 |
|
|
* PTM Plane Counters histograms |
76 |
|
|
*/ |
77 |
|
|
TCanvas *PMTCanvas = new TCanvas("PMTCanvas","PMTCanvas", 1280, 1024); |
78 |
|
|
PMTCanvas->Divide(1,3); |
79 |
|
|
//---------- |
80 |
|
|
sst.str(""); |
81 |
|
|
sst << "Histogram of PMT Plane Counters (S11 AND S12) based on " << base.Data(); |
82 |
|
|
TH1S *pmt1Histo = new TH1S("PMT1Histo", sst.str().c_str(), 20, 0., 300.); |
83 |
|
|
//---------- |
84 |
|
|
sst.str(""); |
85 |
|
|
sst << "Histogram of PMT Plane Counters (S21 AND S22) based on " << base.Data(); |
86 |
|
|
TH1S *pmt2Histo = new TH1S("PMT2Histo", sst.str().c_str(), 20, 0., 300.); |
87 |
|
|
//---------- |
88 |
|
|
sst.str(""); |
89 |
|
|
sst << "Histogram of PMT Plane Counters (S31 AND S32) based on " << base.Data(); |
90 |
|
|
TH1S *pmt3Histo = new TH1S("PMT3Histo", sst.str().c_str(), 20, 0., 300.); |
91 |
|
|
|
92 |
|
|
/* |
93 |
|
|
* Trigger Rate Counters histograms |
94 |
|
|
*/ |
95 |
|
|
TCanvas *TrigRate1Canvas = new TCanvas("TrigRate1Canvas","TrigRate1Canvas", 1280, 1024); |
96 |
|
|
TrigRate1Canvas->Divide(1,3); |
97 |
|
|
|
98 |
|
|
TCanvas *TrigRate2Canvas = new TCanvas("TrigRate2Canvas","TrigRate2Canvas", 1280, 1024); |
99 |
|
|
TrigRate2Canvas->Divide(1,3); |
100 |
|
|
//---------- |
101 |
|
|
sst.str(""); |
102 |
|
|
sst << "Histogram of Trigger Rate Counters (S11 OR S12) AND (S21 OR S22) AND (S31 OR S32) based on " << base.Data(); |
103 |
|
|
TH1S *trRate1Histo = new TH1S("trRate1Histo", sst.str().c_str(), 20, 0., 5.); |
104 |
|
|
//---------- |
105 |
|
|
sst.str(""); |
106 |
|
|
sst << "Histogram of Trigger Rate Counters (S11 AND S12) AND (S21 AND S22) AND (S31 AND S32) based on " << base.Data(); |
107 |
|
|
TH1S *trRate2Histo = new TH1S("trRate2Histo", sst.str().c_str(), 20, 0., 5.); |
108 |
|
|
//--------- |
109 |
|
|
sst.str(""); |
110 |
|
|
sst << "Histogram of Trigger Rate Counters (S21 OR S22) AND (S31 OR S32) based on " << base.Data(); |
111 |
|
|
TH1S *trRate3Histo = new TH1S("trRate3Histo", sst.str().c_str(), 20, 0., 5.); |
112 |
|
|
//--------- |
113 |
|
|
sst.str(""); |
114 |
|
|
sst << "Histogram of Trigger Rate Counters (S21 AND S22) AND (S31 AND S32) based on " << base.Data(); |
115 |
|
|
TH1S *trRate4Histo = new TH1S("trRate4Histo", sst.str().c_str(), 20, 0., 5.); |
116 |
|
|
//--------- |
117 |
|
|
sst.str(""); |
118 |
|
|
sst << "Histogram of Trigger Rate Counters S12 AND (S21 OR S22) based on " << base.Data(); |
119 |
|
|
TH1S *trRate5Histo = new TH1S("trRate5Histo", sst.str().c_str(), 20, 0., 5.); |
120 |
|
|
//--------- |
121 |
|
|
sst.str(""); |
122 |
|
|
sst << "Histogram of Trigger Rate Counters (S11 OR S12) AND (S31 OR S32) based on " << base.Data(); |
123 |
|
|
TH1S *trRate6Histo = new TH1S("trRate6Histo", sst.str().c_str(), 20, 0., 5.); |
124 |
|
|
|
125 |
|
|
|
126 |
|
|
/* |
127 |
|
|
* S4 and Calorimeter Counters histograms |
128 |
|
|
*/ |
129 |
|
|
TCanvas *S4CalCanvas = new TCanvas("S4CalCanvas","S4CalCanvas", 1280, 1024); |
130 |
|
|
S4CalCanvas->Divide(1,2); |
131 |
|
|
//---------- |
132 |
|
|
sst.str(""); |
133 |
|
|
sst << "S4 Counters based on " << base.Data(); |
134 |
|
|
TH1S *S4Cal1Histo = new TH1S("S4Cal1Histo", sst.str().c_str(), 20, 0, 20); |
135 |
|
|
//---------- |
136 |
|
|
sst.str(""); |
137 |
|
|
sst << "Calorimeter Counters based on " << base.Data(); |
138 |
|
|
TH1S *S4Cal2Histo = new TH1S("S4Cal2Histo", sst.str().c_str(), 20, 0, 20); |
139 |
|
|
|
140 |
|
|
/* |
141 |
|
|
* Pattern Trigger Rate histograms |
142 |
|
|
*/ |
143 |
|
|
|
144 |
|
|
TCanvas *PatternTrig0 = new TCanvas("PatternTrig0","PatternTrig0", 1280, 1024); |
145 |
|
|
//---------- |
146 |
|
|
sst.str(""); |
147 |
|
|
sst << "Histogram of Calo pattern trigger " << base.Data(); |
148 |
|
|
TH1S *PatternTrig0Histo = new TH1S("PatternTrig0Histo", sst.str().c_str(), 4, 0, 4); |
149 |
|
|
|
150 |
|
|
TCanvas *PatternTrig1 = new TCanvas("PatternTrig1","PatternTrig1", 1280, 1024); |
151 |
|
|
//---------- |
152 |
|
|
sst.str(""); |
153 |
|
|
sst << "Histogram of S4 pattern trigger " << base.Data(); |
154 |
|
|
TH1S *PatternTrig1Histo = new TH1S("PatternTrig1Histo", sst.str().c_str(), 3, 0, 3); |
155 |
|
|
|
156 |
|
|
|
157 |
|
|
TCanvas *PatternTrig2 = new TCanvas("PatternTrig2","PatternTrig2", 1280, 1024); |
158 |
|
|
//---------- |
159 |
|
|
sst.str(""); |
160 |
|
|
sst << "Histogram of S3 pattern trigger " << base.Data(); |
161 |
|
|
TH1S *PatternTrig2Histo = new TH1S("PatternTrig2Histo", sst.str().c_str(), 16, 0, 16); |
162 |
|
|
|
163 |
|
|
|
164 |
|
|
TCanvas *PatternTrig3 = new TCanvas("PatternTrig3","PatternTrig3", 1280, 1024); |
165 |
|
|
//---------- |
166 |
|
|
sst.str(""); |
167 |
|
|
sst << "Histogram of S2 pattern trigger " << base.Data(); |
168 |
|
|
TH1S *PatternTrig3Histo = new TH1S("PatternTrig3Histo", sst.str().c_str(), 16, 0, 16); |
169 |
|
|
|
170 |
|
|
|
171 |
|
|
TCanvas *PatternTrig4 = new TCanvas("PatternTrig4","PatternTrig4", 1280, 1024); |
172 |
|
|
//---------- |
173 |
|
|
sst.str(""); |
174 |
|
|
sst << "Histogram of S12 pattern trigger " << base.Data(); |
175 |
|
|
TH1S *PatternTrig4Histo = new TH1S("PatternTrig4Histo", sst.str().c_str(), 16, 0, 16); |
176 |
|
|
|
177 |
|
|
|
178 |
|
|
TCanvas *PatternTrig5 = new TCanvas("PatternTrig5","PatternTrig5", 1280, 1024); |
179 |
|
|
//---------- |
180 |
|
|
sst.str(""); |
181 |
|
|
sst << "Histogram of S11 pattern trigger " << base.Data(); |
182 |
|
|
TH1S *PatternTrig5Histo = new TH1S("PatternTrig5Histo", sst.str().c_str(), 16, 0, 16); |
183 |
|
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
int i = 0; |
187 |
|
|
Int_t size = nevents; |
188 |
|
|
|
189 |
|
|
Double_t *time = new Double_t[size]; |
190 |
|
|
Double_t *evCounter = new Double_t[size]; |
191 |
|
|
Double_t *deadTime = new Double_t[size]; |
192 |
|
|
Double_t *liveTime = new Double_t[size]; |
193 |
|
|
|
194 |
|
|
while(i < nevents){ |
195 |
|
|
HeadBr->GetEntry(i); |
196 |
|
|
TrigBr->GetEntry(i); |
197 |
|
|
|
198 |
|
|
/* time vector fill*/ |
199 |
|
|
ph = eh->GetPscuHeader(); |
200 |
|
|
time[i] = ph->GetOrbitalTime(); |
201 |
|
|
|
202 |
|
|
/* eventCounter vector fill*/ |
203 |
|
|
evCounter[i] = triggerEvent->evcount; |
204 |
|
|
|
205 |
|
|
/* live time vector fill*/ |
206 |
|
|
liveTime[i] = 0.16 * triggerEvent->dltime[0]; |
207 |
|
|
|
208 |
|
|
/* dead time vector fill*/ |
209 |
|
|
deadTime[i] = 0.01 * triggerEvent->dltime[1]; |
210 |
|
|
|
211 |
|
|
gStyle->SetStatY(0.85); |
212 |
|
|
|
213 |
|
|
/* PMT Plane Counters fill*/ |
214 |
|
|
|
215 |
|
|
pmt1Histo->Fill((1/0.06)*triggerEvent->pmtpl[0]); |
216 |
|
|
pmt2Histo->Fill((1/0.06)*triggerEvent->pmtpl[1]); |
217 |
|
|
pmt3Histo->Fill((1/0.06)*triggerEvent->pmtpl[2]); |
218 |
|
|
|
219 |
|
|
/* Trigger Rate Counters fill*/ |
220 |
|
|
trRate1Histo->Fill((1/4.)*triggerEvent->trigrate[0]); |
221 |
|
|
trRate2Histo->Fill((1/4.)*triggerEvent->trigrate[1]); |
222 |
|
|
trRate3Histo->Fill((1/4.)*triggerEvent->trigrate[2]); |
223 |
|
|
trRate4Histo->Fill((1/4.)*triggerEvent->trigrate[3]); |
224 |
|
|
trRate5Histo->Fill((1/4.)*triggerEvent->trigrate[4]); |
225 |
|
|
trRate6Histo->Fill((1/4.)*triggerEvent->trigrate[5]); |
226 |
|
|
|
227 |
|
|
/* S4 and Calorimeter Counters fill*/ |
228 |
|
|
S4Cal1Histo->Fill(triggerEvent->s4calcount[0]); |
229 |
|
|
S4Cal2Histo->Fill(triggerEvent->s4calcount[1]); |
230 |
|
|
|
231 |
|
|
int trte0=(int)triggerEvent->patterntrig[0]; |
232 |
|
|
|
233 |
|
|
PatternTrig0Histo->AddBinContent(1,bit(trte0,0)); |
234 |
|
|
PatternTrig0Histo->AddBinContent(2,bit(trte0,1)); |
235 |
|
|
PatternTrig0Histo->AddBinContent(3,bit(trte0,2)); |
236 |
|
|
PatternTrig0Histo->AddBinContent(4,bit(trte0,3)); |
237 |
|
|
|
238 |
|
|
int trte1=(int)triggerEvent->patterntrig[1]; |
239 |
|
|
|
240 |
|
|
PatternTrig1Histo->AddBinContent(1,bit(trte1,0)); |
241 |
|
|
PatternTrig1Histo->AddBinContent(2,bit(trte1,1)); |
242 |
|
|
PatternTrig1Histo->AddBinContent(3,bit(trte1,2)); |
243 |
|
|
|
244 |
|
|
|
245 |
|
|
int trte2=(int)triggerEvent->patterntrig[2]; |
246 |
|
|
|
247 |
|
|
PatternTrig2Histo->AddBinContent(1,bit(trte2,0)); |
248 |
|
|
PatternTrig2Histo->AddBinContent(2,bit(trte2,1)); |
249 |
|
|
PatternTrig2Histo->AddBinContent(3,bit(trte2,2)); |
250 |
|
|
PatternTrig2Histo->AddBinContent(4,bit(trte2,3)); |
251 |
|
|
PatternTrig2Histo->AddBinContent(5,bit(trte2,4)); |
252 |
|
|
PatternTrig2Histo->AddBinContent(6,bit(trte2,5)); |
253 |
|
|
PatternTrig2Histo->AddBinContent(7,bit(trte2,6)); |
254 |
|
|
PatternTrig2Histo->AddBinContent(8,bit(trte2,7)); |
255 |
|
|
PatternTrig2Histo->AddBinContent(9,bit(trte2,8)); |
256 |
|
|
PatternTrig2Histo->AddBinContent(10,bit(trte2,9)); |
257 |
|
|
PatternTrig2Histo->AddBinContent(11,bit(trte2,10)); |
258 |
|
|
PatternTrig2Histo->AddBinContent(12,bit(trte2,11)); |
259 |
|
|
PatternTrig2Histo->AddBinContent(13,bit(trte2,12)); |
260 |
|
|
PatternTrig2Histo->AddBinContent(14,bit(trte2,13)); |
261 |
|
|
PatternTrig2Histo->AddBinContent(15,bit(trte2,14)); |
262 |
|
|
PatternTrig2Histo->AddBinContent(16,bit(trte2,15)); |
263 |
|
|
|
264 |
|
|
int trte3=(int)triggerEvent->patterntrig[3]; |
265 |
|
|
|
266 |
|
|
|
267 |
|
|
PatternTrig3Histo->AddBinContent(1,bit(trte3,0)); |
268 |
|
|
PatternTrig3Histo->AddBinContent(2,bit(trte3,1)); |
269 |
|
|
PatternTrig3Histo->AddBinContent(3,bit(trte3,2)); |
270 |
|
|
PatternTrig3Histo->AddBinContent(4,bit(trte3,3)); |
271 |
|
|
PatternTrig3Histo->AddBinContent(5,bit(trte3,4)); |
272 |
|
|
PatternTrig3Histo->AddBinContent(6,bit(trte3,5)); |
273 |
|
|
PatternTrig3Histo->AddBinContent(7,bit(trte3,6)); |
274 |
|
|
PatternTrig3Histo->AddBinContent(8,bit(trte3,7)); |
275 |
|
|
PatternTrig3Histo->AddBinContent(9,bit(trte3,8)); |
276 |
|
|
PatternTrig3Histo->AddBinContent(10,bit(trte3,9)); |
277 |
|
|
PatternTrig3Histo->AddBinContent(11,bit(trte3,10)); |
278 |
|
|
PatternTrig3Histo->AddBinContent(12,bit(trte3,11)); |
279 |
|
|
PatternTrig3Histo->AddBinContent(13,bit(trte3,12)); |
280 |
|
|
PatternTrig3Histo->AddBinContent(14,bit(trte3,13)); |
281 |
|
|
PatternTrig3Histo->AddBinContent(15,bit(trte3,14)); |
282 |
|
|
PatternTrig3Histo->AddBinContent(16,bit(trte3,15)); |
283 |
|
|
|
284 |
|
|
int trte4=(int)triggerEvent->patterntrig[4]; |
285 |
|
|
|
286 |
|
|
|
287 |
|
|
PatternTrig4Histo->AddBinContent(1,bit(trte4,0)); |
288 |
|
|
PatternTrig4Histo->AddBinContent(2,bit(trte4,1)); |
289 |
|
|
PatternTrig4Histo->AddBinContent(3,bit(trte4,2)); |
290 |
|
|
PatternTrig4Histo->AddBinContent(4,bit(trte4,3)); |
291 |
|
|
PatternTrig4Histo->AddBinContent(5,bit(trte4,4)); |
292 |
|
|
PatternTrig4Histo->AddBinContent(6,bit(trte4,5)); |
293 |
|
|
PatternTrig4Histo->AddBinContent(7,bit(trte4,6)); |
294 |
|
|
PatternTrig4Histo->AddBinContent(8,bit(trte4,7)); |
295 |
|
|
PatternTrig4Histo->AddBinContent(9,bit(trte4,8)); |
296 |
|
|
PatternTrig4Histo->AddBinContent(10,bit(trte4,9)); |
297 |
|
|
PatternTrig4Histo->AddBinContent(11,bit(trte4,10)); |
298 |
|
|
PatternTrig4Histo->AddBinContent(12,bit(trte4,11)); |
299 |
|
|
PatternTrig4Histo->AddBinContent(13,bit(trte4,12)); |
300 |
|
|
PatternTrig4Histo->AddBinContent(14,bit(trte4,13)); |
301 |
|
|
PatternTrig4Histo->AddBinContent(15,bit(trte4,14)); |
302 |
|
|
PatternTrig4Histo->AddBinContent(16,bit(trte4,15)); |
303 |
|
|
|
304 |
|
|
int trte5=(int)triggerEvent->patterntrig[5]; |
305 |
|
|
|
306 |
|
|
|
307 |
|
|
PatternTrig5Histo->AddBinContent(1,bit(trte5,0)); |
308 |
|
|
PatternTrig5Histo->AddBinContent(2,bit(trte5,1)); |
309 |
|
|
PatternTrig5Histo->AddBinContent(3,bit(trte5,2)); |
310 |
|
|
PatternTrig5Histo->AddBinContent(4,bit(trte5,3)); |
311 |
|
|
PatternTrig5Histo->AddBinContent(5,bit(trte5,4)); |
312 |
|
|
PatternTrig5Histo->AddBinContent(6,bit(trte5,5)); |
313 |
|
|
PatternTrig5Histo->AddBinContent(7,bit(trte5,6)); |
314 |
|
|
PatternTrig5Histo->AddBinContent(8,bit(trte5,7)); |
315 |
|
|
PatternTrig5Histo->AddBinContent(9,bit(trte5,8)); |
316 |
|
|
PatternTrig5Histo->AddBinContent(10,bit(trte5,9)); |
317 |
|
|
PatternTrig5Histo->AddBinContent(11,bit(trte5,10)); |
318 |
|
|
PatternTrig5Histo->AddBinContent(12,bit(trte5,11)); |
319 |
|
|
PatternTrig5Histo->AddBinContent(13,bit(trte5,12)); |
320 |
|
|
PatternTrig5Histo->AddBinContent(14,bit(trte5,13)); |
321 |
|
|
PatternTrig5Histo->AddBinContent(15,bit(trte5,14)); |
322 |
|
|
PatternTrig5Histo->AddBinContent(16,bit(trte5,15)); |
323 |
|
|
|
324 |
|
|
i++; |
325 |
|
|
} |
326 |
|
|
|
327 |
|
|
|
328 |
|
|
gStyle->SetOptStat(111111); |
329 |
|
|
gStyle->SetStatH(0.15); |
330 |
|
|
gStyle->SetStatW(0.15); |
331 |
|
|
|
332 |
|
|
|
333 |
|
|
/* |
334 |
|
|
* Event Counter graph |
335 |
|
|
*/ |
336 |
|
|
TCanvas *EvCounterCanvas = new TCanvas("EvCounterCanvas","EvCounterCanvas", 1280, 1024); |
337 |
|
|
//---------- |
338 |
|
|
sst.str(""); |
339 |
|
|
sst << "Event Counter"; |
340 |
|
|
TGraph *evCounterGraph = new TGraph(nevents, time, evCounter); |
341 |
|
|
evCounterGraph->SetTitle(sst.str().c_str()); |
342 |
|
|
evCounterGraph->Draw("APL"); |
343 |
|
|
|
344 |
|
|
/* |
345 |
|
|
* Dead and Live time graphs |
346 |
|
|
*/ |
347 |
|
|
TCanvas *DeadLiveCanvas = new TCanvas("DeadLiveCanvas","DeadLiveCanvas", 1280, 1024); |
348 |
|
|
DeadLiveCanvas->Divide(1,2); |
349 |
|
|
//---------- |
350 |
|
|
sst.str(""); |
351 |
|
|
sst << "Graph of Dead Time vs OBT based on " << base.Data(); |
352 |
|
|
TGraph *DeadTimeGraph = new TGraph(nevents, time, deadTime); |
353 |
|
|
DeadLiveCanvas->cd(1); |
354 |
|
|
sst.str(""); |
355 |
|
|
sst << "Dead Time"; |
356 |
|
|
DeadTimeGraph->SetTitle(sst.str().c_str()); |
357 |
|
|
DeadTimeGraph->SetFillColor(2); |
358 |
|
|
DeadTimeGraph->GetXaxis()->SetTitle("OnBoardTime"); |
359 |
|
|
DeadTimeGraph->GetXaxis()->CenterTitle(); |
360 |
|
|
DeadTimeGraph->GetYaxis()->SetTitle("DeadTime(ms)"); |
361 |
|
|
DeadTimeGraph->GetYaxis()->CenterTitle(); |
362 |
|
|
DeadTimeGraph->SetMaximum(100); |
363 |
|
|
DeadTimeGraph->Draw("APL"); |
364 |
|
|
//---------- |
365 |
|
|
sst.str(""); |
366 |
|
|
sst << "Graph of Live Time vs OBT based on " << base.Data(); |
367 |
|
|
TGraph *LiveTimeGraph = new TGraph(nevents, (const Double_t*)time, (const Double_t*)liveTime); |
368 |
|
|
DeadLiveCanvas->cd(2); |
369 |
|
|
sst.str(""); |
370 |
|
|
sst << "Live Time"; |
371 |
|
|
LiveTimeGraph->SetTitle(sst.str().c_str()); |
372 |
|
|
LiveTimeGraph->SetFillColor(2); |
373 |
|
|
LiveTimeGraph->GetXaxis()->SetTitle("OnBoardTime"); |
374 |
|
|
LiveTimeGraph->GetXaxis()->CenterTitle(); |
375 |
|
|
LiveTimeGraph->GetYaxis()->SetTitle("LiveTime(ms)"); |
376 |
|
|
LiveTimeGraph->GetYaxis()->CenterTitle(); |
377 |
|
|
LiveTimeGraph->Draw("APL"); |
378 |
|
|
|
379 |
|
|
/* PMT Plane Counters draw*/ |
380 |
|
|
|
381 |
|
|
PMTCanvas->cd(1); |
382 |
|
|
pmt1Histo->GetXaxis()->SetTitle("Hz"); |
383 |
|
|
pmt1Histo->Draw(); |
384 |
|
|
PMTCanvas->cd(2); |
385 |
|
|
pmt2Histo->GetXaxis()->SetTitle("Hz"); |
386 |
|
|
pmt2Histo->Draw(); |
387 |
|
|
PMTCanvas->cd(3); |
388 |
|
|
pmt3Histo->GetXaxis()->SetTitle("Hz"); |
389 |
|
|
pmt3Histo->Draw(); |
390 |
|
|
|
391 |
|
|
/* Trigger Rate Counters draw*/ |
392 |
|
|
TrigRate1Canvas->cd(1); |
393 |
|
|
trRate1Histo->GetXaxis()->SetTitle("Hz"); |
394 |
|
|
trRate1Histo->Draw(); |
395 |
|
|
TrigRate1Canvas->cd(2); |
396 |
|
|
trRate2Histo->GetXaxis()->SetTitle("Hz"); |
397 |
|
|
trRate2Histo->Draw(); |
398 |
|
|
TrigRate1Canvas->cd(3); |
399 |
|
|
trRate3Histo->GetXaxis()->SetTitle("Hz"); |
400 |
|
|
trRate3Histo->Draw(); |
401 |
|
|
TrigRate2Canvas->cd(1); |
402 |
|
|
trRate4Histo->GetXaxis()->SetTitle("Hz"); |
403 |
|
|
trRate4Histo->Draw(); |
404 |
|
|
TrigRate2Canvas->cd(2); |
405 |
|
|
trRate5Histo->GetXaxis()->SetTitle("Hz"); |
406 |
|
|
trRate5Histo->Draw(); |
407 |
|
|
TrigRate2Canvas->cd(3); |
408 |
|
|
trRate6Histo->GetXaxis()->SetTitle("Hz"); |
409 |
|
|
trRate6Histo->Draw(); |
410 |
|
|
|
411 |
|
|
/* S4 and Calorimeter Counters draw*/ |
412 |
|
|
S4CalCanvas->cd(1); |
413 |
|
|
S4Cal1Histo->GetXaxis()->SetTitle("Hz"); |
414 |
|
|
S4Cal1Histo->Draw(); |
415 |
|
|
S4CalCanvas->cd(2); |
416 |
|
|
S4Cal2Histo->GetXaxis()->SetTitle("Hz"); |
417 |
|
|
S4Cal2Histo->Draw(); |
418 |
|
|
|
419 |
|
|
/* Pattern Trigger draw*/ |
420 |
|
|
|
421 |
|
|
gStyle->SetOptStat(1101); |
422 |
|
|
|
423 |
|
|
PatternTrig5->cd(); |
424 |
|
|
PatternTrig5Histo->Draw(""); |
425 |
|
|
|
426 |
|
|
PatternTrig4->cd(); |
427 |
|
|
PatternTrig4Histo->Draw(""); |
428 |
|
|
|
429 |
|
|
PatternTrig3->cd(); |
430 |
|
|
PatternTrig3Histo->Draw(""); |
431 |
|
|
|
432 |
|
|
PatternTrig2->cd(); |
433 |
|
|
PatternTrig2Histo->Draw(""); |
434 |
|
|
|
435 |
|
|
PatternTrig0->cd(); |
436 |
|
|
PatternTrig0Histo->Draw(""); |
437 |
|
|
|
438 |
|
|
PatternTrig1->cd(); |
439 |
|
|
PatternTrig1Histo->Draw(""); |
440 |
|
|
|
441 |
|
|
gStyle->SetOptStat(1111); |
442 |
|
|
gStyle->SetStatH(0.3); |
443 |
|
|
gStyle->SetStatW(0.3); |
444 |
|
|
|
445 |
|
|
TCanvas *RatePMT1 = new TCanvas("RatePMT1", "Rate PMT S11A", 1); |
446 |
|
|
RatePMT1->Divide (3,3); |
447 |
|
|
//---------- |
448 |
|
|
RatePMT1->cd(1); |
449 |
|
|
PhysicsTr->Draw("pmtcount1[0]"); |
450 |
|
|
t=new TLatex(); |
451 |
|
|
t->SetTextFont(32); |
452 |
|
|
t->SetTextColor(1); |
453 |
|
|
t->SetTextAlign(12); |
454 |
|
|
t->SetTextSize(0.12); |
455 |
|
|
t->DrawLatex(5.,20.,"S111A"); |
456 |
|
|
//---------- |
457 |
|
|
RatePMT1->cd (2); |
458 |
|
|
PhysicsTr->Draw("pmtcount1[1]"); |
459 |
|
|
t=new TLatex(); |
460 |
|
|
t->SetTextFont(32); |
461 |
|
|
t->SetTextColor(1); |
462 |
|
|
t->SetTextAlign(12); |
463 |
|
|
t->SetTextSize(0.12); |
464 |
|
|
t->DrawLatex(5.,20.,"S112A"); |
465 |
|
|
//---------- |
466 |
|
|
RatePMT1->cd (3); |
467 |
|
|
PhysicsTr->Draw("pmtcount1[2]"); |
468 |
|
|
t=new TLatex(); |
469 |
|
|
t->SetTextFont(32); |
470 |
|
|
t->SetTextColor(1); |
471 |
|
|
t->SetTextAlign(12); |
472 |
|
|
t->SetTextSize(0.12); |
473 |
|
|
t->DrawLatex(5.,20.,"S113A"); |
474 |
|
|
//---------- |
475 |
|
|
RatePMT1->cd(4); |
476 |
|
|
PhysicsTr->Draw("pmtcount1[3]"); |
477 |
|
|
t=new TLatex(); |
478 |
|
|
t->SetTextFont(32); |
479 |
|
|
t->SetTextColor(1); |
480 |
|
|
t->SetTextAlign(12); |
481 |
|
|
t->SetTextSize(0.12); |
482 |
|
|
t->DrawLatex(5.,20.,"S114A"); |
483 |
|
|
//---------- |
484 |
|
|
RatePMT1->cd(5); |
485 |
|
|
PhysicsTr->Draw("pmtcount1[4]"); |
486 |
|
|
t=new TLatex(); |
487 |
|
|
t->SetTextFont(32); |
488 |
|
|
t->SetTextColor(1); |
489 |
|
|
t->SetTextAlign(12); |
490 |
|
|
t->SetTextSize(0.12); |
491 |
|
|
t->DrawLatex(5.,20.,"S115A"); |
492 |
|
|
//---------- |
493 |
|
|
RatePMT1->cd(6); |
494 |
|
|
PhysicsTr->Draw("pmtcount1[5]"); |
495 |
|
|
t=new TLatex(); |
496 |
|
|
t->SetTextFont(32); |
497 |
|
|
t->SetTextColor(1); |
498 |
|
|
t->SetTextAlign(12); |
499 |
|
|
t->SetTextSize(0.12); |
500 |
|
|
t->DrawLatex(5.,20.,"S116A"); |
501 |
|
|
//---------- |
502 |
|
|
RatePMT1->cd(7); |
503 |
|
|
PhysicsTr->Draw("pmtcount1[6]"); |
504 |
|
|
t=new TLatex(); |
505 |
|
|
t->SetTextFont(32); |
506 |
|
|
t->SetTextColor(1); |
507 |
|
|
t->SetTextAlign(12); |
508 |
|
|
t->SetTextSize(0.12); |
509 |
|
|
t->DrawLatex(5.,20.,"S117A"); |
510 |
|
|
//---------- |
511 |
|
|
RatePMT1->cd(8); |
512 |
|
|
PhysicsTr->Draw("pmtcount1[7]"); |
513 |
|
|
t=new TLatex(); |
514 |
|
|
t->SetTextFont(32); |
515 |
|
|
t->SetTextColor(1); |
516 |
|
|
t->SetTextAlign(12); |
517 |
|
|
t->SetTextSize(0.12); |
518 |
|
|
t->DrawLatex(5.,20.,"S118A"); |
519 |
|
|
|
520 |
|
|
TCanvas *RatePMT2 = new TCanvas("RatePMT2", "Rate PMT S11B", 1); |
521 |
|
|
RatePMT2->Divide (3,3); |
522 |
|
|
//---------- |
523 |
|
|
RatePMT2->cd(1); |
524 |
|
|
PhysicsTr-> Draw("pmtcount1[8]"); |
525 |
|
|
t=new TLatex(); |
526 |
|
|
t->SetTextFont(32); |
527 |
|
|
t->SetTextColor(1); |
528 |
|
|
t->SetTextAlign(12); |
529 |
|
|
t->SetTextSize(0.12); |
530 |
|
|
t->DrawLatex(5.,20.,"S111B"); |
531 |
|
|
//---------- |
532 |
|
|
RatePMT2->cd(2); |
533 |
|
|
PhysicsTr->Draw("pmtcount1[9]"); |
534 |
|
|
t=new TLatex(); |
535 |
|
|
t->SetTextFont(32); |
536 |
|
|
t->SetTextColor(1); |
537 |
|
|
t->SetTextAlign(12); |
538 |
|
|
t->SetTextSize(0.12); |
539 |
|
|
t->DrawLatex(5.,20.,"S112B"); |
540 |
|
|
//---------- |
541 |
|
|
RatePMT2->cd(3); |
542 |
|
|
PhysicsTr->Draw("pmtcount1[10]"); |
543 |
|
|
t=new TLatex(); |
544 |
|
|
t->SetTextFont(32); |
545 |
|
|
t->SetTextColor(1); |
546 |
|
|
t->SetTextAlign(12); |
547 |
|
|
t->SetTextSize(0.12); |
548 |
|
|
t->DrawLatex(5.,20.,"S113B"); |
549 |
|
|
//---------- |
550 |
|
|
RatePMT2->cd(4); |
551 |
|
|
PhysicsTr->Draw("pmtcount1[11]"); |
552 |
|
|
t=new TLatex(); |
553 |
|
|
t->SetTextFont(32); |
554 |
|
|
t->SetTextColor(1); |
555 |
|
|
t->SetTextAlign(12); |
556 |
|
|
t->SetTextSize(0.12); |
557 |
|
|
t->DrawLatex(5.,20.,"S114B"); |
558 |
|
|
//---------- |
559 |
|
|
RatePMT2->cd(5); |
560 |
|
|
PhysicsTr-> Draw("pmtcount1[12]"); |
561 |
|
|
t=new TLatex(); |
562 |
|
|
t->SetTextFont(32); |
563 |
|
|
t->SetTextColor(1); |
564 |
|
|
t->SetTextAlign(12); |
565 |
|
|
t->SetTextSize(0.12); |
566 |
|
|
t->DrawLatex(5.,20.,"S115B"); |
567 |
|
|
//---------- |
568 |
|
|
RatePMT2->cd(6); |
569 |
|
|
PhysicsTr-> Draw("pmtcount1[13]"); |
570 |
|
|
t=new TLatex(); |
571 |
|
|
t->SetTextFont(32); |
572 |
|
|
t->SetTextColor(1); |
573 |
|
|
t->SetTextAlign(12); |
574 |
|
|
t->SetTextSize(0.12); |
575 |
|
|
t->DrawLatex(5.,20.,"S116B"); |
576 |
|
|
//---------- |
577 |
|
|
RatePMT2->cd(7); |
578 |
|
|
PhysicsTr-> Draw("pmtcount1[14]"); |
579 |
|
|
t=new TLatex(); |
580 |
|
|
t->SetTextFont(32); |
581 |
|
|
t->SetTextColor(1); |
582 |
|
|
t->SetTextAlign(12); |
583 |
|
|
t->SetTextSize(0.12); |
584 |
|
|
t->DrawLatex(5.,20.,"S117B"); |
585 |
|
|
//---------- |
586 |
|
|
RatePMT2->cd(8); |
587 |
|
|
PhysicsTr->Draw("pmtcount1[15]"); |
588 |
|
|
t=new TLatex(); |
589 |
|
|
t->SetTextFont(32); |
590 |
|
|
t->SetTextColor(1); |
591 |
|
|
t->SetTextAlign(12); |
592 |
|
|
t->SetTextSize(0.12); |
593 |
|
|
t->DrawLatex(5.,20.,"S118B"); |
594 |
|
|
|
595 |
|
|
TCanvas *RatePMT3 = new TCanvas("RatePMT3", "Rate PMT S12", 1); |
596 |
|
|
RatePMT3->Divide (3,4); |
597 |
|
|
//---------- |
598 |
|
|
RatePMT3->cd(1); |
599 |
|
|
PhysicsTr-> Draw("pmtcount1[16]"); |
600 |
|
|
t=new TLatex(); |
601 |
|
|
t->SetTextFont(32); |
602 |
|
|
t->SetTextColor(1); |
603 |
|
|
t->SetTextAlign(12); |
604 |
|
|
t->SetTextSize(0.12); |
605 |
|
|
t->DrawLatex(5.,20.,"S121A"); |
606 |
|
|
//---------- |
607 |
|
|
RatePMT3->cd(2); |
608 |
|
|
PhysicsTr-> Draw("pmtcount1[17]"); |
609 |
|
|
t=new TLatex(); |
610 |
|
|
t->SetTextFont(32); |
611 |
|
|
t->SetTextColor(1); |
612 |
|
|
t->SetTextAlign(12); |
613 |
|
|
t->SetTextSize(0.12); |
614 |
|
|
t->DrawLatex(5.,20.,"S122A"); |
615 |
|
|
//---------- |
616 |
|
|
RatePMT3->cd (3); |
617 |
|
|
PhysicsTr-> Draw("pmtcount1[18]"); |
618 |
|
|
t=new TLatex(); |
619 |
|
|
t->SetTextFont(32); |
620 |
|
|
t->SetTextColor(1); |
621 |
|
|
t->SetTextAlign(12); |
622 |
|
|
t->SetTextSize(0.12); |
623 |
|
|
t->DrawLatex(5.,20.,"S123A"); |
624 |
|
|
//---------- |
625 |
|
|
RatePMT3->cd(4); |
626 |
|
|
PhysicsTr->Draw("pmtcount1[19]"); |
627 |
|
|
t=new TLatex(); |
628 |
|
|
t->SetTextFont(32); |
629 |
|
|
t->SetTextColor(1); |
630 |
|
|
t->SetTextAlign(12); |
631 |
|
|
t->SetTextSize(0.12); |
632 |
|
|
t->DrawLatex(5.,20.,"S124A"); |
633 |
|
|
//---------- |
634 |
|
|
RatePMT3->cd(5); |
635 |
|
|
PhysicsTr-> Draw("pmtcount1[20]"); |
636 |
|
|
t=new TLatex(); |
637 |
|
|
t->SetTextFont(32); |
638 |
|
|
t->SetTextColor(1); |
639 |
|
|
t->SetTextAlign(12); |
640 |
|
|
t->SetTextSize(0.12); |
641 |
|
|
t->DrawLatex(5.,20.,"S125A"); |
642 |
|
|
//---------- |
643 |
|
|
RatePMT3->cd(6); |
644 |
|
|
PhysicsTr-> Draw("pmtcount1[21]"); |
645 |
|
|
t=new TLatex(); |
646 |
|
|
t->SetTextFont(32); |
647 |
|
|
t->SetTextColor(1); |
648 |
|
|
t->SetTextAlign(12); |
649 |
|
|
t->SetTextSize(0.12); |
650 |
|
|
t->DrawLatex(5.,20.,"S126A"); |
651 |
|
|
//---------- |
652 |
|
|
RatePMT3->cd(7); |
653 |
|
|
PhysicsTr->Draw("pmtcount1[22]"); |
654 |
|
|
t=new TLatex(); |
655 |
|
|
t->SetTextFont(32); |
656 |
|
|
t->SetTextColor(1); |
657 |
|
|
t->SetTextAlign(12); |
658 |
|
|
t->SetTextSize(0.12); |
659 |
|
|
t->DrawLatex(5.,20.,"S121B"); |
660 |
|
|
//---------- |
661 |
|
|
RatePMT3->cd(8); |
662 |
|
|
PhysicsTr-> Draw("pmtcount1[23]"); |
663 |
|
|
t=new TLatex(); |
664 |
|
|
t->SetTextFont(32); |
665 |
|
|
t->SetTextColor(1); |
666 |
|
|
t->SetTextAlign(12); |
667 |
|
|
t->SetTextSize(0.12); |
668 |
|
|
t->DrawLatex(5.,20.,"S122B"); |
669 |
|
|
//---------- |
670 |
|
|
RatePMT3->cd (9); |
671 |
|
|
PhysicsTr->Draw("pmtcount2[0]"); |
672 |
|
|
t=new TLatex(); |
673 |
|
|
t->SetTextFont(32); |
674 |
|
|
t->SetTextColor(1); |
675 |
|
|
t->SetTextAlign(12); |
676 |
|
|
t->SetTextSize(0.12); |
677 |
|
|
t->DrawLatex(5.,20.,"S123B"); |
678 |
|
|
//---------- |
679 |
|
|
RatePMT3->cd (10); |
680 |
|
|
PhysicsTr->Draw("pmtcount2[1]"); |
681 |
|
|
t=new TLatex(); |
682 |
|
|
t->SetTextFont(32); |
683 |
|
|
t->SetTextColor(1); |
684 |
|
|
t->SetTextAlign(12); |
685 |
|
|
t->SetTextSize(0.12); |
686 |
|
|
t->DrawLatex(5.,20.,"S124B"); |
687 |
|
|
//---------- |
688 |
|
|
RatePMT3->cd (11); |
689 |
|
|
PhysicsTr->Draw("pmtcount2[2]"); |
690 |
|
|
t=new TLatex(); |
691 |
|
|
t->SetTextFont(32); |
692 |
|
|
t->SetTextColor(1); |
693 |
|
|
t->SetTextAlign(12); |
694 |
|
|
t->SetTextSize(0.12); |
695 |
|
|
t->DrawLatex(5.,20.,"S125B"); |
696 |
|
|
//---------- |
697 |
|
|
RatePMT3->cd (12); |
698 |
|
|
PhysicsTr->Draw("pmtcount2[3]"); |
699 |
|
|
t=new TLatex(); |
700 |
|
|
t->SetTextFont(32); |
701 |
|
|
t->SetTextColor(1); |
702 |
|
|
t->SetTextAlign(12); |
703 |
|
|
t->SetTextSize(0.12); |
704 |
|
|
t->DrawLatex(5.,20.,"S126B"); |
705 |
|
|
|
706 |
|
|
TCanvas *RatePMT4 = new TCanvas("RatePMT4", "Rate PMT S2", 1); |
707 |
|
|
RatePMT4->Divide (3,3); |
708 |
|
|
//---------- |
709 |
|
|
RatePMT4->cd (1); |
710 |
|
|
PhysicsTr-> Draw("pmtcount2[4]"); |
711 |
|
|
t=new TLatex(); |
712 |
|
|
t->SetTextFont(32); |
713 |
|
|
t->SetTextColor(1); |
714 |
|
|
t->SetTextAlign(12); |
715 |
|
|
t->SetTextSize(0.12); |
716 |
|
|
t->DrawLatex(5.,20.,"S211A"); |
717 |
|
|
//---------- |
718 |
|
|
RatePMT4->cd (2); |
719 |
|
|
PhysicsTr-> Draw("pmtcount2[5]"); |
720 |
|
|
t=new TLatex(); |
721 |
|
|
t->SetTextFont(32); |
722 |
|
|
t->SetTextColor(1); |
723 |
|
|
t->SetTextAlign(12); |
724 |
|
|
t->SetTextSize(0.12); |
725 |
|
|
t->DrawLatex(5.,20.,"S212A"); |
726 |
|
|
//---------- |
727 |
|
|
RatePMT4->cd (3); |
728 |
|
|
PhysicsTr-> Draw("pmtcount2[6]"); |
729 |
|
|
t=new TLatex(); |
730 |
|
|
t->SetTextFont(32); |
731 |
|
|
t->SetTextColor(1); |
732 |
|
|
t->SetTextAlign(12); |
733 |
|
|
t->SetTextSize(0.12); |
734 |
|
|
t->DrawLatex(5.,20.,"S211B"); |
735 |
|
|
//---------- |
736 |
|
|
RatePMT4->cd (4); |
737 |
|
|
PhysicsTr-> Draw("pmtcount2[7]"); |
738 |
|
|
t=new TLatex(); |
739 |
|
|
t->SetTextFont(32); |
740 |
|
|
t->SetTextColor(1); |
741 |
|
|
t->SetTextAlign(12); |
742 |
|
|
t->SetTextSize(0.12); |
743 |
|
|
t->DrawLatex(5.,20.,"S212B"); |
744 |
|
|
//---------- |
745 |
|
|
RatePMT4->cd (5); |
746 |
|
|
PhysicsTr-> Draw("pmtcount2[8]"); |
747 |
|
|
t=new TLatex(); |
748 |
|
|
t->SetTextFont(32); |
749 |
|
|
t->SetTextColor(1); |
750 |
|
|
t->SetTextAlign(12); |
751 |
|
|
t->SetTextSize(0.12); |
752 |
|
|
t->DrawLatex(5.,20.,"S221A"); |
753 |
|
|
//---------- |
754 |
|
|
RatePMT4->cd (6); |
755 |
|
|
PhysicsTr-> Draw("pmtcount2[9]"); |
756 |
|
|
t=new TLatex(); |
757 |
|
|
t->SetTextFont(32); |
758 |
|
|
t->SetTextColor(1); |
759 |
|
|
t->SetTextAlign(12); |
760 |
|
|
t->SetTextSize(0.12); |
761 |
|
|
t->DrawLatex(5.,20.,"S222A"); |
762 |
|
|
//---------- |
763 |
|
|
RatePMT4->cd (7); |
764 |
|
|
PhysicsTr-> Draw("pmtcount2[10]"); |
765 |
|
|
t=new TLatex(); |
766 |
|
|
t->SetTextFont(32); |
767 |
|
|
t->SetTextColor(1); |
768 |
|
|
t->SetTextAlign(12); |
769 |
|
|
t->SetTextSize(0.12); |
770 |
|
|
t->DrawLatex(5.,20.,"S221B"); |
771 |
|
|
//---------- |
772 |
|
|
RatePMT4->cd (8); |
773 |
|
|
PhysicsTr->Draw("pmtcount2[11]"); |
774 |
|
|
t=new TLatex(); |
775 |
|
|
t->SetTextFont(32); |
776 |
|
|
t->SetTextColor(1); |
777 |
|
|
t->SetTextAlign(12); |
778 |
|
|
t->SetTextSize(0.12); |
779 |
|
|
t->DrawLatex(5.,20.,"S222B"); |
780 |
|
|
|
781 |
|
|
TCanvas *RatePMT5 = new TCanvas("RatePMT5", "Rate PMT S3", 1); |
782 |
|
|
RatePMT5->Divide (3,4); |
783 |
|
|
//---------- |
784 |
|
|
RatePMT5->cd (1); |
785 |
|
|
PhysicsTr-> Draw("pmtcount2[12]"); |
786 |
|
|
t=new TLatex(); |
787 |
|
|
t->SetTextFont(32); |
788 |
|
|
t->SetTextColor(1); |
789 |
|
|
t->SetTextAlign(12); |
790 |
|
|
t->SetTextSize(0.12); |
791 |
|
|
t->DrawLatex(5.,20.,"S311A"); |
792 |
|
|
//---------- |
793 |
|
|
RatePMT5->cd (2); |
794 |
|
|
PhysicsTr-> Draw("pmtcount2[13]"); |
795 |
|
|
t=new TLatex(); |
796 |
|
|
t->SetTextFont(32); |
797 |
|
|
t->SetTextColor(1); |
798 |
|
|
t->SetTextAlign(12); |
799 |
|
|
t->SetTextSize(0.12); |
800 |
|
|
t->DrawLatex(5.,20.,"S312A"); |
801 |
|
|
//---------- |
802 |
|
|
RatePMT5->cd (3); |
803 |
|
|
PhysicsTr-> Draw("pmtcount2[14]"); |
804 |
|
|
t=new TLatex(); |
805 |
|
|
t->SetTextFont(32); |
806 |
|
|
t->SetTextColor(1); |
807 |
|
|
t->SetTextAlign(12); |
808 |
|
|
t->SetTextSize(0.12); |
809 |
|
|
t->DrawLatex(5.,20.,"S313A"); |
810 |
|
|
//---------- |
811 |
|
|
RatePMT5->cd (4); |
812 |
|
|
PhysicsTr-> Draw("pmtcount2[15]"); |
813 |
|
|
t=new TLatex(); |
814 |
|
|
t->SetTextFont(32); |
815 |
|
|
t->SetTextColor(1); |
816 |
|
|
t->SetTextAlign(12); |
817 |
|
|
t->SetTextSize(0.12); |
818 |
|
|
t->DrawLatex(5.,20.,"S311B"); |
819 |
|
|
//---------- |
820 |
|
|
RatePMT5->cd (5); |
821 |
|
|
PhysicsTr-> Draw("pmtcount2[16]"); |
822 |
|
|
t=new TLatex(); |
823 |
|
|
t->SetTextFont(32); |
824 |
|
|
t->SetTextColor(1); |
825 |
|
|
t->SetTextAlign(12); |
826 |
|
|
t->SetTextSize(0.12); |
827 |
|
|
t->DrawLatex(5.,20.,"S312B"); |
828 |
|
|
//---------- |
829 |
|
|
RatePMT5->cd (6); |
830 |
|
|
PhysicsTr-> Draw("pmtcount2[17]"); |
831 |
|
|
t=new TLatex(); |
832 |
|
|
t->SetTextFont(32); |
833 |
|
|
t->SetTextColor(1); |
834 |
|
|
t->SetTextAlign(12); |
835 |
|
|
t->SetTextSize(0.12); |
836 |
|
|
t->DrawLatex(5.,20.,"S313B"); |
837 |
|
|
//---------- |
838 |
|
|
RatePMT5->cd (7); |
839 |
|
|
PhysicsTr-> Draw("pmtcount2[18]"); |
840 |
|
|
t=new TLatex(); |
841 |
|
|
t->SetTextFont(32); |
842 |
|
|
t->SetTextColor(1); |
843 |
|
|
t->SetTextAlign(12); |
844 |
|
|
t->SetTextSize(0.12); |
845 |
|
|
t->DrawLatex(5.,20.,"S321A"); |
846 |
|
|
//---------- |
847 |
|
|
RatePMT5->cd (8); |
848 |
|
|
PhysicsTr-> Draw("pmtcount2[19]"); |
849 |
|
|
t=new TLatex(); |
850 |
|
|
t->SetTextFont(32); |
851 |
|
|
t->SetTextColor(1); |
852 |
|
|
t->SetTextAlign(12); |
853 |
|
|
t->SetTextSize(0.12); |
854 |
|
|
t->DrawLatex(5.,20.,"S322A"); |
855 |
|
|
//---------- |
856 |
|
|
RatePMT5->cd (9); |
857 |
|
|
PhysicsTr-> Draw("pmtcount2[20]"); |
858 |
|
|
t=new TLatex(); |
859 |
|
|
t->SetTextFont(32); |
860 |
|
|
t->SetTextColor(1); |
861 |
|
|
t->SetTextAlign(12); |
862 |
|
|
t->SetTextSize(0.12); |
863 |
|
|
t->DrawLatex(5.,20.,"S323A"); |
864 |
|
|
//---------- |
865 |
|
|
RatePMT5->cd (10); |
866 |
|
|
PhysicsTr-> Draw("pmtcount2[21]"); |
867 |
|
|
t=new TLatex(); |
868 |
|
|
t->SetTextFont(32); |
869 |
|
|
t->SetTextColor(1); |
870 |
|
|
t->SetTextAlign(12); |
871 |
|
|
t->SetTextSize(0.12); |
872 |
|
|
t->DrawLatex(5.,20.,"S321B"); |
873 |
|
|
//---------- |
874 |
|
|
RatePMT5->cd (11); |
875 |
|
|
PhysicsTr-> Draw("pmtcount2[22]"); |
876 |
|
|
t=new TLatex(); |
877 |
|
|
t->SetTextFont(32); |
878 |
|
|
t->SetTextColor(1); |
879 |
|
|
t->SetTextAlign(12); |
880 |
|
|
t->SetTextSize(0.12); |
881 |
|
|
t->DrawLatex(5.,20.,"S322B"); |
882 |
|
|
//---------- |
883 |
|
|
RatePMT5->cd (12); |
884 |
|
|
PhysicsTr-> Draw("pmtcount2[23]"); |
885 |
|
|
t=new TLatex(); |
886 |
|
|
t->SetTextFont(32); |
887 |
|
|
t->SetTextColor(1); |
888 |
|
|
t->SetTextAlign(12); |
889 |
|
|
t->SetTextSize(0.12); |
890 |
|
|
t->DrawLatex(5.,20.,"S323B"); |
891 |
|
|
|
892 |
|
|
// print the output |
893 |
|
|
const char *saveas = format; |
894 |
|
|
if ( !strcmp(saveas,"ps") ) { |
895 |
|
|
// ------print the ps |
896 |
|
|
|
897 |
|
|
gStyle->SetOptStat(111111); |
898 |
|
|
|
899 |
|
|
sst.str(""); |
900 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan." << saveas << "("; |
901 |
|
|
EvCounterCanvas->Print(sst.str().c_str()); |
902 |
|
|
DeadLiveCanvas->Print(sst.str().c_str()); |
903 |
|
|
PMTCanvas->Print(sst.str().c_str()); |
904 |
|
|
TrigRate1Canvas->Print(sst.str().c_str()); |
905 |
|
|
TrigRate2Canvas->Print(sst.str().c_str()); |
906 |
|
|
S4CalCanvas->Print(sst.str().c_str()); |
907 |
|
|
|
908 |
|
|
gStyle->SetOptStat(1101); |
909 |
|
|
|
910 |
|
|
PatternTrig5->Print(sst.str().c_str()); |
911 |
|
|
PatternTrig4->Print(sst.str().c_str()); |
912 |
|
|
PatternTrig3->Print(sst.str().c_str()); |
913 |
|
|
PatternTrig2->Print(sst.str().c_str()); |
914 |
|
|
PatternTrig0->Print(sst.str().c_str()); |
915 |
|
|
PatternTrig1->Print(sst.str().c_str()); |
916 |
|
|
RatePMT1->Print(sst.str().c_str()); |
917 |
|
|
RatePMT2->Print(sst.str().c_str()); |
918 |
|
|
RatePMT3->Print(sst.str().c_str()); |
919 |
|
|
RatePMT4->Print(sst.str().c_str()); |
920 |
|
|
sst.str(""); |
921 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan." << saveas << ")"; |
922 |
|
|
RatePMT5->Print(sst.str().c_str()); |
923 |
|
|
|
924 |
|
|
} else { |
925 |
|
|
|
926 |
|
|
gStyle->SetOptStat(111111); |
927 |
|
|
|
928 |
|
|
sst.str(""); |
929 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan1." << saveas; |
930 |
|
|
EvCounterCanvas->SaveAs(sst.str().c_str()); |
931 |
|
|
|
932 |
|
|
sst.str(""); |
933 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan2." << saveas; |
934 |
|
|
DeadLiveCanvas->SaveAs(sst.str().c_str()); |
935 |
|
|
|
936 |
|
|
sst.str(""); |
937 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan3." << saveas; |
938 |
|
|
PMTCanvas->SaveAs(sst.str().c_str()); |
939 |
|
|
|
940 |
|
|
sst.str(""); |
941 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan4." << saveas; |
942 |
|
|
TrigRate1Canvas->SaveAs(sst.str().c_str()); |
943 |
|
|
|
944 |
|
|
sst.str(""); |
945 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan5." << saveas; |
946 |
|
|
TrigRate2Canvas->SaveAs(sst.str().c_str()); |
947 |
|
|
|
948 |
|
|
sst.str(""); |
949 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan6." << saveas; |
950 |
|
|
S4CalCanvas->SaveAs(sst.str().c_str()); |
951 |
|
|
|
952 |
|
|
gStyle->SetOptStat(1101); |
953 |
|
|
|
954 |
|
|
sst.str(""); |
955 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan7." << saveas; |
956 |
|
|
PatternTrig5->SaveAs(sst.str().c_str()); |
957 |
|
|
|
958 |
|
|
sst.str(""); |
959 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan8." << saveas; |
960 |
|
|
PatternTrig4->SaveAs(sst.str().c_str()); |
961 |
|
|
|
962 |
|
|
sst.str(""); |
963 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan9." << saveas; |
964 |
|
|
PatternTrig3->SaveAs(sst.str().c_str()); |
965 |
|
|
|
966 |
|
|
sst.str(""); |
967 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan10." << saveas; |
968 |
|
|
PatternTrig2->SaveAs(sst.str().c_str()); |
969 |
|
|
|
970 |
|
|
sst.str(""); |
971 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan11." << saveas; |
972 |
|
|
PatternTrig0->SaveAs(sst.str().c_str()); |
973 |
|
|
|
974 |
|
|
sst.str(""); |
975 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan12." << saveas; |
976 |
|
|
PatternTrig1->SaveAs(sst.str().c_str()); |
977 |
|
|
|
978 |
|
|
sst.str(""); |
979 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan13." << saveas; |
980 |
|
|
RatePMT1->SaveAs(sst.str().c_str()); |
981 |
|
|
|
982 |
|
|
sst.str(""); |
983 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan14." << saveas; |
984 |
|
|
RatePMT2->SaveAs(sst.str().c_str()); |
985 |
|
|
|
986 |
|
|
sst.str(""); |
987 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan15." << saveas; |
988 |
|
|
RatePMT3->SaveAs(sst.str().c_str()); |
989 |
|
|
|
990 |
|
|
sst.str(""); |
991 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan16." << saveas; |
992 |
|
|
RatePMT4->SaveAs(sst.str().c_str()); |
993 |
|
|
|
994 |
|
|
sst.str(""); |
995 |
|
|
sst << outDirectory.Data() << filename.Data() << "TriggerScan17." << saveas; |
996 |
|
|
RatePMT5->SaveAs(sst.str().c_str()); |
997 |
|
|
|
998 |
|
|
} |
999 |
|
|
|
1000 |
|
|
} |
1001 |
|
|
|
1002 |
|
|
|
1003 |
|
|
int main(int argc, char* argv[]){ |
1004 |
|
|
TString path; |
1005 |
|
|
TString outDir ="./"; |
1006 |
|
|
TString format ="ps"; |
1007 |
|
|
|
1008 |
|
|
if (argc < 2){ |
1009 |
|
|
printf("You have to insert at least the file to analyze \n"); |
1010 |
|
|
printf("Try '--help' for more information. \n"); |
1011 |
|
|
exit(1); |
1012 |
|
|
} |
1013 |
|
|
|
1014 |
|
|
if (!strcmp(argv[1], "--help")){ |
1015 |
|
|
printf( "Usage: TriggerScan FILE [OPTION] \n"); |
1016 |
|
|
printf( "\t --help Print this help and exit \n"); |
1017 |
|
|
printf( "\t -outDir[path] Path where to put the output [default ./] \n"); |
1018 |
|
|
printf( "\t -format[ps] Format for output files [default 'ps'] \n"); |
1019 |
|
|
exit(1); |
1020 |
|
|
} |
1021 |
|
|
|
1022 |
|
|
|
1023 |
|
|
path=argv[1]; |
1024 |
|
|
|
1025 |
|
|
for (int i = 2; i < argc; i++){ |
1026 |
|
|
|
1027 |
|
|
if (!strcmp(argv[i], "-outDir")){ |
1028 |
|
|
if (++i >= argc){ |
1029 |
|
|
printf( "-outDir needs arguments. \n"); |
1030 |
|
|
printf( "Try '--help' for more information. \n"); |
1031 |
|
|
exit(1); |
1032 |
|
|
} |
1033 |
|
|
else{ |
1034 |
|
|
outDir = argv[i]; |
1035 |
|
|
continue; |
1036 |
|
|
} |
1037 |
|
|
} |
1038 |
|
|
|
1039 |
|
|
|
1040 |
|
|
|
1041 |
|
|
if (!strcmp(argv[i], "-format")){ |
1042 |
|
|
if (++i >= argc){ |
1043 |
|
|
printf( "-format needs arguments. \n"); |
1044 |
|
|
printf( "Try '--help' for more information. \n"); |
1045 |
|
|
exit(1); |
1046 |
|
|
} |
1047 |
|
|
else{ |
1048 |
|
|
format = argv[i]; |
1049 |
|
|
continue; |
1050 |
|
|
} |
1051 |
|
|
} |
1052 |
|
|
} |
1053 |
|
|
|
1054 |
|
|
TriggerScan(argv[1], outDir, format); |
1055 |
|
|
|
1056 |
|
|
} |