16 if(cwb_merge_label[0]!=
'M') {
17 cout <<
"Error : label " << cwb_merge_label.Data() <<
" has bad format (M#)" << endl;
exit(1);
21 if(!lcheck.IsDigit()) {
22 cout << endl <<
"Error : label " << cwb_merge_label.Data() <<
" has bad format (M#)" << endl << endl;
exit(1);
24 cwb_merge_number=lcheck.Atoi();
29 vector<TString>
fileList = TB.getFileListFromDir(merge_dir,
".root", tag,
"",
true);
33 for(
int i=0;i<fileList.size();i++) {
35 if(fileList[i].Contains(
".root")) {
36 TObjArray*
token = TString(fileList[i]).Tokenize(TString(
"."));
37 TString srescueID = ((TObjString*)token->At(token->GetEntries()-2))->GetString();
38 srescueID.ReplaceAll(
"M",
"");
39 if(srescueID.IsDigit()) {
41 int rescueID = srescueID.Atoi();
42 if(iversion<rescueID) iversion=rescueID;
48 if(cwb_merge_number==0 || cwb_merge_number>=iversion) {
51 cout << endl <<
"cwb_merge.C : Error - the input merge version (M" << cwb_merge_number
52 <<
") must be greater of the most recent merge version (M" << iversion-1 <<
")" << endl << endl;
61 if(cwb_mklinks_options.Contains(
"--")) {
64 cwb_ilabel = TB.getParameter(cwb_mklinks_options,
"--ilabel");
69 cout <<
"cwb_mklikns.C : Error - ilabel not defined" << endl;
77 TObjArray*
token = TString(cwb_ilabel).Tokenize(TString(
"."));
78 for(
int i=0;i<token->GetEntries();i++) {
79 TString stoken = ((TObjString*)token->At(i))->GetString();
81 if(i==0) cwb_imerge_label=stoken;
86 sprintf(fTag,
"%s.%s",tmp,stoken.Data());
87 char fName[1024];
sprintf(fName,
"%s/wave_%s%s.root",mdir.Data(),data_label,
fTag);
88 for(
int i=0;i<fileList.size();i++) {
90 if(fileList[i]==fName) {exist=
true;fIndex[i]=1;
break;}
93 cout << endl <<
"cwb_mklikns.C : Error - file: " << fName <<
" not exist!!!" << endl << endl;
107 cout <<
"merge dir : " << mdir << endl;
108 cout <<
"cwb_ilabel : " << cwb_ilabel << endl;
109 cout <<
"cwb_imerge_label : " << cwb_imerge_label << endl;
110 cout <<
"cwb_merge_label : " << cwb_merge_label << endl;
113 for(
int i=0;i<fileList.size();i++) {
117 TString iwfname = fileList[i];
118 iwfname.ReplaceAll(mdir+
"/",
"");
119 TString owfname = iwfname;
120 owfname.ReplaceAll(cwb_imerge_label,cwb_merge_label);
122 TString ilfname = iwfname;
123 ilfname.ReplaceAll(
"wave_",
"merge_");
124 ilfname.ReplaceAll(
".root",
".lst");
125 TString olfname = owfname;
126 olfname.ReplaceAll(
"wave_",
"merge_");
127 olfname.ReplaceAll(
".root",
".lst");
129 TString imfname = iwfname;
130 if(
simulation) imfname.ReplaceAll(
"wave_",
"mdc_");
else imfname.ReplaceAll(
"wave_",
"live_");
131 TString omfname = owfname;
132 if(
simulation) omfname.ReplaceAll(
"wave_",
"mdc_");
else omfname.ReplaceAll(
"wave_",
"live_");
142 estat = gSystem->GetPathInfo(mdir+
"/"+iwfname,&
id,&size,&flags,&mt);
144 sprintf(cmd,
"cd %s;ln -sf %s %s",mdir.Data(),iwfname.Data(),owfname.Data());
149 estat = gSystem->GetPathInfo(mdir+
"/"+ilfname,&
id,&size,&flags,&mt);
151 sprintf(cmd,
"cd %s;ln -sf %s %s",mdir.Data(),ilfname.Data(),olfname.Data());
156 estat = gSystem->GetPathInfo(mdir+
"/"+imfname,&
id,&size,&flags,&mt);
158 sprintf(cmd,
"cd %s;ln -sf %s %s",mdir.Data(),imfname.Data(),omfname.Data());
sprintf(tag,"wave_%s", data_label)
TString cwb_mklinks_options
vector< TString > fileList