Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | List of all members
python.Chains.Chains Class Reference
Collaboration diagram for python.Chains.Chains:

Public Member Functions

def get_menu_dict (self)
 
set get_values (self, list slice_names, str prop)
 
str get_flag_str (self, list slice_names, str prop, str flag_name)
 
str get_selectChains_flag (self, list slice_names)
 
str get_enabledSignatures_flag (self, list slice_names)
 
str get_menu_flag (self, list slice_names)
 
str get_compiled_flag_str (self, list slice_names)
 

Detailed Description

Definition at line 7 of file Chains.py.

Member Function Documentation

◆ get_compiled_flag_str()

str python.Chains.Chains.get_compiled_flag_str (   self,
list  slice_names 
)

Definition at line 219 of file Chains.py.

219  def get_compiled_flag_str(self, slice_names: list) -> str:
220  flags = []
221  flags.append(self.get_flag_str(slice_names, "chains", "selectChains"))
222  flags.append(self.get_flag_str(slice_names, "signature", "enabledSignatures"))
223 
224  mf = self.get_menu_flag(slice_names)
225 
226  if(mf != ''):
227  flags.append(mf)
228 
229  extra = self.get_values(slice_names, "extra")
230  flags += extra
231 
232  return ";".join(flags)
233 

◆ get_enabledSignatures_flag()

str python.Chains.Chains.get_enabledSignatures_flag (   self,
list  slice_names 
)

Definition at line 196 of file Chains.py.

196  def get_enabledSignatures_flag(self, slice_names: list) -> str:
197  return self.get_flag_str(slice_names, "signature", "enabledSignatures")
198 

◆ get_flag_str()

str python.Chains.Chains.get_flag_str (   self,
list  slice_names,
str  prop,
str  flag_name 
)

Definition at line 187 of file Chains.py.

187  def get_flag_str(self, slice_names: list, prop: str, flag_name: str) -> str:
188  values = self.get_values(slice_names, prop)
189 
190  cs = ["'{}'".format(v) for v in values]
191  return "flags.Trigger.{0}=[{1}]".format(flag_name, ",".join(cs))
192 

◆ get_menu_dict()

def python.Chains.Chains.get_menu_dict (   self)

Definition at line 8 of file Chains.py.

8  def get_menu_dict(self):
9  d = {}
10 
11  d["electron"] = {
12  "chains": [
13  'HLT_e26_idperf_loose_L1eEM26M',
14  'HLT_e26_idperf_tight_L1eEM26M',
15  'HLT_e28_idperf_loose_L1eEM28M',
16 
17  'HLT_e5_idperf_tight_L1eEM5',
18  'HLT_e5_idperf_tight_nogsf_L1eEM5',
19 
20  ],
21  "signature": ['Egamma'],
22  "menu": ''
23  }
24 
25  d["electronTnP"] = {
26  "chains": [
27  'HLT_e26_idperf_loose_L1eEM26M',
28  'HLT_e26_lhtight_e14_idperf_tight_nogsf_probe_50invmAB130_L1eEM26M',
29  'HLT_e26_lhtight_e14_idperf_tight_probe_50invmAB130_L1eEM26M',
30  'HLT_e28_idperf_loose_L1eEM28M',
31 
32  ],
33  "signature": ['Egamma'],
34  "menu": ''
35  }
36 
37  d["electronLRT"] = {
38  "chains": [
39  'HLT_e20_idperf_loose_lrtloose_L1eEM18L',
40  'HLT_e26_lhtight_ivarloose_e30_lhloose_nopix_lrtmedium_probe_L1eEM26M',
41  'HLT_e26_lhtight_ivarloose_e5_idperf_loose_lrtloose_probe_L1eEM26M',
42  'HLT_e30_idperf_loose_lrtloose_L1eEM26M',
43  'HLT_e30_lhloose_nopix_lrtmedium_probe_g25_medium_L1eEM24L',
44  'HLT_e5_idperf_loose_lrtloose_probe_g25_medium_L1eEM24L',
45 
46  ],
47  "signature": ['Egamma'],
48  "menu": ''
49  }
50 
51  d["muon"] = {
52  "chains": [
53  'HLT_mu24_idperf_L1MU14FCH',
54  'HLT_mu26_ivarperf_L1MU14FCH',
55 
56  'HLT_mu4_mu4_idperf_1invmAB5_L12MU3VF',
57  'HLT_mu6_idperf_L1MU5VF',
58 
59  ],
60  "signature": ['Muon'],
61  "menu": ''
62  }
63 
64  d["muonTnP"] = {
65  "chains": [
66  'HLT_mu14_mu14_idtp_idZmumu_L12MU8F',
67  'HLT_mu24_idperf_L1MU14FCH',
68 
69  ],
70  "signature": ['Muon'],
71  "menu": ''
72  }
73 
74  d["muonLRT"] = {
75  "chains": [
76  'HLT_mu20_LRT_idperf_L1MU14FCH',
77  'HLT_mu24_idperf_L1MU14FCH',
78 
79  ],
80  "signature": ['Muon'],
81  "menu": ''
82  }
83 
84  d["tau"] = {
85  "chains": [
86  'HLT_tau25_idperf_tracktwoMVA_L1cTAU20M',
87 
88  ],
89  "signature": ['Tau'],
90  "menu": ''
91  }
92 
93  d["tauLRT"] = {
94  "chains": [
95  'HLT_tau25_idperf_trackLRT_L1cTAU20M',
96  'HLT_tau25_idperf_tracktwoLLP_L1cTAU20M',
97 
98  ],
99  "signature": ['Tau'],
100  "menu": 'Dev_pp_run3_v1'
101  }
102 
103  d["FSLRT"] = {
104  "chains": [
105  'HLT_fslrt0_L1jJ160',
106 
107  ],
108  "signature": ['UnconventionalTracking'],
109  "menu": 'Dev_pp_run3_v1'
110  }
111 
112  d["bjet"] = {
113  "chains": [
114  'HLT_j20_roiftf_preselj20_L1RD0_FILLED',
115  'HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1jJ50',
116  'HLT_j80_0eta290_020jvt_boffperf_pf_ftf_L1jJ90',
117 
118  ],
119  "signature": ["Bjet"],
120  "menu": ''
121  }
122 
123  d["fsjet"] = {
124  "chains": [
125  'HLT_j45_0eta290_020jvt_boffperf_pf_ftf_L1jJ50',
126  'HLT_j45_pf_ftf_preselj20_L1jJ40',
127  'HLT_j80_0eta290_020jvt_boffperf_pf_ftf_L1jJ90',
128 
129  ],
130  "signature": ["Jet"],
131  "menu": ''
132  }
133 
134  d["minbias"] = {
135  "chains": [
136  'HLT_mb_sptrk_L1RD0_FILLED',
137 
138  ],
139  "signature": ["MinBias"],
140  "menu": 'PhysicsP1_pp_lowMu_run3_v1'
141  }
142 
143  d["minbiaspix"] = {
144  "chains": [
145  'HLT_mb_pixsptrk_nototpix20_q2_L1TRT_ZDC_A_C_VjTE10',
146 
147  ],
148  "signature": ["MinBias"],
149  "menu": 'PhysicsP1_HI_run3_v1'
150  }
151 
152  d["cosmic"] = {
153  "chains": [
154  'HLT_mu4_cosmic_L1MU3V_EMPTY',
155 
156  ],
157  "signature": ['Muon','Cosmic',],
158  "menu": 'Cosmic_run3_v1'
159  }
160 
161  d["bphys"] = {
162  "chains": [
163  'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V',
164  'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF',
165 
166  ],
167  "signature": ['Muon','Bphysics',],
168  "menu": ''
169  }
170 
171  return d
172 

◆ get_menu_flag()

str python.Chains.Chains.get_menu_flag (   self,
list  slice_names 
)

Definition at line 199 of file Chains.py.

199  def get_menu_flag(self, slice_names: list) -> str:
200  d = self.get_menu_dict()
201  values = set()
202 
203  for sn in slice_names:
204  cfg = d[sn]
205 
206  if(cfg["menu"] == ''):
207  continue
208 
209  values.add(cfg["menu"])
210 
211  if(len(values) > 1):
212  raise RuntimeError("Multiple menus specified, configured slices {0} conflict between {1}".format(slice_names, values))
213 
214  if(len(values) == 0):
215  return ""
216 
217  return "flags.Trigger.triggerMenuSetup='{}'".format(list(values)[0])
218 

◆ get_selectChains_flag()

str python.Chains.Chains.get_selectChains_flag (   self,
list  slice_names 
)

Definition at line 193 of file Chains.py.

193  def get_selectChains_flag(self, slice_names: list) -> str:
194  return self.get_flag_str(slice_names, "chains", "selectChains")
195 

◆ get_values()

set python.Chains.Chains.get_values (   self,
list  slice_names,
str  prop 
)

Definition at line 173 of file Chains.py.

173  def get_values(self, slice_names: list, prop: str) -> set:
174  values = set()
175  d = self.get_menu_dict()
176 
177  for sn in slice_names:
178  if sn not in d:
179  raise RuntimeError("Undefined slice name {}".format(sn))
180  cfg = d[sn]
181 
182  if prop in cfg:
183  values.update(cfg[prop])
184 
185  return values
186 

The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:567