1 """Define methods to construct configured EventInfo conversion algorithms
3 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from AthenaConfiguration.Enums
import LHCPeriod, ProductionStep
12 inputKey="McEventInfo",
13 outputKey="EventInfo",
14 disableBeamSpot=False,
16 """Return a ComponentAccumulator for EventInfoCnvAlg algorithm"""
20 kwargs.setdefault(
"AODKey", inputKey)
21 kwargs.setdefault(
"xAODKey", outputKey)
23 if f
"PileUpEventInfo#{inputKey}" in flags.Input.TypedCollections:
24 kwargs.setdefault(
"PileupKey", f
"Pileup{outputKey}")
26 kwargs.setdefault(
"PileupKey",
"")
30 if not disableBeamSpot:
31 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
34 acc.addEventAlgo(CompFactory.xAODMaker.EventInfoCnvAlg(name, **kwargs))
40 """Return a ComponentAccumulator for EventInfoOverlay algorithm"""
44 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
47 kwargs.setdefault(
"BkgInputKey", f
"{flags.Overlay.BkgPrefix}EventInfo")
48 kwargs.setdefault(
"SignalInputKey", f
"{flags.Overlay.SigPrefix}EventInfo")
49 kwargs.setdefault(
"OutputKey",
"EventInfo")
51 kwargs.setdefault(
"DataOverlay", flags.Overlay.DataOverlay)
52 kwargs.setdefault(
"ValidateBeamSpot",
not (flags.Common.ProductionStep == ProductionStep.FastChain
and flags.Common.isOverlay)
and not flags.Overlay.DataOverlay
and flags.GeoModel.Run
is LHCPeriod.Run3)
54 if flags.Input.MCChannelNumber > 0:
55 kwargs.setdefault(
"MCChannelNumber", flags.Input.MCChannelNumber)
58 acc.addEventAlgo(CompFactory.xAODMaker.EventInfoOverlay(name, **kwargs))
61 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
62 if flags.Output.doWriteRDO:
66 if flags.Output.doWriteRDO_SGNL:
68 f
"xAOD::EventInfo#{flags.Overlay.SigPrefix}EventInfo",
69 f
"xAOD::EventAuxInfo#{flags.Overlay.SigPrefix}EventInfoAux."
76 """Return a ComponentAccumulator for the full EventInfoOverlay algorithm accumulator"""
79 inputs = [f
"xAOD::EventInfo#{flags.Overlay.BkgPrefix}EventInfo"]
81 if "EventInfo" not in flags.Input.Collections
and "EventInfo" not in flags.Input.SecondaryCollections:
83 inputKey=f
"{flags.Overlay.SigPrefix}McEventInfo",
84 outputKey=f
"{flags.Overlay.SigPrefix}EventInfo",
87 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
89 f
"EventInfo#McEventInfo->{flags.Overlay.SigPrefix}McEventInfo",
92 inputs.append(f
"EventInfo#{flags.Overlay.SigPrefix}McEventInfo")
95 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
97 f
"xAOD::EventInfo#EventInfo->{flags.Overlay.SigPrefix}EventInfo",
98 f
"xAOD::EventAuxInfo#EventInfoAux.->{flags.Overlay.SigPrefix}EventInfoAux.",
101 inputs.append(f
"xAOD::EventInfo#{flags.Overlay.SigPrefix}EventInfo")
103 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
111 """Return a ComponentAccumulator for EventInfoUpdateFromContext algorithm"""
115 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
118 kwargs.setdefault(
"SignalInputKey",
"Input_EventInfo")
119 kwargs.setdefault(
"OutputKey", f
"{flags.Overlay.SigPrefix}EventInfo" if flags.Common.ProductionStep == ProductionStep.FastChain
and flags.Common.isOverlay
else "EventInfo")
121 if flags.Input.MCChannelNumber > 0:
122 kwargs.setdefault(
"MCChannelNumber", flags.Input.MCChannelNumber)
125 acc.addEventAlgo(CompFactory.xAODMaker.EventInfoUpdateFromContextAlg(name, **kwargs))
128 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
130 "xAOD::EventInfo#EventInfo->" +
"Input_EventInfo",
131 "xAOD::EventAuxInfo#EventInfoAux.->" +
"Input_EventInfoAux.",
140 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
143 kwargs.setdefault(
"beamPosXKey", f
"{eventInfoKey}.beamPosX")
144 kwargs.setdefault(
"beamPosYKey", f
"{eventInfoKey}.beamPosY")
145 kwargs.setdefault(
"beamPosZKey", f
"{eventInfoKey}.beamPosZ")
146 kwargs.setdefault(
"beamPosSigmaXKey", f
"{eventInfoKey}.beamPosSigmaX")
147 kwargs.setdefault(
"beamPosSigmaYKey", f
"{eventInfoKey}.beamPosSigmaY")
148 kwargs.setdefault(
"beamPosSigmaZKey", f
"{eventInfoKey}.beamPosSigmaZ")
149 kwargs.setdefault(
"beamPosSigmaXYKey", f
"{eventInfoKey}.beamPosSigmaXY")
150 kwargs.setdefault(
"beamTiltXZKey", f
"{eventInfoKey}.beamTiltXZ")
151 kwargs.setdefault(
"beamTiltYZKey", f
"{eventInfoKey}.beamTiltYZ")
152 kwargs.setdefault(
"beamStatusKey", f
"{eventInfoKey}.beamStatus")
154 result.addEventAlgo(CompFactory.xAODMaker.EventInfoBeamSpotDecoratorAlg(name, **kwargs))