56 from TrigEgammaHypo.TrigEgammaFastCaloHypoTool
import createTrigEgammaFastCaloSelectors
57 from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool
import createTrigEgammaPrecisionPhotonSelectors
58 from TrigEgammaHypo.TrigEgammaPrecisionElectronHypoTool
import TrigEgammaPrecisionElectronCBSelectorCfg
59 from TrigEgammaHypo.TrigEgammaPrecisionElectronHypoTool
import TrigEgammaPrecisionElectronLHSelectorCfg
60 from TrigEgammaHypo.TrigEgammaPrecisionElectronHypoTool
import TrigEgammaPrecisionElectronDNNSelectorCfg
74 for tool
in self.
__emulator.ElectronDNNSelectorTools:
75 tool.skipAmbiguityCut =
True
76 for tool
in self.
__emulator.ElectronLHSelectorTools:
77 tool.skipDeltaPoverP =
True
85 cppyy.load_library(
'libElectronPhotonSelectorToolsDict')
87 from TriggerMenuMT.HLT.Config.Utility.DictFromChainName
import dictFromChainName
88 d = dictFromChainName(self.
flags, trigger)
90 signature = d[
'signatures'][0]
92 from TrigEgammaHypo.TrigEgammaFastCaloHypoTool
import TrigEgammaFastCaloHypoToolFromDict
93 from TrigEgammaHypo.TrigEgammaFastElectronHypoTool
import TrigEgammaFastElectronHypoToolFromDict
94 from TrigEgammaHypo.TrigEgammaFastPhotonHypoTool
import TrigEgammaFastPhotonHypoToolFromDict
95 from TrigEgammaHypo.TrigEgammaPrecisionCaloHypoTool
import TrigEgammaPrecisionCaloHypoToolFromDict
96 from TrigEgammaHypo.TrigEgammaPrecisionElectronHypoTool
import TrigEgammaPrecisionElectronHypoToolFromDict
97 from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool
import TrigEgammaPrecisionPhotonHypoToolFromDict
98 from TrigEgammaHypo.TrigEgammaPrecisionTrackingHypoTool
import TrigEgammaPrecisionTrackingHypoToolFromDict
101 L1CaloTool = self.
setupL1Calo(trigger +
"_Step0" , d)
104 FastCaloTool = TrigEgammaFastCaloHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationFastCaloHypoTool(trigger+
'_Step1') )
105 PrecisionCaloTool = TrigEgammaPrecisionCaloHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionCaloHypoTool(trigger+
'_Step3'))
106 if signature ==
'Electron':
107 isEtCut = bool(d[
'chainParts'][0][
'addInfo'])
108 isIdperf = bool(d[
'chainParts'][0][
'idperfInfo'])
109 FastTool = TrigEgammaFastElectronHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationFastElectronHypoTool(trigger+
'_Step2'))
111 sequence = [FastCaloTool, FastTool, PrecisionCaloTool]
113 PrecisionTrackingTool = TrigEgammaPrecisionTrackingHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionTrackingHypoTool(trigger+
'_Step4'))
114 sequence = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTrackingTool]
116 PrecisionTrackingTool = TrigEgammaPrecisionTrackingHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionTrackingHypoTool(trigger+
'_Step4'))
117 PrecisionTool = TrigEgammaPrecisionElectronHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionElectronHypoTool(trigger+
'_Step5'))
118 sequence = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTrackingTool, PrecisionTool]
119 elif signature ==
'Photon':
120 isEtCut = bool(d[
'chainParts'][0][
'addInfo'])
121 FastTool = TrigEgammaFastPhotonHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationFastPhotonHypoTool(trigger+
'_Step2'))
123 sequence = [FastCaloTool, FastTool, PrecisionCaloTool]
125 PrecisionTool = TrigEgammaPrecisionPhotonHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionPhotonHypoTool(trigger+
'_Step5'))
126 sequence = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTool]
128 chain = CompFactory.Trig.TrigEgammaEmulationChain(
134 Signature = signature.lower(),
147 from AthenaConfiguration.ComponentFactory
import CompFactory
151 L1Item = info[
'chainParts'][0][
'L1threshold']
152 L1thr = float( re.findall(
r'\d+', L1Item)[0] )
156 HadCoreCutMin = [ 1.0 , 1.0 , 1.0 , 1.0 ]
157 HadCoreCutOff = [-0.2 , -0,2 , -0.2 , -0.2 ]
158 HadCoreSlope = [ 1/23. , 1/23., 1/23., 1/23.]
159 EmIsolCutMin = [ 2.0 , 1.0 , 1.0 , 1.5 ]
160 EmIsolCutOff = [-1.8 , -2.6 , -2.0 , -1.8 ]
161 EmIsolSlope = [ 1/8. , 1/8. , 1/8. , 1/8. ]
164 L1CaloTool = CompFactory.Trig.TrigEgammaEmulationL1CaloHypoTool(
168 HadCoreCutMin = HadCoreCutMin[wp],
169 HadCoreCutOff = HadCoreCutOff[wp],
170 HadCoreSlope = HadCoreSlope[wp],
171 EmIsolCutMin = EmIsolCutMin[wp],
172 EmIsolCutOff = EmIsolCutOff[wp],
173 EmIsolSlope = EmIsolSlope[wp],