ATLAS Offline Software
Loading...
Searching...
No Matches
PLR_DigitizationConfig Namespace Reference

Functions

 PLR_FirstXing (flags)
 PLR_LastXing (flags)
 PLR_EnergyDepositionToolCfg (flags, name="PLR_EnergyDepositionTool", **kwargs)
 PLR_RD53SimToolCfg (flags, name="PLR_RD53SimTool", **kwargs)
 PLR_SensorSimPlanarToolCfg (flags, name="PLR_SensorSimPlanarTool", **kwargs)
 PLR_SensorSim3DToolCfg (flags, name="PLR_SensorSim3DTool", **kwargs)
 PLR_DigitizationBasicToolCfg (flags, name="PLR_DigitizationBasicTool", **kwargs)
 PLR_DigitizationToolCfg (flags, name="PLR_DigitizationTool", **kwargs)
 PLR_DigitizationHSToolCfg (flags, name="PLR_DigitizationHSTool", **kwargs)
 PLR_DigitizationPUToolCfg (flags, name="PLR_DigitizationPUTool", **kwargs)
 PLR_DigitizationSplitNoMergePUToolCfg (flags, name="PLR_DigitizationSplitNoMergePUTool", **kwargs)
 PLR_OverlayDigitizationToolCfg (flags, name="PLR_OverlayDigitizationTool", **kwargs)
 PLR_RangeCfg (flags, name="PLR_Range", **kwargs)
 PLR_OutputCfg (flags)
 PLR_DigitizationBasicCfg (flags, **kwargs)
 PLR_OverlayDigitizationBasicCfg (flags, **kwargs)
 PLR_DigitizationCfg (flags, **kwargs)
 PLR_DigitizationHSCfg (flags, **kwargs)
 PLR_DigitizationPUCfg (flags, **kwargs)

Detailed Description

Define methods to construct configured PLR Digitization tools and algorithms

Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration

Function Documentation

◆ PLR_DigitizationBasicCfg()

PLR_DigitizationConfig.PLR_DigitizationBasicCfg ( flags,
** kwargs )
Return ComponentAccumulator for PLR digitization

Definition at line 213 of file PLR_DigitizationConfig.py.

213def PLR_DigitizationBasicCfg(flags, **kwargs):
214 """Return ComponentAccumulator for PLR digitization"""
215 acc = ComponentAccumulator()
216 if "PileUpTools" not in kwargs:
217 PileUpTools = acc.popToolsAndMerge(PLR_DigitizationToolCfg(flags))
218 kwargs["PileUpTools"] = PileUpTools
219 acc.merge(PileUpToolsCfg(flags, **kwargs))
220 return acc
221
222

◆ PLR_DigitizationBasicToolCfg()

PLR_DigitizationConfig.PLR_DigitizationBasicToolCfg ( flags,
name = "PLR_DigitizationBasicTool",
** kwargs )
Return ComponentAccumulator with configured PixelDigitizationTool for PLR

Definition at line 97 of file PLR_DigitizationConfig.py.

97def PLR_DigitizationBasicToolCfg(flags, name="PLR_DigitizationBasicTool", **kwargs):
98 """Return ComponentAccumulator with configured PixelDigitizationTool for PLR"""
99 acc = PLR_ReadoutGeometryCfg(flags)
100 # set up tool handle lists
101 chargeTools = []
102 feSimTools = []
103 chargeTools.append(acc.popToolsAndMerge(PLR_SensorSimPlanarToolCfg(flags)))
104 # chargeTools.append(acc.popToolsAndMerge(PLR_SensorSim3DToolCfg(flags)))
105 feSimTools.append(acc.popToolsAndMerge(PLR_RD53SimToolCfg(flags)))
106 kwargs.setdefault("PixelIDName", "PLR_ID")
107 kwargs.setdefault("ChargeTools", chargeTools)
108 kwargs.setdefault("EnergyDepositionTool", acc.popToolsAndMerge(PLR_EnergyDepositionToolCfg(flags)))
109 kwargs.setdefault("FrontEndSimTools", feSimTools)
110 kwargs.setdefault("InputObjectName", "PLR_Hits")
111 kwargs.setdefault("PixelDetEleCollKey", "PLR_DetectorElementCollection")
112 if flags.Digitization.DoXingByXingPileUp:
113 kwargs.setdefault("FirstXing", PLR_FirstXing(flags))
114 kwargs.setdefault("LastXing", PLR_LastXing(flags))
115 from RngComps.RngCompsConfig import AthRNGSvcCfg
116 kwargs.setdefault("RndmSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
117
118 acc.setPrivateTools(CompFactory.PixelDigitizationTool(name, **kwargs, ))
119 return acc
120
121

◆ PLR_DigitizationCfg()

PLR_DigitizationConfig.PLR_DigitizationCfg ( flags,
** kwargs )
Return ComponentAccumulator for PLR digitization and Output

Definition at line 244 of file PLR_DigitizationConfig.py.

244def PLR_DigitizationCfg(flags, **kwargs):
245 """Return ComponentAccumulator for PLR digitization and Output"""
246 acc = PLR_DigitizationBasicCfg(flags, **kwargs)
247 acc.merge(PLR_OutputCfg(flags))
248 return acc
249
250
251# additional specialisations

◆ PLR_DigitizationHSCfg()

PLR_DigitizationConfig.PLR_DigitizationHSCfg ( flags,
** kwargs )
Return ComponentAccumulator for Hard-Scatter-only PLR digitization and Output

Definition at line 252 of file PLR_DigitizationConfig.py.

252def PLR_DigitizationHSCfg(flags, **kwargs):
253 """Return ComponentAccumulator for Hard-Scatter-only PLR digitization and Output"""
254 acc = ComponentAccumulator()
255 tool = acc.popToolsAndMerge(PLR_DigitizationHSToolCfg(flags))
256 kwargs["PileUpTools"] = tool
257 acc.merge(PileUpToolsCfg(flags, **kwargs))
258 acc.merge(PLR_OutputCfg(flags))
259 return acc
260
261

◆ PLR_DigitizationHSToolCfg()

PLR_DigitizationConfig.PLR_DigitizationHSToolCfg ( flags,
name = "PLR_DigitizationHSTool",
** kwargs )
Return ComponentAccumulator with PixelDigitizationTool configured for Hard Scatter

Definition at line 145 of file PLR_DigitizationConfig.py.

145def PLR_DigitizationHSToolCfg(flags, name="PLR_DigitizationHSTool", **kwargs):
146 """Return ComponentAccumulator with PixelDigitizationTool configured for Hard Scatter"""
147 acc = ComponentAccumulator()
148 rangetool = acc.popToolsAndMerge(PLR_RangeCfg(flags))
149 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
150 kwargs.setdefault("HardScatterSplittingMode", 1)
151 tool = acc.popToolsAndMerge(PLR_DigitizationBasicToolCfg(flags, name, **kwargs))
152 acc.setPrivateTools(tool)
153 return acc
154
155

◆ PLR_DigitizationPUCfg()

PLR_DigitizationConfig.PLR_DigitizationPUCfg ( flags,
** kwargs )
Return ComponentAccumulator with Pile-up-only PLR digitization and Output

Definition at line 262 of file PLR_DigitizationConfig.py.

262def PLR_DigitizationPUCfg(flags, **kwargs):
263 """Return ComponentAccumulator with Pile-up-only PLR digitization and Output"""
264 acc = ComponentAccumulator()
265 tool = acc.popToolsAndMerge(PLR_DigitizationPUToolCfg(flags))
266 kwargs["PileUpTools"] = tool
267 acc.merge(PileUpToolsCfg(flags, **kwargs))
268 acc.merge(PLR_OutputCfg(flags))
269 return acc

◆ PLR_DigitizationPUToolCfg()

PLR_DigitizationConfig.PLR_DigitizationPUToolCfg ( flags,
name = "PLR_DigitizationPUTool",
** kwargs )
Return ComponentAccumulator with PixelDigitizationTool configured for PileUp

Definition at line 156 of file PLR_DigitizationConfig.py.

156def PLR_DigitizationPUToolCfg(flags, name="PLR_DigitizationPUTool", **kwargs):
157 """Return ComponentAccumulator with PixelDigitizationTool configured for PileUp"""
158 acc = ComponentAccumulator()
159 rangetool = acc.popToolsAndMerge(PLR_RangeCfg(flags))
160 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
161 kwargs.setdefault("HardScatterSplittingMode", 2)
162 kwargs.setdefault("RDOCollName", "PLR_PU_RDOs")
163 kwargs.setdefault("SDOCollName", "PLR_PU_SDO_Map")
164 tool = acc.popToolsAndMerge(PLR_DigitizationBasicToolCfg(flags, name, **kwargs))
165 acc.setPrivateTools(tool)
166 return acc
167
168

◆ PLR_DigitizationSplitNoMergePUToolCfg()

PLR_DigitizationConfig.PLR_DigitizationSplitNoMergePUToolCfg ( flags,
name = "PLR_DigitizationSplitNoMergePUTool",
** kwargs )
Return ComponentAccumulator with PixelDigitizationTool configured for PileUpPLR_Hits

Definition at line 169 of file PLR_DigitizationConfig.py.

169def PLR_DigitizationSplitNoMergePUToolCfg(flags, name="PLR_DigitizationSplitNoMergePUTool", **kwargs):
170 """Return ComponentAccumulator with PixelDigitizationTool configured for PileUpPLR_Hits"""
171 acc = ComponentAccumulator()
172 rangetool = acc.popToolsAndMerge(PLR_RangeCfg(flags))
173 acc.merge(PileUpMergeSvcCfg(flags, Intervals=rangetool))
174 kwargs.setdefault("HardScatterSplittingMode", 0)
175 kwargs.setdefault("InputObjectName", "PileupPLR_Hits")
176 kwargs.setdefault("RDOCollName", "PLR_PU_RDOs")
177 kwargs.setdefault("SDOCollName", "PLR_PU_SDO_Map")
178 tool = acc.popToolsAndMerge(PLR_DigitizationBasicToolCfg(flags, name, **kwargs))
179 acc.setPrivateTools(tool)
180 return acc
181
182

◆ PLR_DigitizationToolCfg()

PLR_DigitizationConfig.PLR_DigitizationToolCfg ( flags,
name = "PLR_DigitizationTool",
** kwargs )
Return ComponentAccumulator with configured PLR_DigitizationBasicTool

Definition at line 122 of file PLR_DigitizationConfig.py.

122def PLR_DigitizationToolCfg(flags, name="PLR_DigitizationTool", **kwargs):
123 """Return ComponentAccumulator with configured PLR_DigitizationBasicTool"""
124 acc = ComponentAccumulator()
125 if flags.Digitization.PileUp:
126 intervals = []
127 if not flags.Digitization.DoXingByXingPileUp:
128 intervals += [acc.popToolsAndMerge(PLR_RangeCfg(flags))]
129 kwargs.setdefault("PileUpMergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
130 else:
131 kwargs.setdefault("PileUpMergeSvc", "")
132 kwargs.setdefault("OnlyUseContainerName", flags.Digitization.PileUp)
133 kwargs.setdefault("HardScatterSplittingMode", 0)
134 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
135 kwargs.setdefault("RDOCollName", flags.Overlay.BkgPrefix + "PLR_RDOs")
136 kwargs.setdefault("SDOCollName", flags.Overlay.BkgPrefix + "PLR_SDO_Map")
137 else:
138 kwargs.setdefault("RDOCollName", "PLR_RDOs")
139 kwargs.setdefault("SDOCollName", "PLR_SDO_Map")
140 tool = acc.popToolsAndMerge(PLR_DigitizationBasicToolCfg(flags, name, **kwargs))
141 acc.setPrivateTools(tool)
142 return acc
143
144

◆ PLR_EnergyDepositionToolCfg()

PLR_DigitizationConfig.PLR_EnergyDepositionToolCfg ( flags,
name = "PLR_EnergyDepositionTool",
** kwargs )
Return a configured EnergyDepositionTool

Definition at line 38 of file PLR_DigitizationConfig.py.

38def PLR_EnergyDepositionToolCfg(flags, name="PLR_EnergyDepositionTool", **kwargs):
39 """Return a configured EnergyDepositionTool"""
40 acc = PLR_DistortionAlgCfg(flags)
41 kwargs.setdefault("DeltaRayCut", 117.)
42 kwargs.setdefault("nCols", 5)
43 kwargs.setdefault("LoopLimit", 100000)
44 kwargs.setdefault("doBichsel", True)
45 kwargs.setdefault("doBichselBetaGammaCut", 0.7) # dEdx not quite consistent below this
46 kwargs.setdefault("doDeltaRay", False) # needs validation
47 kwargs.setdefault("doPU", True)
48 kwargs.setdefault("PixelDistortionData", "PLR_DistortionData")
49 acc.setPrivateTools(CompFactory.EnergyDepositionTool(name, **kwargs))
50 return acc
51
52

◆ PLR_FirstXing()

PLR_DigitizationConfig.PLR_FirstXing ( flags)

Definition at line 27 of file PLR_DigitizationConfig.py.

27def PLR_FirstXing(flags):
28 return -25
29
30

◆ PLR_LastXing()

PLR_DigitizationConfig.PLR_LastXing ( flags)

Definition at line 31 of file PLR_DigitizationConfig.py.

31def PLR_LastXing(flags):
32 if flags.Beam.BunchSpacing > 50:
33 return 75
34 else:
35 return 25
36
37

◆ PLR_OutputCfg()

PLR_DigitizationConfig.PLR_OutputCfg ( flags)
Return ComponentAccumulator with Output for PLR. Not standalone.

Definition at line 201 of file PLR_DigitizationConfig.py.

201def PLR_OutputCfg(flags):
202 """Return ComponentAccumulator with Output for PLR. Not standalone."""
203 acc = ComponentAccumulator()
204 if flags.Output.doWriteRDO:
205 ItemList = ["PixelRDO_Container#*"]
206 if flags.Digitization.EnableTruth:
207 ItemList += ["InDetSimDataCollection#*"]
208 acc.merge(TruthDigitizationOutputCfg(flags))
209 acc.merge(OutputStreamCfg(flags, "RDO", ItemList))
210 return acc
211
212

◆ PLR_OverlayDigitizationBasicCfg()

PLR_DigitizationConfig.PLR_OverlayDigitizationBasicCfg ( flags,
** kwargs )
Return ComponentAccumulator with PLR Overlay digitization

Definition at line 223 of file PLR_DigitizationConfig.py.

223def PLR_OverlayDigitizationBasicCfg(flags, **kwargs):
224 """Return ComponentAccumulator with PLR Overlay digitization"""
225 acc = ComponentAccumulator()
226 if flags.Common.ProductionStep != ProductionStep.FastChain:
227 from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
228 acc.merge(SGInputLoaderCfg(flags, ["SiHitCollection#PLR_Hits"]))
229
230 if "DigitizationTool" not in kwargs:
231 tool = acc.popToolsAndMerge(PLR_OverlayDigitizationToolCfg(flags))
232 kwargs["DigitizationTool"] = tool
233
234 if flags.Concurrency.NumThreads > 0:
235 kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
236
237 # Set common overlay extra inputs
238 kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
239 acc.addEventAlgo(CompFactory.PixelDigitization(name="PLR_OverlayDigitization", **kwargs))
240 return acc
241
242
243# with output defaults

◆ PLR_OverlayDigitizationToolCfg()

PLR_DigitizationConfig.PLR_OverlayDigitizationToolCfg ( flags,
name = "PLR_OverlayDigitizationTool",
** kwargs )
Return ComponentAccumulator with PixelDigitizationTool configured for overlay

Definition at line 183 of file PLR_DigitizationConfig.py.

183def PLR_OverlayDigitizationToolCfg(flags, name="PLR_OverlayDigitizationTool", **kwargs):
184 """Return ComponentAccumulator with PixelDigitizationTool configured for overlay"""
185 kwargs.setdefault("OnlyUseContainerName", False)
186 kwargs.setdefault("RDOCollName", flags.Overlay.SigPrefix + "PLR_RDOs")
187 kwargs.setdefault("SDOCollName", flags.Overlay.SigPrefix + "PLR_SDO_Map")
188 kwargs.setdefault("HardScatterSplittingMode", 0)
189 return PLR_DigitizationBasicToolCfg(flags, name, **kwargs)
190
191

◆ PLR_RangeCfg()

PLR_DigitizationConfig.PLR_RangeCfg ( flags,
name = "PLR_Range",
** kwargs )
Return a configured PileUpXingFolder tool

Definition at line 192 of file PLR_DigitizationConfig.py.

192def PLR_RangeCfg(flags, name="PLR_Range", **kwargs):
193 """Return a configured PileUpXingFolder tool"""
194 kwargs.setdefault("FirstXing", PLR_FirstXing(flags))
195 kwargs.setdefault("LastXing", PLR_LastXing(flags))
196 kwargs.setdefault("CacheRefreshFrequency", 1.0) # default 0 no dataproxy reset
197 kwargs.setdefault("ItemList", ["SiHitCollection#PLR_Hits"])
198 return PileUpXingFolderCfg(flags, name, **kwargs)
199
200

◆ PLR_RD53SimToolCfg()

PLR_DigitizationConfig.PLR_RD53SimToolCfg ( flags,
name = "PLR_RD53SimTool",
** kwargs )
Return a RD53SimTool configured for PLR

Definition at line 53 of file PLR_DigitizationConfig.py.

53def PLR_RD53SimToolCfg(flags, name="PLR_RD53SimTool", **kwargs):
54 """Return a RD53SimTool configured for PLR"""
55 acc = PLR_ReadoutManagerCfg(flags)
56 acc.merge(PLR_ConfigCondAlgCfg(flags))
57 acc.merge(PLR_ChargeCalibCondAlgCfg(flags))
58 kwargs.setdefault("BarrelEC", 4)
59 kwargs.setdefault("DoNoise", flags.Digitization.DoInnerDetectorNoise)
60 kwargs.setdefault("PixelReadoutManager", acc.getPrimary())
61 kwargs.setdefault("PixelChargeCalibCondData", "PLR_ChargeCalibCondData")
62 kwargs.setdefault("PixelConditionsSummaryTool", acc.popToolsAndMerge(PLR_ConditionsSummaryCfg(flags)))
63 kwargs.setdefault("DoTimeWalk", False)
64 acc.setPrivateTools(CompFactory.RD53SimTool(name, **kwargs))
65 return acc
66
67

◆ PLR_SensorSim3DToolCfg()

PLR_DigitizationConfig.PLR_SensorSim3DToolCfg ( flags,
name = "PLR_SensorSim3DTool",
** kwargs )
Return ComponentAccumulator with configured SensorSim3DTool for PLR

Definition at line 83 of file PLR_DigitizationConfig.py.

83def PLR_SensorSim3DToolCfg(flags, name="PLR_SensorSim3DTool", **kwargs):
84 """Return ComponentAccumulator with configured SensorSim3DTool for PLR"""
85 acc = PLR_ConfigCondAlgCfg(flags)
86 kwargs.setdefault("SiPropertiesTool", acc.popToolsAndMerge(PLR_SiPropertiesToolCfg(flags)))
87 kwargs.setdefault("PixelModuleData", "PLR_ModuleData")
88 kwargs.setdefault("RadiationDamageSimulationType", flags.Digitization.Pixel3DRadiationDamageSimulationType.value)
89 kwargs.setdefault("DigitizeITk3Das3D", False)
90 if flags.Digitization.Pixel3DRadiationDamageSimulationType is not PixelRadiationDamageSimulationType.NoRadiationDamage:
91 # acc.merge(PLR_RadSimFluenceMapAlgCfg(flags)) # TODO: not supported yet
92 pass
93 acc.setPrivateTools(CompFactory.SensorSim3DTool(name, **kwargs))
94 return acc
95
96

◆ PLR_SensorSimPlanarToolCfg()

PLR_DigitizationConfig.PLR_SensorSimPlanarToolCfg ( flags,
name = "PLR_SensorSimPlanarTool",
** kwargs )
Return ComponentAccumulator with configured SensorSimPlanarTool for PLR

Definition at line 68 of file PLR_DigitizationConfig.py.

68def PLR_SensorSimPlanarToolCfg(flags, name="PLR_SensorSimPlanarTool", **kwargs):
69 """Return ComponentAccumulator with configured SensorSimPlanarTool for PLR"""
70 acc = PLR_ConfigCondAlgCfg(flags)
71 kwargs.setdefault("SiPropertiesTool", acc.popToolsAndMerge(PLR_SiPropertiesToolCfg(flags)))
72 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(PLR_LorentzAngleToolCfg(flags)))
73 kwargs.setdefault("PixelModuleData", "PLR_ModuleData")
74 kwargs.setdefault("RadiationDamageSimulationType", flags.Digitization.PixelPlanarRadiationDamageSimulationType.value)
75 kwargs.setdefault("DigitizeITk3Das3D", False)
76 if flags.Digitization.PixelPlanarRadiationDamageSimulationType is not PixelRadiationDamageSimulationType.NoRadiationDamage:
77 # acc.merge(PLR_RadSimFluenceMapAlgCfg(flags)) # TODO: not supported yet
78 pass
79 acc.setPrivateTools(CompFactory.SensorSimPlanarTool(name, **kwargs))
80 return acc
81
82