Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CWB_Plugin_TestClassCBC.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 "TComplex.h"
14 #include "TMath.h"
15 #include "mdc.hh"
16 #include <vector>
17 
18 
19 void
21 //!NOISE_MDC_SIMULATION
22 // Plugin to generate simulated gaussian noise and injected 'on the fly' CBC MDC
23 
24  cout << endl;
25  cout << "-----> plugins/CWB_Plugin_TestClassCBC.C" << endl;
26  cout << "ifo " << ifo.Data() << endl;
27  cout << "type " << type << endl;
28  cout << endl;
29 
30  if(type==CWB_PLUGIN_CONFIG) {
31  cfg->dataPlugin=true; // disable read data from frames
32  cfg->mdcPlugin=true; // disable read mdc from frames
33  }
34 
35  if(type==CWB_PLUGIN_DATA) {
36 
38 
39  int seed;
40  if(ifo.CompareTo("L1")==0) seed=1000;
41  if(ifo.CompareTo("H1")==0) seed=2000;
42  if(ifo.CompareTo("V1")==0) seed=3000;
43  if(ifo.CompareTo("J1")==0) seed=4000;
44  if(ifo.CompareTo("A2")==0) seed=5000;
45  if(ifo.CompareTo("Y2")==0) seed=6000;
46  if(ifo.CompareTo("Y3")==0) seed=7000;
47 
48  TString fName;
49  if(ifo.CompareTo("L1")==0) fName="plugins/strains/advLIGO_NSNS_Opt_8khz_one_side.txt";
50  if(ifo.CompareTo("H1")==0) fName="plugins/strains/advLIGO_NSNS_Opt_8khz_one_side.txt";
51  if(ifo.CompareTo("V1")==0) fName="plugins/strains/advVIRGO_sensitivity_12May09_8khz_one_side.txt";
52  if(ifo.CompareTo("J1")==0) fName="plugins/strains/LCGT_sensitivity_8khz_one_side.txt";
53  if(ifo.CompareTo("A2")==0) fName="plugins/strains/advLIGO_NSNS_Opt_8khz_one_side.txt";
54  if(ifo.CompareTo("Y2")==0) fName="plugins/strains/advLIGO_NSNS_Opt_8khz_one_side.txt";
55  if(ifo.CompareTo("Y3")==0) fName="plugins/strains/advLIGO_NSNS_Opt_8khz_one_side.txt";
56 
57  int size=x->size();
58  double start=x->start();
59  TB.getSimNoise(*x, fName, seed, net->nRun);
60  x->resize(size);
61  x->start(start);
62 /*
63  // dump spectrum
64  char file[1024];
65  sprintf(file,"%s/sensitivity_%s_%d_%s_job%lu.txt",cfg->dump_dir,ifo.Data(),int(x->start()),cfg->data_label,net->nRun);
66  cout << endl << "Dump Sensitivity : " << file << endl << endl;
67  TB.makeSpectrum(file, *x, 8, cfg->segEdge);
68  if(TString(ifo).CompareTo("V1")==0) gSystem->Exit(0);
69 */
70  }
71 
72  if(type==CWB_PLUGIN_MDC) {
73 
74  char cmd[128];
75  sprintf(cmd,"network* net = (network*)%p;",net);
76  gROOT->ProcessLine(cmd);
77  // export config object to the config plugin
78  sprintf(cmd,"CWB::config* cfg = (CWB::config*)%p;",cfg);
79  gROOT->ProcessLine(cmd);
80 
81  CWB::mdc MDC(net);
82 
83  // ---------------------------------
84  // read plugin config
85  // ---------------------------------
86 
87  cfg->configPlugin.Exec();
88 
89  // ---------------------------------
90  // set list of mdc waveforms
91  // ---------------------------------
92 
93  IMPORT(CWB::mdc,MDC)
94  MDC.Print();
95 
96  // ---------------------------------
97  // get mdc data
98  // ---------------------------------
99 
100  MDC.Get(*x,ifo);
101 
102  // ---------------------------------
103  // set mdc list in the network class
104  // ---------------------------------
105 
106  if(ifo.CompareTo(net->ifoName[0])==0) {
107  net->mdcList.clear();
108  net->mdcType.clear();
109  net->mdcTime.clear();
110  net->mdcList=MDC.mdcList;
111  net->mdcType=MDC.mdcType;
112  net->mdcTime=MDC.mdcTime;
113  }
114 
115  cout.precision(14);
116  for(int k=0;k<(int)net->mdcList.size();k++) cout << k << " mdcList " << MDC.mdcList[k] << endl;
117  for(int k=0;k<(int)net->mdcTime.size();k++) cout << k << " mdcTime " << MDC.mdcTime[k] << endl;
118  for(int k=0;k<(int)net->mdcType.size();k++) cout << k << " mdcType " << MDC.mdcType[k] << endl;
119  }
120 
121  if(type==CWB_PLUGIN_WHITE) {
122 /*
123  CWB::Toolbox TB;
124  int level=x->getLevel();
125  x->Inverse(-1);
126  // dump spectrum
127  char file[1024];
128  sprintf(file,"%s/sensitivity_white_%s_%d_%s_job%lu.txt",cfg->dump_dir,ifo.Data(),int(x->start()),cfg->data_label,net->nRun);
129  cout << endl << "Dump Sensitivity : " << file << endl << endl;
130  TB.makeSpectrum(file, *x, 8, cfg->segEdge);
131  if(TString(ifo).CompareTo("V1")==0) gSystem->Exit(0);
132  x->Forward(level);
133 */
134  }
135 
136  return;
137 }
std::vector< char * > ifoName
Definition: network.hh:591
CWB::config * cfg
Definition: TestCWB_Plugin.C:5
virtual void resize(unsigned int)
Definition: wseries.cc:883
virtual size_t size() const
Definition: wavearray.hh:127
TMacro configPlugin
Definition: config.hh:344
char cmd[1024]
TString Get(wavearray< double > &x, TString ifo)
Definition: mdc.cc:1502
bool mdcPlugin
Definition: config.hh:347
std::vector< std::string > mdcList
Definition: mdc.hh:357
bool dataPlugin
Definition: config.hh:346
TString("c")
std::vector< std::string > mdcType
Definition: mdc.hh:358
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
std::vector< std::string > mdcType
Definition: network.hh:595
CWB::mdc * MDC
Long_t size
virtual void start(double s)
Definition: wavearray.hh:119
std::vector< double > mdcTime
Definition: network.hh:596
CWB::Toolbox TB
Definition: ComputeSNR.C:5
void Print(int level=0)
Definition: mdc.cc:2707
char ifo[NIFO_MAX][8]
network ** net
NOISE_MDC_SIMULATION.
jfile
Definition: cwb_job_obj.C:25
static void getSimNoise(wavearray< double > &u, TString fName, int seed, int run)
Definition: Toolbox.cc:4809
Definition: mdc.hh:216
#define IMPORT(TYPE, VAR)
Definition: cwb.hh:51
i() int(T_cor *100))
std::vector< std::string > mdcList
Definition: network.hh:594
void CWB_Plugin(TFile *jfile, CWB::config *cfg, network *net, WSeries< double > *x, TString ifo, int type)
COHERENCE.
int k
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
std::vector< double > mdcTime
Definition: mdc.hh:360
char fName[256]