24 #include <lal/LALConfig.h> 25 #include <lal/LALVCSInfoHeader.h> 29 #include "cvode/cvode.h" 38 return par[0]*TMath::PoissonI(x[0],par[1]);
47 double y = (log10(x[0])-par[0]);
49 double s = y<0 ? par[1]*exp(y*par[2]) : par[1]*exp(y*par[3]);
52 if(par[3]>1./y) {s = par[1]*par[3]*exp(1.); y = 1.;}
53 y = s>0 ?
fabs(y/s) : 100.;
54 return 1-TMath::Erfc(y)/2;
58 y = s>0 ?
fabs(y/s) : 100.;
59 return TMath::Erfc(y)/2;
71 TTree*
tree = (TTree *) gROOT->FindObject(
"mdc");
74 else tree->StartViewer();
75 }
else {cout <<
"DrawMDC : mdc tree not found !!!" << endl;
return 0;}
76 return (Int_t)tree->GetSelectedRows();
86 TTree*
tree = (TTree *) gROOT->FindObject(
"waveburst");
89 else tree->StartViewer();
90 }
else {cout <<
"DrawWAVE : waveburst tree not found !!!" << endl;
return 0;}
91 return (Int_t)tree->GetSelectedRows();
101 TTree*
tree = (TTree *) gROOT->FindObject(
"liveTime");
104 else tree->StartViewer();
105 }
else {cout <<
"DrawLIVE : liveTime tree not found !!!" << endl;
return 0;}
106 return (Int_t)tree->GetSelectedRows();
116 TTree*
tree = (TTree *) gROOT->FindObject(
"mdc");
119 else tree->StartViewer();
120 }
else {cout <<
"ScanMDC : mdc tree not found !!!" << endl;
return 0;}
121 return (Int_t)tree->GetSelectedRows();
131 TTree*
tree = (TTree *) gROOT->FindObject(
"waveburst");
134 else tree->StartViewer();
135 }
else {cout <<
"ScanWAVE : waveburst tree not found !!!" << endl;
return 0;}
136 return (Int_t)tree->GetSelectedRows();
146 TTree*
tree = (TTree *) gROOT->FindObject(
"liveTime");
149 else tree->StartViewer();
150 }
else {cout <<
"ScanLIVE : liveTime tree not found !!!" << endl;
return 0;}
151 return (Int_t)tree->GetSelectedRows();
160 TTree*
tree = (TTree *) gROOT->FindObject(
"mdc");
161 if(tree) tree->Print();
162 else {cout <<
"PrintMDC : mdc tree not found !!!" << endl;
return 0;}
163 return (Int_t)tree->GetEntries();
172 TTree*
tree = (TTree *) gROOT->FindObject(
"waveburst");
173 if(tree) tree->Print();
174 else {cout <<
"PrintWAVE : waveburst tree not found !!!" << endl;
return 0;}
175 return (Int_t)tree->GetEntries();
184 TTree*
tree = (TTree *) gROOT->FindObject(
"liveTime");
185 if(tree) tree->Print();
186 else {cout <<
"PrintLIVE : liveTime tree not found !!!" << endl;
return 0;}
187 return (Int_t)tree->GetEntries();
196 return (TTree *) gROOT->FindObject(
"mdc");
205 return (TTree *) gROOT->FindObject(
"waveburst");
214 return (TTree *) gROOT->FindObject(
"liveTime");
227 sprintf(draw,
"start[0]-left[0]:stop[0]+right[0]");
228 tree->Draw(draw,cut,
"goff");
229 if (tree->GetSelectedRows()==0) {cout <<
"GetFileLabel : No events" << endl;
exit(1);}
230 double* segstart=tree->GetV1();
231 double* segstop=tree->GetV2();
234 int stop = TMath::Nint(segstop[0])-TMath::Nint(segstart[0])-2*
segEdge;
235 sprintf(label,
"%i_%i_%s_slag%i_lag%i_%i_job%i",
236 start,stop, psfix.Data(),slag,lag,1,
run);
247 gSystem->Exec(
"date");
249 FILE *
f = fopen(Form(
"/proc/%d/statm", gSystem->GetPid()),
"r");
252 sscanf(s.Data(),
"%ld %ld", &total, &rss);
253 cout <<
str.Data() <<
" virtual : " << total * 4 / 1024
254 <<
" (mb) rss : " << rss * 4 / 1024 <<
" (mb)" << endl;
267 sprintf(cut,
"run==%i && abs(rho[%d]-%f)<0.001 && abs(time[0]-%f)<0.0001 && abs(time[1]-%f)<0.0001",
268 run,irho,rho,time0,time1);
270 sprintf(draw,
"start[%i]",nifo);
271 tree->Draw(draw,cut,
"goff");
272 if (tree->GetSelectedRows()>1) {
273 cout <<
"GetStart : Too many events @ the same time : " << tree->GetSelectedRows() << endl;
277 if (tree->GetSelectedRows()==0) {cout <<
"GetStart : No events" << endl;
exit(1);}
278 double*
start=tree->GetV1();
291 sprintf(draw,
"start[0]-left[0]:stop[0]+right[0]");
292 tree->Draw(draw,cut,
"goff");
293 double* segstart=tree->GetV1();
294 double* segstop=tree->GetV2();
296 sprintf(s,
"%i_%i_%s_%i_id%i",TMath::Nint(segstart[0])+8,
297 TMath::Nint(segstop[0])-TMath::Nint(segstart[0])-16,psfix.Data(),lag,
run);
310 TGlobal*
global = gROOT->GetGlobal(
"analysis",
true);
313 memcpy((
void*)&analysis,(
void*)global->GetAddress(),
sizeof(analysis)*
sizeof(
char));
314 }
else {cout <<
"CheckAnalysis : analysis is not defined !!!" << endl;
exit(1);}
316 if(gSystem->Getenv(
"CWB_ANALYSIS")!=NULL) {
319 cout <<
"Error : analysis=" << analysis;
320 cout <<
" is inconsistent with the environment CWB_ANALYSIS=" 321 << gSystem->Getenv(
"CWB_ANALYSIS") << endl;
322 cout <<
" check analysis parameter in user_parameters.C" << endl;
323 cout <<
" check CWB_ANALYSIS env in watenv setup" << endl;
324 cout <<
" use 'cwb_setpipe [1G/1g/1,2G/2g/2]' command to switch analysis type [1G/2G]" << endl;
330 cout <<
"CWB_ANALYSIS env not defined in watenv setup" << endl;
332 cout <<
" - add in watenv setup the following statement" << endl;
334 cout <<
" setenv CWB_ANALYSIS '1G' # 1G analysis " << endl;
335 cout <<
" or" << endl;
336 cout <<
" setenv CWB_ANALYSIS '2G' # 2G analysis " << endl;
338 cout <<
" - use 'cwb_setpipe [1G/1g/1,2G/2g/2]' command to switch analysis type [1G/2G]" << endl;
356 char git_path[1024] =
"";
357 if(igit_path.BeginsWith(
"$")) {
358 igit_path.ReplaceAll(
"$",
"");
359 if(gSystem->Getenv(igit_path.Data())!=NULL) {
360 strcpy(git_path,gSystem->Getenv(igit_path.Data()));
363 strcpy(git_path,igit_path.Data());
366 if(option==
"path")
return git_path;
368 if(
TString(git_path)==
"")
return "";
372 int estat = gSystem->GetPathInfo(git_path,&
id,&size,&
flags,&mt);
373 if(estat!=0)
return "";
378 sprintf(cmd,
"git -C %s diff HEAD", git_path);
382 sprintf(cmd,
"git -C %s rev-parse HEAD", git_path);
385 if(option==
"branch") {
386 sprintf(cmd,
"git -C %s branch -l | grep '*'", git_path);
390 sprintf(cmd,
"git -C %s tag -l --points-at HEAD", git_path);
394 sprintf(cmd,
"git -C %s config --get remote.origin.url", git_path);
398 fpos_t poserr; fflush(stderr); fgetpos(stderr, &poserr);
399 int fderr = dup(fileno(stderr)); freopen(
"/dev/null",
"w", stderr);
401 fpos_t posout; fflush(stdout); fgetpos(stdout, &posout);
402 int fdout = dup(fileno(stdout)); freopen(
"/dev/null",
"w", stdout);
404 int the_err = gSystem->Exec(cmd);
407 fflush(stderr); dup2(fderr, fileno(stderr));
close(fderr);
408 clearerr(stderr); fsetpos(stderr, &poserr);
410 fflush(stdout); dup2(fdout, fileno(stdout));
close(fdout);
411 clearerr(stdout); fsetpos(stdout, &posout);
415 TString the_output = gSystem->GetFromPipe(cmd);
416 if(option==
"branch") {
417 the_output.ReplaceAll(
"*",
"");
418 the_output.ReplaceAll(
" ",
"");
419 if(the_output==
"(nobranch)") the_output=
"";
436 if(
TString(gSystem->GetBuildArch()).Contains(
"linux")) OS=
"Linux";
437 if(
TString(gSystem->GetBuildArch()).Contains(
"macos")) OS=
"Darwin";
441 const char *root_version = gROOT->GetVersion();
443 cout <<
" ****************************************************************************" << endl;
444 cout <<
" * *" << endl;
445 cout <<
" * W E L C O M E to C W B *" << endl;
446 cout <<
" * *" << endl;
449 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
459 if(wat_diff!=
"") wat_branch=wat_branch+
"/M";
460 sprintf(line,
" * Branch %s",wat_branch.Data());
461 }
else if(wat_tag!=
"") {
462 if(wat_diff!=
"") wat_branch=wat_branch+
"/M";
463 sprintf(line,
" * Tag %s",wat_tag.Data());
465 sprintf(line,
" * %s",
"Undefined");
467 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
472 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
474 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
475 cout <<
" * *" << endl;
479 sprintf(line,
" * LAL Branch %s",LALVersion.Data());
480 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
485 sprintf(line,
" * FRLIB Version %2.2f",FRAMELIB_VERSION);
486 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
491 #ifdef SUNDIALS_PACKAGE_VERSION // SUNDIALS_PACKAGE_VERSION = 2.7.0 492 sprintf(line,
" * CVODE Version %s",SUNDIALS_PACKAGE_VERSION);
493 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
495 #ifdef SUNDIALS_VERSION // SUNDIALS_VERSION >= 3.2.1 496 sprintf(line,
" * CVODE Version %s",SUNDIALS_VERSION);
497 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
500 cout <<
" * *" << endl;
503 sprintf(line,
" * Based on ROOT %s",root_version);
504 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
506 cout <<
" * *" << endl;
510 if(!
WAT::USE_LAL()) cout <<
" * LAL DISABLED *" << endl;
514 if(gSystem->Getenv(
"_USE_PEGASUS")!=NULL)
515 cout <<
" * PEGASUS ENABLED *" << endl;
516 if(gSystem->Getenv(
"_USE_LSF")!=NULL)
517 cout <<
" * LSF ENABLED *" << endl;
518 if(gSystem->Getenv(
"_USE_OSG")!=NULL)
519 cout <<
" * OSG ENABLED *" << endl;
520 #if (WAT_VERSION_DEVEL != 0) 521 cout <<
" * *" << endl;
523 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
525 cout <<
" * *" << endl;
531 bool cfg_status =
true;
533 if(cfg_diff!=
"") cfg_branch=cfg_branch+
"/M";
534 sprintf(line,
" * CONFIG Branch %s",cfg_branch.Data());
535 }
else if(cfg_tag!=
"") {
536 if(cfg_diff!=
"") cfg_branch=cfg_branch+
"/M";
537 sprintf(line,
" * CONFIG Tag %s",cfg_tag.Data());
539 sprintf(line,
" * CONFIG %s",
"Undefined");
542 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
547 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
551 TString cwb_data_path = gSystem->ExpandPathName(cwb_config_path+
"/DATA");
555 bool data_status =
true;
557 char data_name[1024];
559 if ((len = readlink(cwb_data_path.Data(), data_name,
sizeof(data_name)-1)) != -1) data_name[len] =
'\0';
561 if(data_branch!=
"") {
562 if(data_diff!=
"") data_branch=data_branch+
"/M";
563 if(data_branch==cfg_branch) {
564 sprintf(line,
" * DATA Branch %s",data_name);
566 sprintf(line,
" * DATA Branch %s",data_branch.Data());
568 }
else if(data_tag!=
"") {
569 if(data_diff!=
"") data_branch=data_branch+
"/M";
570 if(data_tag==cfg_tag) {
571 sprintf(line,
" * DATA Tag %s",data_name);
573 sprintf(line,
" * DATA Tag %s",data_tag.Data());
576 sprintf(line,
" * DATA %s",
"UNDEFINED");
579 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
584 sline=
line;sline.Resize(80);sline+=
"*";cout<<sline<<endl;
587 cout <<
" * *" << endl;
588 cout <<
" ****************************************************************************" << endl;
591 cout <<
" Compiled on " <<
watversion(
'k') <<
" " 601 {
return rf.Draw(par.c_str(),cut.c_str(),opt.c_str()); }
605 {
return rf.Draw(par.c_str(),cut.c_str(),opt.c_str()); }
608 inline TCanvas*
DRAW(TChain& rf,
string par,
string cut,
string opt,
int iX=600,
int iY=600){
609 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
610 c1->SetBorderMode(0);
612 c1->SetBorderSize(2);
615 c1->SetRightMargin(0.1517039);
616 c1->SetTopMargin(0.0772727);
617 c1->SetBottomMargin(0.103939);
618 rf.Draw(par.c_str(),cut.c_str(),opt.c_str());
623 inline TCanvas*
Draw(TH1F*
h,
int iX=600,
int iY=600){
625 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
626 c1->SetBorderMode(0);
628 c1->SetBorderSize(2);
631 c1->SetRightMargin(0.1517039);
632 c1->SetTopMargin(0.0772727);
633 c1->SetBottomMargin(0.103939);
640 inline TCanvas*
Draw(TH2F*
h,
char*
opt,
int iX=600,
int iY=600){
642 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
643 c1->SetBorderMode(0);
645 c1->SetBorderSize(2);
649 c1->SetRightMargin(0.1517039);
650 c1->SetTopMargin(0.0772727);
651 c1->SetBottomMargin(0.103939);
658 inline TCanvas*
Draw(TH1F**
h,
int n=1,
int m=0,
int iX=600,
int iY=600){
660 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
661 c1->SetBorderMode(0);
663 c1->SetBorderSize(2);
667 c1->SetRightMargin(0.1517039);
668 c1->SetTopMargin(0.0772727);
669 c1->SetBottomMargin(0.103939);
674 for(i=1; i<
n; i++) (*(h+i))->Draw(
"same");
678 for(
int i=0; i<
n*
m; i++) { c1->cd(i+1); (*(h+
i))->Draw(); }
684 inline TCanvas*
Draw(TH2F**
h,
char*
opt,
int n=1,
int m=0,
int iX=600,
int iY=600){
686 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
687 c1->SetBorderMode(0);
689 c1->SetBorderSize(2);
693 c1->SetRightMargin(0.1517039);
694 c1->SetTopMargin(0.0772727);
695 c1->SetBottomMargin(0.103939);
699 for(
int i=1;
i<
n;
i++) (*(h+
i))->Draw(
"same");
703 for(
int i=0;
i<
n*
m;
i++) { c1->cd(
i+1); (*(h+
i))->Draw(opt); }
709 inline TCanvas*
Draw(TGraphErrors**
h,
char*
opt,
int n=1,
int m=0,
int iX=600,
int iY=600){
711 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
712 c1->SetBorderMode(0);
714 c1->SetBorderSize(2);
718 c1->SetRightMargin(0.1517039);
719 c1->SetTopMargin(0.0772727);
720 c1->SetBottomMargin(0.103939);
724 for(
int i=1;
i<
n;
i++) (*(h+
i))->Draw(
"P");
728 for(
int i=0;
i<
n*
m;
i++) { c1->cd(
i+1); (*(h+
i))->Draw(opt); }
734 inline TCanvas*
Draw(TGraph**
h,
char*
opt,
int n=1,
int m=0,
int iX=600,
int iY=600){
736 TCanvas *
c1 =
new TCanvas(
"c",
"C",0,0,iX,iY);
737 c1->SetBorderMode(0);
739 c1->SetBorderSize(2);
743 c1->SetRightMargin(0.1517039);
744 c1->SetTopMargin(0.0772727);
745 c1->SetBottomMargin(0.103939);
749 for(
int i=1;
i<
n;
i++) (*(h+
i))->Draw(
"P");
753 for(
int i=0;
i<
n*
m;
i++) { c1->cd(
i+1); (*(h+
i))->Draw(opt); }
779 ifstream inliv(fliveName);
780 if (!inliv.good()) {cout <<
"GetLiveTime : Error Opening File : " << fliveName << endl;
exit(1);}
785 inliv.getline(line,256);
786 if (!inliv.good())
break;
790 if(Oliv.Contains(
"nonzero"))
continue;
792 if(!
TString(line).Contains(
"slag=")) {cout<<
"GetLiveTime : Bad line format : "<<line<<endl<<endl;
exit(1);}
793 if(!
TString(line).Contains(
"lag=")) {cout<<
"GetLiveTime : Bad line format : "<<line<<endl<<endl;
exit(1);}
794 if(!
TString(line).Contains(
"live=")) {cout<<
"GetLiveTime : Bad line format : "<<line<<endl<<endl;
exit(1);}
796 TObjString* tok=(TObjString*)token->At(token->GetEntries()-1);
799 TObjString* tokslag=(TObjString*)token->At(0);
802 TObjString* toklag=(TObjString*)token->At(1);
805 if((lag==LAG||LAG<0) && (slag==SLAG||SLAG<0)) {
806 livetime+=
TString(tok->GetString()).Atof();
817 char name[][128],
double fcentral[],
double fbandwidth[]) {
832 cout <<
"inj file: " << ifName << endl;
833 in.open(ifName.Data(),
ios::in);
834 if (!in.good()) {cout <<
"ReadMdcType : Error Opening File : " << ifName << endl;
exit(1);}
841 in.getline(str,1024);
842 if (!in.good() && strlen(str)!=0) {
844 cout <<
"ReadMdcType : Error Reading File : " << ifName << endl;
845 cout <<
"at line : \"" << str <<
"\"" << endl;
846 cout <<
"check if new line is defined at the end of the string" << endl;
849 if (!in.good())
break;
850 if((str[0] ==
'#')||(str[0] ==
' ')||(str[0] == 0))
continue;
851 in.seekg(fpos, ios::beg);
854 >> fcentral[
ninj] >> fbandwidth[
ninj];
857 in.seekg(fpos+1, ios::beg);
859 if (!in.good())
break;
860 cout <<
" " <<
set[
ninj] <<
" " << type[
ninj] <<
" " << name[
ninj]
861 <<
" " << fcentral[
ninj] <<
" " << fbandwidth[
ninj] << endl;
863 if(ninj>=ntype_max) {
864 cout <<
"ReadMdcType : Error - max allowed injection types must be < " 865 << ntype_max << endl;
892 psize = png2==
"" ? 960 : 480;
895 *out <<
"<br></td></tr></table>" << endl;
897 *out <<
"<div align=\"center\"><font color=\"red\"><h2>"<<title<<
"</h2></font></div>" << endl;
899 *out <<
"<p><table summary=\"\"><tr align=\"left\"><td valign=\"top\" width=\"50%\"> \ 900 <div align=\"center\"><ul><br/>" << endl;
901 *out <<
"<a class=\"image\" title=\""<<png1<<
"\">" << endl;
902 *out <<
"<img src=\""<<png1<<
"\" onerror=\"this.style.visibility = 'hidden'\" width=\""<<psize<<
"\"> </a>" << endl;
903 *out <<
"</br></ul><br><br>" << endl;
906 *out <<
"</div>" << endl;
907 *out <<
"<p></td><td valign=\"top\" width=\"50%\"><div align=\"center\"><ul><br/>" << endl;
908 *out <<
"<a class=\"image\" title=\""<<png2<<
"\">" << endl;
909 *out <<
"<img src=\""<<png2<<
"\" onerror=\"this.style.visibility = 'hidden'\" width=\""<<psize<<
"\"> </a>" << endl;
910 *out <<
"</br></ul><br><br>" << endl;
912 *out <<
"</div>" << endl;
931 *out <<
"<font color=\"red\" style=\"font-weight:bold;\"><center><p><h3>"<< title <<
"</h3><p><center></font>" << endl;
932 *out <<
"<p>" << endl;
934 *out <<
"<table cellspacing=\"0\" cellpadding=\"6\" border=\"0\" align=\"center\" width=\"1100\">" << endl;
935 *out <<
"<tr>" << endl;
936 *out <<
"<th>" << subtitle1 <<
"</th>" << endl;
937 *out <<
"<th>" << subtitle2 <<
"</th>" << endl;
938 *out <<
"</tr>" << endl;
939 *out <<
"<tr>" << endl;
940 *out <<
"<td align=\"center\"><a target=\"_parent\" href=\""<< png1 <<
"\"><img src=\""<< png1 <<
"\" height=" << h <<
"></a></td>";
942 *out <<
"<td align=\"center\"><a target=\"_parent\" href=\""<< png2 <<
"\"><img src=\""<< png2 <<
"\" height=" << h <<
"></a></td>";
943 *out <<
"</tr>" << endl;
944 *out <<
"</table>" << endl;
945 *out <<
"<br><br>" << endl;
948 inline double GetPrecision(
int cluster_size_threshold=0,
int healpix_order=0) {
956 if(cluster_size_threshold>=65536) {
957 cout <<
"GetPrecision Error : cluster_size_threshold must be < 65536" << endl;
960 if(healpix_order<0) {
961 cout <<
"GetPrecision Error : healpix_order must be >= 0" << endl;
964 double precision = cluster_size_threshold+65536*healpix_order;
975 for(
int j=0;
j<Xfar->
size();
j++) {
977 if(rho > Xfar->
data[
j]) {Yfar->
data[
j] += 1.;}
991 if(option==
"lalVersion")
return LAL_VERSION;
992 if(option==
"lalVersionMajor") {
char s[32];
sprintf(s,
"%d",LAL_VERSION_MAJOR);
return s;}
993 if(option==
"lalVersionMinor") {
char s[32];
sprintf(s,
"%d",LAL_VERSION_MINOR);
return s;}
994 if(option==
"lalVersionMicro") {
char s[32];
sprintf(s,
"%d",LAL_VERSION_MICRO);
return s;}
995 if(option==
"lalVersionDevel") {
char s[32];
sprintf(s,
"%d",LAL_VERSION_DEVEL);
return s;}
998 date.Remove(date.Index(
' '),date.Sizeof());
wavearray< double > Yfar(far_rho_bin)
char * watversion(char c='s')
wavearray< double > Xfar(far_rho_bin)
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
#define WAT_VERSION_DEVEL
cout<< "SNR "<< xsnr<< endl;wavearray< double > f
virtual size_t size() const
TString sel("slag[1]:slag[2]")
condor_log_dir ReplaceAll("X_HOME", uhome.Data())
double fabs(const Complex &x)
strcpy(RunLabel, RUN_LABEL)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)