pcdsdaq.ami.set_pyami_filter¶
- pcdsdaq.ami.set_pyami_filter(*args, event_codes=None, operator='&', or_bykik=False)¶
Set up the l3t filters.
These connect through pyami to call set_l3t or clear_l3t. The function takes in arbitrary dets whose prefixes are the ami names, along with low and highs.
Event codes are handled as a special case, since you always want high vs low.
Note
If or_bykik is True, this will treat bykik at an l3t pass! This is so you don’t lose your off shots when the l3t trigger is in veto mode.
- Parameters:
*args ((
AmiDet
,float
,float
) n times) – A sequence of (detector, low, high), which create filters that make sure the detector is between low and high. You can omit the firstAmiDet
as a shorthand for the current monitor, assuming a monitor has been set withDaq.set_monitor
orset_monitor_det
.event_codes (
list
, optional) – A list of event codes to include in the filter. l3pass will be when the event code is present.operator (
str
, optional) – The operator for combining the detector ranges and event codes. This can either be|
toor
the conditions together, so l3pass will happen if any filter passes, or it can be left at the default&
toand
the conditions together, so l3pass will only happen if all filters pass.or_bykik (
bool
, optional) – False by default, appends anor
condition that marks l3t pass when we see the bykik event code. This makes sure the off shots make it into the data if we’re in l3t veto mode.