36 #include "TObjArray.h" 37 #include "TObjString.h" 38 #include "TSystemDirectory.h" 40 #include "TApplication.h" 47 #include "TGraphSmooth.h" 70 #define LST_TREE_NAME "frl" 136 static vector<waveSegment>
138 static vector<waveSegment>
139 unionSegments(vector<waveSegment>& ilist);
140 static vector<waveSegment>
141 sortSegments(vector<waveSegment>& ilist);
142 static vector<waveSegment>
143 invertSegments(vector<waveSegment>& ilist);
144 static vector<waveSegment>
145 mergeSegLists(vector<waveSegment>& ilist1, vector<waveSegment>& ilist2);
147 getMaxSeg(vector<waveSegment>
list);
149 getTimeSegList(vector<waveSegment> list);
152 static vector<waveSegment>
153 getSlagJobList(vector<waveSegment> ilist,
int seglen=600);
159 static vector<waveSegment>
161 static vector<waveSegment>
170 static vector<waveSegment>
171 getJobList(vector<waveSegment> ilist,
double segLen=600.,
173 static vector<waveSegment>
177 dumpJobList(vector<waveSegment> ilist,
TString fName,
double segLen=600.,
179 static vector<waveSegment>
181 vector<waveSegment> dqList);
183 getLiveTime(vector<waveSegment>&
jobList, vector<waveSegment>& dqList);
185 getLiveTime(vector<waveSegment>& jobList, vector<waveSegment>& dqList,
186 vector<double> shiftList);
199 getSlag(vector<slag> slagList,
int jobid);
201 getSlagList(vector<slag> slagList, vector<TString> ifos,
double segLen,
202 double segMin,
double segEdge,
int nDQF,
dqfile* iDQF,
CWB_CAT dqcat);
204 getSlagList(vector<slag>& slagList,
int slagSize,
205 int slagRank,
int nifo, vector<int>&
id);
206 static vector<waveSegment>
207 getSegList(
slag SLAG, vector<waveSegment> jobList,
double segLen,
208 double segMLS,
double segEdge, vector<waveSegment> dqList);
215 getMDCShift(
mdcshift mshift,
double time);
217 shiftBurstMDCLog(std::vector<std::string>& mdcList,
222 SetMDCLog(
TString log,
int pos,
double val);
224 GetMDCLog(
TString log,
int pos);
255 getJobBenchmark(
TString ifName,
int stageID,
int resID,
int factorID,
TString bench);
264 static vector<TString>
266 TString label,
bool brms=
false,
bool bvar=
false,
bool bpsm=
false);
269 TString label,
bool brms=
false,
bool bvar=
false,
bool bpsm=
false);
270 static vector<TString>
271 mergeCWBTrees(
int nthreads,
TString dir_name,
bool simulation,
TString odir,
272 TString label,
bool brms=
false,
bool bvar=
false,
bool bpsm=
false);
274 mergeCWBTrees(
int nthreads, vector<TString> fileList,
bool simulation,
TString odir,
275 TString label,
bool brms=
false,
bool bvar=
false,
bool bpsm=
false);
278 static vector<TString>
281 dumpFileList(vector<TString> fileList,
TString ofName);
285 getMergeJobList(
TString ifname, vector<TString>& jobFileList);
287 getMergeJobList(
TString ifname);
304 double scratchlen=0,
bool oneside=
true);
307 double scratchlen=0,
bool oneside=
true);
322 static vector<TString>
324 TString beginString=
"",
TString containString=
"",
bool fast=
false);
325 static std::map<int,TString>
327 TString beginString=
"",
TString containString=
"",
bool fast=
false);
333 mkDir(
TString dir,
bool question=
false,
bool remove=
true);
335 rmDir(
TString dir,
bool question=
true);
339 getTemporaryFileName(
TString label=
"temporary",
TString extension=
"tmp");
341 mksTemp(
char *fTemplate) {
return mkstemp(fTemplate);}
342 static vector<TString>
343 sortStrings(vector<TString> ilist);
352 double segMLS,
double segEdge);
364 CombineCBC(vector<TString> ifwave, vector<TString> ifmdc,
TString ofwave,
TString ofmdc,
365 int nIFO,
float fthr,
TString msearch,
TString infos=
"",
int lag=0,
int slag=0,
float ifarthr=0.);
371 getZeroLiveTime(
int nIFO, TChain& liv,
int dummy=0);
382 static int GetStepFunction(
TString fName, vector<double>& x, vector<double>&
y,
383 vector<double>& ex = DEFAULT_DOUBLE_VECTOR, vector<double>& ey = DEFAULT_DOUBLE_VECTOR);
384 static double GetStepFunction(
TString option,
TString fName,
double V=0,
385 vector<double>& x = DEFAULT_DOUBLE_VECTOR, vector<double>& y = DEFAULT_DOUBLE_VECTOR,
386 vector<double>& ex = DEFAULT_DOUBLE_VECTOR, vector<double>& ey = DEFAULT_DOUBLE_VECTOR);
401 getFileName(FILE* fp);
403 getFileName(
char* symlink);
412 addCWBFlags(TMacro macro,
TString ofname=
"");
429 getSineFittingParams(
double a,
double b,
double c,
double rate,
437 getTableau10BlindColor( Int_t
index );
441 getTableau10BlindColorPalette(
const int nSteps, Int_t *
palette );
447 blackmanharris (
double* window,
int n);
TB createDagFile(rslagList, full_condor_dir, data_label, jobFiles, cwb_stage_name)
wavearray< double > a(hp.size())
wavearray< double > Trun(500000)
cout<< "slagList size : "<< slagList.size()<< endl;cout<< endl<< "Start segments selection from dq cat1 list ..."<< endl<< endl;rslagList=TB.getSlagList(slagList, ifos, segLen, segMLS, segEdge, nDQF, DQF, CWB_CAT1);cout<< "Number of selected jobs after cat1 : "<< rslagList.size()<< endl;cout<< endl<< "Start segments selection from dq cat2 list ..."<< endl<< endl;rslagList=TB.getSlagList(rslagList, ifos, segLen, segTHR, segEdge, nDQF, DQF, CWB_CAT2);cout<< "Number of selected jobs after cat2 : "<< rslagList.size()<< endl;vector< TString > jobFiles
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
wavearray< double > psd(33)
CWB::frame fr(FRLIST_NAME)
TB createSubFile(data_label, full_condor_dir, full_condor_out_dir, full_condor_err_dir, condor_log, extention, condor_tag)
TB mkDir(cwb_skymap_dir, false, true)
wavearray< int > Wsel(ntrg)
TB mergeTrees(fileList, TREE_NAME, OUTPUT_MERGE_DIR, OFILE_NAME, false)
wavearray< double > Tdlag
vector< TString > getFileListFromDir(TString dir_name, TString endString="", TString beginString="")
vector< waveSegment > cat1List
cout<< "Starting reading output directory ..."<< endl;vector< TString > fileList
cout<< "total cat1 livetime : "<< int(cat1_time)<< " sec "<< cat1_time/3600.<< " h "<< cat1_time/86400.<< " day"<< endl;cout<< endl;vector< waveSegment > cat2List
wavearray< double > Wlag[NIFO_MAX+1]
void getUniqueFileList(TString ifile, TString ofile)
TString frLabel[NIFO_MAX]
TB checkFile(gSystem->Getenv("CWB_ROOTLOGON_FILE"))
TB dumpSegList(dq1List, dq1ListFile, false)
wavearray< double > Wslag[NIFO_MAX+1]