1 """Define methods to construct configured EventInfo conversion algorithms
3 Copyright (C) 2002-2022 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
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.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")
94 if not flags.Overlay.FastChain:
96 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
98 f
"xAOD::EventInfo#EventInfo->{flags.Overlay.SigPrefix}EventInfo",
99 f
"xAOD::EventAuxInfo#EventInfoAux.->{flags.Overlay.SigPrefix}EventInfoAux.",
102 inputs.append(f
"xAOD::EventInfo#{flags.Overlay.SigPrefix}EventInfo")
104 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
112 """Return a ComponentAccumulator for EventInfoUpdateFromContext algorithm"""
116 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
119 kwargs.setdefault(
"SignalInputKey",
"Input_EventInfo")
120 from AthenaConfiguration.Enums
import ProductionStep
121 kwargs.setdefault(
"OutputKey", f
"{flags.Overlay.SigPrefix}EventInfo" if flags.Common.ProductionStep == ProductionStep.FastChain
and flags.Overlay.FastChain
else "EventInfo")
123 if flags.Input.MCChannelNumber > 0:
124 kwargs.setdefault(
"MCChannelNumber", flags.Input.MCChannelNumber)
127 acc.addEventAlgo(CompFactory.xAODMaker.EventInfoUpdateFromContextAlg(name, **kwargs))
130 from SGComps.AddressRemappingConfig
import AddressRemappingCfg
132 "xAOD::EventInfo#EventInfo->" +
"Input_EventInfo",
133 "xAOD::EventAuxInfo#EventInfoAux.->" +
"Input_EventInfoAux.",
142 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
145 kwargs.setdefault(
"beamPosXKey", f
"{eventInfoKey}.beamPosX")
146 kwargs.setdefault(
"beamPosYKey", f
"{eventInfoKey}.beamPosY")
147 kwargs.setdefault(
"beamPosZKey", f
"{eventInfoKey}.beamPosZ")
148 kwargs.setdefault(
"beamPosSigmaXKey", f
"{eventInfoKey}.beamPosSigmaX")
149 kwargs.setdefault(
"beamPosSigmaYKey", f
"{eventInfoKey}.beamPosSigmaY")
150 kwargs.setdefault(
"beamPosSigmaZKey", f
"{eventInfoKey}.beamPosSigmaZ")
151 kwargs.setdefault(
"beamPosSigmaXYKey", f
"{eventInfoKey}.beamPosSigmaXY")
152 kwargs.setdefault(
"beamTiltXZKey", f
"{eventInfoKey}.beamTiltXZ")
153 kwargs.setdefault(
"beamTiltYZKey", f
"{eventInfoKey}.beamTiltYZ")
154 kwargs.setdefault(
"beamStatusKey", f
"{eventInfoKey}.beamStatus")
156 result.addEventAlgo(CompFactory.xAODMaker.EventInfoBeamSpotDecoratorAlg(name, **kwargs))