138 def __init__(self,legname, chainseed, chainname=None):
139 self.legname = legname
142 chainseed= chainseed.replace(
"L1_",
"")
143 blocks = legname.split(
"_L1")
145 for token
in blocks[0].
split(
"_"):
146 m = self.legpattern.
match(token)
148 count,legtype,thr,noL1 = m.groups()
149 self.count =
int(count)
if count
else 1
152 if self.count > 1: self.legtype = TriggerType.el_multi
153 else: self.legtype = TriggerType.el_single
154 elif legtype ==
'mu':
155 if self.count > 1: self.legtype = TriggerType.mu_multi
156 else: self.legtype = TriggerType.mu_single
158 if self.count > 1: self.legtype = TriggerType.j_multi
159 else: self.legtype = TriggerType.j_single
160 elif legtype ==
'tau':
161 if self.count > 1: self.legtype = TriggerType.tau_multi
162 else: self.legtype = TriggerType.tau_single
164 if self.count > 1: self.legtype = TriggerType.g_multi
165 else: self.legtype = TriggerType.g_single
166 elif legtype ==
'xe':
167 self.legtype = TriggerType.xe
168 elif legtype ==
'ht':
169 self.legtype = TriggerType.ht
170 elif legtype
in self.uctTypes:
171 self.legtype = TriggerType.exotics
173 details.append(legtype)
175 log.info(
"Unknown trigger type: %s",legtype)
176 if noL1: details.append(noL1)
178 if self.bjetpattern.
match(token):
179 if self.legtype == TriggerType.j_single: self.legtype = TriggerType.bj_single
180 if self.legtype == TriggerType.j_multi: self.legtype = TriggerType.bj_multi
181 if self.bphyspattern.
match(token):
182 self.legtype = TriggerType.mu_bphys
183 if self.exoticspattern.
search(token):
184 self.legtype = TriggerType.exotics
185 if self.afppattern.
search(token):
186 self.legtype = TriggerType.afp
187 details.append(token)
189 for l1seed
in blocks[1:]:
190 if self.exoticspattern.
search(l1seed):
191 self.legtype = TriggerType.exotics
192 if self.afppattern.
search(l1seed):
193 self.legtype = TriggerType.afp
194 if l1seed == chainseed:
continue
196 assert self.l1seed==
"", (self.l1seed, chainseed, chainname, blocks[1:])
198 if not self.l1seed: self.l1seed = chainseed
199 self.details = tuple(details)