4from AthenaConfiguration.ComponentFactory
import CompFactory
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
12 result = ComponentAccumulator()
16 from xAODEventInfoCnv.xAODEventInfoCnvConfig
import EventInfoCnvAlgCfg
17 result.merge(EventInfoCnvAlgCfg(flags, disableBeamSpot=
True), sequenceName=
"AthAlgSeq")
19 alg = CompFactory.HiveAlgA(
"HiveAlgA",
22 Cardinality=flags.Concurrency.NumThreads)
23 result.addEventAlgo(alg)
27 result = ComponentAccumulator()
29 alg = CompFactory.HiveAlgB(
"HiveAlgB",
32 Cardinality=flags.Concurrency.NumThreads)
33 result.addEventAlgo(alg)
37 result = ComponentAccumulator()
39 alg = CompFactory.HiveAlgC(
"HiveAlgC",
43 Cardinality=flags.Concurrency.NumThreads)
44 result.addEventAlgo(alg)
48 result = ComponentAccumulator()
50 alg = CompFactory.HiveAlgD(
"HiveAlgD",
53 Cardinality=flags.Concurrency.NumThreads)
54 result.addEventAlgo(alg)
58 result = ComponentAccumulator()
60 alg = CompFactory.HiveAlgE(
"HiveAlgE",
64 Cardinality=flags.Concurrency.NumThreads)
65 result.addEventAlgo(alg)
69 result = ComponentAccumulator()
71 alg = CompFactory.HiveAlgF(
"HiveAlgF",
74 Cardinality=flags.Concurrency.NumThreads)
75 result.addEventAlgo(alg)
79 result = ComponentAccumulator()
81 alg = CompFactory.HiveAlgG(
"HiveAlgG",
84 Cardinality=flags.Concurrency.NumThreads)
85 result.addEventAlgo(alg)
89 result = ComponentAccumulator()
91 alg = CompFactory.HiveAlgV(
"HiveAlgV",
94 Key_RV = [
"a1",
"a2",
"d1",
"e1",
"C1" ],
95 Key_WV = [
"V1",
"V2",
"V3" ],
96 Cardinality=flags.Concurrency.NumThreads)
97 result.addEventAlgo(alg)
103 result = ComponentAccumulator()
105 svc = CompFactory.ThreadPoolSvc(name=
"ThreadPoolSvc")
106 svc.ThreadInitTools += [CompFactory.ThreadInitTool()]
108 result.addService(svc)
112if __name__ ==
"__main__":
115 from AthenaConfiguration.MainServicesConfig
import MainEvgenServicesCfg
118 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
119 flags = initConfigFlags()
120 flags.Input.Files = []
121 flags.Input.RunNumbers = [284500]
122 flags.Input.TimeStamps = [1]
123 flags.Input.TypedCollections = []
124 flags.Exec.MaxEvents = 20
125 flags.Scheduler.ShowControlFlow =
True
126 flags.Scheduler.ShowDataDeps =
True
131 from AthenaCommon.Logging
import log
132 log.setLevel(flags.Exec.OutputLevel)
135 if flags.Concurrency.NumThreads < 1:
136 log.fatal(
'The number of threads must be >0. Did you set the --threads=N option?')
140 cfg = MainEvgenServicesCfg(flags,withSequences=
True)
156 sys.exit(cfg.run().isFailure())