Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
create_htmlpage.C
Go to the documentation of this file.
1 
2 #define WIDTH 496
3 #define HEIGHT 440
4 #define DIM "width=\"496\" height=\"440\""
5 #define SHBOX "rel=\"shadowbox[gallery]"
6 
7 {
8 
10 
11  TB.checkFile(gSystem->Getenv("CWB_ROOTLOGON_FILE"));
12  TB.checkFile(gSystem->Getenv("CWB_PARAMETERS_FILE"));
13  TB.checkFile(gSystem->Getenv("CWB_UPARAMETERS_FILE"));
14  TB.checkFile(gSystem->Getenv("CWB_PPARAMETERS_FILE"));
15  TB.checkFile(gSystem->Getenv("CWB_UPPARAMETERS_FILE"));
16  TB.checkFile(gSystem->Getenv("CWB_EPPARAMETERS_FILE"));
17 
18  // get the number of jobs in the merged list
19  int iversion;
21  if(gSystem->Getenv("CWB_MERGE_LABEL")==NULL) {
22  cout << "Error : environment CWB_MERGE_LABEL is not defined!!!" << endl;exit(1);
23  } else {
24  cwb_merge_label=TString(gSystem->Getenv("CWB_MERGE_LABEL"));
25  }
26  TObjArray* token = TString(cwb_merge_label).Tokenize(TString("."));
27  cwb_merge_label=((TObjString*)token->At(0))->GetString();
28  // check if label has the correct format (M#)
29  if(cwb_merge_label[0]!='M') {
30  cout << "Error : label " << cwb_merge_label.Data() << " has bad format (M#)" << endl;exit(1);
31  } else {
32  TString lcheck=cwb_merge_label;
33  lcheck.Remove(0,1);
34  if(!lcheck.IsDigit()) {
35  cout << "Error : label " << cwb_merge_label.Data() << " has bad format (M#)" << endl;exit(1);
36  } else {
37  iversion=lcheck.Atoi();
38  }
39  }
40  vector<int> merge_jobList = TB.getMergeJobList(merge_dir,data_label,iversion);
41  cout << "Number of jobs in the merged lists : " << merge_jobList.size() << endl;
42 
43  if(nfactor<=0) nfactor=1; // fix nfactor if not initialized
44 
45  // get the number of job submit by condor
46  TString cwb_condor_tag="";
47  char full_condor_dir[512];
48  sprintf(full_condor_dir,"%s/%s",work_dir,condor_dir);
49  char condor_dag_file[256];
50  sprintf(condor_dag_file,"%s/%s%s.dag",full_condor_dir,data_label,cwb_condor_tag.Data());
51  Long_t id,size=0,flags,mt;
52  int estat = gSystem->GetPathInfo(condor_dag_file,&id,&size,&flags,&mt);
53  vector<int> condor_jobList;
54  if (estat==0) {
55  // condor_jobList=TB.getCondorJobList(full_condor_dir, data_label, cwb_condor_tag);
56  condor_jobList=TB.getCondorJobList(condor_dir, data_label);
57 
58  cout << "Number of jobs/factors in the condor lists : " << condor_jobList.size() << "/" << nfactor << endl;
59  }
60 
62  if(merge_jobList.size()<nfactor*condor_jobList.size()) {
63  sprintf(merge_job_list_str,"<font color=\"red\">%d</font>",merge_jobList.size());
64  } else {
65  sprintf(merge_job_list_str,"%d",nfactor*merge_jobList.size());
66  }
68  if(condor_jobList.size()>0) {
69  if(simulation) {
70  sprintf(condor_job_list_str,"(%d*%d) - <font color=\"blue\">%2.1f\%</font>",
71  nfactor,condor_jobList.size(),100.*merge_jobList.size()/(nfactor*condor_jobList.size()));
72  } else {
73  sprintf(condor_job_list_str,"%d - <font color=\"blue\">%2.1f\%</font>",
74  condor_jobList.size(),100.*merge_jobList.size()/condor_jobList.size());
75  }
76  }
77 
78  // save configuration files to report directory
80  if(gSystem->Getenv("HOME_WAT")==NULL) {
81  cout << "Error : environment HOME_WAT is not defined!!!" << endl;exit(1);
82  } else {
83  home_wat=TString(gSystem->Getenv("HOME_WAT"));
84  }
86  if(gSystem->Getenv("CWB_NETC_FILE")==NULL) {
87  cout << "Error : environment CWB_NETC_FILE is not defined!!!" << endl;exit(1);
88  } else {
89  cwb_netc_file=TString(gSystem->Getenv("CWB_NETC_FILE"));
90  }
92  if(gSystem->Getenv("CWB_PARAMETERS_FILE")==NULL) {
93  cout << "Error : environment CWB_PARAMETERS_FILE is not defined!!!" << endl;exit(1);
94  } else {
95  cwb_parameters_file=TString(gSystem->Getenv("CWB_PARAMETERS_FILE"));
96  }
98  if(gSystem->Getenv("CWB_UPARAMETERS_FILE")==NULL) {
99  cout << "Error : environment CWB_UPARAMETERS_FILE is not defined!!!" << endl;exit(1);
100  } else {
101  cwb_uparameters_file=TString(gSystem->Getenv("CWB_UPARAMETERS_FILE"));
102  }
104  if(gSystem->Getenv("CWB_PPARAMETERS_FILE")==NULL) {
105  cout << "Error : environment CWB_PPARAMETERS_FILE is not defined!!!" << endl;exit(1);
106  } else {
107  cwb_pparameters_file=TString(gSystem->Getenv("CWB_PPARAMETERS_FILE"));
108  }
110  if(gSystem->Getenv("CWB_UPPARAMETERS_FILE")==NULL) {
111  cout << "Error : environment CWB_UPPARAMETERS_FILE is not defined!!!" << endl;exit(1);
112  } else {
113  cwb_upparameters_file=TString(gSystem->Getenv("CWB_UPPARAMETERS_FILE"));
114  }
115 
116  // convert user macro into html and copy to report dir
117  THtml html;
118  html.SetEtcDir(gSystem->ExpandPathName("$HOME_WAT/html/etc/html"));
119  html.SetProductName("CWB");
120  html.SetInputDir("config:macro:condor:$CWB_TOOLBOX:$CWB_SKYPLOT:$CWB_HISTORY:$HOME_CWB:$CWB_STFT:$CWB_BICO:$HOME_WAT/wat:$ROOTSYS/include");
121  // html.SetInputDir("config:macro:condor");
122 
123  char cmd[256];
124  char odir[256];
125  sprintf(odir,"%s/html",pp_dir);
126  gSystem->Exec(TString("rm -rf ")+TString(odir));
127  gSystem->Exec(TString("mkdir -p ")+TString(odir));
128 
129  sprintf(cmd,"cp %s/html/etc/html/ROOT.css %s/",gSystem->ExpandPathName("$HOME_WAT"),pp_dir);
130  gSystem->Exec(cmd);
131  sprintf(cmd,"cp %s/html/etc/html/ROOT.js %s/",gSystem->ExpandPathName("$HOME_WAT"),pp_dir);
132  gSystem->Exec(cmd);
133 
134 
135  sprintf(cmd,"cp %s/tools/config.csh %s/config.csh",home_wat.Data(),odir);
136  gSystem->Exec(cmd);
137  //sprintf(cmd,"cp %s %s/%s/cwb_net.C",cwb_netc_file.Data(),pp_dir,pp_data_dir);
138  //gSystem->Exec(cmd);
139  //sprintf(odir,"%s/%s/cwb_net.C",pp_dir,pp_data_dir);
140  //html.Convert(cwb_netc_file.Data(),cwb_netc_file.Data(),odir);
141  //sprintf(cmd,"cp %s %s/%s/cwb_parameters.C",cwb_parameters_file.Data(),pp_dir,pp_data_dir);
142  //gSystem->Exec(cmd);
143  html.Convert(cwb_parameters_file.Data(),cwb_parameters_file.Data(),odir);
144  //sprintf(cmd,"mv %s/%s %s/cwb_parameters.C",odir,cwb_parameters_file.Data(),odir);
145  //gSystem->Exec(cmd);
146  //sprintf(cmd,"cp %s %s/%s/user_parameters.C",cwb_uparameters_file.Data(),pp_dir,pp_data_dir);
147  //gSystem->Exec(cmd);
148  html.Convert(cwb_uparameters_file.Data(),cwb_uparameters_file.Data(),odir);
149  //sprintf(cmd,"mv %s/%s %s/user_parameters.C",odir,cwb_uparameters_file.Data(),odir);
150  //gSystem->Exec(cmd);
151  //sprintf(cmd,"cp %s %s/%s/cwb_pparameters.C",cwb_pparameters_file.Data(),pp_dir,pp_data_dir);
152  //gSystem->Exec(cmd);
153  html.Convert(cwb_pparameters_file.Data(),cwb_pparameters_file.Data(),odir);
154  //sprintf(cmd,"mv %s/%s %s/cwb_pparameters.C",odir,cwb_pparameters_file.Data(),odir);
155  //gSystem->Exec(cmd);
156  //sprintf(cmd,"cp %s %s/%s/user_pparameters.C",cwb_upparameters_file.Data(),pp_dir,pp_data_dir);
157  //gSystem->Exec(cmd);
158  html.Convert(cwb_upparameters_file.Data(),cwb_upparameters_file.Data(),odir);
159  //sprintf(cmd,"mv %s/%s %s/user_pparameters.C",odir,cwb_upparameters_file.Data(),odir);
160  //gSystem->Exec(cmd);
161 
162  // create plugin html
163  gRandom->SetSeed(0);
164  int rnID = int(gRandom->Rndm(13)*1.e9);
165  UserGroup_t* uinfo = gSystem->GetUserInfo();
166  TString uname = uinfo->fUser;
167  char tdir[256];
168  sprintf(tdir,"/dev/shm/%s/%d",uname.Data(),rnID);
169  gSystem->Exec(TString("mkdir -p ")+TString(tdir));
170 
171  if(TString(plugin.GetName()).Sizeof()>1) {
172  char pluginName[256]="";
173  sprintf(pluginName,"%s/CWB_Plugin.C",tdir);
174  plugin.SaveSource(pluginName);
175  html.Convert(pluginName,"CWB_Plugin.C",odir);
176  gSystem->Exec(TString("rm -f ")+TString(pluginName));
177  }
178  if(TString(configPlugin.GetName()).Sizeof()>1) {
179  char configPluginName[256]="";
180  sprintf(configPluginName,"%s/CWB_configPlugin.C",tdir);
181  configPlugin.SaveSource(configPluginName);
182  html.Convert(configPluginName,"CWB_configPlugin.C",odir);
183  gSystem->Exec(TString("rm -f ")+TString(configPluginName));
184  }
185 
186 
187 
188  ofstream ofile;
189  char fileout[2048];
190  sprintf(fileout,"%s/index.html", pp_dir);
191  //cout << fileout << endl;
192  ofile.open(fileout,ios::out);
193  if (!ofile.good()) {cout << "Error Opening File : " << fileout << endl;exit(1);}
194 
195  sprintf(netdir,"%s/%s",pp_dir,pp_data_dir);
197  sprintf(netdir,"%s",pp_data_dir);
200  //char file[2048];
201 
202 /*
203 
204  TString ifo2[3]={"L1","H1","V1"};
205 
206  network* net2 = new network();
207 
208  for(int n=0;n<3;n++) net2->add(new detector(const_cast<char*>(ifo2[n].Data())));
209 
210 
211 
212  TString mdc_type=="signal";
213 */
214  network* net=NULL;
215 
216 
218  strcpy(cfg->tmp_dir,"tmp");
219  // load MDC setup (define MDC set)
220 
221  gROOT->Macro(configPlugin.GetTitle());
222  TString Insp = MDC.GetInspiral();
223  int GpsStartTime = 0;
224  int GpsEndTime = 0;
226 
227 
228  if(MDC.GetInspiralOption("--gps-start-time")!=""){GpsStartTime = (int)MDC.GetInspiralOption("--gps-start-time").Atoi();}
229  if(MDC.GetInspiralOption("--gps-end-time")!=""){GpsEndTime = (int)MDC.GetInspiralOption("--gps-end-time").Atoi();}
230  if(MDC.GetInspiralOption("--waveform")!=""){waveform = MDC.GetInspiralOption("--waveform");}
231 
232 
233  /*TObjArray* token = Insp.Tokenize(' ');
234  for (int i = 0; i<token->GetEntries()-2; i++){
235  TObjString* tok=(TObjString*)token->At(i);
236  TObjString* tok2=(TObjString*)token->At(i+1);
237  if(tok->GetString()->Contains("--gps-start-time")) {GpsStartTime = tok2->GetString()->Atoi();continue;}
238  if(tok->GetString()->Contains("--gps-end-time")) {GpsEndTime = tok2->GetString()->Atoi();continue;}
239  if(tok->GetString()->Contains("--waveform")) { waveform = tok2->GetString();continue;}
240 
241  }
242 */
243 
244 
246  sprintf(netdir,"%s/%s",pp_dir,pp_data_dir);
247  PP_DATA_PATH=netdir;
248  sprintf(netdir,"%s",pp_data_dir);
249  PP_DATA_DIR=netdir;
250 
251 
252  // convert eps plots to gif plots
253  vector<TString> epsList = TB.getFileListFromDir(PP_DATA_PATH, ".eps");
254  for(int i=0;i<epsList.size();i++) {
255  TString oFile=epsList[i];
256  oFile.ReplaceAll(".eps",".png");
257  char cmd[2048];
258  // sprintf(cmd,"convert %s -resize 996x774 %s",epsList[i].Data(),oFile.Data());
259  sprintf(cmd,"convert -density 664x516 %s -resize 664x516 %s",epsList[i].Data(),oFile.Data());
260 // sprintf(cmd,"convert %s %s",epsList[i].Data(),oFile.Data());
261  cout << cmd << endl;
262  gSystem->Exec(cmd);
263  cout<<"Removing eps files...."<<endl;
264  sprintf(cmd,"rm %s",epsList[i].Data());
265  cout << cmd << endl;
266  gSystem->Exec(cmd);
267  }
268 
269 
270 
271 //###################################################################################################
272 // Page caption
273 //###################################################################################################
274 
275 
276  cout << "Creating html page: " << fileout << endl;
277 
278 
279  ofile << "<html>" << endl;
280 
281 
282  ofile << "<link rel=\"stylesheet\" type=\"text/css\" href=\"/~waveburst/LSC/waveburst/shadowbox-3.0.3/shadowbox.css\">" << endl;
283  ofile << "<script type=\"text/javascript\" src=\"/~waveburst/LSC/waveburst/shadowbox-3.0.3/shadowbox.js\"></script>" << endl;
284  ofile << "<script type=\"text/javascript\">" << endl;
285  ofile << "Shadowbox.init();" << endl;
286  ofile << "</script>" << endl;
287 
288 
289  ofile << "<body>" << endl;
290 
291 
292  ofile << "<div id=\"container\" style=\"width:1560px\" \" height:100px\">" << endl;
293  ofile << "<div id=\"header\" style=\"background-color:#FFA500;\">" << endl;
294  ofile << "<h1 style=\"margin-bottom:9;\"><p style=\"text-align: center;\">SEARCH FOR INTERMEDIATE MASS BLACK HOLE BINARIES</p></h1></div>" << endl;
295  ofile << "</div>" << endl;
296 
297  ofile << " " << endl;
298 
299 
300  ofile << "<table width=\"2084px\">" << endl;
301  ofile << "<tr>" << endl;
302  ofile << "<td>" << endl;
303  ofile << "<div id=\"nmenu\">" << endl;
304  ofile << "<b>" << endl;
305  ofile << "<ul>" << endl;
306  ofile << "<td><a target=\"_parent\" id=\"logo\" href=\"http:\/\/www.virgo.lnl.infn.it/Wiki/index.php/Main_Page\"><img style=\"border: none;\" src=\"/~waveburst/LSC/waveburst/logo/cwb_logo_ext_3d\" width=\"300px\"></a></td>" << endl;
307  ofile << "</td>" << endl;
308  ofile << "<td align=\"left\">" << endl;
309  ofile << "<div id=\"nmenu\">" << endl;
310  ofile << "<b>" << endl;
311  ofile << "<ul>" << endl;
312  //ofile << "<li> <h3>Page edited by: " << AUTHOR << "</h3>" << endl;
313  char title[256];
314  if(strlen(ifo[0])>0) strcpy(title,ifo[0]); else strcpy(title,detParms[0].name);
315  for(int i=1;i<nIFO;i++) {
316  if(strlen(ifo[i])>0) sprintf(title,"%s-%s",title,ifo[i]); // built in detector
317  else sprintf(title,"%s-%s",title,detParms[i].name); // user define detector
318  }
319  //sprintf(title,"%s [%4.1f-%4.1f]",title,ifLow,ifHigh);
320  ofile << "<li> <h1><font color=\"red\">Network: " << title << "</font> </h3>" << endl;
321  ofile << "<li> <h3>Job Status : "<< merge_job_list_str <<"/"<<condor_job_list_str <<"</h3>" << endl;
322  ofile << "<li> <h3>Data set: " << RUN_LABEL << " [" << GpsStartTime << " - " << GpsEndTime << "] s </h3>" << endl;
323  ofile << "<li> <h3>Frequency band: [" << ifLow <<"-"<<ifHigh << "] Hz</h3>" << endl;
324  ofile << "<li> <h3>Injected waveforms: <font color=\"blue\">" << waveform.Data() << "</font> (LAL version: " << MDC.GetLALVersion() <<")</h3>" << endl;
325  ofile << "<li> <h3>Search " << search << " - bpp=" << bpp << " (cWB version: " << watversion('r') <<")</h3>" << endl;
326 // ofile << "<li> <h3>LAL version: " << MDC.GetLALVersion() <<"</h3>" << endl;
327 // ofile << "<li> <h3>Search " << search << " - bpp=" << bpp << "</h3>" << endl;
328  ofile << "<li> <h3><font color=\"red\">Thresholds: &#961 = " << T_cut << ", netcc = " << T_cor << ", neted/ecor = " << T_vED << " </font> (Dt_inj [" << 2*T_win << ",-" << T_win << "] s)</h3>" << endl;
329 // ofile << "<li> <h3>Frequency band: [" << ifLow <<"-"<<ifHigh << "] Hz</h3>" << endl;
330  ofile << "<li> <h3><a href=\"" << HTML_DATA_DIR <<"/user_parameters.C.html\">cWB user parameters</a></h3>" << endl;
331  ofile << "<li> <h3><a href=\"" << HTML_DATA_DIR <<"/CWB_configPlugin.C.html\">Plugin config (LALSimulation parameters)</a></h3>" << endl;
332  ofile << "<li> <h3><a href=\"" << PP_DATA_DIR <<"\">All figures</a> , <a href=\"" << HTML_DATA_DIR <<"\">All configuration files </a></h3>" << endl;
333 
334 /* ofile << "<li> <h3>Simulation files (M < 250): <a href=\"" << PATH_XML << "/" << FOLDER_XML_250 << "/" << INI_FILE_250 << "\">Ini File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_250 << "/" << LOG_FILE_250 << "\">Log File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_250 << "/" << XML_FILE_250 << "\">Xml File</a></h3>" << endl;
335  ofile << "<li> <h3>Simulation files (M > 250): <a href=\"" << PATH_XML << "/" << FOLDER_XML_450 << "/" << INI_FILE_450 << "\">Ini File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_450 << "/" << LOG_FILE_450 << "\">Log File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_450 << "/" << XML_FILE_450 << "\">Xml File</a></h3>" << endl;
336 */
337 /*
338  #ifdef LARGE_Q
339  ofile << "<li> <h3>Simulation files (Large q): <a href=\"" << PATH_XML << "/" << FOLDER_XML_Q << "/" << INI_FILE_Q << "\">Ini File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_Q << "/" << LOG_FILE_Q << "\">Log File</a>, " << "<a href=\"" << PATH_XML << "/" << FOLDER_XML_Q << "/" << XML_FILE_Q << "\">Xml File</a></h3>" << endl;
340  #endif
341 */
342  ofile << "</ul>" << endl;
343  ofile << "</b>" << endl;
344  ofile << "</div>" << endl;
345  ofile << "</td>" << endl;
346  ofile << "</tr>" << endl;
347  ofile << "</table>" << endl;
348 
349 
350  ofile << "<hr>" << endl;
351  ofile << "<hr>" << endl;
352 
353 //###################################################################################################
354 // Effective radius
355 //###################################################################################################
356 
357 
358  ofile << "<div style=\"color:#0000FF\">" << endl;
359  ofile << "<h2>MAIN PLOTS </h2>" << endl;
360 
361 
362 // #ifdef MIN_CHI
363 // ofile << "<a href=\"data/Effective_radius_chi_-0.800000_0.800000.png\"" << SHBOX << "\"><img src=\"data/Effective_radius_chi_-0.800000_0.800000.png\" " << DIM << " /></a>" << endl;
364 // ofile << "<a href=\"data/Effective_radius_chi.png\"" << SHBOX << "\"><img src=\"data/Effective_radius_chi.png\" " << DIM << " /></a>" << endl;
365 // #else
366 // sprintf(file,"%s/Effective_radius.png",PP_DATA_DIR.Data());
367  ofile << "<a href=\"data/Effective_radius.png\"" << SHBOX << "\"><img src=\"data/Effective_radius.png\" " << DIM << " /></a>" << endl;
368  #ifdef BKG_NTUPLE
369  ofile << "<a href=\"data/Productivity.png\"" << SHBOX << "\"><img src=\"data/Productivity.png\" " << DIM << " /></a>" << endl;
370  ofile << "<a href=\"data/FAD.png\"" << SHBOX << "\"><img src=\"data/FAD.png\" " << DIM << " /></a>" << endl;
371  ofile << "<a href=\"data/MU.png\"" << SHBOX << "\"><img src=\"data/MU.png\" " << DIM << " /></a>" << endl;
372  #endif
373 // #endif
374  ofile << "</div>" << endl;
375 
376 
377  ofile << "<hr>" << endl;
378  ofile << "<hr>" << endl;
379 
380 
381 //###################################################################################################
382 // Distance plots
383 //###################################################################################################
384 
385 
386  ofile << "<div style=\"color:#0000FF\">" << endl;
387  ofile << "<h2>DISTANCE PLOTS</h2>" << endl;
388  ofile << "<a href=\"data/Distance_vs_total_mass.png\"" << SHBOX << "\"><img src=\"data/Distance_vs_total_mass.png\" " << DIM << " /></a>" << endl;
389  ofile << "<a href=\"data/Distance_vs_chirp_mass.png\"" << SHBOX << "\"><img src=\"data/Distance_vs_chirp_mass.png\" " << DIM << " /></a>" << endl;
390  ofile << "<a href=\"data/Distance_vs_mass_ratio.png\"" << SHBOX << "\"><img src=\"data/Distance_vs_mass_ratio.png\" " << DIM << " /></a>" << endl;
391 
392  #ifdef MIN_CHI
393  ofile << "<a href=\"data/Distance_vs_spin.png\"" << SHBOX << "\"><img src=\"data/Distance_vs_spin.png\" " << DIM << " /></a>" << endl;
394  #endif
395  ofile << "</div>" << endl;
396 
397 
398  ofile << "<hr>" << endl;
399  ofile << "<hr>" << endl;
400 
401 
402 //###################################################################################################
403 // Parameters space
404 //###################################################################################################
405 
406 
407  ofile << "<div style=\"color:#0000FF\">" << endl;
408  ofile << "<h2>SAMPLED PARAMETERS SPACE</h2>" << endl;
409  ofile << "<a href=\"data/Injected_distances_distribution.png\"" << SHBOX << "\"><img src=\"data/Injected_distances_distribution.png\" " << DIM << " /></a>" << endl;
410  ofile << "<a href=\"data/Total_mass_distribution.png\"" << SHBOX << "\"><img src=\"data/Total_mass_distribution.png\" " << DIM << " /></a>" << endl;
411  ofile << "<a href=\"data/Chirp_mass_distribution.png\"" << SHBOX << "\"><img src=\"data/Chirp_mass_distribution.png\" " << DIM << " /></a>" << endl;
412  ofile << "<a href=\"data/Mass_ratio_distribution.png\"" << SHBOX << "\"><img src=\"data/Mass_ratio_distribution.png\" " << DIM << " /></a>" << endl;
413  #ifdef MIN_CHI
414  ofile << "<a href=\"data/Chi_distribution.png\"" << SHBOX << "\"><img src=\"data/Chi_distribution.png\" " << DIM << " /></a>" << endl;
415  #endif
416  ofile << "</div>" << endl;
417 
418 
419  ofile << "<hr>" << endl;
420  ofile << "<hr>" << endl;
421 
422 
423 //###################################################################################################
424 // Detection efficiency plot (mass 1 vs mass 2)
425 //###################################################################################################
426 
427 
428  ofile << "<div style=\"color:#0000FF\">" << endl;
429  ofile << "<h2>DETECTION EFFICIENCY (MASS 1 vs MASS 2)</h2>" << endl;
430 
431 
432  #ifdef MIN_CHI
433  ofile << "<a href=\"data/Efficiency_mass1_mass2_chi_-0.800000_0.800000.png\"" << SHBOX << "\"><img src=\"data/Efficiency_mass1_mass2_chi_-0.800000_0.800000.png\" " << DIM << " /></a>" << endl;
434  ofile << "<a href=\"data/Efficiency_chirp_mass_chi.png\"" << SHBOX << "\"><img src=\"data/Efficiency_chirp_mass_chi.png\" " << DIM << " /></a>" << endl;
435  #else
436  ofile << "<a href=\"data/Efficiency_mass1_mass2.png\"" << SHBOX << "\"><img src=\"data/Efficiency_mass1_mass2.png\" " << DIM << " /></a>" << endl;
437  #endif
438 
439 
440  ofile << "<hr>" << endl;
441  ofile << "<hr>" << endl;
442 
443 
444 //###################################################################################################
445 // End of html code
446 //###################################################################################################
447 
448 
449  ofile << "</body>" << endl;
450  ofile << "</html>" << endl;
451 
452  ofile.close();
453  exit(0);
454 
455 }
char fileout[2048]
TString home_wat
TString PP_DATA_PATH
#define SHBOX
static vector< TString > getFileListFromDir(TString dir_name, TString endString="", TString beginString="", TString containString="", bool fast=false)
Definition: Toolbox.cc:4333
TString cwb_upparameters_file
char cmd[256]
par[0] name
TString cwb_pparameters_file
char * watversion(char c='s')
Definition: watversion.hh:21
TString("c")
TString cwb_netc_file
vector< int > merge_jobList
char condor_job_list_str[64]
double T_cor
double bpp
Definition: test_config1.C:22
int GpsEndTime
Long_t flags
THtml html
CWB::mdc * MDC
Long_t size
i drho i
TString cwb_parameters_file
search
static bool checkFile(TString fName, bool question=false, TString message="")
Definition: Toolbox.cc:3956
static vector< int > getMergeJobList(TString merge_dir, TString label, int version)
Definition: Toolbox.cc:1678
CWB::config * cfg
CWB::Toolbox TB
Definition: ComputeSNR.C:5
char ifo[NIFO_MAX][8]
char condor_dag_file[256]
strcpy(cfg->tmp_dir,"tmp")
#define nIFO
ofstream out
Definition: cwb_merge.C:196
char data_label[512]
Definition: test_config1.C:160
TString PP_DATA_DIR
UserGroup_t * uinfo
TObjArray * token
char merge_job_list_str[64]
TString uname
int iversion
i() int(T_cor *100))
char netdir[1024]
char tmp_dir[1024]
Definition: config.hh:307
network * net
TString Insp
char merge_dir[512]
Definition: test_config1.C:147
ofstream ofile
TString GetString(TTree *tree, int run, int lag, TString psfix)
Definition: Toolfun.hh:261
char tdir[256]
TString cwb_uparameters_file
vector< TString > epsList
char title[256]
Definition: SSeriesExample.C:1
static vector< int > getCondorJobList(TString condor_dir, TString label)
Definition: Toolbox.cc:1378
double T_win
char pp_dir[512]
Definition: test_config1.C:155
int GpsStartTime
char pp_data_dir[1024]
int estat
nfactor[0]
Definition: cwb_eced.C:10
Long_t mt
TMacro plugin
double T_cut
double ifLow
vector< int > condor_jobList
Long_t id
char condor_dir[512]
Definition: test_config1.C:148
sprintf(odir,"%s/html", pp_dir)
char work_dir[512]
Definition: test_config1.C:143
TMacro configPlugin
TString cwb_merge_label
int rnID
double T_vED
simulation
Definition: cwb_eced.C:9
TString waveform
TString config
detectorParams detParms[4]
char odir[256]
TString HTML_DATA_DIR
char full_condor_dir[512]
double ifHigh
exit(0)
#define DIM