ATLAS Offline Software
Loading...
Searching...
No Matches
EvgenProdToolsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from GeneratorConfig.Sequences import EvgenSequence, EvgenSequenceFactory
6
7
8def TestHepMCCfg(flags, name="TestHepMC", streamName="TestHepMCname", fileName="TestHepMC.root", **kwargs):
9 kwargs.setdefault("CmEnergy", flags.Beam.Energy * 2)
10
11 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Test))
12 acc.addService(CompFactory.THistSvc(name="THistSvc",
13 Output=[f"{streamName} DATAFILE='{fileName}' OPT='RECREATE'"]))
14
15 acc.addEventAlgo(CompFactory.TestHepMC(name, **kwargs))
16 return acc
17
18
19def FixHepMCCfg(flags, name="FixHepMC", **kwargs):
20 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Fix))
21 acc.addEventAlgo(CompFactory.FixHepMC(name, **kwargs))
22 return acc
23
24
25def CountHepMCCfg(flags, name="CountHepMC", **kwargs):
26 kwargs.setdefault("InputEventInfo", "TMPEvtInfo")
27 kwargs.setdefault("OutputEventInfo", "EventInfo")
28 kwargs.setdefault("mcEventWeightsKey", "mcEventWeights")
29 kwargs.setdefault("FirstEvent", flags.Exec.FirstEvent)
30 kwargs.setdefault("CorrectHepMC", True)
31 kwargs.setdefault("CorrectEventID", True)
32
33 if flags.Input.Files:
34 kwargs.setdefault("CorrectRunNumber", True)
35 kwargs.setdefault("NewRunNumber", flags.Generator.DSID)
36
37 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
38 acc.addEventAlgo(CompFactory.CountHepMC(name, **kwargs))
39 return acc
40
41
42def CopyEventWeightCfg(flags, name="CopyEventWeight", **kwargs):
43 kwargs.setdefault("mcEventWeightsKey", "TMPEvtInfo.mcEventWeights")
44
45 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
46 acc.addEventAlgo(CompFactory.CopyEventWeight(name, **kwargs))
47 return acc
48
49
50def FillFilterValuesCfg(flags, name="FillFilterValues", **kwargs):
51 kwargs.setdefault("mcFilterHTKey", "TMPEvtInfo.mcFilterHT")
52
53 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
54 acc.addEventAlgo(CompFactory.FillFilterValues(name, **kwargs))
55 return acc
56
57
58def SimTimeEstimateCfg(flags, name="SimTimeEstimate", **kwargs):
59 acc = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Post))
60 acc.addEventAlgo(CompFactory.SimTimeEstimate(name, **kwargs))
61 return acc
SimTimeEstimateCfg(flags, name="SimTimeEstimate", **kwargs)
CopyEventWeightCfg(flags, name="CopyEventWeight", **kwargs)
FillFilterValuesCfg(flags, name="FillFilterValues", **kwargs)
FixHepMCCfg(flags, name="FixHepMC", **kwargs)
TestHepMCCfg(flags, name="TestHepMC", streamName="TestHepMCname", fileName="TestHepMC.root", **kwargs)
CountHepMCCfg(flags, name="CountHepMC", **kwargs)