5 from argparse
import ArgumentParser
6 myparser = ArgumentParser( description=
'Parser for IDTPM merger' )
7 myparser.add_argument(
"-i",
"--inputFileNames", help=
"List (comma- or space-separated) of input files. Regex is allowed.", nargs=
'+', required=
True )
8 myparser.add_argument(
"-o",
"--outputFileName", help=
"Output file name", default=
'IDTPM.output.root' )
9 myparser.add_argument(
"-s",
"--saveNonPostProcessed", help=
"Enable debugging messages", action=
"store_true", default=
False )
10 myparser.add_argument(
"-m",
"--method", help=
"Method for recomputing resolutions", choices=[
'iterRMS',
'gaussFit',
'iterRMSgaussFit',
'iterGaussFit',
'None'], default=
'iterRMS' )
11 return myparser.parse_known_args()
19 for paths
in MyArgs.inputFileNames :
20 for path
in paths.split(
',') :
21 InputFiles += glob( path )
25 cmd_1 = [
'hadd',
'-f', MyArgs.outputFileName ] + InputFiles
27 cmd_1.insert( 1,
' '.
join( otherHaddArgs ) )
29 subprocess.run( cmd_1, check=
True )
32 if MyArgs.saveNonPostProcessed :
33 cmd_1a = [
'cp', MyArgs.outputFileName,
34 MyArgs.outputFileName.replace(
".root",
"_nonPP.root" ) ]
36 subprocess.run( cmd_1a, check=
True )
39 if MyArgs.method !=
'None' :
40 cmd_2 = [
'postProcessIDTPMHistos', MyArgs.outputFileName, MyArgs.method ]
42 subprocess.run( cmd_2, check=
True )