ATLAS Offline Software
Loading...
Searching...
No Matches
TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig Class Reference
Collaboration diagram for TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig:

Public Member Functions

 __init__ (self, flags, name, triggerList=[], OutputLevel=0, ElectronTriggerList=single_electron_triggers, PhotonTriggerList=single_photon_triggers)
 core (self)
 update (self)
 configure (self)
 setupChain (self, trigger)
 setupL1Calo (self, name, info)

Public Attributes

 flags = flags
 name = name
 TriggerList = triggerList
 OutputLevel = OutputLevel
 ElectronTriggerList = ElectronTriggerList
 PhotonTriggerList = PhotonTriggerList
 ElectronCBConfigFilePath = None
 ElectronDNNConfigFilePath = None
 ElectronLHConfigFilePath = None
 FastCaloConfigFilePath = None
 PhotonCBConfigFilePath = None

Private Attributes

list __chains = []
list __configured_triggers = []
 __emulator

Detailed Description

Definition at line 11 of file TrigEgammaEmulationToolConfigMT.py.

Constructor & Destructor Documentation

◆ __init__()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__init__ ( self,
flags,
name,
triggerList = [],
OutputLevel = 0,
ElectronTriggerList = single_electron_triggers,
PhotonTriggerList = single_photon_triggers )

Definition at line 16 of file TrigEgammaEmulationToolConfigMT.py.

19 PhotonTriggerList = single_photon_triggers):
20
21 self.flags = flags
22 self.name = name
23 self.__chains = []
24 self.TriggerList = triggerList
25 self.OutputLevel = OutputLevel
26 self.ElectronTriggerList = ElectronTriggerList
27 self.PhotonTriggerList = PhotonTriggerList
28
29 # force cofnig file path
30 self.ElectronCBConfigFilePath = None
31 self.ElectronDNNConfigFilePath = None
32 self.ElectronLHConfigFilePath = None
33 self.FastCaloConfigFilePath = None
34 self.PhotonCBConfigFilePath = None
35
36 self.__configured_triggers = []
37
38

Member Function Documentation

◆ configure()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.configure ( self)

Definition at line 54 of file TrigEgammaEmulationToolConfigMT.py.

54 def configure(self):
55
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
61
62
63 # create the emulator tool
64 self.__emulator = CompFactory.Trig.TrigEgammaEmulationToolMT( self.name,
65 ElectronTriggerList = self.ElectronTriggerList,
66 PhotonTriggerList = self.PhotonTriggerList )
67
68 # NOTE: will be adapt next
69 self.__emulator.RingerTools = createTrigEgammaFastCaloSelectors(ConfigFilePath = self.FastCaloConfigFilePath)
70 self.__emulator.ElectronLHSelectorTools = TrigEgammaPrecisionElectronLHSelectorCfg(ConfigFilePath = self.ElectronLHConfigFilePath).getPublicTools()
71 self.__emulator.ElectronCBSelectorTools = TrigEgammaPrecisionElectronCBSelectorCfg(ConfigFilePath = self.ElectronCBConfigFilePath).getPublicTools()
72 self.__emulator.ElectronDNNSelectorTools = TrigEgammaPrecisionElectronDNNSelectorCfg(ConfigFilePath = self.ElectronDNNConfigFilePath).getPublicTools()
73 self.__emulator.PhotonCBSelectorTools = createTrigEgammaPrecisionPhotonSelectors(ConfigFilePath = self.PhotonCBConfigFilePath)
74 for tool in self.__emulator.ElectronDNNSelectorTools:
75 tool.skipAmbiguityCut =True
76 for tool in self.__emulator.ElectronLHSelectorTools:
77 tool.skipDeltaPoverP = True
78
bool configure(asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > &tool, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronEffToolsHandles, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronSFToolsHandles, ToolHandleArray< CP::IMuonTriggerScaleFactors > &muonToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonEffToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonSFToolsHandles, const std::string &triggers, const std::map< std::string, std::string > &legsPerTool, unsigned long nToys, bool debug)

◆ core()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.core ( self)

Definition at line 39 of file TrigEgammaEmulationToolConfigMT.py.

39 def core(self):
40 self.update()
41 return self.__emulator
42
43

◆ setupChain()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.setupChain ( self,
trigger )

Definition at line 82 of file TrigEgammaEmulationToolConfigMT.py.

82 def setupChain( self, trigger ):
83
84 import cppyy
85 cppyy.load_library('libElectronPhotonSelectorToolsDict')
86
87 from TriggerMenuMT.HLT.Config.Utility.DictFromChainName import dictFromChainName
88 d = dictFromChainName(self.flags, trigger)
89
90 signature = d['signatures'][0]
91
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
99
100 # Configure L1Calo
101 L1CaloTool = self.setupL1Calo(trigger + "_Step0" , d)
102 sequence = list()
103 # Configure HLT
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'))
110 if isEtCut:
111 sequence = [FastCaloTool, FastTool, PrecisionCaloTool]
112 elif isIdperf:
113 PrecisionTrackingTool = TrigEgammaPrecisionTrackingHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionTrackingHypoTool(trigger+'_Step4'))
114 sequence = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTrackingTool]
115 else:
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'))
122 if isEtCut:
123 sequence = [FastCaloTool, FastTool, PrecisionCaloTool]
124 else:
125 PrecisionTool = TrigEgammaPrecisionPhotonHypoToolFromDict(d, tool = CompFactory.Trig.TrigEgammaEmulationPrecisionPhotonHypoTool(trigger+'_Step5'))
126 sequence = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTool]
127
128 chain = CompFactory.Trig.TrigEgammaEmulationChain(
129 name = trigger,
130 L1Seed = L1CaloTool,
131 # Steps = [FastCaloTool, FastTool, PrecisionCaloTool, PrecisionTrackingTool, PrecisionTool],
132 Steps = sequence,
133 Chain = trigger,
134 Signature = signature.lower(),
135 OutputLevel = self.OutputLevel
136 )
137
138 return chain
139
140
141

◆ setupL1Calo()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.setupL1Calo ( self,
name,
info )

Definition at line 145 of file TrigEgammaEmulationToolConfigMT.py.

145 def setupL1Calo( self, name , info):
146
147 from AthenaConfiguration.ComponentFactory import CompFactory
148 import re
149
150 #chainName = info['chainName']
151 L1Item = info['chainParts'][0]['L1threshold']
152 L1thr = float( re.findall(r'\d+', L1Item)[0] )
153 wp = 0 # default
154
155 # [Default, Tight , Medium, Loose ]
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. ]
162
163 # Configure L1
164 L1CaloTool = CompFactory.Trig.TrigEgammaEmulationL1CaloHypoTool(
165 name = name,
166 L1Item = L1Item,
167 L1Thr = L1thr,
168 HadCoreCutMin = HadCoreCutMin[wp],
169 HadCoreCutOff = HadCoreCutOff[wp],
170 HadCoreSlope = HadCoreSlope[wp],
171 EmIsolCutMin = EmIsolCutMin[wp],
172 EmIsolCutOff = EmIsolCutOff[wp],
173 EmIsolSlope = EmIsolSlope[wp],
174 IsolCutMax = 50,
175 OutputLevel = self.OutputLevel)
176
177 return L1CaloTool
178
179
180
181
182
183
184
185

◆ update()

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.update ( self)

Definition at line 44 of file TrigEgammaEmulationToolConfigMT.py.

44 def update(self):
45 for trigger in self.TriggerList:
46 if trigger not in self.__configured_triggers:
47 hypo = self.setupChain(trigger)
48 self.__emulator.HypoTools += [hypo]
49 self.__configured_triggers += trigger
50

Member Data Documentation

◆ __chains

list TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__chains = []
private

Definition at line 23 of file TrigEgammaEmulationToolConfigMT.py.

◆ __configured_triggers

list TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__configured_triggers = []
private

Definition at line 36 of file TrigEgammaEmulationToolConfigMT.py.

◆ __emulator

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__emulator
private
Initial value:
= CompFactory.Trig.TrigEgammaEmulationToolMT( self.name,
ElectronTriggerList = self.ElectronTriggerList,
PhotonTriggerList = self.PhotonTriggerList )

Definition at line 64 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronCBConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronCBConfigFilePath = None

Definition at line 30 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronDNNConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronDNNConfigFilePath = None

Definition at line 31 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronLHConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronLHConfigFilePath = None

Definition at line 32 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronTriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronTriggerList = ElectronTriggerList

Definition at line 26 of file TrigEgammaEmulationToolConfigMT.py.

◆ FastCaloConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.FastCaloConfigFilePath = None

Definition at line 33 of file TrigEgammaEmulationToolConfigMT.py.

◆ flags

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.flags = flags

Definition at line 21 of file TrigEgammaEmulationToolConfigMT.py.

◆ name

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.name = name

Definition at line 22 of file TrigEgammaEmulationToolConfigMT.py.

◆ OutputLevel

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.OutputLevel = OutputLevel

Definition at line 25 of file TrigEgammaEmulationToolConfigMT.py.

◆ PhotonCBConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.PhotonCBConfigFilePath = None

Definition at line 34 of file TrigEgammaEmulationToolConfigMT.py.

◆ PhotonTriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.PhotonTriggerList = PhotonTriggerList

Definition at line 27 of file TrigEgammaEmulationToolConfigMT.py.

◆ TriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.TriggerList = triggerList

Definition at line 24 of file TrigEgammaEmulationToolConfigMT.py.


The documentation for this class was generated from the following file: