ATLAS Offline Software
Public Member Functions | Public Attributes | Private Attributes | List of all members
TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig Class Reference
Collaboration diagram for TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig:

Public Member Functions

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

Public Attributes

 flags
 
 name
 
 TriggerList
 
 OutputLevel
 
 ElectronTriggerList
 
 PhotonTriggerList
 
 ElectronCBConfigFilePath
 
 ElectronDNNConfigFilePath
 
 ElectronLHConfigFilePath
 
 FastCaloConfigFilePath
 
 PhotonCBConfigFilePath
 

Private Attributes

 __chains
 
 __configured_triggers
 
 __emulator
 

Detailed Description

Definition at line 11 of file TrigEgammaEmulationToolConfigMT.py.

Constructor & Destructor Documentation

◆ __init__()

def 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.

16  def __init__(self, flags, name, triggerList = [],
17  OutputLevel = 0,
18  ElectronTriggerList = single_electron_triggers,
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()

def 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 

◆ core()

def 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()

def 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()

def 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()

def 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

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__chains
private

Definition at line 20 of file TrigEgammaEmulationToolConfigMT.py.

◆ __configured_triggers

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__configured_triggers
private

Definition at line 33 of file TrigEgammaEmulationToolConfigMT.py.

◆ __emulator

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.__emulator
private

Definition at line 64 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronCBConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronCBConfigFilePath

Definition at line 27 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronDNNConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronDNNConfigFilePath

Definition at line 28 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronLHConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronLHConfigFilePath

Definition at line 29 of file TrigEgammaEmulationToolConfigMT.py.

◆ ElectronTriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.ElectronTriggerList

Definition at line 23 of file TrigEgammaEmulationToolConfigMT.py.

◆ FastCaloConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.FastCaloConfigFilePath

Definition at line 30 of file TrigEgammaEmulationToolConfigMT.py.

◆ flags

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.flags

Definition at line 18 of file TrigEgammaEmulationToolConfigMT.py.

◆ name

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.name

Definition at line 19 of file TrigEgammaEmulationToolConfigMT.py.

◆ OutputLevel

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.OutputLevel

Definition at line 22 of file TrigEgammaEmulationToolConfigMT.py.

◆ PhotonCBConfigFilePath

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.PhotonCBConfigFilePath

Definition at line 31 of file TrigEgammaEmulationToolConfigMT.py.

◆ PhotonTriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.PhotonTriggerList

Definition at line 24 of file TrigEgammaEmulationToolConfigMT.py.

◆ TriggerList

TrigEgammaEmulationToolConfigMT.TrigEgammaEmulationToolConfig.TriggerList

Definition at line 21 of file TrigEgammaEmulationToolConfigMT.py.


The documentation for this class was generated from the following file:
configure
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)
Definition: TrigGlobEffCorrValidation.cxx:514
python.TrigEgammaPrecisionPhotonHypoTool.TrigEgammaPrecisionPhotonHypoToolFromDict
def TrigEgammaPrecisionPhotonHypoToolFromDict(flags, d, tool=None)
Definition: TrigEgammaPrecisionPhotonHypoTool.py:165
python.TrigEgammaFastCaloHypoTool.TrigEgammaFastCaloHypoToolFromDict
def TrigEgammaFastCaloHypoToolFromDict(flags, chainDict, tool=None)
Definition: TrigEgammaFastCaloHypoTool.py:333
python.TrigEgammaPrecisionTrackingHypoTool.TrigEgammaPrecisionTrackingHypoToolFromDict
def TrigEgammaPrecisionTrackingHypoToolFromDict(d, tool=None)
Definition: TrigEgammaPrecisionTrackingHypoTool.py:11
DictFromChainName.dictFromChainName
def dictFromChainName(flags, chainInfo)
Definition: DictFromChainName.py:626
python.TrigEgammaFastElectronHypoTool.TrigEgammaFastElectronHypoToolFromDict
def TrigEgammaFastElectronHypoToolFromDict(flags, chainDict, tool=None)
Definition: TrigEgammaFastElectronHypoTool.py:168
python.TrigEgammaPrecisionElectronHypoTool.TrigEgammaPrecisionElectronLHSelectorCfg
def TrigEgammaPrecisionElectronLHSelectorCfg(flags, name='TrigEgammaPrecisionElectronLHSelector', ConfigFilePath=None, ConfigFileNoPixPath=None, ConfigFileNoGSFPath=None, ConfigFileNoGSFNoPixPath=None)
Definition: TrigEgammaPrecisionElectronHypoTool.py:335
python.TrigEgammaPrecisionCaloHypoTool.TrigEgammaPrecisionCaloHypoToolFromDict
def TrigEgammaPrecisionCaloHypoToolFromDict(flags, d, tool=None)
Definition: TrigEgammaPrecisionCaloHypoTool.py:58
python.TrigEgammaPrecisionElectronHypoTool.TrigEgammaPrecisionElectronDNNSelectorCfg
def TrigEgammaPrecisionElectronDNNSelectorCfg(flags, name='TrigEgammaPrecisionElectronDNNSelector', ConfigFilePath=None)
Definition: TrigEgammaPrecisionElectronHypoTool.py:305
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.TrigEgammaFastPhotonHypoTool.TrigEgammaFastPhotonHypoToolFromDict
def TrigEgammaFastPhotonHypoToolFromDict(flags, chainDict, tool=None)
Definition: TrigEgammaFastPhotonHypoTool.py:138
python.TrigEgammaPrecisionElectronHypoTool.TrigEgammaPrecisionElectronHypoToolFromDict
def TrigEgammaPrecisionElectronHypoToolFromDict(flags, d, tool=None)
Definition: TrigEgammaPrecisionElectronHypoTool.py:294
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.TrigEgammaPrecisionElectronHypoTool.TrigEgammaPrecisionElectronCBSelectorCfg
def TrigEgammaPrecisionElectronCBSelectorCfg(flags, name='TrigEgammaPrecisionElectronCBSelector', ConfigFilePath=None)
Definition: TrigEgammaPrecisionElectronHypoTool.py:392
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
WriteBchToCool.update
update
Definition: WriteBchToCool.py:67
readCCLHist.float
float
Definition: readCCLHist.py:83