]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/macros/mrgfl.sh
end-of-line normalization
[u/mrichter/AliRoot.git] / ANALYSIS / macros / mrgfl.sh
CommitLineData
4aedfabc 1#!/bin/bash
2
3Usage() {
4 echo Usage: mrgfl.sh [-f] outFile inpFile1 inpFile2 ....
5 echo Option -f will force overwriting existing output file
6 exit 1
7}
8#
9if [ $# -lt 2 ] ; then Usage ;fi
10#
11force=0
12if [ "$1" == "-f" ] ; then
13 force=1
14 shift 1 ;
15 if [ $# -lt 2 ] ; then Usage ;fi
16fi
17#
18mrglst="_mrglst.txt"
19if [ -e $mrglst ] ; then rm $mrglst ;fi
20#
21outf=$1
22shift 1 ;
23
24while [ $# -gt 0 ] ; do
25 echo $1
26 shift 1 ;
27done > $mrglst
28
29macroName="TmpMergeMacro"
30if [ -e ${macroName}.C ] ; then rm ${macroName}.C ;fi
31#
32#cat > ${macroName}.C << "EOF"
33echo \
34void ${macroName}'(const char* outFile,const char* mrgLst,Bool_t force) {
35 gSystem->Load("libANALYSIS");
36 gSystem->Load("libANALYSISalice");
37 ifstream in;
38 in.open(mrgLst);
39 TFileMerger m(1);
40 TString line;
41 while (in.good()) {
42 in >> line;
43 if (line.Length() == 0) continue;
44 TString fileName;
45 fileName.Form("%s", line.Data());
46 Printf("%s", fileName.Data());
47 m.AddFile(fileName);
48 }
49 m.SetFastMethod();
50 m.OutputFile(outFile,force);
51 m.Merge();
52}' > ${macroName}.C
53
54aliroot -b -q ${macroName}.C\(\"${outf}\",\"${mrglst}\",${force}\)
55
56rm ${mrglst}
57rm ${macroName}.C