Logo coherent WaveBurst  
Library Reference Guide
Logo
wmdc_condor_log.C
Go to the documentation of this file.
1 {
2  #include <vector>
3 
5 
7  int nIFO=net->ifoListSize();
8  char ifoLabel[64]="";
9  for(int i=0;i<nIFO;i++) sprintf(ifoLabel,"%s%s",ifoLabel,net->ifoName[i]);
10 
11  TString logFile = TString(ifoLabel)+"-"+frLabel+"-Log.txt";
12 
13  bool first=true;
14 
15  vector<TString> logList;
16 
17  vector<TString> dirList = TB.getFileListFromDir(frDir, "", "", frLabel);
18  for(int i=0;i<dirList.size();i++) {
19  cout << dirList[i] << endl;
20  vector<TString> fileList = TB.getFileListFromDir(dirList[i], ".txt");
21  for(int j=0;j<fileList.size();j++) {
22  logList.push_back(fileList[j].Data());
23  //cout << j << " " << fileList[j].Data() << endl;
24  }
25  }
26 
27  TString lstFile = frDir+"/"+TString(ifoLabel)+"-"+frLabel+"-Log.lst";
28  ofstream out;
29  out.open(lstFile.Data(),ios::out);
30  if (!out.good()) {cout << "LogWaveMDC.C - Error Opening File : " << lstFile.Data() << endl;exit(1);}
31  for(int i=0;i<logList.size();i++) out << logList[i].Data() << endl;
32  out.close();
33 
35  sortFile.ReplaceAll(".lst",".sort");
36 
37  char cmd[256];
38  sprintf(cmd,"sort %s > %s",lstFile.Data(),sortFile.Data());
39  cout << cmd << endl;
40  gSystem->Exec(cmd);
41 
42  // write merged log
43  ifstream in;
44  in.open(sortFile.Data(),ios::in);
45  if (!in.good()) {cout << "LogWaveMDC.C - Error Opening Sorted File : " << sortFile.Data() << endl;exit(1);}
46 
47  char log[1024];
48  while(true) {
49  in.getline(log,1024);
50  if (!in.good()) break;
51  char cmd[256];
52  if(first) {
53  sprintf(cmd,"cat %s > %s/%s",log,frDir.Data(),logFile.Data());
54  first=false;
55  } else {
56  sprintf(cmd,"cat %s >> %s/%s",log,frDir.Data(),logFile.Data());
57  }
58  cout << cmd << endl;
59  gSystem->Exec(cmd);
60  }
61 
62  in.close();
63 
64  sprintf(cmd,"rm %s %s",lstFile.Data(),sortFile.Data());
65  cout << cmd << endl;
66  gSystem->Exec(cmd);
67 
68  // write file frame list
70  frlFile.ReplaceAll(".lst",".frl");
71  sprintf(cmd,"ls %s/%s/*/*.gwf > %s",gSystem->WorkingDirectory(),frDir.Data(),frlFile.Data());
72  cout << cmd << endl;
73  gSystem->Exec(cmd);
74 
75  // write log root
76  vector<mdcpar> par;
78  rootFile.ReplaceAll(".txt",".root");
79  cout << TString(frDir+"/"+rootFile).Data() << endl;
80  MDC.SetSkyDistribution(MDC_LOGFILE,frDir+"/"+logFile,par);
81  MDC.DumpLog(frDir+"/"+rootFile,frLabel);
82 
83  // write log header
85  logHeaderFile.ReplaceAll("-Log.txt","-LogHeader.txt");
86  MDC.DumpLogHeader(frDir+"/"+logHeaderFile,frLabel);
87 
88  // merge log and log header
89  sprintf(cmd,"cat %s/%s >> %s/%s",frDir.Data(),logFile.Data(),frDir.Data(),logHeaderFile.Data());
90  //cout << cmd << endl;
91  gSystem->Exec(cmd);
92  sprintf(cmd,"rm %s/%s",frDir.Data(),logFile.Data());
93  //cout << cmd << endl;
94  gSystem->Exec(cmd);
95  sprintf(cmd,"mv %s/%s %s/%s",frDir.Data(),logHeaderFile.Data(),frDir.Data(),logFile.Data());
96  //cout << cmd << endl;
97  gSystem->Exec(cmd);
98 
99  // dump waveforms
100  sprintf(cmd,"mkdir -p %s/Waveforms",frDir.Data());
101  gSystem->Exec(cmd);
102  cout << "Dump waveforms ..." << endl;
103  //MDC.PrintWaveformsList();
104  MDC.Dump(frDir+"/Waveforms");
105 
106  exit(0);
107 }
std::vector< char * > ifoName
Definition: network.hh:609
void Dump(TString fname, int ID, int id, TString polarization)
Definition: mdc.cc:4394
static vector< TString > getFileListFromDir(TString dir_name, TString endString="", TString beginString="", TString containString="", bool fast=false)
Definition: Toolbox.cc:5108
TString lstFile
char logFile[1024]
Definition: cwb_merge_log.C:31
TString("c")
vector< mdcpar > par
int nIFO
CWB::Toolbox TB
CWB::mdc * MDC
int j
Definition: cwb_net.C:28
i drho i
TString logHeaderFile
Definition: cwb_merge_log.C:42
char ifoLabel[64]
size_t ifoListSize()
Definition: network.hh:431
void SetSkyDistribution(MDC_DISTRIBUTION sky_distribution, vector< mdcpar > par, int seed=0, bool add=false)
Definition: mdc.cc:3444
TString sortFile
Definition: cwb_merge_log.C:40
char log[1024]
TString rootFile
void DumpLogHeader(TString fName, TString label="", int size=0)
Definition: mdc.cc:4567
TString frDir[NIFO_MAX]
vector< TString > logList
Definition: cwb_merge_log.C:34
sprintf(cmd,"rm %s %s", lstFile.Data(), sortFile.Data())
network * GetNetwork()
Definition: mdc.hh:383
ifstream in
TString frlFile
cout<< "Starting reading output directory ..."<< endl;vector< TString > fileList
char cmd[1024]
ofstream out
network * net
void DumpLog(TString fName, TString label="", bool append=false)
Definition: mdc.cc:5068
TString frLabel[NIFO_MAX]
exit(0)
vector< TString > dirList