5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
11 for item
in inputs: files.extend(item.split(
','))
17 from argparse
import ArgumentParser
19 parser = ArgumentParser()
20 parser.add_argument(
"-i",
"--inputFile", required=
True, help=
"Input files to run on. Files can be comma or space separated", nargs=
"+")
21 parser.add_argument(
"-o",
"--outputFile", default=
"MSVtxVal_out.NTUP.root", help=
"output root file")
22 parser.add_argument(
"--maxEvents", default=-1, type=int, help=
"How many events shall be run maximally")
23 parser.add_argument(
"--skipEvents", default=0, type=int, help=
"How many events shall be skipped")
24 parser.add_argument(
"--threads", default=1, type=int, help=
"number of threads")
26 args = parser.parse_args()
34 if len(out_file) == 0:
return result
35 histSvc = CompFactory.THistSvc(Output=[f
"{out_stream} DATAFILE='{out_file}', OPT='RECREATE'"])
36 result.addService(histSvc, primary=
True)
40 def MSVtxValidationCfg(flags, name="MSVertexValidationAlg", outStream="MSVtxValidation", outFile="out.root", **kwargs):
42 from TriggerMatchingTool.TriggerMatchingToolConfig
import TriggerMatchingToolCfg
45 alg = CompFactory.MSVtxValidationAlg(name, **kwargs)
46 result.merge(
setupHistSvcCfg(flags,out_file=outFile, out_stream=outStream))
48 result.addEventAlgo(alg)
54 cfg.printConfig(withDetails=
True, summariseProps=
True)
55 if not cfg.run().isSuccess():
exit(1)
58 if __name__ ==
"__main__":
59 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
60 from MuonCondTest.MdtCablingTester
import setupServicesCfg
64 flags.Concurrency.NumThreads = args.threads
65 flags.Exec.MaxEvents = args.maxEvents
66 flags.Exec.SkipEvents = args.skipEvents
67 flags.Concurrency.NumConcurrentEvents = args.threads
68 flags.Input.Files = args.inputFile
69 flags.Scheduler.ShowDataDeps =
True
70 flags.Scheduler.ShowDataFlow =
True