Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CWB_Plugin_MakeWhiteFrame.C
Go to the documentation of this file.
1 #define XIFO 4
2 
3 #pragma GCC system_header
4 
5 #include "cwb.hh"
6 #include "config.hh"
7 #include "network.hh"
8 #include "wavearray.hh"
9 #include "TString.h"
10 #include "TObjArray.h"
11 #include "TObjString.h"
12 #include "TRandom.h"
13 #include "Toolbox.hh"
14 
15 void
17 //!DATA_CONDITIONING
18 // Plugin to produce frames of whitened data
19 // To display data with FrDisplay do (Ex) :
20 // FrDisplayPROC -t L1:LDAS-STRAIN \
21 // -i report/dump/white_H1_S6A_BKG_L1H1V1_HF_2G_run2_job535-932501639-600.gwf
22 //
23 
24  cout << endl;
25  cout << "-----> CWB_Plugin_MakeWhiteFrame.C" << endl;
26  cout << "ifo " << ifo.Data() << endl;
27  cout << "type " << type << endl;
28  cout << endl;
29 
31 
32  // get ifo id
33  int id=-1;
34  for(int n=0;n<cfg->nIFO;n++) if(ifo==net->ifoName[n]) {id=n;break;}
35  if(id<0) {cout << "Plugin : Error - bad ifo id" << endl; gSystem->Exit(1);}
36 
37  // transform to time domain
38  int level=-1;
39  if(TString(cfg->analysis)=="1G") {
40  level=x->getLevel();
41  x->Inverse(-1);
42  }
43 
44  // save cleaned data into frame
45  wavearray<double> X = *x;
46  // remove scratch
47  int os = cfg->segEdge*x->rate();
48  X.start(x->start()+cfg->segEdge);
49  X.stop(x->stop()-cfg->segEdge);
50  X.resize(x->size()-2*os);
51  for(int i=0;i<X.size()-2*os;i++) X[i]=X[i+os];
52 
53  // create frame file
54  char frFile[1024];
55  char frName[1024];
56  char chName[1024];
57  sprintf(frFile,"%s/white_%s_%s_job%lu-%lu-%lu.gwf",
58  cfg->dump_dir,ifo.Data(),cfg->data_label,net->nRun,
59  int(X.start()),(int)(X.stop()-X.start()));
60  sprintf(frName,"WFRAME");
61  sprintf(chName,cfg->channelNamesRaw[id]);
62  // open frame file
63  CWB::frame fr(frFile,chName,"WRITE");
64  // write frame to file
65  fr.writeFrame(X, frName, chName);
66  cout << "CWB_Plugin_MakeWhiteFrame.C : write " << frFile << endl;
67 
68  fr.close();
69 
70  int nIFO=net->ifoListSize();
71  if(TString(ifo).CompareTo(net->ifoName[nIFO-1])==0) gSystem->Exit(0); // last ifo
72  if(TString(cfg->analysis)=="1G") x->Forward(level);
73  }
74 
75  return;
76 }
std::vector< char * > ifoName
Definition: network.hh:591
CWB::config * cfg
Definition: TestCWB_Plugin.C:5
char analysis[8]
Definition: config.hh:99
virtual size_t size() const
Definition: wavearray.hh:127
virtual void rate(double r)
Definition: wavearray.hh:123
int n
Definition: cwb_net.C:10
TString("c")
size_t nRun
Definition: network.hh:554
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\t layers : "<< nLAYERS<< "\t dF(hz) : "<< dF<< "\t dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1)*itime+ifreq;double time=itime *dT;double freq=(ifreq >0)?ifreq *dF:dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
void close()
Definition: frame.cc:278
CWB::frame fr(FRLIST_NAME)
void writeFrame(wavearray< double > x, TString frName, TString chName)
Definition: frame.cc:157
virtual void start(double s)
Definition: wavearray.hh:119
void CWB_Plugin(TFile *jfile, CWB::config *cfg, network *net, WSeries< double > *x, TString ifo, int type)
COHERENCE.
i drho i
char ifo[NIFO_MAX][8]
network ** net
NOISE_MDC_SIMULATION.
size_t ifoListSize()
Definition: network.hh:413
double segEdge
Definition: config.hh:146
#define nIFO
int getLevel()
Definition: wseries.hh:91
TString chName[NIFO_MAX]
jfile
Definition: cwb_job_obj.C:25
i() int(T_cor *100))
char channelNamesRaw[NIFO_MAX][50]
Definition: config.hh:292
TString frName[NIFO_MAX]
virtual void stop(double s)
Definition: wavearray.hh:121
char dump_dir[1024]
Definition: config.hh:310
void Forward(int n=-1)
param: wavelet - n is number of steps (-1 means full decomposition)
Definition: wseries.cc:228
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
int nIFO
Definition: config.hh:102
char data_label[1024]
Definition: config.hh:314
virtual void resize(unsigned int)
Definition: wavearray.cc:445
void Inverse(int n=-1)
param: n - number of steps (-1 means full reconstruction)
Definition: wseries.cc:273
char os[1024]