Add ODIN EventType bit accessor and clean up TriggerTypes
- Add
eventTypeBit(EventTypes mask)
accessor. For example,eventTypeBit(ODIN::EventTypes::Lumi)
returnstrue
if theLumi
event type bit is set andfalse
otherwise. - Add a corresponding
setEventTypeBit(EventTypes mask, bool value)
setter and remove the misleadingsetEventType(EventTypes)
. - Remove unused or wrong (as of Run 3)
TriggerTypes
. Kept the still usedLumiTrigger
type and correctedCalibrationTrigger
to the present value of10
. - Rename obsolete (as of Run 3)
EventTypes
such asTriggerMaskPhysics
to generic names such aset_bit_10
. The rationale is that these bits are since recently used to identify particular bunches in the filling scheme, according to [1]. We deliberately do not name them explicitly (e.g.TralingBunch
), because this information is redundant w.r.t. the filling scheme already in the condition database and therefore we don't want to commit to the long term meaning of said event type bits.
Notes:
-
isFlagging
does not seem to be used in Run 3 so far. What is it's point and can it be re-used? - Recently someone noticed that checking
calibrationType() == CalibrationTypes::A
(==0
) is not enough to select "Calib A" events. This is because when a even is not a Calib event,0
is put in thecalibrationType()
bits (only 2). Currently the only thing one can do is also check fortriggerType() = TriggerTypes::CalibrationTrigger
. A cleaner solution (?) would be to have an event type bit to identify calibration triggers.
Needs Rec!3606 (merged)
Edited by Rosen Matev