Skip to content

Add ODIN EventType bit accessor and clean up TriggerTypes

Rosen Matev requested to merge rm-update-odin into master
  1. Add eventTypeBit(EventTypes mask) accessor. For example, eventTypeBit(ODIN::EventTypes::Lumi) returns true if the Lumi event type bit is set and false otherwise.
  2. Add a corresponding setEventTypeBit(EventTypes mask, bool value) setter and remove the misleading setEventType(EventTypes).
  3. Remove unused or wrong (as of Run 3) TriggerTypes. Kept the still used LumiTrigger type and corrected CalibrationTrigger to the present value of 10.
  4. Rename obsolete (as of Run 3) EventTypes such as TriggerMaskPhysics to generic names such as et_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:

  1. isFlagging does not seem to be used in Run 3 so far. What is it's point and can it be re-used?
  2. 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 the calibrationType() bits (only 2). Currently the only thing one can do is also check for triggerType() = TriggerTypes::CalibrationTrigger. A cleaner solution (?) would be to have an event type bit to identify calibration triggers.

[1] https://indico.cern.ch/event/1265430/contributions/5457786/attachments/2669219/4626471/230620_LHCbRunMeeting_TFC.pdf

Needs Rec!3606 (merged)

/cc @falessio @edallocc @gcavalle @clemenci @raaij

Edited by Rosen Matev

Merge request reports