3 #pragma GCC system_header
10 #include "TObjArray.h"
11 #include "TObjString.h"
26 cout <<
"-----> CWB_Plugin_Sim4.C" << endl;
27 cout <<
"ifo " << ifo.Data() << endl;
28 cout <<
"type " << type << endl;
34 int gISTAGE=-1;
IMPORT(
int,gISTAGE)
35 int gJSTAGE=-1;
IMPORT(
int,gJSTAGE)
36 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gISTAGE : " << gISTAGE <<
" gJSTAGE : " << gJSTAGE << endl;
47 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gIFACTOR : " << gIFACTOR << endl;
51 sprintf(cmd,
"network* net = (network*)%p;",net);
52 gROOT->ProcessLine(cmd);
53 sprintf(cmd,
"CWB::config* cfg = (CWB::config*)%p;",cfg);
54 gROOT->ProcessLine(cmd);
74 IMPORT(std::vector<double>,mdcHRSS)
75 int M = mdcHRSS.size();
76 for(
int i=0;
i<
M;
i++) cout <<
i <<
" mdcHRSS = " << mdcHRSS[
i] << endl;
87 std::vector<double> mdcFactor(K);
89 for(
int i=0;
i<
K;
i++) {
90 for(
int j=0;
j<
L;
j++) {
94 for(
int i=0;
i<
K;
i++) cout <<
i <<
" mdcFactor = " << mdcFactor[
i] << endl;
100 for(
int k=0;
k<(
int)K;
k++) {
101 int ilog[5] = {1,3,12,13,14};
102 for(
int l=0;
l<5;
l++) {
103 double mfactor =
l<2 ? mdcFactor[
k] : mdcFactor[
k]*mdcFactor[
k];
113 if(ifo.CompareTo(net->
ifoName[0])==0) {
127 std::vector<std::string>* mdcList =
new vector<std::string>;
128 std::vector<std::string>* mdcType =
new vector<std::string>;
129 std::vector<double>* mdcTime =
new vector<double>;
135 TTree* mdc_tree = (TTree*)jfile->Get(
"injections");
137 mdc_tree =
new TTree(
"injections",
"injections");
138 mdc_tree->Branch(
"ifactor", &ifactor,
"ifactor/I");
139 mdc_tree->Branch(
"mdcList", &mdcList, inj_size, 0);
140 mdc_tree->Branch(
"mdcType", &mdcType, inj_size, 0);
141 mdc_tree->Branch(
"mdcTime", &mdcTime, inj_size, 0);
143 mdc_tree->SetBranchAddress(
"ifactor", &ifactor);
144 mdc_tree->SetBranchAddress(
"mdcList", &mdcList);
145 mdc_tree->SetBranchAddress(
"mdcType", &mdcType);
146 mdc_tree->SetBranchAddress(
"mdcTime", &mdcTime);
162 for(
int k=0;
k<(
int)MDC.
mdcTime.size();
k++) cout <<
k <<
" mdcTime " << MDC.
mdcTime[
k] << endl;
163 for(
int k=0;
k<(
int)MDC.
mdcType.size();
k++) cout <<
k <<
" mdcType " << MDC.
mdcType[
k] << endl;
172 cout <<
"-----> CWB_Plugin_Sim4.C -> " <<
" gIFACTOR : " << gIFACTOR << endl;
175 std::vector<std::string>* mdcList =
new vector<std::string>;
176 std::vector<std::string>* mdcType =
new vector<std::string>;
177 std::vector<double>* mdcTime =
new vector<double>;
180 TTree* mdc_tree = (TTree*)jfile->Get(
"injections");
182 cout <<
"-----> CWB_Plugin_Sim4.C : Error-> " <<
" injection tree not present in job file" << endl;
185 mdc_tree->SetBranchAddress(
"ifactor", &ifactor);
186 mdc_tree->SetBranchAddress(
"mdcList", &mdcList);
187 mdc_tree->SetBranchAddress(
"mdcType", &mdcType);
188 mdc_tree->SetBranchAddress(
"mdcTime", &mdcTime);
191 int tree_size = (
int)mdc_tree->GetEntries();
193 bool ifactor_check=
false;
194 for(
int i=0;
i<tree_size;
i++) {
195 mdc_tree->GetEntry(
i);
196 if(ifactor==gIFACTOR) {
207 cout <<
"-----> CWB_Plugin_Sim4.C : Error-> " <<
" mdc infos not present in the injection tree " << endl;
213 for(
int k=0;
k<(
int)net->
mdcTime.size();
k++) cout <<
k <<
" mdcTime " << net->
mdcTime[
k] << endl;
214 for(
int k=0;
k<(
int)net->
mdcType.size();
k++) cout <<
k <<
" mdcType " << net->
mdcType[
k] << endl;
227 size_t K = pT->size();
228 size_t N = wi.
size();
242 nstrt =
int((T - dT)*rate);
243 nstop =
int((T + dT)*rate);
244 if(nstrt<=0) nstrt = 0;
245 if(nstop>=
int(N)) nstop =
N;
246 if(nstop<=0)
continue;
247 if(nstrt>=
int(N))
continue;
249 for(j=nstrt; j<nstop; j++) {
std::vector< char * > ifoName
virtual size_t size() const
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<< "\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
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)
#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