3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from GeneratorConfig.Sequences
import EvgenSequence, EvgenSequenceFactory
8def TestHepMCCfg(flags, name="TestHepMC", streamName="TestHepMCname", fileName="TestHepMC.root", **kwargs):
9 kwargs.setdefault(
"CmEnergy", flags.Beam.Energy * 2)
11 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Test))
12 acc.addService(CompFactory.THistSvc(name=
"THistSvc",
13 Output=[f
"{streamName} DATAFILE='{fileName}' OPT='RECREATE'"]))
15 acc.addEventAlgo(CompFactory.TestHepMC(name, **kwargs))
20 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Fix))
21 acc.addEventAlgo(CompFactory.FixHepMC(name, **kwargs))
26 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.PreFilter))
27 acc.addService(CompFactory.HepMCWeightSvc(
"HepMCWeightSvc"))
28 acc.addEventAlgo(CompFactory.GenWeightDeclaration(name, **kwargs))
33 kwargs.setdefault(
"InputEventInfo",
"TMPEvtInfo")
34 kwargs.setdefault(
"OutputEventInfo",
"EventInfo")
35 kwargs.setdefault(
"mcEventWeightsKey",
"mcEventWeights")
36 kwargs.setdefault(
"FirstEvent", flags.Exec.FirstEvent)
37 kwargs.setdefault(
"CorrectHepMC",
True)
38 kwargs.setdefault(
"CorrectEventID",
True)
41 kwargs.setdefault(
"CorrectRunNumber",
True)
42 kwargs.setdefault(
"NewRunNumber", flags.Generator.DSID)
44 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
45 acc.addEventAlgo(CompFactory.CountHepMC(name, **kwargs))
50 kwargs.setdefault(
"mcEventWeightsKey",
"TMPEvtInfo.mcEventWeights")
52 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
53 acc.addEventAlgo(CompFactory.CopyEventWeight(name, **kwargs))
58 kwargs.setdefault(
"mcFilterHTKey",
"TMPEvtInfo.mcFilterHT")
60 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
61 acc.addEventAlgo(CompFactory.FillFilterValues(name, **kwargs))
66 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
67 acc.addEventAlgo(CompFactory.SimTimeEstimate(name, **kwargs))