6 """Configure the EVNT->xAOD converter alg"""
10 acc = ComponentAccumulator()
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))
23 acc = ComponentAccumulator()
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)
39 from DerivationFrameworkInDet.IDTIDE
import IDTIDE_AOD_EXCLUDED_AUXDATA_TRUTH
40 excludedAuxData =
'.-'.join(IDTIDE_AOD_EXCLUDED_AUXDATA_TRUTH)
42 excludedAuxData = f
'-{excludedAuxData}'
44 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD,addToAOD
45 toAOD = [
"xAOD::TruthEventContainer#TruthEvents",
"xAOD::TruthEventAuxContainer#TruthEventsAux.",
46 "xAOD::TruthVertexContainer#TruthVertices",
"xAOD::TruthVertexAuxContainer#TruthVerticesAux.",
47 "xAOD::TruthParticleContainer#TruthParticles", f
"xAOD::TruthParticleAuxContainer#TruthParticlesAux.{excludedAuxData}",
50 if "xAOD::TruthParticleContainer#TruthPileupParticles" in flags.Input.TypedCollections:
51 toAOD.append(
"xAOD::TruthParticleContainer#TruthPileupParticles")
52 toAOD.append(
"xAOD::TruthParticleAuxContainer#TruthPileupParticlesAux.")
54 if writeInTimePileUpTruth:
55 toAOD.append(
"xAOD::TruthPileupEventContainer#TruthPileupEvents")
56 toAOD.append(
"xAOD::TruthPileupEventAuxContainer#TruthPileupEventsAux.")
58 if flags.Input.SpecialConfiguration.get(
"HasLHERecord",
"False") ==
"True":
59 kwargs.setdefault(
'xAODTruthLHEParticleContainerName',
'TruthLHEParticles')
60 toAOD.append(
"xAOD::TruthParticleContainer#TruthLHEParticles")
61 toAOD.append(
"xAOD::TruthParticleContainer#TruthLHEParticlesAux.")
65 if flags.Output.doWriteESD:
66 acc.merge(addToESD(flags, toAOD+toESD))
67 if flags.Output.doWriteAOD:
68 acc.merge(addToAOD(flags, toAOD))
73 acc = ComponentAccumulator()
74 HepMCTruthReader = CompFactory.HepMCTruthReader(
76 HepMCContainerKey = flags.HepMCContainerKey,
77 Do4momPtEtaPhi = flags.Do4momPtEtaPhi
79 acc.addEventAlgo(HepMCTruthReader)
83 acc = ComponentAccumulator()
84 xAODTruthReader = CompFactory.xAODReader.xAODTruthReader(
86 xAODTruthEventContainerKey = flags.xAODTruthEventContainerKey,
88 DoPUEventPrintout = flags.DoPUEventPrintout,
89 Do4momPtEtaPhi = flags.Do4momPtEtaPhi
91 acc.addEventAlgo(xAODTruthReader)