11 #include "TDirectory.h" 13 #include "utilities.hh" 17 int main(
int argc,
char *argv[]){
18 time_t begtime, endtime;
22 cout<<
"Format: ./run/merge_glu_stop.exe glufile <outfolder> <stopfolder>"<<endl;
27 TString glufile, stopfolder(
"/net/cms2/cms2r0/babymaker/babies/2016_02_09/mc/T2tt/");
29 if(argc>=2) glufile = argv[1];
30 if(argc>=3) outfolder=argv[2];
31 if(argc>=4) stopfolder=argv[3];
32 if(!outfolder.EndsWith(
"/")) outfolder.Append(
"/");
33 gSystem->mkdir(outfolder, kTRUE);
36 outfile.Remove(0, outfile.Last(
'/')+1);
37 outfile.ReplaceAll(
"T5tttt",
"T5tttt-Stop");
38 outfile = outfolder+
"/"+
outfile;
41 TString mlsp_s(glufile);
42 mlsp_s.Remove(0,mlsp_s.Index(
"LSP-")+4);
43 mlsp_s.Remove(mlsp_s.Index(
'_'), mlsp_s.Length());
44 int mlsp(mlsp_s.Atoi());
47 int mstop = mlsp + 175;
48 TString stop_lsp(
"*mGluino-"+to_string(mstop)+
"_mLSP-"+mlsp_s+
"*");
49 vector<TString> stopfiles =
dirlist(stopfolder, stop_lsp);
50 if(stopfiles.size()==0){
51 stopfolder =
"new_stops/";
52 stopfiles =
dirlist(stopfolder, stop_lsp);
54 if(stopfiles.size()==0 || stopfiles.size()>=2){
55 cout<<
"Found "<<stopfiles.size()<<
" files matching "<<stop_lsp<<
". Exiting"<<endl<<endl;
59 vector<TString> ntuples = {glufile, stopfolder+stopfiles[0]};
61 cout<<endl<<
"Merged T5tttt and T2tt ntuples at "<<outfile<<endl;
64 int seconds = difftime(endtime, begtime);
65 cout<<endl<<
"Took "<<seconds<<
" seconds ("<<
hoursMinSec(seconds)<<
") "<<endl<<endl;
TString hoursMinSec(long seconds)
int main(int argc, char *argv[])
void mergeNtuples(std::vector< TString > ntuples, TString outname)
std::vector< TString > dirlist(const TString &folder, const TString &inname="dir", const TString &tag="")