ATLAS Offline Software
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 220 of file Chains.py.

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

◆ get_enabledSignatures_flag()

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

Definition at line 197 of file Chains.py.

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

◆ get_flag_str()

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

Definition at line 188 of file Chains.py.

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

◆ 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_L1VjTE10',
146 
147  ],
148  "signature": ["MinBias"],
149  "menu": 'Dev_HI_run3_v1'
150 # "menu": 'PhysicsP1_HI_run3_v1'
151  }
152 
153  d["cosmic"] = {
154  "chains": [
155  'HLT_mu4_cosmic_L1MU3V_EMPTY',
156 
157  ],
158  "signature": ['Muon','Cosmic',],
159  "menu": 'Cosmic_run3_v1'
160  }
161 
162  d["bphys"] = {
163  "chains": [
164  'HLT_2mu4_bBmumux_BsmumuPhi_L12MU3V',
165  'HLT_mu11_mu6_bBmumux_Bidperf_L1MU8VF_2MU5VF',
166 
167  ],
168  "signature": ['Muon','Bphysics',],
169  "menu": ''
170  }
171 
172  return d
173 

◆ get_menu_flag()

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

Definition at line 200 of file Chains.py.

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

◆ get_selectChains_flag()

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

Definition at line 194 of file Chains.py.

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

◆ get_values()

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

Definition at line 174 of file Chains.py.

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

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