44 if(pp_fad_multi==
"") pp_fad_multi=
"false";
45 pp_fad_multi.ToUpper();
58 imdc_name,imdc_fcentral,imdc_fbandwidth);
59 if(ninj==0) {cout <<
"cwb_mkhtml_sim.C : Error - no injection - terminated" << endl;
exit(1);}
65 for(
int j=0;
j<
nset;
j++)
if(imdc_set[
i]==imdc_set_name[
j]) bnew=
false;
66 if(bnew) imdc_set_name[nset++]=imdc_set[
i];
68 cout <<
"nset : " << nset << endl;
87 cout << fileout << endl;
89 if (!out.good()) {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << fileout << endl;
exit(1);}
93 if(gSystem->Getenv(
"CWB_DOC_URL")!=NULL) {
94 cwb_doc_url=
TString(gSystem->Getenv(
"CWB_DOC_URL"));
97 out <<
"<hr>" << endl;
99 sprintf(plot_list,
"<a target=\"_parent\" name=\"Full Plot List\" href=\"%s\"><h3>Full Plot List</h3></a>",
pp_data_dir);
100 if(cwb_doc_url!=
"") out<<
"<table width=100%> <tr> <td align=\"left\">"<<endl;
101 out << plot_list << endl;
102 if(cwb_doc_url!=
"") {
104 out<<
"<td align=\"right\">"<<endl;
105 out<<
"<a target=\"_parent\" href=\""<<cwb_doc_url.Data()
106 <<
"/cwb/man/Simulation-part.html#Simulation-part\">infos</a>"<<endl;
107 out<<
"</td> </tr> </table>"<<endl;
111 char evt_par_fname[2048];
113 sprintf(evt_par_fname,
"%s/evt_parameters_ALL.txt",PP_DATA_PATH.Data());
114 in_evt_par.open(evt_par_fname,
ios::in);
115 if(!in_evt_par.good())
116 {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << evt_par_fname << endl;
exit(1);}
119 float f_mean,f_rms,t_mean,t_rms;
124 in_evt_par >> epar_id >> epar_mdc_name >> f_mean >> f_rms >> t_mean >> t_rms;
125 if (!in_evt_par.good())
break;
126 EPAR_MDC_NAME[ecnt]=epar_mdc_name;
129 cout <<
"EVT_PAR : " << EPAR_MDC_NAME[ecnt] <<
" " << F_MEAN[ecnt] <<
" " << T_RMS[ecnt] << endl;
136 for (
int iset=0;iset<
nset;iset++) {
138 cout <<
"MDC Set: " << iset <<
" " << endl;
143 cout <<
"DIR: " << PP_DATA_PATH.Data() << endl;
153 cout << imdc_set_name[iset].Data() << endl;
155 sprintf(file,
"%s/fit_parameters_%s%s.txt",PP_DATA_PATH.Data(),imdc_set_name[iset].Data(),threshold.Data());
156 cout << file << endl;
159 if (!simin_hb.good()) {cout <<
"cwb_mkhtml_sim.C : Error Opening File : " << file << endl;
exit(1);}
161 TString hb_piumeno, hb_temp_wave;
162 float hb_chi2, hb_err, hb_par1, hb_par2, hb_par3;
174 simin_hb >> hb_count >> hb_chi2 >> hb_hrss50[maxcount] >> hb_piumeno
175 >> hb_err >> hb_par1 >> hb_par2 >> hb_par3 >> hb_temp_wave;
176 if (!simin_hb.good())
break;
177 hb_waveform[maxcount]=(
TString)hb_temp_wave;
189 sup = log10(pp_factor2distance/
factors[0]);
192 double par0=TMath::Log10(hb_hrss50[maxcount]);
193 gfit =
new TF1(
"logNfit",
logNfit,pow(10.0,inf),pow(10.0,sup),5);
194 gfit->SetNpx(100000);
195 gfit->SetParameters(par0,hb_par1,hb_par2,hb_par3,pp_factor2distance);
196 hb_hrss10[maxcount]=gfit->GetX(.1,pow(10.0,inf),pow(10.0,sup));
197 hb_hrss90[maxcount]=gfit->GetX(.9,pow(10.0,inf),pow(10.0,sup));
198 if(gfit->Eval(hb_hrss90[maxcount])<0.89) hb_hrss90[maxcount]=-1;
203 out <<
"<font color=\"red\" style=\"font-weight:bold;\">"" <center>\t<p><h2>Detection efficiency for injections " 204 << imdc_set_name[iset].Data() <<
"</h2>\t<p><center></font>" << endl;
205 out <<
"<table cellspacing=\"0\" cellpadding=\"6\" border=\"1\" align=\"center\">" << endl;
208 out <<
"<tr align=\"center\">"<<endl;
212 sprintf(file,
"%s/fit_parameters_%s.txt",PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
213 out <<
"<th colspan=\"4\"><a target=\"_parent\" href="<<file<<
">fit pararameter</a></th>"<<endl;
214 if(pp_fad_multi==
"FALSE") {
215 if(pp_factor2distance) {
216 out <<
"<th colspan=\""<<nIFO+4<<
"\">distance vs frequency</th>"<<endl;
218 out <<
"<th colspan=\""<<nIFO+4<<
"\">efficiency vs frequency</th>"<<endl;
221 out <<
"<th colspan=\""<<nIFO+4<<
"\">False Alarm Density vs rho</th>"<<endl;
226 out<<
"<tr align=\"center\">"<<endl;
228 "<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>",
229 PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),threshold.Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),threshold.Data());
230 out << outwrite << endl;
231 if(pp_fad_multi==
"FALSE") {
233 "<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>",
234 nIFO+4,PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
237 "<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>",
238 nIFO+4,PP_DATA_DIR.Data(),imdc_set_name[iset].Data(),PP_DATA_DIR.Data(),imdc_set_name[iset].Data());
240 out << outwrite << endl;
244 out<<
"<tr align=\"center\">"<<endl;
245 out <<
"<td> waveform </td>"<<endl;
247 out <<
"<td> distance@10% </td>"<<endl;
248 out <<
"<td> distance@50% </td>"<<endl;
249 out <<
"<td> distance@90% </td>"<<endl;
251 out <<
"<td> snr@10% </td>"<<endl;
252 out <<
"<td> snr@50% </td>"<<endl;
253 out <<
"<td> snr@90% </td>"<<endl;
255 out <<
"<td> hrss@10% </td>"<<endl;
256 out <<
"<td> hrss@50% </td>"<<endl;
257 out <<
"<td> hrss@90% </td>"<<endl;
259 for (
int nn=0;nn<
nIFO;nn++) out <<
"<th>"<<IFO[nn]<<
"</th>"<<endl;
260 out<<
"<th>time (rms)</th>"<<endl;
261 out<<
"<th>freq (mean)</th>"<<endl;
262 out<<
"<th>eff</th>"<<endl;
266 out<<
"<tr align=\"center\">"<<endl;
268 sprintf(outwrite,
"<td>%s",hb_waveform[0].Data()); out << outwrite << endl;
269 for (
int i=1;
i<maxcount;
i++) {
270 sprintf(outwrite,
"<br>%s",hb_waveform[
i].Data()); out << outwrite << endl;
274 if(pp_show_eff_fit_curve) {
276 sprintf(outwrite,
"<td> %.2e",hb_hrss10[0]); out << outwrite << endl;
277 for (
int i=1;
i<maxcount;
i++) {
278 sprintf(outwrite,
"<br>%.2e",hb_hrss10[
i]); out << outwrite << endl;
282 sprintf(outwrite,
"<td> %.2e",hb_hrss50[0]); out << outwrite << endl;
283 for (
int i=1;
i<maxcount;
i++) {
284 sprintf(outwrite,
"<br>%.2e",hb_hrss50[
i]); out << outwrite << endl;
289 sprintf(outwrite,
"<td> %.2e",hb_hrss90[0]); out << outwrite << endl;
291 sprintf(outwrite,
"<td> NA"); out << outwrite << endl;
293 for (
int i=1;
i<maxcount;
i++) {
295 sprintf(outwrite,
"<br>%.2e",hb_hrss90[
i]); out << outwrite << endl;
297 sprintf(outwrite,
"<br>NA"); out << outwrite << endl;
304 for(
int k=0;
k<3;
k++) {
305 out <<
"<td> " << endl;
306 for (
int i=1;
i<maxcount;
i++) out <<
"<br>" << endl;
312 for (
int nn=0;nn<
nIFO;nn++) {
313 out <<
"<td>" << endl;
314 for (
int i=0;
i<maxcount;
i++) {
315 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/hrss_%s_%s.gif\">hrss</a> / ",
316 PP_DATA_DIR.Data(),IFO[nn],hb_waveform[
i].Data());
317 sprintf(outwrite,
"%s<a target=\"_parent\" href=\"%s/nre_%s_%s.gif\">nre</a><br>",
318 outwrite,PP_DATA_DIR.Data(),IFO[nn],hb_waveform[
i].Data());
319 out << outwrite << endl;
321 out <<
"</td>" << endl;
324 out <<
"<td align=\'right\'>" << endl;
325 for (
int i=0;
i<maxcount;
i++) {
326 int ik=0;
for(
int k=0;
k<ecnt;
k++)
if(EPAR_MDC_NAME[
k]==hb_waveform[
i]) ik=
k;
327 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/t_%s.gif\">%3.1f ms</a><br>",
328 PP_DATA_DIR.Data(),hb_waveform[
i].Data(),1000*T_RMS[ik]);
329 out << outwrite << endl;
331 out <<
"</td>" << endl;
333 out <<
"<td align=\'right\'>" << endl;
334 for (
int i=0; i<maxcount; i++) {
335 int ik=0;
for(
int k=0;
k<ecnt;
k++)
if(EPAR_MDC_NAME[
k]==hb_waveform[i]) ik=
k;
336 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/f_%s.gif\">%3.2f Hz</a><br>",
337 PP_DATA_DIR.Data(),hb_waveform[
i].Data(),F_MEAN[ik]);
338 out << outwrite << endl;
340 out <<
"</td>" << endl;
342 out <<
"<td>" << endl;
343 for (
int i=0; i<maxcount; i++) {
344 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/%s.gif\">plot</a> / ",
345 PP_DATA_DIR.Data(),hb_waveform[
i].Data());
346 out << outwrite << endl;
348 sprintf(outwrite,
"<a target=\"_parent\" href=\"%s/eff_%s.txt\">txt</a><br>",
349 PP_DATA_DIR.Data(),hb_waveform[
i].Data());
350 out << outwrite << endl;
352 out <<
"</td>" << endl;
354 out <<
"</tr>" << endl;
356 out <<
"</table>" << endl;
361 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)