21 #pragma GCC system_header 28 #include "TObjArray.h" 29 #include "TObjString.h" 44 cout <<
"-----> CWB_Plugin_Sim4.C" << endl;
45 cout <<
"ifo " << ifo.Data() << endl;
46 cout <<
"type " << type << endl;
52 int gISTAGE=-1;
IMPORT(
int,gISTAGE)
53 int gJSTAGE=-1;
IMPORT(
int,gJSTAGE)
54 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gISTAGE : " << gISTAGE <<
" gJSTAGE : " << gJSTAGE << endl;
65 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gIFACTOR : " << gIFACTOR << endl;
69 sprintf(cmd,
"network* net = (network*)%p;",net);
70 gROOT->ProcessLine(cmd);
71 sprintf(cmd,
"CWB::config* cfg = (CWB::config*)%p;",cfg);
72 gROOT->ProcessLine(cmd);
92 IMPORT(std::vector<double>,mdcHRSS)
93 int M = mdcHRSS.size();
94 for(
int i=0;
i<
M;
i++) cout <<
i <<
" mdcHRSS = " << mdcHRSS[
i] << endl;
105 std::vector<double> mdcFactor(K);
107 for(
int i=0;
i<
K;
i++) {
108 for(
int j=0;
j<
L;
j++) {
112 for(
int i=0;
i<
K;
i++) cout <<
i <<
" mdcFactor = " << mdcFactor[
i] << endl;
118 for(
int k=0;
k<(
int)K;
k++) {
119 int ilog[5] = {1,3,12,13,14};
120 for(
int l=0;
l<5;
l++) {
121 double mfactor =
l<2 ? mdcFactor[
k] : mdcFactor[
k]*mdcFactor[
k];
131 if(ifo.CompareTo(net->
ifoName[0])==0) {
145 std::vector<std::string>* mdcList =
new vector<std::string>;
146 std::vector<std::string>* mdcType =
new vector<std::string>;
147 std::vector<double>* mdcTime =
new vector<double>;
153 TTree* mdc_tree = (TTree*)jfile->Get(
"injections");
155 mdc_tree =
new TTree(
"injections",
"injections");
156 mdc_tree->Branch(
"ifactor", &ifactor,
"ifactor/I");
157 mdc_tree->Branch(
"mdcList", &mdcList, inj_size, 0);
158 mdc_tree->Branch(
"mdcType", &mdcType, inj_size, 0);
159 mdc_tree->Branch(
"mdcTime", &mdcTime, inj_size, 0);
161 mdc_tree->SetBranchAddress(
"ifactor", &ifactor);
162 mdc_tree->SetBranchAddress(
"mdcList", &mdcList);
163 mdc_tree->SetBranchAddress(
"mdcType", &mdcType);
164 mdc_tree->SetBranchAddress(
"mdcTime", &mdcTime);
180 for(
int k=0;
k<(
int)MDC.
mdcTime.size();
k++) cout <<
k <<
" mdcTime " << MDC.
mdcTime[
k] << endl;
181 for(
int k=0;
k<(
int)MDC.
mdcType.size();
k++) cout <<
k <<
" mdcType " << MDC.
mdcType[
k] << endl;
190 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gIFACTOR : " << gIFACTOR << endl;
193 std::vector<std::string>* mdcList =
new vector<std::string>;
194 std::vector<std::string>* mdcType =
new vector<std::string>;
195 std::vector<double>* mdcTime =
new vector<double>;
198 TTree* mdc_tree = (TTree*)jfile->Get(
"injections");
200 cout <<
"-----> CWB_Plugin_Sim4.C : Error-> " <<
" injection tree not present in job file" << endl;
203 mdc_tree->SetBranchAddress(
"ifactor", &ifactor);
204 mdc_tree->SetBranchAddress(
"mdcList", &mdcList);
205 mdc_tree->SetBranchAddress(
"mdcType", &mdcType);
206 mdc_tree->SetBranchAddress(
"mdcTime", &mdcTime);
209 int tree_size = (
int)mdc_tree->GetEntries();
211 bool ifactor_check=
false;
212 for(
int i=0;
i<tree_size;
i++) {
213 mdc_tree->GetEntry(
i);
214 if(ifactor==gIFACTOR) {
225 cout <<
"-----> CWB_Plugin_Sim4.C : Error-> " <<
" mdc infos not present in the injection tree " << endl;
231 for(
int k=0;
k<(
int)net->
mdcTime.size();
k++) cout <<
k <<
" mdcTime " << net->
mdcTime[
k] << endl;
232 for(
int k=0;
k<(
int)net->
mdcType.size();
k++) cout <<
k <<
" mdcType " << net->
mdcType[
k] << endl;
245 size_t K = pT->size();
246 size_t N = wi.
size();
260 nstrt =
int((T - dT)*rate);
261 nstop =
int((T + dT)*rate);
262 if(nstrt<=0) nstrt = 0;
263 if(nstop>=
int(N)) nstop =
N;
264 if(nstop<=0)
continue;
265 if(nstrt>=
int(N))
continue;
267 for(j=nstrt; j<nstop; j++) {
std::vector< char * > ifoName
std::vector< double > mdcHRSS(K)
TString Get(wavearray< double > &x, TString ifo)
std::vector< std::string > mdcList
virtual void rate(double r)
std::vector< std::string > mdcType
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<< "\ layers : "<< nLAYERS<< "\ dF(hz) : "<< dF<< "\ 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
virtual void start(double s)
std::vector< double > mdcTime
network ** net
NOISE_MDC_SIMULATION.
size_t SetFactors(wavearray< double > &wi, std::vector< double > *pT, std::vector< double > *pF, double dT)
virtual size_t size() const
#define IMPORT(TYPE, VAR)
std::vector< std::string > mdcList
double fabs(const Complex &x)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
void CWB_Plugin(TFile *jfile, CWB::config *cfg, network *net, WSeries< double > *x, TString ifo, int type)
COHERENCE.
std::vector< double > mdcTime