2 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
3 from AthenaConfiguration.ComponentFactory
import CompFactory
6 """Configure the EVNT->xAOD converter alg"""
13 if flags.Input.SpecialConfiguration.get(
"HasLHERecord",
"False") ==
"True":
14 kwargs.setdefault(
'xAODTruthLHEParticleContainerName',
'TruthLHEParticles')
16 kwargs.setdefault(
'AODContainerName',
'GEN_EVENT')
18 xAODTruthCnvAlg = CompFactory.xAODMaker.xAODTruthCnvAlg
19 acc.addEventAlgo(xAODTruthCnvAlg(name,**kwargs))
25 writeInTimePileUpTruth=
False
29 if flags.Digitization.PileUp
and flags.Digitization.DigiSteeringConf
in [
'StandardPileUpToolsAlg',
'StandardInTimeOnlyTruthPileUpToolsAlg',
'StandardInTimeOnlyGeantinoTruthPileUpToolsAlg']:
30 writeInTimePileUpTruth =
True
32 kwargs.setdefault(
'WriteInTimePileUpTruth', writeInTimePileUpTruth)
33 kwargs.setdefault(
'AODContainerName',
'TruthEvent')
35 algo = CompFactory.xAODMaker.xAODTruthCnvAlg(name, **kwargs)
36 acc.addEventAlgo(algo, primary =
True)
38 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD,addToAOD
39 toAOD = [
"xAOD::TruthEventContainer#TruthEvents",
"xAOD::TruthEventAuxContainer#TruthEventsAux.",
40 "xAOD::TruthVertexContainer#TruthVertices",
"xAOD::TruthVertexAuxContainer#TruthVerticesAux.",
41 "xAOD::TruthParticleContainer#TruthParticles",
"xAOD::TruthParticleAuxContainer#TruthParticlesAux.",
44 if "xAOD::TruthParticleContainer#TruthPileupParticles" in flags.Input.TypedCollections:
45 toAOD.append(
"xAOD::TruthParticleContainer#TruthPileupParticles")
46 toAOD.append(
"xAOD::TruthParticleAuxContainer#TruthPileupParticlesAux.")
48 if writeInTimePileUpTruth:
49 toAOD.append(
"xAOD::TruthPileupEventContainer#TruthPileupEvents")
50 toAOD.append(
"xAOD::TruthPileupEventAuxContainer#TruthPileupEventsAux.")
52 if flags.Input.SpecialConfiguration.get(
"HasLHERecord",
"False") ==
"True":
53 kwargs.setdefault(
'xAODTruthLHEParticleContainerName',
'TruthLHEParticles')
54 toAOD.append(
"xAOD::TruthParticleContainer#TruthLHEParticles")
55 toAOD.append(
"xAOD::TruthParticleContainer#TruthLHEParticlesAux.")
59 if flags.Output.doWriteESD:
60 acc.merge(
addToESD(flags, toAOD+toESD))
61 if flags.Output.doWriteAOD:
68 HepMCTruthReader = CompFactory.HepMCTruthReader(
70 HepMCContainerKey = flags.HepMCContainerKey,
71 Do4momPtEtaPhi = flags.Do4momPtEtaPhi
73 acc.addEventAlgo(HepMCTruthReader)
78 xAODTruthReader = CompFactory.xAODReader.xAODTruthReader(
80 xAODTruthEventContainerKey = flags.xAODTruthEventContainerKey,
82 DoPUEventPrintout = flags.DoPUEventPrintout,
83 Do4momPtEtaPhi = flags.Do4momPtEtaPhi
85 acc.addEventAlgo(xAODTruthReader)