Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GetLiveTime_BKG_AFTER_PP_DQ.C
Go to the documentation of this file.
1 #define L1_FILE_CAT0 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/L1Cat0.txt"
2 #define H1_FILE_CAT0 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/H1Cat0.txt"
3 
4 #define L1_FILE_CAT1 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/L1Cat1.txt"
5 #define H1_FILE_CAT1 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/H1Cat1.txt"
6 
7 #define L1_FILE_CAT2 "/home/vedovato/O1/DQvetos/ER8b_12Sep20Oct_C0101/L1Cat2.txt"
8 #define H1_FILE_CAT2 "/home/vedovato/O1/DQvetos/ER8b_12Sep20Oct_C0101/H1Cat2.txt"
9 
10 //#define L1_FILE_CAT2 "L1Cat2.txt"
11 //#define H1_FILE_CAT2 "H1Cat2.txt"
12 
13 #define L1_FILE_CAT3 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/HVETO_L1_SEP12OCT20_MERGED.txt"
14 #define H1_FILE_CAT3 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/HVETO_H1_SEP12OCT20_MERGED.txt"
15 
16 //#define L1_FILE_CAT3 "HVETO_L1_SEP12OCT20_MERGED.txt"
17 //#define H1_FILE_CAT3 "HVETO_H1_SEP12OCT20_MERGED.txt"
18 
19 #define L1_FILE_CAT4 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/L1Cat4.txt"
20 #define H1_FILE_CAT4 "/home/vedovato/O1//DQvetos/ER8b_12Sep20Oct_C0101/H1Cat4.txt"
21 
22 //#define L1_FILE_CAT4 "L1Cat4.txt"
23 //#define H1_FILE_CAT4 "H1Cat4.txt"
24 
25 // livetime background run0a
26 //#define LIVE_TIME_FILE "/home/vedovato/O1/ER8b_12Sep20Oct_C0101/ER8b_12Sep20Oct_C0101_BKG_LF_rMRA_run0a/merge/live_ER8b_12Sep20Oct_C0101_BKG_LF_rMRA_run0a.M1.root"
27 // livetime background runa1to10a
28 #define LIVE_TIME_FILE "/home/vedovato/O1/ER8b_12Sep20Oct_C0101/ER8b_12Sep20Oct_C0101_BKG_LF_rMRA_run1ato10a/merge/live_ER8b_12Sep20Oct_C0101_BKG_LF_rMRA_run1ato10a.M1.root"
29 
30 // ------------------------------------------------------------------------------------------------------
31 // This macro compute a conservative percentage of lost live time after the CAT2/4 Hveto Post-Production DQ
32 // We compute only the percentage for each single detector : L1,H1
33 // We do not consider the combined percentage obtaine from the intersection of L1,H1 but only the sum of L1,H1
34 // 1) extract from the livetime tree all segment-jobs(600s) used in the analysis (only 1 lag)
35 // 2) extract all segment-dq after DQ CAT0/1/2/4 Hveto
36 // 3) for each segment-job and each detector we compute the intersection of segment-job & segment-dq = segment-job-dq
37 // 4) for each detector the livetime after the CAT2/4 Hveto Post-Production DQ is the sum of all segment-job-dq livetimes
38 // 5) the conservative livetime is sum of L1+H1 after the step 4)
39 //
40 // NOTE : works only foe O1 : L1,H1
41 // NOTE : this procedure is correct only when the following user_parameters parameters are used :
42 // segLen = 600;
43 // segMLS = 600;
44 // All segments have SegLen=600 sec !!!
45 // ------------------------------------------------------------------------------------------------------
46 
47 #define SEGLEN 600
48 
49 vector<waveSegment> readSegment(TString ifile);
50 
52 
53  TFile *live = TFile::Open(LIVE_TIME_FILE);
54  if(live==NULL) {
55  cout << "CreateSymbolicLinksC01 - Error : File " << LIVE_TIME_FILE << " not exist !!!" << endl;
56  gSystem->Exit(1);
57  }
58 
59  // get list of jobId which belong to C01
60  TTree* tree = (TTree *) gROOT->FindObject("liveTime");
61  if(tree==NULL) {
62  cout << "CheckCAT2 - Error : liveTime tree not found !!!" << endl;
63  gSystem->Exit(1);
64  }
65 
66  long int isize = tree->GetEntries();
67  isize=2000000000;
68  cout << "isize : " << isize << endl;
69  tree->SetEstimate(isize);
70  //tree->Draw("start[0]:start[1]","","goff",isize);
71  tree->Draw("start[0]:start[1]","lag[2]==0","goff",isize); // select only one lag for each slag
72  long int nseg = (Int_t)tree->GetSelectedRows();
73  cout << "nseg : " << nseg << endl;
74  double* start_l1 = tree->GetV1();
75  double* start_h1 = tree->GetV2();
76 
77  double mintime_h1=1e20;
78  for(long int i=0;i<nseg;i++) if(start_h1[i]<mintime_h1) mintime_h1=start_h1[i];
79  double maxtime_h1=0;
80  for(long int i=0;i<nseg;i++) if(start_h1[i]>maxtime_h1) maxtime_h1=start_h1[i];
81  int size=(maxtime_h1-mintime_h1)/SEGLEN;
82  cout << "h1 size : " << size << endl;
83  wavearray<int> seg_h1(size+1);
84  seg_h1=0;
85  for(long int i=0;i<nseg;i++) {
86  double start=start_h1[i]-mintime_h1;
87  int jobid=start/SEGLEN;
88  seg_h1[jobid]++;
89  }
90 
91 
92  double mintime_l1=1e20;
93  for(long int i=0;i<nseg;i++) if(start_l1[i]<mintime_l1) mintime_l1=start_l1[i];
94  double maxtime_l1=0;
95  for(long int i=0;i<nseg;i++) if(start_l1[i]>maxtime_l1) maxtime_l1=start_l1[i];
96  size=(maxtime_l1-mintime_l1)/SEGLEN;
97  cout << "l1 size : " << size << endl;
98  wavearray<int> seg_l1(size+1);
99  seg_l1=0;
100  for(long int i=0;i<nseg;i++) {
101  double start=start_l1[i]-mintime_l1;
102  int jobid=start/SEGLEN;
103  seg_l1[jobid]++;
104  }
105 
106  // ---------------------------------------------------------------------
107  // CAT0
108  // ---------------------------------------------------------------------
109  vector<waveSegment> segCat0_L1 = CWB::Toolbox::readSegments(L1_FILE_CAT0);
110  vector<waveSegment> segCat0_H1 = CWB::Toolbox::readSegments(H1_FILE_CAT0);
111 
112  double h1_time_cat0=CWB::Toolbox::getTimeSegList(segCat0_H1);
113  cout << "h1_time_cat0 : " << (int)h1_time_cat0 << endl;
114  double l1_time_cat0=CWB::Toolbox::getTimeSegList(segCat0_L1);
115  cout << "l1_time_cat0 : " << (int)l1_time_cat0 << endl;
116 
117  vector<waveSegment> L1H1_cat0 = CWB::Toolbox::mergeSegLists(segCat0_L1,segCat0_H1);
118  double l1h1_time_cat0=CWB::Toolbox::getTimeSegList(L1H1_cat0);
119  cout << "l1h1_time_cat0 : " << (int)l1h1_time_cat0 << " " << l1h1_time_cat0/(24.*3600.) << endl;
120 
121  // ---------------------------------------------------------------------
122  // CAT1
123  // ---------------------------------------------------------------------
124  vector<waveSegment> segCat1_L1 = CWB::Toolbox::readSegments(L1_FILE_CAT1);
125  vector<waveSegment> segCat1_H1 = CWB::Toolbox::readSegments(H1_FILE_CAT1);
126 
127  double h1_time_cat1=CWB::Toolbox::getTimeSegList(segCat1_H1);
128  cout << "h1_time_cat1 : " << (int)h1_time_cat1 << endl;
129  double l1_time_cat1=CWB::Toolbox::getTimeSegList(segCat1_L1);
130  cout << "l1_time_cat1 : " << (int)l1_time_cat1 << endl;
131 
132  vector<waveSegment> isegCat1_L1 = CWB::Toolbox::invertSegments(segCat1_L1);
133  vector<waveSegment> isegCat1_H1 = CWB::Toolbox::invertSegments(segCat1_H1);
134 
135  vector<waveSegment> H1_cat0_and_cat1 = CWB::Toolbox::mergeSegLists(segCat0_H1,isegCat1_H1);
136  double h1_time_cat0_cat1=CWB::Toolbox::getTimeSegList(H1_cat0_and_cat1);
137  cout << "h1_time_cat0_cat1 : " << (int)h1_time_cat0_cat1 << endl;
138 
139  vector<waveSegment> L1_cat0_and_cat1 = CWB::Toolbox::mergeSegLists(segCat0_L1,isegCat1_L1);
140  double l1_time_cat0_cat1=CWB::Toolbox::getTimeSegList(L1_cat0_and_cat1);
141  cout << "l1_time_cat0_cat1 : " << (int)l1_time_cat0_cat1 << endl;
142 
143  vector<waveSegment> L1H1_cat0_and_cat1 = CWB::Toolbox::mergeSegLists(H1_cat0_and_cat1,L1_cat0_and_cat1);
144  double l1h1_time_cat0_cat1=CWB::Toolbox::getTimeSegList(L1H1_cat0_and_cat1);
145  cout << "l1h1_time_cat0_cat1 : " << (int)l1h1_time_cat0_cat1 << " " << l1h1_time_cat0_cat1/(24.*3600.) << endl;
146 
147  // ---------------------------------------------------------------------
148  // JOBS -> CAT0+CAT1
149  // ---------------------------------------------------------------------
150 
151  vector<waveSegment> L1_jobs = L1_cat0_and_cat1;
152  vector<waveSegment> H1_jobs = H1_cat0_and_cat1;
153 
154  l1_live_time=CWB::Toolbox::getTimeSegList(L1_jobs);
155  cout << "l1_live_time " << (int)l1_live_time << " " << l1_live_time/(24.*3600.) << " days" << endl;
156  h1_live_time=CWB::Toolbox::getTimeSegList(H1_jobs);
157  cout << "h1_live_time " << (int)h1_live_time << " " << l1_live_time/(24.*3600.) << " days" << endl;
158 
159  vector<waveSegment> L1H1_jobs = CWB::Toolbox::mergeSegLists(H1_jobs,L1_jobs);
160  l1h1_live_time=CWB::Toolbox::getTimeSegList(L1H1_jobs);
161  cout << "l1h1_live_time : " << (int)l1h1_live_time << " " << l1h1_live_time/(24.*3600.) << " days" << endl;
162 
163  // ---------------------------------------------------------------------
164  // CAT2
165  // ---------------------------------------------------------------------
166  vector<waveSegment> segCat2_L1 = CWB::Toolbox::readSegments(L1_FILE_CAT2);
167  vector<waveSegment> segCat2_H1 = CWB::Toolbox::readSegments(H1_FILE_CAT2);
168 
169  double h1_time_cat2=CWB::Toolbox::getTimeSegList(segCat2_H1);
170  cout << "h1_time_cat2 : " << (int)h1_time_cat2 << endl;
171  double l1_time_cat2=CWB::Toolbox::getTimeSegList(segCat2_L1);
172  cout << "l1_time_cat2 : " << (int)l1_time_cat2 << endl;
173 
174  vector<waveSegment> isegCat2_L1 = CWB::Toolbox::invertSegments(segCat2_L1);
175  vector<waveSegment> isegCat2_H1 = CWB::Toolbox::invertSegments(segCat2_H1);
176 
177  vector<waveSegment> H1_jobs_and_cat2 = CWB::Toolbox::mergeSegLists(H1_jobs,isegCat2_H1);
178  double h1_time_job_cat2=CWB::Toolbox::getTimeSegList(H1_jobs_and_cat2);
179  cout << "h1_time_job_cat2 : " << (int)h1_time_job_cat2
180  << " Vetoed (%) : " << 100*(h1_live_time-h1_time_job_cat2)/h1_live_time << endl;
181 
182  vector<waveSegment> L1_jobs_and_cat2 = CWB::Toolbox::mergeSegLists(L1_jobs,isegCat2_L1);
183  double l1_time_job_cat2=CWB::Toolbox::getTimeSegList(L1_jobs_and_cat2);
184  cout << "l1_time_job_cat2 : " << (int)l1_time_job_cat2
185  << " Vetoed (%) : " << 100*(l1_live_time-l1_time_job_cat2)/l1_live_time << endl;
186 
187  vector<waveSegment> L1H1_jobs_and_cat2 = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat2,L1_jobs_and_cat2);
188  double l1h1_time_job_cat2=CWB::Toolbox::getTimeSegList(L1H1_jobs_and_cat2);
189  cout << "l1h1_time_job_cat2 : " << (int)l1h1_time_job_cat2 << " " << l1h1_time_job_cat2/(24.*3600.) << " days" << endl;
190 
191  cout << "CAT2 vetoed time : " << (int)(l1h1_live_time-l1h1_time_job_cat2) << "/" << (int)l1h1_live_time
192  << " Vetoed (%) : " << 100*(l1h1_live_time-l1h1_time_job_cat2)/l1h1_live_time << endl;
193 
194  // ---------------------------------------------------------------------
195  // CAT3
196  // ---------------------------------------------------------------------
197  vector<waveSegment> segCat3_L1 = CWB::Toolbox::readSegments(L1_FILE_CAT3);
198  vector<waveSegment> segCat3_H1 = CWB::Toolbox::readSegments(H1_FILE_CAT3);
199 
200  double h1_time_cat3=CWB::Toolbox::getTimeSegList(segCat3_H1);
201  cout << "h1_time_cat3 : " << (int)h1_time_cat3 << endl;
202  double l1_time_cat3=CWB::Toolbox::getTimeSegList(segCat3_L1);
203  cout << "l1_time_cat3 : " << (int)l1_time_cat3 << endl;
204 
205  vector<waveSegment> isegCat3_L1 = CWB::Toolbox::invertSegments(segCat3_L1);
206  vector<waveSegment> isegCat3_H1 = CWB::Toolbox::invertSegments(segCat3_H1);
207 
208  vector<waveSegment> H1_jobs_and_cat3 = CWB::Toolbox::mergeSegLists(H1_jobs,isegCat3_H1);
209  double h1_time_job_cat3=CWB::Toolbox::getTimeSegList(H1_jobs_and_cat3);
210  cout << "h1_time_job_cat3 : " << (int)h1_time_job_cat3
211  << " Vetoed (%) : " << 100*(h1_live_time-h1_time_job_cat3)/h1_live_time << endl;
212 
213  vector<waveSegment> L1_jobs_and_cat3 = CWB::Toolbox::mergeSegLists(L1_jobs,isegCat3_L1);
214  double l1_time_job_cat3=CWB::Toolbox::getTimeSegList(L1_jobs_and_cat3);
215  cout << "l1_time_job_cat3 : " << (int)l1_time_job_cat3
216  << " Vetoed (%) : " << 100*(l1_live_time-l1_time_job_cat3)/l1_live_time << endl;
217 
218  vector<waveSegment> L1H1_jobs_and_cat3 = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat3,L1_jobs_and_cat3);
219  double l1h1_time_job_cat3=CWB::Toolbox::getTimeSegList(L1H1_jobs_and_cat3);
220  cout << "l1h1_time_job_cat3 : " << (int)l1h1_time_job_cat3 << " " << l1h1_time_job_cat3/(24.*3600.) << " days" << endl;
221 
222  cout << "CAT3 vetoed time : " << (int)(l1h1_live_time-l1h1_time_job_cat3) << "/" << (int)l1h1_live_time
223  << " Vetoed (%) : " << 100*(l1h1_live_time-l1h1_time_job_cat3)/l1h1_live_time << endl;
224 
225  // ---------------------------------------------------------------------
226  // CAT4
227  // ---------------------------------------------------------------------
228  vector<waveSegment> segCat4_L1 = CWB::Toolbox::readSegments(L1_FILE_CAT4);
229  vector<waveSegment> segCat4_H1 = CWB::Toolbox::readSegments(H1_FILE_CAT4);
230 
231  double h1_time_cat4=CWB::Toolbox::getTimeSegList(segCat4_H1);
232  cout << "h1_time_cat4 : " << (int)h1_time_cat4 << endl;
233  double l1_time_cat4=CWB::Toolbox::getTimeSegList(segCat4_L1);
234  cout << "l1_time_cat4 : " << (int)l1_time_cat4 << endl;
235 
236  vector<waveSegment> isegCat4_L1 = CWB::Toolbox::invertSegments(segCat4_L1);
237  vector<waveSegment> isegCat4_H1 = CWB::Toolbox::invertSegments(segCat4_H1);
238 
239  vector<waveSegment> H1_jobs_and_cat4 = CWB::Toolbox::mergeSegLists(H1_jobs,isegCat4_H1);
240  double h1_time_job_cat4=CWB::Toolbox::getTimeSegList(H1_jobs_and_cat4);
241  cout << "h1_time_job_cat4 : " << (int)h1_time_job_cat4
242  << " Vetoed (%) : " << 100*(h1_live_time-h1_time_job_cat4)/h1_live_time << endl;
243 
244  vector<waveSegment> L1_jobs_and_cat4 = CWB::Toolbox::mergeSegLists(L1_jobs,isegCat4_L1);
245  double l1_time_job_cat4=CWB::Toolbox::getTimeSegList(L1_jobs_and_cat4);
246  cout << "l1_time_job_cat4 : " << (int)l1_time_job_cat4
247  << " Vetoed (%) : " << 100*(l1_live_time-l1_time_job_cat4)/l1_live_time << endl;
248 
249  vector<waveSegment> L1H1_jobs_and_cat4 = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat4,L1_jobs_and_cat4);
250  double l1h1_time_job_cat4=CWB::Toolbox::getTimeSegList(L1H1_jobs_and_cat4);
251  cout << "l1h1_time_job_cat4 : " << (int)l1h1_time_job_cat4 << " " << l1h1_time_job_cat4/(24.*3600.) << " days" << endl;
252 
253  cout << "CAT4 vetoed time : " << (int)(l1h1_live_time-l1h1_time_job_cat4) << "/" << (int)l1h1_live_time
254  << " Vetoed (%) : " << 100*(l1h1_live_time-l1h1_time_job_cat4)/l1h1_live_time << endl;
255 
256  // ---------------------------------------------------------------------
257  // L1 CAT2+CAT3+CAT4
258  // ---------------------------------------------------------------------
259  vector<waveSegment> L1_jobs_and_cat23 = CWB::Toolbox::mergeSegLists(L1_jobs_and_cat2,L1_jobs_and_cat3);
260  vector<waveSegment> L1_jobs_and_cat234 = CWB::Toolbox::mergeSegLists(L1_jobs_and_cat23,L1_jobs_and_cat4);
261  double l1_time_job_cat234=CWB::Toolbox::getTimeSegList(L1_jobs_and_cat234);
262  cout << "l1_time_job_cat234 : " << (int)l1_time_job_cat234 << " " << l1_time_job_cat234/(24.*3600.) << " days" << endl;
263 
264  cout << "L1 CAT234 vetoed time : " << (int)(l1_live_time-l1_time_job_cat234) << "/" << (int)l1_live_time
265  << " Vetoed (%) : " << 100*(l1_live_time-l1_time_job_cat234)/l1_live_time << endl;
266 
267 
268  // ---------------------------------------------------------------------
269  // H1 CAT2+CAT3+CAT4
270  // ---------------------------------------------------------------------
271  vector<waveSegment> H1_jobs_and_cat23 = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat2,H1_jobs_and_cat3);
272  vector<waveSegment> H1_jobs_and_cat234 = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat23,H1_jobs_and_cat4);
273  double h1_time_job_cat234=CWB::Toolbox::getTimeSegList(H1_jobs_and_cat234);
274  cout << "h1_time_job_cat234 : " << (int)h1_time_job_cat234 << " " << h1_time_job_cat234/(24.*3600.) << " days" << endl;
275 
276  cout << "H1 CAT234 vetoed time : " << (int)(h1_live_time-h1_time_job_cat234) << "/" << (int)h1_live_time
277  << " Vetoed (%) : " << 100*(h1_live_time-h1_time_job_cat234)/h1_live_time << endl;
278 
279 
280  // ---------------------------------------------------------------------
281  // L1H1 CAT2+CAT3+CAT4
282  // ---------------------------------------------------------------------
283  vector<waveSegment> L1H1_jobs_and_cat23 = CWB::Toolbox::mergeSegLists(L1H1_jobs_and_cat2,L1H1_jobs_and_cat3);
284  vector<waveSegment> L1H1_jobs_and_cat234 = CWB::Toolbox::mergeSegLists(L1H1_jobs_and_cat23,L1H1_jobs_and_cat4);
285  double l1h1_time_job_cat234=CWB::Toolbox::getTimeSegList(L1H1_jobs_and_cat234);
286  cout << "l1h1_time_job_cat234 : " << (int)l1h1_time_job_cat234 << " " << l1h1_time_job_cat234/(24.*3600.) << " days" << endl;
287 
288  cout << "L1H1 CAT234 vetoed time : " << (int)(l1h1_live_time-l1h1_time_job_cat234) << "/" << (int)l1h1_live_time
289  << " Vetoed (%) : " << 100*(l1h1_live_time-l1h1_time_job_cat234)/l1h1_live_time << endl;
290 
291  // ---------------------------------------------------------------------
292  // L1 CAT2+CAT3+CAT4+SEG
293  // ---------------------------------------------------------------------
294 
295  vector<waveSegment> seg(1);
296  seg.index=1;
297 
298  double l1_tot_time=0;
299  double l1_tot_time_after_dq=0;
300  for(long int i=0;i<seg_l1.size();i++) {
301  if(seg_l1[i]==0) continue;
302  l1_tot_time+=seg_l1[i]*SEGLEN;
303  seg[0].start=mintime_l1+i*SEGLEN; seg[0].stop=seg[0].start+SEGLEN;
304  vector<waveSegment> segs = CWB::Toolbox::mergeSegLists(L1_jobs_and_cat234,seg);
305  double segs_time=CWB::Toolbox::getTimeSegList(segs);
306  //cout << i << " segs_time : " << segs_time << endl;
307  l1_tot_time_after_dq+=seg_l1[i]*segs_time;
308  }
309  cout << "L1 CAT234 vetoed time (ALL) : " << (l1_tot_time-l1_tot_time_after_dq) << "/" << l1_tot_time
310  << " Vetoed (%) : " << 100*(l1_tot_time-l1_tot_time_after_dq)/l1_tot_time << endl;
311 
312 
313  // ---------------------------------------------------------------------
314  // H1 CAT2+CAT3+CAT4+SEG
315  // ---------------------------------------------------------------------
316 
317  double h1_tot_time=0;
318  double h1_tot_time_after_dq=0;
319  for(long int i=0;i<seg_h1.size();i++) {
320  if(seg_h1[i]==0) continue;
321  h1_tot_time+=seg_h1[i]*SEGLEN;
322  seg[0].start=mintime_h1+i*SEGLEN; seg[0].stop=seg[0].start+SEGLEN;
323  vector<waveSegment> segs = CWB::Toolbox::mergeSegLists(H1_jobs_and_cat234,seg);
324  double segs_time=CWB::Toolbox::getTimeSegList(segs);
325  //cout << i << " segs_time : " << segs_time << endl;
326  h1_tot_time_after_dq+=seg_h1[i]*segs_time;
327  }
328  cout << "H1 CAT234 vetoed time (ALL) : " << (h1_tot_time-h1_tot_time_after_dq) << "/" << h1_tot_time
329  << " Vetoed (%) : " << 100*(h1_tot_time-h1_tot_time_after_dq)/h1_tot_time << endl;
330 
331  exit(0);
332 }
333 
334 vector<waveSegment> readSegment(TString ifile) {
335 
336  // --------------------------------------------------------------
337  // Open file segment list
338  // --------------------------------------------------------------
339  ifstream in;
340  in.open(ifile.Data(),ios::in);
341  if (!in.good()) {cout << "Error Opening File : " << ifile << endl;gSystem->Exit(1);}
342  cout << "input file list : " << ifile << endl;
343 
344  char str[1024];
345  int fpos=0;
346  int index=0;
347  double start;
348  double stop;
350  vector<waveSegment> iseg;
351  while (1) {
352  fpos=in.tellg();
353  in.getline(str,1024);
354  if(str[0] == '#') continue;
355  in.seekg(fpos, ios::beg);
356  fpos=in.tellg();
357 
358  in >> start >> stop;
359  if (!in.good()) break;
360 
361  seg.index=index++; seg.start=start; seg.stop=stop; iseg.push_back(seg);
362  }
363 
364  in.close();
365 
366  return iseg;
367 }
368 
TTree * tree
Definition: TimeSortTree.C:20
virtual size_t size() const
Definition: wavearray.hh:127
#define L1_FILE_CAT0
double start
Definition: network.hh:37
TString live
#define H1_FILE_CAT2
#define H1_FILE_CAT1
TString("c")
#define H1_FILE_CAT0
#define SEGLEN
Long_t size
static double getTimeSegList(vector< waveSegment > list)
Definition: Toolbox.cc:592
i drho i
static vector< waveSegment > invertSegments(vector< waveSegment > &ilist)
Definition: Toolbox.cc:229
int isize
#define H1_FILE_CAT4
void GetLiveTime_BKG_AFTER_PP_DQ()
char str[1024]
#define L1_FILE_CAT4
#define L1_FILE_CAT1
#define LIVE_TIME_FILE
i() int(T_cor *100))
#define L1_FILE_CAT3
TFile * ifile
waveSegment seg
int index
Definition: network.hh:36
vector< waveSegment > iseg
ifstream in
wavearray< int > index
#define L1_FILE_CAT2
static vector< waveSegment > readSegments(TString ifile)
Definition: Toolbox.cc:57
vector< waveSegment > readSegment(TString ifile)
static vector< waveSegment > mergeSegLists(vector< waveSegment > &ilist1, vector< waveSegment > &ilist2)
Definition: Toolbox.cc:332
#define H1_FILE_CAT3
double stop
Definition: network.hh:38
exit(0)