Logo coherent WaveBurst  
Library Reference Guide
Logo
netevent.hh
Go to the documentation of this file.
1 /*
2 # Copyright (C) 2019 Sergey Klimenko, Gabriele Vedovato
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17 
18 
19 //////////////////////////////////////////////////////////
20 // class for WaveBurst network event
21 // used as ROOT macro
22 // Sergey Klimenko, University of Florida
23 // Gabriele Vedovato, INFN, Sezione di Padova, Italy
24 //////////////////////////////////////////////////////////
25 
26 
27 #ifndef netevent_h
28 #define netevent_h
29 
30 #include <TROOT.h>
31 #include <TChain.h>
32 #include <TFile.h>
33 #include "watfun.hh"
34 #include "watversion.hh"
35 #include "injection.hh"
36 #include "detector.hh"
37 #include "netcluster.hh"
38 #include "network.hh"
39 
40 //class detector;
41 //class netcluster;
42 //class network;
43 
44 /* Structure of WaveBurst network event */
45 
46 #define NETEVENT_INIT \
47  iFile(NULL),fChain(NULL),run(0),nevent(0),eventID(NULL),type(NULL),name(NULL),log(NULL),rate(NULL),\
48  volume(NULL),size(NULL),usize(0),gap(NULL),lag(NULL),slag(NULL),strain(NULL), \
49  phi(NULL),theta(NULL),psi(NULL),iota(NULL),bp(NULL),bx(NULL),time(NULL),gps(NULL), \
50  right(NULL),left(NULL),duration(NULL),start(NULL),stop(NULL),frequency(NULL), \
51  low(NULL),high(NULL),bandwidth(NULL),hrss(NULL),noise(NULL),erA(NULL),Psave(0), \
52  Psm(NULL),null(NULL),nill(NULL),netcc(NULL),neted(NULL),rho(NULL),gnet(0.),anet(0.), \
53  ecor(0.),norm(0.),ECOR(0.),penalty(0.),likelihood(0.),factor(0.),range(NULL), \
54  chirp(NULL),eBBH(NULL),Deff(NULL),mass(NULL),spin(NULL),snr(NULL),xSNR(NULL),sSNR(NULL), \
55  iSNR(NULL),oSNR(NULL),ioSNR(NULL),fP(NULL)
56 
57 class netevent {
58 
59 public :
60 
61  TFile *iFile; //!root input file cointainig the analyzed TTree
62 
63  TTree *fChain; //!pointer to the analyzed TTree or TChain
64  Int_t fCurrent; //!current Tree number in a TChain
65  Int_t ndim; //! number of detectors
66  Int_t Psave; //! max size used by allocate() for the probability maps
67 
68 // Declaration of leaves types
69 // for arrays: ifo1 - first index, ifo2 - second index, .....
70 
71  Int_t run; //! run ID
72  Int_t nevent; //! event count
73  Int_t* eventID; //! event ID
74  Int_t* type; //! event type: [0] - prod, [1]-sim
75  string* name; //! event name: "" - prod, mdc_name - sim
76  string* log; //! event log: "" - prod, mdc_log - sim
77  Int_t* rate; //! 1/rate - wavelet time resolution
78 
79  Int_t* volume; //! cluster volume
80  Int_t* size; //! cluster size (black pixels only)
81  Int_t usize; //! cluster union size
82 
83  Float_t* gap; //! time between consecutive events
84  Float_t* lag; //! time lag [sec]
85  Float_t* slag; //! time slag [sec]
86  Double_t* strain; //! sqrt(h+*h+ + hx*hx)
87  Float_t* phi; //! [0]-reconstructed, [1]-injected phi angle, [2]-RA
88  Float_t* theta; //! [0]-reconstructed, [1]-injected theta angle, [2]-DEC
89  Float_t* psi; //! [0]-reconstructed psi or phase of gc, [1]-injected psi angle
90  Float_t* iota; //! [0]-reconstructed iota angle, [1]-injected iota angle
91  Float_t* bp; //! beam pattern coefficients for hp
92  Float_t* bx; //! beam pattern coefficients for hx
93 
94  Double_t* time; //! average center_of_gravity time
95  Double_t* gps; //! segment start GPS time
96  Float_t* right; //! min cluster time relative to segment start
97  Float_t* left; //! max cluster time relative to segment start
98  Float_t* duration; //! cluster duration = stopW-startW
99  Double_t* start; //! GPS start time of the cluster
100  Double_t* stop; //! GPS stop time of the cluster
101 
102  Float_t* frequency; //! average center_of_snr frequency
103  Float_t* low; //! min frequency
104  Float_t* high; //! max frequency
105  Float_t* bandwidth; //! high-low
106  Double_t* hrss; //! hrss
107  Double_t* noise; //! noise rms
108  Float_t* erA; //! error angle
109  skymap* Psm; //! probability cc skymap
110  Float_t* null; //! un-biased null statistics
111  Float_t* nill; //! biased null statistics
112  Float_t* rho; //! effective correlated SNR
113  Float_t* netcc; //! network correlation coefficients: 0-net,1-pc,2-cc,3-net2
114  Float_t* neted; //! network energy disbalance: 0 - total, 1 - 00-phase, 2 - 90-phase
115  // 3 - L00-L90, 4 - total abs ED
116 
117  Float_t gnet; // network sensitivity
118  Float_t anet; // network alignment factor
119  Float_t inet; // network index
120  Float_t ecor; // correlated energy
121  Float_t norm; // norm Factor or ellipticity
122  Float_t ECOR; // effective correlated energy
123  Float_t penalty; // penalty factor
124  Float_t likelihood; // network likelihood
125 
126  Float_t factor; // Multiplicative amplitude factor - simulation only
127  Float_t* range; //! range to source: [0/1]-rec/inj
128  Float_t* chirp; //! chirp array: 0-injmass,1-recmass,2-merr,3-tmrgr,4-terr,5-chi2
129  Float_t* eBBH; //! eBBH array
130  Float_t* Deff; //! effective range for each detector
131  Float_t* mass; //! mass[2], binary mass parameters
132  Float_t* spin; //! spin[6], binary spin parameters
133 
134  Float_t* snr; //! energy/noise_variance
135  Float_t* xSNR; //! data-signal correlation Xk*Sk
136  Float_t* sSNR; //! energy of reconstructed responses Sk*Sk
137  Float_t* iSNR; //! injected snr waveform
138  Float_t* oSNR; //! reconstructed snr waveform
139  Float_t* ioSNR; //! injected reconstructed xcor waveform
140 
141  FILE* fP; //! dump file
142 
143  std::vector<detector*> ifoList; // detectors
144 
145 //List of branches
146 
147  TBranch *b_ndim; //!
148  TBranch *b_run; //!
149  TBranch *b_nevent; //!
150  TBranch *b_eventID; //!
151  TBranch *b_type; //!
152  TBranch *b_name; //!
153  TBranch *b_log; //!
154  TBranch *b_rate; //!
155 
156  TBranch *b_volume; //!
157  TBranch *b_size; //!
158  TBranch *b_usize; //!
159 
160  TBranch *b_gap; //!
161  TBranch *b_lag; //!
162  TBranch *b_slag; //!
163  TBranch *b_strain; //!
164  TBranch *b_phi; //!
165  TBranch *b_theta; //!
166  TBranch *b_psi; //!
167  TBranch *b_iota; //!
168  TBranch *b_bp; //!
169  TBranch *b_bx; //!
170 
171  TBranch *b_time; //!
172  TBranch *b_gps; //!
173  TBranch *b_right; //!
174  TBranch *b_left; //!
175  TBranch *b_duration; //!
176  TBranch *b_start; //!
177  TBranch *b_stop; //!
178 
179  TBranch *b_frequency; //!
180  TBranch *b_low; //!
181  TBranch *b_high; //!
182  TBranch *b_bandwidth; //!
183 
184  TBranch *b_hrss; //!
185  TBranch *b_noise; //!
186  TBranch *b_erA; //!
187  TBranch *b_Psm; //!
188  TBranch *b_null; //!
189  TBranch *b_nill; //!
190  TBranch *b_netcc; //!
191  TBranch *b_neted; //!
192  TBranch *b_rho; //!
193 
194  TBranch *b_gnet; //!
195  TBranch *b_anet; //!
196  TBranch *b_inet; //!
197  TBranch *b_ecor; //!
198  TBranch *b_norm; //!
199  TBranch *b_ECOR; //!
200  TBranch *b_penalty; //!
201  TBranch *b_likelihood;//!
202 
203  TBranch *b_factor; //!
204  TBranch *b_range; //!
205  TBranch *b_chirp; //!
206  TBranch *b_eBBH; //!
207  TBranch *b_Deff; //!
208  TBranch *b_mass; //!
209  TBranch *b_spin; //!
210 
211  TBranch *b_snr; //!
212  TBranch *b_xSNR; //!
213  TBranch *b_sSNR; //!
214  TBranch *b_iSNR; //!
215  TBranch *b_oSNR; //!
216  TBranch *b_ioSNR; //!
217 
219  { ndim=1; Psave=0; allocate(); init(); return; }
220 
221  netevent(int n, int Psave=0) : NETEVENT_INIT
222  { ndim=n; this->Psave=Psave; allocate(); init(); return; }
223 
224  netevent(const netevent& a) : NETEVENT_INIT
225  { ndim=a.ndim; Psave=a.Psave; allocate(); init(); *this = a; return; }
226 
227  netevent(TTree *tree, int n) : NETEVENT_INIT
228  { ndim=n; allocate(); init(); if(tree) Init(tree); return; }
229 
230  netevent(TString fName, int n=0) : NETEVENT_INIT
231  { TTree* tree=Init(fName,n); allocate(); init(); if(tree) Init(tree); return; }
232 
233  virtual ~netevent() {
234 // if (fChain) free(fChain->GetCurrentFile());
235  if (eventID) free(eventID); // event ID: 1/2 - prod/sim
236  if (type) free(type); // event type: 1/2 - prod/sim
237  if (name) delete name; // event name: "" - prod, mdc_name - sim
238  if (log) delete log; // event log: "" - prod, mdc_log - sim
239  if (rate) free(rate); // 1/rate - wavelet time resolution
240 
241  if (volume) free(volume); // cluster volume
242  if (size) free(size); // cluster size (black pixels only)
243 
244  if (gap) free(gap); // time between consecutive events
245  if (lag) free(lag); // time lag [sec]
246  if (slag) free(slag); // time slag [sec]
247  if (strain) free(strain); // GW strain: 1/2 - prod/sim
248  if (phi) free(phi); // phi: 1/2 - prod/sim
249  if (theta) free(theta); // theta: 1/2 - prod/sim
250  if (psi) free(psi); // psi: 1/2 - prod/sim
251  if (iota) free(iota); // iota: 0/1 - prod/sim
252 
253  if (bp) free(bp); // beam pattern coefficients for hp
254  if (bx) free(bx); // beam pattern coefficients for hx
255 
256  if (time) free(time); // average center_of_snr time for prod and sim
257  if (right) free(right); // min cluster time
258  if (left) free(left); // max cluster time
259  if (duration) free(duration); // cluster duration = stopW-startW
260  if (start) free(start); // actual start GPS time
261  if (stop) free(stop); // actual stop GPS time
262 
263  if (frequency) free(frequency); // average center_of_snr frequency
264  if (low) free(low); // min frequency
265  if (high) free(high); // max frequency
266  if (bandwidth) free(bandwidth); // high-low
267  if (hrss) free(hrss); // log10(calibrated hrss)
268  if (noise) free(noise); // log10(calibrated noise rms)
269  if (erA) free(erA); // error angle
270  if (null) free(null); // un-biased null statistics
271  if (nill) free(nill); // biased null statistics
272  if (rho) free(rho); // effective correlated SNR
273  if (netcc) free(netcc); // correlation coefficients: 0-net,1-pc,2-cc,3-net2
274  if (neted) free(neted); // network energy disbalabce
275  if (range) free(range); // range array: 0-reconstructed, 1-injected
276  if (chirp) free(chirp); // chirp array: 0-injmass,1-recmass,2-merr,3-tmrgr,4-terr,5-chi2
277  if (eBBH) free(eBBH); // eBBH array: 0-rec ecc, 1-inj ecc
278  if (Deff) free(Deff); // sim effective distance for each detector
279  if (mass) free(mass); // mass[2], binary mass parameters
280  if (spin) free(spin); // spin[6], binary spin parameters
281  if (snr) free(snr); // energy/noise_variance
282  if (xSNR) free(xSNR); // x-s snr of the detector responses
283  if (sSNR) free(sSNR); // signal snr of the detector responses
284  if (iSNR) free(iSNR); // injected snr
285  if (oSNR) free(oSNR); // recontructed snr
286  if (ioSNR) free(ioSNR); // injected recontructed xcor
287 
288  if (Psm) delete Psm; // probability skymap
289 
290  if(iFile) delete iFile;
291  };
292 
293  virtual netevent& operator=(const netevent &);
294 
295  Int_t GetEntries();
296  Int_t GetEntry(Int_t);
297  void allocate();
298  void init();
299  TTree* Init(TString fName, int n);
300  void Init(TTree *);
301  Bool_t Notify();
302  TTree* setTree();
303  void setSLags(float* slag);
304  void output(TTree* = NULL, network* = NULL, double = 0., size_t = 0, int = -1);
305  void output2G(TTree*, network* , size_t, int, double);
306 
307 // void Loop();
308 // Int_t Cut(Int_t entry);
309 // Int_t LoadTree(Int_t entry);
310  void Show(Int_t entry = -1);
311 
312  inline void dopen(const char *fname, char* mode, bool header=true) {
313  if(fP != NULL) fclose(fP);
314  if((fP = fopen(fname, mode)) == NULL) {
315  cout << "netevent::Dump() error: cannot open file " << fname <<". \n";
316  return;
317  };
318  if(header) fprintf(fP,"# WAT Version : %s - GIT Revision : %s - Tag/Branch : %s",watversion('f'),watversion('r'),watversion('b'));
319  }
320 
321  inline void dclose() {
322  if(fP!=NULL) fclose(fP);
323  fP = NULL;
324  return;
325  }
326 
327  inline void Dump(TString analysis="2G") {
328  if(fP==NULL || ndim<1) return;
329  size_t i;
330  size_t I = ndim;
331 
332  fprintf(fP,"nevent: %d\n",nevent);
333  fprintf(fP,"ndim: %d\n",ndim);
334  fprintf(fP,"run: %d\n",run);
335  fprintf(fP,"name: %s\n",name->c_str());
336  fprintf(fP,"log: %s\n",log->c_str());
337  fprintf(fP,"rho: %f\n",rho[analysis=="2G"?0:1]);
338  fprintf(fP,"netCC: %f\n",netcc[analysis=="2G"?0:0]);
339  fprintf(fP,"netED: %f\n",neted[0]/ecor);
340  fprintf(fP,"penalty: %f\n",penalty);
341  fprintf(fP,"gnet: %f\n",gnet);
342  fprintf(fP,"anet: %f\n",anet);
343  fprintf(fP,"inet: %f\n",inet);
344  fprintf(fP,"likelihood: %e\n",likelihood);
345  fprintf(fP,"ecor: %e\n",ecor);
346  fprintf(fP,"ECOR: %e\n",ECOR);
347  fprintf(fP,"factor: %f\n",factor);
348  fprintf(fP,"range: %f\n",range[0]);
349  fprintf(fP,"mchirp: %f\n",chirp[0]);
350  fprintf(fP,"norm: %f\n",norm);
351  fprintf(fP,"usize: %d\n",usize);
352 
353  fprintf(fP,"ifo: "); for(i=0; i<I; i++) fprintf(fP,"%s ",ifoList[i]->Name);fprintf(fP,"\n");
354  fprintf(fP,"eventID: "); for(i=0; i<2; i++) fprintf(fP,"%d ",eventID[i]); fprintf(fP,"\n");
355  fprintf(fP,"rho: "); for(i=0; i<2; i++) fprintf(fP,"%f ",rho[i]); fprintf(fP,"\n");
356  fprintf(fP,"type: "); for(i=0; i<2; i++) fprintf(fP,"%d ",type[i]); fprintf(fP,"\n");
357  fprintf(fP,"rate: "); for(i=0; i<I; i++) fprintf(fP,"%d ",rate[i]); fprintf(fP,"\n");
358  fprintf(fP,"volume: "); for(i=0; i<I; i++) fprintf(fP,"%d ",volume[i]); fprintf(fP,"\n");
359  fprintf(fP,"size: "); for(i=0; i<I; i++) fprintf(fP,"%d ",size[i]); fprintf(fP,"\n");
360  fprintf(fP,"lag: "); for(i=0; i<I; i++) fprintf(fP,"%f ",lag[i]); fprintf(fP,"\n");
361  fprintf(fP,"slag: "); for(i=0; i<I; i++) fprintf(fP,"%f ",slag[i]); fprintf(fP,"\n");
362  fprintf(fP,"phi: "); for(i=0; i<4; i++) fprintf(fP,"%f ",phi[i]); fprintf(fP,"\n");
363  fprintf(fP,"theta: "); for(i=0; i<4; i++) fprintf(fP,"%f ",theta[i]); fprintf(fP,"\n");
364  fprintf(fP,"psi: "); for(i=0; i<2; i++) fprintf(fP,"%f ",psi[i]); fprintf(fP,"\n");
365  fprintf(fP,"iota: "); for(i=0; i<2; i++) fprintf(fP,"%f ",iota[i]); fprintf(fP,"\n");
366  fprintf(fP,"bp: "); for(i=0; i<I; i++) fprintf(fP,"%7.4f ",bp[i]); fprintf(fP,"\n");
367  fprintf(fP,"inj_bp: "); for(i=I; i<2*I; i++) fprintf(fP,"%7.4f ",bp[i]); fprintf(fP,"\n");
368  fprintf(fP,"bx: "); for(i=0; i<I; i++) fprintf(fP,"%7.4f ",bx[i]); fprintf(fP,"\n");
369  fprintf(fP,"inj_bx: "); for(i=I; i<2*I; i++) fprintf(fP,"%7.4f ",bx[i]); fprintf(fP,"\n");
370  fprintf(fP,"chirp: "); for(i=0; i<6; i++) fprintf(fP,"%f ",chirp[i]); fprintf(fP,"\n");
371  fprintf(fP,"range: "); for(i=0; i<2; i++) fprintf(fP,"%f ",range[i]); fprintf(fP,"\n");
372  fprintf(fP,"Deff: "); for(i=0; i<I; i++) fprintf(fP,"%f ",Deff[i]); fprintf(fP,"\n");
373  fprintf(fP,"mass: "); for(i=0; i<2; i++) fprintf(fP,"%f ",mass[i]); fprintf(fP,"\n");
374  fprintf(fP,"spin: "); for(i=0; i<6; i++) fprintf(fP,"%f ",spin[i]); fprintf(fP,"\n");
375  fprintf(fP,"eBBH: "); for(i=0; i<4; i++) fprintf(fP,"%f ",eBBH[i]); fprintf(fP,"\n");
376  fprintf(fP,"null: "); for(i=0; i<I; i++) fprintf(fP,"%e ",null[i]); fprintf(fP,"\n");
377  fprintf(fP,"strain: "); for(i=0; i<2; i++) fprintf(fP,"%e ",strain[i]); fprintf(fP,"\n");
378  fprintf(fP,"hrss: "); for(i=0; i<I; i++) fprintf(fP,"%e ",hrss[i]); fprintf(fP,"\n");
379  fprintf(fP,"inj_hrss: "); for(i=I; i<2*I; i++) fprintf(fP,"%e ",hrss[i]); fprintf(fP,"\n");
380  fprintf(fP,"noise: "); for(i=0; i<I; i++) fprintf(fP,"%e ",noise[i]); fprintf(fP,"\n");
381 
382  // use seglen of detector at lag=0 to set segment value of the other detectors
383  int mdet=0; for(i=0; i<I; i++) if(lag[i]==0) mdet=i;
384  fprintf(fP,"segment: "); for(i=0; i<I; i++) {
385  double seglen = left[mdet]+right[mdet]+duration[1];
386  fprintf(fP,"%12.4f %12.4f ",gps[i],gps[i]+seglen);
387  }
388  fprintf(fP,"\n");
389 
390  fprintf(fP,"start: "); for(i=0; i<I; i++) fprintf(fP,"%12.4f ",start[i]); fprintf(fP,"\n");
391  fprintf(fP,"time: "); for(i=0; i<I; i++) fprintf(fP,"%12.4f ",time[i]); fprintf(fP,"\n");
392  fprintf(fP,"stop: "); for(i=0; i<I; i++) fprintf(fP,"%12.4f ",stop[i]); fprintf(fP,"\n");
393  fprintf(fP,"inj_time: "); for(i=I; i<2*I; i++) fprintf(fP,"%12.4f ",time[i]); fprintf(fP,"\n");
394  fprintf(fP,"left: "); for(i=0; i<I; i++) fprintf(fP,"%f ",left[i]); fprintf(fP,"\n");
395  fprintf(fP,"right: "); for(i=0; i<I; i++) fprintf(fP,"%f ",right[i]); fprintf(fP,"\n");
396  fprintf(fP,"duration: "); for(i=0; i<2; i++) fprintf(fP,"%f ",duration[i]); fprintf(fP,"\n");
397  fprintf(fP,"frequency: "); for(i=0; i<2; i++) fprintf(fP,"%f ",frequency[i]); fprintf(fP,"\n");
398  fprintf(fP,"low: "); for(i=0; i<1; i++) fprintf(fP,"%f ",low[i]); fprintf(fP,"\n");
399  fprintf(fP,"high: "); for(i=0; i<1; i++) fprintf(fP,"%f ",high[i]); fprintf(fP,"\n");
400  fprintf(fP,"bandwidth: "); for(i=0; i<2; i++) fprintf(fP,"%f ",bandwidth[i]); fprintf(fP,"\n");
401 
402  fprintf(fP,"snr: "); for(i=0; i<I; i++) fprintf(fP,"%e ",snr[i]); fprintf(fP,"\n");
403  fprintf(fP,"xSNR: "); for(i=0; i<I; i++) fprintf(fP,"%e ",xSNR[i]); fprintf(fP,"\n");
404  fprintf(fP,"sSNR: "); for(i=0; i<I; i++) fprintf(fP,"%e ",sSNR[i]); fprintf(fP,"\n");
405  fprintf(fP,"iSNR: "); for(i=0; i<I; i++) fprintf(fP,"%f ",iSNR[i]); fprintf(fP,"\n");
406  fprintf(fP,"oSNR: "); for(i=0; i<I; i++) fprintf(fP,"%f ",oSNR[i]); fprintf(fP,"\n");
407  fprintf(fP,"ioSNR: "); for(i=0; i<I; i++) fprintf(fP,"%f ",ioSNR[i]); fprintf(fP,"\n");
408 
409  fprintf(fP,"netcc: "); for(i=0; i<4; i++) fprintf(fP,"%f ",netcc[i]); fprintf(fP,"\n");
410  fprintf(fP,"neted: "); for(i=0; i<5; i++) fprintf(fP,"%f ",neted[i]); fprintf(fP,"\n");
411  fprintf(fP,"erA: "); for(i=0; i<11; i++) fprintf(fP,"%6.3f ",erA[i]); fprintf(fP,"\n");
412  };
413 
414  // used by THtml doc
415  ClassDef(netevent,2)
416 };
417 #endif
TTree * tree
Definition: TimeSortTree.C:20
Float_t anet
Definition: netevent.hh:118
TBranch * b_Psm
Definition: netevent.hh:187
TBranch * b_high
Definition: netevent.hh:181
Float_t * mass
effective range for each detector
Definition: netevent.hh:131
TBranch * b_ECOR
Definition: netevent.hh:199
Float_t * eBBH
chirp array: 0-injmass,1-recmass,2-merr,3-tmrgr,4-terr,5-chi2
Definition: netevent.hh:129
TBranch * b_hrss
Definition: netevent.hh:184
Int_t ndim
current Tree number in a TChain
Definition: netevent.hh:65
Float_t * rho
biased null statistics
Definition: netevent.hh:112
Float_t * high
min frequency
Definition: netevent.hh:104
Float_t * range
Definition: netevent.hh:127
TBranch * b_volume
Definition: netevent.hh:156
Float_t ecor
Definition: netevent.hh:120
void setSLags(float *slag)
Definition: netevent.cc:426
TBranch * b_range
Definition: netevent.hh:204
Bool_t Notify()
Definition: netevent.cc:325
Double_t * start
cluster duration = stopW-startW
Definition: netevent.hh:99
Float_t * duration
max cluster time relative to segment start
Definition: netevent.hh:98
Float_t * low
average center_of_snr frequency
Definition: netevent.hh:103
TBranch * b_theta
Definition: netevent.hh:165
wavearray< double > a(hp.size())
TBranch * b_type
Definition: netevent.hh:151
int n
Definition: cwb_net.C:28
TTree * setTree()
Definition: netevent.cc:434
char * watversion(char c='s')
Definition: watversion.hh:21
TString("c")
string * log
event name: "" - prod, mdc_name - sim
Definition: netevent.hh:76
TBranch * b_ndim
Definition: netevent.hh:147
Float_t inet
Definition: netevent.hh:119
Int_t * size
cluster volume
Definition: netevent.hh:80
Float_t * right
segment start GPS time
Definition: netevent.hh:96
TBranch * b_neted
Definition: netevent.hh:191
Int_t GetEntry(Int_t)
Definition: netevent.cc:409
Float_t ECOR
Definition: netevent.hh:122
TBranch * b_duration
Definition: netevent.hh:175
Float_t * gap
cluster union size
Definition: netevent.hh:83
TBranch * b_rho
Definition: netevent.hh:192
Float_t * left
min cluster time relative to segment start
Definition: netevent.hh:97
Int_t fCurrent
pointer to the analyzed TTree or TChain
Definition: netevent.hh:64
TBranch * b_norm
Definition: netevent.hh:198
Float_t * ioSNR
reconstructed snr waveform
Definition: netevent.hh:139
TTree * fChain
root input file cointainig the analyzed TTree
Definition: netevent.hh:63
TBranch * b_ioSNR
Definition: netevent.hh:216
TTree * Init(TString fName, int n)
Definition: netevent.cc:47
TBranch * b_snr
Definition: netevent.hh:211
Int_t * type
event ID
Definition: netevent.hh:74
i drho i
TBranch * b_ecor
Definition: netevent.hh:197
TBranch * b_inet
Definition: netevent.hh:196
TBranch * b_iota
Definition: netevent.hh:167
void dopen(const char *fname, char *mode, bool header=true)
Definition: netevent.hh:312
Int_t run
max size used by allocate() for the probability maps
Definition: netevent.hh:71
fprintf(stdout,"start=%f duration=%f rate=%f\, x.start(), x.size()/x.rate(), x.rate())
size_t mode
TBranch * b_psi
Definition: netevent.hh:166
TBranch * b_phi
Definition: netevent.hh:164
Float_t * frequency
GPS stop time of the cluster.
Definition: netevent.hh:102
TBranch * b_rate
Definition: netevent.hh:154
TBranch * b_netcc
Definition: netevent.hh:190
Float_t factor
Definition: netevent.hh:126
void init()
Definition: netevent.cc:283
void output2G(TTree *, network *, size_t, int, double)
Definition: netevent.cc:711
Int_t nevent
run ID
Definition: netevent.hh:72
TBranch * b_low
Definition: netevent.hh:180
Int_t Psave
number of detectors
Definition: netevent.hh:66
TBranch * b_left
Definition: netevent.hh:174
Int_t * volume
1/rate - wavelet time resolution
Definition: netevent.hh:79
TBranch * b_spin
Definition: netevent.hh:209
TBranch * b_penalty
Definition: netevent.hh:200
Float_t * Deff
eBBH array
Definition: netevent.hh:130
Double_t * gps
average center_of_gravity time
Definition: netevent.hh:95
#define NETEVENT_INIT
Definition: netevent.hh:46
TBranch * b_eBBH
Definition: netevent.hh:206
TBranch * b_eventID
Definition: netevent.hh:150
TBranch * b_nevent
Definition: netevent.hh:149
TBranch * b_erA
Definition: netevent.hh:186
TBranch * b_sSNR
Definition: netevent.hh:213
Float_t penalty
Definition: netevent.hh:123
Double_t * stop
GPS start time of the cluster.
Definition: netevent.hh:100
TBranch * b_null
Definition: netevent.hh:188
Float_t gnet
network energy disbalance: 0 - total, 1 - 00-phase, 2 - 90-phase
Definition: netevent.hh:117
void Dump(TString analysis="2G")
Definition: netevent.hh:327
TBranch * b_time
Definition: netevent.hh:171
Float_t * lag
time between consecutive events
Definition: netevent.hh:84
char fname[1024]
Float_t * xSNR
energy/noise_variance
Definition: netevent.hh:135
TBranch * b_lag
Definition: netevent.hh:161
TBranch * b_name
Definition: netevent.hh:152
TFile * iFile
Definition: netevent.hh:61
std::vector< detector * > ifoList
dump file
Definition: netevent.hh:143
void Show(Int_t entry=-1)
Definition: netevent.cc:415
TBranch * b_likelihood
Definition: netevent.hh:201
Double_t * strain
time slag [sec]
Definition: netevent.hh:86
Float_t * netcc
effective correlated SNR
Definition: netevent.hh:113
Float_t * slag
time lag [sec]
Definition: netevent.hh:85
TBranch * b_gnet
Definition: netevent.hh:194
TBranch * b_anet
Definition: netevent.hh:195
void output(TTree *=NULL, network *=NULL, double=0., size_t=0, int=-1)
Definition: netevent.cc:1193
TBranch * b_bandwidth
Definition: netevent.hh:182
TBranch * b_usize
Definition: netevent.hh:158
Definition: skymap.hh:63
double * entry
Definition: cwb_setcuts.C:224
TBranch * b_bp
Definition: netevent.hh:168
netevent()
Definition: netevent.hh:218
TBranch * b_slag
Definition: netevent.hh:162
Float_t * iota
[0]-reconstructed psi or phase of gc, [1]-injected psi angle
Definition: netevent.hh:90
TBranch * b_strain
Definition: netevent.hh:163
TBranch * b_frequency
Definition: netevent.hh:179
Float_t * psi
[0]-reconstructed, [1]-injected theta angle, [2]-DEC
Definition: netevent.hh:89
Double_t * hrss
high-low
Definition: netevent.hh:106
TBranch * b_gap
Definition: netevent.hh:160
TBranch * b_start
Definition: netevent.hh:176
TBranch * b_size
Definition: netevent.hh:157
TBranch * b_gps
Definition: netevent.hh:172
TBranch * b_oSNR
Definition: netevent.hh:215
FILE * fP
injected reconstructed xcor waveform
Definition: netevent.hh:141
Float_t * phi
sqrt(h+*h+ + hx*hx)
Definition: netevent.hh:87
Float_t norm
Definition: netevent.hh:121
TBranch * b_Deff
Definition: netevent.hh:207
TBranch * b_noise
Definition: netevent.hh:185
Float_t * theta
[0]-reconstructed, [1]-injected phi angle, [2]-RA
Definition: netevent.hh:88
Double_t * time
beam pattern coefficients for hx
Definition: netevent.hh:94
TBranch * b_right
Definition: netevent.hh:173
Int_t * rate
event log: "" - prod, mdc_log - sim
Definition: netevent.hh:77
void dclose()
Definition: netevent.hh:321
TBranch * b_iSNR
Definition: netevent.hh:214
Float_t * nill
un-biased null statistics
Definition: netevent.hh:111
Float_t * spin
mass[2], binary mass parameters
Definition: netevent.hh:132
TBranch * b_mass
Definition: netevent.hh:208
Float_t * sSNR
data-signal correlation Xk*Sk
Definition: netevent.hh:136
void allocate()
Definition: netevent.cc:167
Float_t * erA
noise rms
Definition: netevent.hh:108
TBranch * b_stop
Definition: netevent.hh:177
Float_t * null
probability cc skymap
Definition: netevent.hh:110
Float_t likelihood
Definition: netevent.hh:124
Float_t * bx
beam pattern coefficients for hp
Definition: netevent.hh:92
TBranch * b_bx
Definition: netevent.hh:169
virtual netevent & operator=(const netevent &)
Definition: netevent.cc:610
TBranch * b_log
Definition: netevent.hh:153
Double_t * noise
hrss
Definition: netevent.hh:107
string * name
event type: [0] - prod, [1]-sim
Definition: netevent.hh:75
Float_t * snr
spin[6], binary spin parameters
Definition: netevent.hh:134
TBranch * b_factor
Definition: netevent.hh:203
Int_t GetEntries()
Definition: netevent.cc:403
Float_t * neted
network correlation coefficients: 0-net,1-pc,2-cc,3-net2
Definition: netevent.hh:114
fclose(ftrig)
TBranch * b_xSNR
Definition: netevent.hh:212
char fName[256]
Float_t * chirp
range to source: [0/1]-rec/inj
Definition: netevent.hh:128
TBranch * b_nill
Definition: netevent.hh:189
TBranch * b_chirp
Definition: netevent.hh:205
TBranch * b_run
Definition: netevent.hh:148
skymap * Psm
error angle
Definition: netevent.hh:109
Float_t * bp
[0]-reconstructed iota angle, [1]-injected iota angle
Definition: netevent.hh:91
Float_t * iSNR
energy of reconstructed responses Sk*Sk
Definition: netevent.hh:137
Int_t * eventID
event count
Definition: netevent.hh:73
Float_t * bandwidth
max frequency
Definition: netevent.hh:105
Int_t usize
cluster size (black pixels only)
Definition: netevent.hh:81
Float_t * oSNR
injected snr waveform
Definition: netevent.hh:138