26 if(pp_fad_multi==
"") pp_fad_multi=
"false";
27 pp_fad_multi.ToUpper();
40 imdc_name,imdc_fcentral,imdc_fbandwidth);
41 if(ninj==0) {cout <<
"cwb_mkhtml_sim.C : Error - no injection - terminated" << endl;
exit(1);}
47 for(
int j=0;
j<
nset;
j++)
if(imdc_set[
i]==imdc_set_name[
j]) bnew=
false;
48 if(bnew) imdc_set_name[nset++]=imdc_set[
i];
50 cout <<
"nset : " << nset << endl;
69 cout << fileout << endl;
71 if (!out.good()) {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << fileout << endl;
exit(1);}
75 if(gSystem->Getenv(
"CWB_DOC_URL")!=NULL) {
76 cwb_doc_url=
TString(gSystem->Getenv(
"CWB_DOC_URL"));
79 out <<
"<hr>" << endl;
81 sprintf(plot_list,
"<a target=\"_parent\" name=\"Full Plot List\" href=\"%s\"><h3>Full Plot List</h3></a>",
pp_data_dir);
82 if(cwb_doc_url!=
"") out<<
"<table width=100%> <tr> <td align=\"left\">"<<endl;
83 out << plot_list << endl;
86 out<<
"<td align=\"right\">"<<endl;
87 out<<
"<a target=\"_parent\" href=\""<<cwb_doc_url.Data()
88 <<
"/cwb/man/Simulation-part.html#Simulation-part\">infos</a>"<<endl;
89 out<<
"</td> </tr> </table>"<<endl;
93 char evt_par_fname[2048];
95 sprintf(evt_par_fname,
"%s/evt_parameters_ALL.txt",PP_DATA_PATH.Data());
96 in_evt_par.open(evt_par_fname,
ios::in);
97 if(!in_evt_par.good())
98 {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << evt_par_fname << endl;
exit(1);}
101 float f_mean,f_rms,t_mean,t_rms;
106 in_evt_par >> epar_id >> epar_mdc_name >> f_mean >> f_rms >> t_mean >> t_rms;
107 if (!in_evt_par.good())
break;
108 EPAR_MDC_NAME[ecnt]=epar_mdc_name;
111 cout <<
"EVT_PAR : " << EPAR_MDC_NAME[ecnt] <<
" " << F_MEAN[ecnt] <<
" " << T_RMS[ecnt] << endl;
118 for (
int iset=0;iset<
nset;iset++) {
120 cout <<
"MDC Set: " << iset <<
" " << endl;
125 cout <<
"DIR: " << PP_DATA_PATH.Data() << endl;
135 cout << imdc_set_name[iset].Data() << endl;
137 sprintf(file,
"%s/fit_parameters_%s%s.txt",PP_DATA_PATH.Data(),imdc_set_name[iset].Data(),threshold.Data());
138 cout << file << endl;
141 if (!simin_hb.good()) {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << file << endl;
exit(1);}
143 TString hb_piumeno, hb_temp_wave;
144 float hb_chi2, hb_err, hb_par1, hb_par2, hb_par3;
156 simin_hb >> hb_count >> hb_chi2 >> hb_hrss50[maxcount] >> hb_piumeno
157 >> hb_err >> hb_par1 >> hb_par2 >> hb_par3 >> hb_temp_wave;
158 if (!simin_hb.good())
break;
159 hb_waveform[maxcount]=(
TString)hb_temp_wave;
171 sup = log10(pp_factor2distance/
factors[0]);
174 double par0=TMath::Log10(hb_hrss50[maxcount]);
175 gfit =
new TF1(
"logNfit",
logNfit,pow(10.0,inf),pow(10.0,sup),5);
176 gfit->SetNpx(100000);
177 gfit->SetParameters(par0,hb_par1,hb_par2,hb_par3,pp_factor2distance);
178 hb_hrss10[maxcount]=gfit->GetX(.1,pow(10.0,inf),pow(10.0,sup));
179 hb_hrss90[maxcount]=gfit->GetX(.9,pow(10.0,inf),pow(10.0,sup));
180 if(gfit->Eval(hb_hrss90[maxcount])<0.89) hb_hrss90[maxcount]=-1;
185 out <<
"<font color=\"red\" style=\"font-weight:bold;\">"" <center>\t<p><h2>Detection efficiency for injections "
186 << imdc_set_name[iset].Data() <<
"</h2>\t<p><center></font>" << endl;
187 out <<
"<table cellspacing=\"0\" cellpadding=\"6\" border=\"1\" align=\"center\">" << endl;
190 out <<
"<tr align=\"center\">"<<endl;
194 sprintf(file,
"%s/fit_parameters_%s.txt",PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
195 out <<
"<th colspan=\"4\"><a target=\"_parent\" href="<<file<<
">fit pararameter</a></th>"<<endl;
196 if(pp_fad_multi==
"FALSE") {
197 if(pp_factor2distance) {
198 out <<
"<th colspan=\""<<nIFO+4<<
"\">distance vs frequency</th>"<<endl;
200 out <<
"<th colspan=\""<<nIFO+4<<
"\">efficiency vs frequency</th>"<<endl;
203 out <<
"<th colspan=\""<<nIFO+4<<
"\">False Alarm Density vs rho</th>"<<endl;
208 out<<
"<tr align=\"center\">"<<endl;
210 "<td colspan=\"4\" align=\"center\"><a target=\"_parent\" href=\"%s/eff_%s%s.gif\"><img src=\"%s/eff_%s%s.gif\" height=300></a></td>",
211 PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),threshold.Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),threshold.Data());
212 out << outwrite << endl;
213 if(pp_fad_multi==
"FALSE") {
215 "<td colspan=\"%d\" align=\"center\"><a target=\"_parent\" href=\"%s/eff_freq_%s.gif\"><img src=\"%s/eff_freq_%s.gif\" height=300></a></td>",
216 nIFO+4,PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
219 "<td colspan=\"%d\" align=\"center\"><a target=\"_parent\" href=\"%s/../fad/fad_rho_%s.gif\"><img src=\"%s/../fad/fad_rho_%s.gif\" height=300></a></td>",
220 nIFO+4,PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
222 out << outwrite << endl;
226 out<<
"<tr align=\"center\">"<<endl;
227 out <<
"<td> waveform </td>"<<endl;
229 out <<
"<td> distance@10% </td>"<<endl;
230 out <<
"<td> distance@50% </td>"<<endl;
231 out <<
"<td> distance@90% </td>"<<endl;
233 out <<
"<td> snr@10% </td>"<<endl;
234 out <<
"<td> snr@50% </td>"<<endl;
235 out <<
"<td> snr@90% </td>"<<endl;
237 out <<
"<td> hrss@10% </td>"<<endl;
238 out <<
"<td> hrss@50% </td>"<<endl;
239 out <<
"<td> hrss@90% </td>"<<endl;
241 for (
int nn=0;nn<
nIFO;nn++) out <<
"<th>"<<IFO[nn]<<
"</th>"<<endl;
242 out<<
"<th>time (rms)</th>"<<endl;
243 out<<
"<th>freq (mean)</th>"<<endl;
244 out<<
"<th>eff</th>"<<endl;
248 out<<
"<tr align=\"center\">"<<endl;
250 sprintf(outwrite,
"<td>%s",hb_waveform[0].Data()); out << outwrite << endl;
251 for (
int i=1;
i<maxcount;
i++) {
252 sprintf(outwrite,
"<br>%s",hb_waveform[
i].Data()); out << outwrite << endl;
256 if(pp_show_eff_fit_curve) {
258 sprintf(outwrite,
"<td> %.2e",hb_hrss10[0]); out << outwrite << endl;
259 for (
int i=1;
i<maxcount;
i++) {
260 sprintf(outwrite,
"<br>%.2e",hb_hrss10[
i]); out << outwrite << endl;
264 sprintf(outwrite,
"<td> %.2e",hb_hrss50[0]); out << outwrite << endl;
265 for (
int i=1;
i<maxcount;
i++) {
266 sprintf(outwrite,
"<br>%.2e",hb_hrss50[
i]); out << outwrite << endl;
271 sprintf(outwrite,
"<td> %.2e",hb_hrss90[0]); out << outwrite << endl;
273 sprintf(outwrite,
"<td> NA"); out << outwrite << endl;
275 for (
int i=1;
i<maxcount;
i++) {
277 sprintf(outwrite,
"<br>%.2e",hb_hrss90[
i]); out << outwrite << endl;
279 sprintf(outwrite,
"<br>NA"); out << outwrite << endl;
286 for(
int k=0;
k<3;
k++) {
287 out <<
"<td> " << endl;
288 for (
int i=1;
i<maxcount;
i++) out <<
"<br>" << endl;
294 for (
int nn=0;nn<
nIFO;nn++) {
295 out <<
"<td>" << endl;
296 for (
int i=0;
i<maxcount;
i++) {
297 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/hrss_%s_%s.gif\">hrss</a> / ",
298 PP_DATA_DIR.Data(),IFO[nn],hb_waveform[
i].Data());
299 sprintf(outwrite,
"%s<a target=\"_parent\" href=\"%s/nre_%s_%s.gif\">nre</a><br>",
300 outwrite,PP_DATA_DIR.Data(),IFO[nn],hb_waveform[
i].Data());
301 out << outwrite << endl;
303 out <<
"</td>" << endl;
306 out <<
"<td align=\'right\'>" << endl;
307 for (
int i=0;
i<maxcount;
i++) {
308 int ik=0;
for(
int k=0;
k<ecnt;
k++)
if(EPAR_MDC_NAME[
k]==hb_waveform[
i]) ik=
k;
309 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/t_%s.gif\">%3.1f ms</a><br>",
310 PP_DATA_DIR.Data(),hb_waveform[
i].Data(),1000*T_RMS[ik]);
311 out << outwrite << endl;
313 out <<
"</td>" << endl;
315 out <<
"<td align=\'right\'>" << endl;
316 for (
int i=0; i<maxcount; i++) {
317 int ik=0;
for(
int k=0;
k<ecnt;
k++)
if(EPAR_MDC_NAME[
k]==hb_waveform[i]) ik=
k;
318 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/f_%s.gif\">%3.2f Hz</a><br>",
319 PP_DATA_DIR.Data(),hb_waveform[
i].Data(),F_MEAN[ik]);
320 out << outwrite << endl;
322 out <<
"</td>" << endl;
324 out <<
"<td>" << endl;
325 for (
int i=0; i<maxcount; i++) {
326 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/%s.gif\">plot</a> / ",
327 PP_DATA_DIR.Data(),hb_waveform[
i].Data());
328 out << outwrite << endl;
330 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/eff_%s.txt\">txt</a><br>",
331 PP_DATA_DIR.Data(),hb_waveform[
i].Data());
332 out << outwrite << endl;
334 out <<
"</td>" << endl;
336 out <<
"</tr>" << endl;
338 out <<
"</table>" << endl;
343 out <<
"<p>" << endl;
size_t imdc_type[NMDC_MAX]
char IFO[NIFO_MAX][NMDC_MAX]
double imdc_fcentral[NMDC_MAX]
size_t imdc_iset[NMDC_MAX]
char imdc_name[NMDC_MAX][128]
double imdc_fbandwidth[NMDC_MAX]
char imdc_set[NMDC_MAX][128]
size_t imdc_index[NMDC_MAX]
strcpy(RunLabel, RUN_LABEL)
detectorParams detParms[4]
sprintf(netdir,"%s/%s", pp_dir, pp_data_dir)