ATLAS Offline Software
Loading...
Searching...
No Matches
python.EGammaToolsConfig Namespace Reference

Functions

 PhotonsDirectionToolCfg (flags, name, **kwargs)
 EGSelectionToolWrapperCfg (flags, name, **kwargs)
 EGElectronLikelihoodToolWrapperCfg (flags, name, **kwargs)
 EGPhotonBDTToolWrapperCfg (flags, name, **kwargs)
 EGPhotonCleaningWrapperCfg (flags, name, **kwargs)
 EGElectronAmbiguityToolCfg (flags, name, **kwargs)
 BkgElectronClassificationCfg (flags, name, **kwargs)
 ElectronMergerCfg (flags, name, **kwargs)
 PhotonVertexSelectionWrapperCfg (flags, name="PhotonVertexSelectionWrapper", **kwargs)
 PhotonVertexSelectionWrapperKernelCfg (flags, name="PhotonVertexSelectionWrapperKernel", **kwargs)
 EGammaCookieCutClusterToolCfg (flags, name='EGCookieCutTool', **kwargs)
 EGammaEnergyCalibrationWrapperCfg (flags, name="TransformerEnergyCalibration", **kwargs)

Function Documentation

◆ BkgElectronClassificationCfg()

python.EGammaToolsConfig.BkgElectronClassificationCfg ( flags,
name,
** kwargs )
Configure the background electron classification tool

Definition at line 92 of file EGammaToolsConfig.py.

92def BkgElectronClassificationCfg(flags, name, **kwargs):
93 """Configure the background electron classification tool"""
94 acc = ComponentAccumulator()
95 from MCTruthClassifier.MCTruthClassifierConfig import DFCommonMCTruthClassifierCfg
96 kwargs.setdefault("MCTruthClassifierTool", acc.popToolsAndMerge(
97 DFCommonMCTruthClassifierCfg(flags)))
98 acc.setPrivateTools(CompFactory.DerivationFramework.BkgElectronClassification(name, **kwargs))
99 return acc
100
101
102# Standard + LRT electron collection merger

◆ EGammaCookieCutClusterToolCfg()

python.EGammaToolsConfig.EGammaCookieCutClusterToolCfg ( flags,
name = 'EGCookieCutTool',
** kwargs )

Definition at line 148 of file EGammaToolsConfig.py.

148def EGammaCookieCutClusterToolCfg(flags, name = 'EGCookieCutTool', **kwargs):
149 acc = ComponentAccumulator()
150 # needed for reading cells, do not rely on other config to do that
151 from LArGeoAlgsNV.LArGMConfig import LArGMCfg
152 acc.merge(LArGMCfg(flags))
153 from TileGeoModel.TileGMConfig import TileGMCfg
154 acc.merge(TileGMCfg(flags))
155
156 clusterKey = kwargs.setdefault("ClusterContainerName", "ForwardElectronCookieCutClusters")
157 kwargs.setdefault("ClusterContainerLinksName", clusterKey + "_links")
158 #These two properties need to be in sync
159 if kwargs["ClusterContainerLinksName"] != (clusterKey + "_links"):
160 raise AttributeError("ClusterContainerLinksName ({}) is not syncrhonised with ClusterContainerName ({})".format(kwargs["ClusterContainerLinksName"], clusterKey))
161 kwargs.setdefault('StoreCookedMoments', False)
162 kwargs.setdefault('StoreInputMoments', False)
163 kwargs.setdefault("SGKey_electrons", flags.Egamma.Keys.Output.ForwardElectrons)
164 momentNames = [
165 "CENTER_X", "CENTER_Y", "CENTER_Z",
166 "SECOND_LAMBDA", "LATERAL", "LONGITUDINAL", "ENG_FRAC_MAX",
167 "SECOND_R", "CENTER_LAMBDA", "SECOND_ENG_DENS", "SIGNIFICANCE" ]
168 import ROOT
169 moments = [
170 ROOT.xAOD.CaloCluster.CENTER_X, ROOT.xAOD.CaloCluster.CENTER_Y, ROOT.xAOD.CaloCluster.CENTER_Z,
171 ROOT.xAOD.CaloCluster.SECOND_LAMBDA, ROOT.xAOD.CaloCluster.LATERAL, ROOT.xAOD.CaloCluster.LONGITUDINAL, ROOT.xAOD.CaloCluster.ENG_FRAC_MAX,
172 ROOT.xAOD.CaloCluster.SECOND_R, ROOT.xAOD.CaloCluster.CENTER_LAMBDA, ROOT.xAOD.CaloCluster.SECOND_ENG_DENS, ROOT.xAOD.CaloCluster.SIGNIFICANCE ]
173 kwargs.setdefault("MomentNames", momentNames)
174 kwargs.setdefault("Moments", moments)
175 cookedMoments = [ "cookiecut" + moment for moment in momentNames] if kwargs['StoreCookedMoments'] else []
176 originalMoments = [ "original" + moment for moment in momentNames] if kwargs['StoreInputMoments'] else []
177 electronDecorations = [i for sublist in zip(cookedMoments, originalMoments) for i in sublist]
178 electronDecorations += ["cookiecutClusterLink"]
179 kwargs.setdefault("SGKey_electrons_decorations", electronDecorations)
180
181 from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg
182 acc.merge(CaloNoiseCondAlgCfg(flags,"totalNoise"))
183 from CaloRec.CaloTopoClusterConfig import getTopoMoments
184 momentsMaker = acc.popToolsAndMerge(getTopoMoments(flags))
185 kwargs.setdefault("ClusterMomentMaker",[momentsMaker])
186
187 acc.setPrivateTools(
188 CompFactory.DerivationFramework.EGammaCookieCutClusterTool(
189 name, **kwargs))
190 return acc
191

◆ EGammaEnergyCalibrationWrapperCfg()

python.EGammaToolsConfig.EGammaEnergyCalibrationWrapperCfg ( flags,
name = "TransformerEnergyCalibration",
** kwargs )

Definition at line 192 of file EGammaToolsConfig.py.

195 **kwargs):
196 acc = ComponentAccumulator()
197
198 from egammaTransformerCalib.egammaTransformerCalibConfig import egammaTransformerSvcCfg
199
200 kwargs.setdefault("ElectronContainerName", "Electrons")
201 kwargs.setdefault("PhotonContainerName", "Photons")
202 kwargs.setdefault("decoratorTransformerEnergy", "TransformerEnergy")
203 kwargs.setdefault("decoratorTransformerEnergyPhoton", "TransformerEnergy")
204 kwargs.setdefault("TransformerCalibSvc", acc.getPrimaryAndMerge(egammaTransformerSvcCfg(flags)))
205
206 acc.setPrivateTools(CompFactory.DerivationFramework.EGammaEnergyCalibrationWrapper(name, **kwargs))
207
208 return acc

◆ EGElectronAmbiguityToolCfg()

python.EGammaToolsConfig.EGElectronAmbiguityToolCfg ( flags,
name,
** kwargs )
Configure the electron ambiguity tool

Definition at line 83 of file EGammaToolsConfig.py.

83def EGElectronAmbiguityToolCfg(flags, name, **kwargs):
84 """Configure the electron ambiguity tool"""
85 acc = ComponentAccumulator()
86 EGElectronAmbiguityTool = CompFactory.DerivationFramework.EGElectronAmbiguityTool
87 acc.setPrivateTools(EGElectronAmbiguityTool(name, **kwargs))
88 return acc
89
90
91# Background electron classification tool

◆ EGElectronLikelihoodToolWrapperCfg()

python.EGammaToolsConfig.EGElectronLikelihoodToolWrapperCfg ( flags,
name,
** kwargs )
Configure the electron likelihood tool wrapper

Definition at line 34 of file EGammaToolsConfig.py.

34def EGElectronLikelihoodToolWrapperCfg(flags, name, **kwargs):
35 """Configure the electron likelihood tool wrapper"""
36 acc = ComponentAccumulator()
37 sgName = kwargs.pop("StoreGateEntryName", "")
38 containerName = kwargs.setdefault("ContainerName", "")
39 if not sgName:
40 raise AttributeError("StoreGateEntryName not set")
41 if not containerName:
42 raise AttributeError("ContainerName empty string")
43 storeTResult = kwargs.setdefault("StoreTResult", False)
44 storeMultipleOutputs = kwargs.setdefault("StoreMultipleOutputs", False)
45 sgMultipleNames = kwargs.pop("StoreGateEntryMultipleNames", [])
46 # Write decoration handle keys
47 kwargs.setdefault("decoratorPass", sgName)
48 kwargs.setdefault("decoratorIsEM", sgName + "IsEMValue")
49 kwargs.setdefault("decoratorResult", sgName + "Result" if storeTResult else "")
50 kwargs.setdefault("decoratorMultipleOutputs", sgMultipleNames if storeMultipleOutputs else [])
51 acc.setPrivateTools(CompFactory.DerivationFramework.EGElectronLikelihoodToolWrapper(name, **kwargs))
52 return acc
53
54# Photon BDT selection tool wrapper

◆ EGPhotonBDTToolWrapperCfg()

python.EGammaToolsConfig.EGPhotonBDTToolWrapperCfg ( flags,
name,
** kwargs )
Configure the E-gamma selection tool wrapper

Definition at line 55 of file EGammaToolsConfig.py.

55def EGPhotonBDTToolWrapperCfg(flags, name, **kwargs):
56 """Configure the E-gamma selection tool wrapper"""
57 acc = ComponentAccumulator()
58 sgName = kwargs.pop("StoreGateEntryName", "")
59 if not sgName:
60 raise AttributeError("StoreGateEntryName not set")
61 wpName = kwargs.pop("WorkingPointName", "")
62 if not wpName:
63 raise AttributeError("WorkingPointName not set")
64 kwargs.setdefault("decoratorPass", sgName+wpName)
65 kwargs.setdefault("decoratorIsEM", sgName+wpName + "IsEMValue")
66 kwargs.setdefault("decoratorScore", sgName + "Score")
67 acc.setPrivateTools(CompFactory.DerivationFramework.EGPhotonBDTToolWrapper(name, **kwargs))
68 return acc
69
70# Photon cleaning tool wrapper

◆ EGPhotonCleaningWrapperCfg()

python.EGammaToolsConfig.EGPhotonCleaningWrapperCfg ( flags,
name,
** kwargs )
Configure the photon cleaning tool wrapper

Definition at line 71 of file EGammaToolsConfig.py.

71def EGPhotonCleaningWrapperCfg(flags, name, **kwargs):
72 """Configure the photon cleaning tool wrapper"""
73 acc = ComponentAccumulator()
74 sgName = kwargs.pop("StoreGateEntryName", "DFCommonPhotonsCleaning")
75 # Write decoration handle keys
76 kwargs.setdefault("decoratorPass", sgName)
77 kwargs.setdefault("decoratorPassDelayed", sgName + "NoTime")
78 acc.setPrivateTools(CompFactory.DerivationFramework.EGPhotonCleaningWrapper(name, **kwargs))
79 return acc
80
81
82# Electron ambiguity tool

◆ EGSelectionToolWrapperCfg()

python.EGammaToolsConfig.EGSelectionToolWrapperCfg ( flags,
name,
** kwargs )
Configure the E-gamma selection tool wrapper

Definition at line 21 of file EGammaToolsConfig.py.

21def EGSelectionToolWrapperCfg(flags, name, **kwargs):
22 """Configure the E-gamma selection tool wrapper"""
23 acc = ComponentAccumulator()
24 sgName = kwargs.pop("StoreGateEntryName", "")
25 if not sgName:
26 raise AttributeError("StoreGateEntryName not set")
27 kwargs.setdefault("decoratorPass", sgName)
28 kwargs.setdefault("decoratorIsEM", sgName + "IsEMValue")
29 acc.setPrivateTools(CompFactory.DerivationFramework.EGSelectionToolWrapper(name, **kwargs))
30 return acc
31
32
33# Electron likelihood tool wrapper

◆ ElectronMergerCfg()

python.EGammaToolsConfig.ElectronMergerCfg ( flags,
name,
** kwargs )
Configure the track particle merger tool

Definition at line 103 of file EGammaToolsConfig.py.

103def ElectronMergerCfg(flags, name, **kwargs): # TODO Remove as, no clients??
104 """Configure the track particle merger tool"""
105 acc = ComponentAccumulator()
106 ElectronMerger = CompFactory.DerivationFramework.ElectronMergerTool
107 acc.setPrivateTools(ElectronMerger(name, **kwargs))
108 return acc
109
110

◆ PhotonsDirectionToolCfg()

python.EGammaToolsConfig.PhotonsDirectionToolCfg ( flags,
name,
** kwargs )
Configure the PhotonsDirectionTool

Definition at line 13 of file EGammaToolsConfig.py.

13def PhotonsDirectionToolCfg(flags, name, **kwargs):
14 """Configure the PhotonsDirectionTool"""
15 acc = ComponentAccumulator()
16 acc.setPrivateTools(CompFactory.DerivationFramework.PhotonsDirectionTool(name, **kwargs))
17 return acc
18
19
20# E-gamma selection tool wrapper

◆ PhotonVertexSelectionWrapperCfg()

python.EGammaToolsConfig.PhotonVertexSelectionWrapperCfg ( flags,
name = "PhotonVertexSelectionWrapper",
** kwargs )

Definition at line 111 of file EGammaToolsConfig.py.

112 flags, name="PhotonVertexSelectionWrapper", **kwargs):
113 acc = ComponentAccumulator()
114 prefix = kwargs.pop("DecorationPrefix", "")
115 if prefix: prefix += "_"
116 kwargs.setdefault("pt", prefix + "pt")
117 kwargs.setdefault("eta", prefix + "eta")
118 kwargs.setdefault("phi", prefix + "phi")
119 kwargs.setdefault("sumPt", prefix + "sumPt")
120 kwargs.setdefault("sumPt2", prefix + "sumPt2")
121
122 if "PhotonPointingTool" not in kwargs:
123 from PhotonVertexSelection.PhotonVertexSelectionConfig import (
124 PhotonPointingToolCfg)
125 kwargs.setdefault("PhotonPointingTool", acc.popToolsAndMerge(
126 PhotonPointingToolCfg(flags)))
127
128 acc.setPrivateTools(
129 CompFactory.DerivationFramework.PhotonVertexSelectionWrapper(
130 name, **kwargs))
131 return acc
132
133

◆ PhotonVertexSelectionWrapperKernelCfg()

python.EGammaToolsConfig.PhotonVertexSelectionWrapperKernelCfg ( flags,
name = "PhotonVertexSelectionWrapperKernel",
** kwargs )

Definition at line 134 of file EGammaToolsConfig.py.

135 flags, name="PhotonVertexSelectionWrapperKernel", **kwargs):
136 acc = ComponentAccumulator()
137
138 augmentationTools = [
139 acc.addPublicTool(acc.popToolsAndMerge(PhotonVertexSelectionWrapperCfg(flags)))
140 ]
141 kwargs.setdefault("AugmentationTools", augmentationTools)
142
143 acc.addEventAlgo(
144 CompFactory.DerivationFramework.DerivationKernel(name, **kwargs))
145 return acc
146
147