23 #define IWAVE_FILE "merge/wave_O3_K02_C00_LH_BBH_SIM_NR-MIX_tst1.M1.C_U.S_bin1_cut_nodq_sk8.root" 25 #define MAX_TREE_SIZE 100000000000LL 29 #define YEAR (24.*3600.*365.) 33 if(Case<1 || Case>8) {
34 cout <<
"Error - The allowed cases are 1...8" << endl << endl;
39 if(osearch!=
"IMBHB" && osearch!=
"BBH") {
40 cout <<
"Error - osearch not defined, valid values are: IMBHB,BBH" << endl << endl;
50 ofwave.ReplaceAll(
".root",
"_"+osearch+
"_"+otag+
".root");
52 if(!overwrite) gSystem->Exit(1);
54 TFile *iwwave = TFile::Open(ifwave);
55 TTree* iwtree = (TTree*)iwwave->Get(
"waveburst");
57 int isize = iwtree->GetEntries();
58 cout <<
"isize " << isize << endl;
60 bool check_ifar=
false;
62 TIter
next(iwtree->GetListOfBranches());
63 while ((branch=(TBranch*)
next())) {
64 if(
TString(branch->GetName())==
"ifar") {
66 TLeaf* leaf = branch->FindLeaf(
"ifar");
71 if(check_ifar==
false) {
72 cout <<
"Error: ifar not present in : " <<
IWAVE_FILE << endl;
77 double* iTIME =
new double[2*
nIFO];
78 float* iFREQ =
new float[
nIFO];
79 iwtree->SetBranchAddress(
"ifar",&iIFAR);
80 iwtree->SetBranchAddress(
"time",iTIME);
81 iwtree->SetBranchAddress(
"frequency",iFREQ);
84 TFile* owroot =
new TFile(ofwave,
"RECREATE");
85 TTree* owtree = (TTree*)iwtree->CloneTree(0);
89 double* oTIME =
new double[2*
nIFO];
90 float* oFREQ =
new float[
nIFO];
91 owtree->SetBranchAddress(
"ifar",&oIFAR);
92 owtree->SetBranchAddress(
"time",oTIME);
93 owtree->SetBranchAddress(
"frequency",oFREQ);
99 for(
int n=0;
n<2*
nIFO;
n++) oTIME[
n] = iTIME[
n];
100 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = iFREQ[
n];
104 if(osearch==
"IMBHB") {
106 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
110 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
116 if(osearch==
"IMBHB") {
118 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
122 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
128 if(osearch==
"IMBHB") {
130 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
134 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
140 if(osearch==
"IMBHB") {
142 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
146 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
152 if(osearch==
"IMBHB") {
154 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
158 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
164 if(osearch==
"IMBHB") {
166 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
170 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 70;
176 if(osearch==
"IMBHB") {
178 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
182 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
188 if(osearch==
"IMBHB") {
190 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
194 for(
int n=0;
n<
nIFO;
n++) oFREQ[
n] = 90;
210 ifmdc.ReplaceAll(
"wave_",
"mdc_");
211 ifmdc.Remove(0,ifmdc.Last(
'/')+1);
213 ofmdc.ReplaceAll(
"wave_",
"mdc_");
214 ofmdc.Remove(0,ofmdc.Last(
'/')+1);
215 cout << odir << endl;
218 int estat = gSystem->GetPathInfo(odir+
"/"+ifmdc,&
id,&size,&flags,&mt);
221 sprintf(cmd,
"cd %s;ln -sf %s %s",odir.Data(),ifmdc.Data(),ofmdc.Data());
228 ofmerge.ReplaceAll(
"wave_",
"merge_");
229 ofmerge.ReplaceAll(
".root",
".lst");
230 char cmd[1024];
sprintf(cmd,
"touch %s",ofmerge.Data());
236 TFile owfile(ofwave,
"UPDATE");
237 history->Write(
"history");
244 cout <<
"Output Combined files : " << endl;
245 cout << ofwave << endl;
246 cout << odir+
"/"+ofmdc << endl;
247 cout << ofmerge << endl;
TIter next(twave->GetListOfBranches())
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
void MakeWaveTestCombineCBC(TString osearch, TString otag, int Case)