[go: up one dir, main page]

Skip to content

Suppression warnings in BeamSpotMonitor

Description

Added a message service to publish warnings when a conditions update has been suppressed for changing by 'too much'. The ability to configure BeamSpotMonitor with upper limits that would suppress conditions updates already existed. This MR adds a PublishSvc service for publishing warnings when this happens.

New property

The name of the service to which warnings about violations of the upper limits is stored in a new propery of the BeamSpotMonitor algorithm: PublishErrorsTo. It defaults to AlignmentMessenger.

Interactions with existing properties

OnlineMode: The new service will only be declared and warnings will only be published if OnlineMode is True.

InconceivableAbsDeltaMap: The upper limits for suppressing changes is configured by InconceivableAbsDeltaMap. The syntax is the same as for the update-triggering thresholds in the property MaxAbsDeltaMap.

InconceivableHandling: Sets the way in which the algorithm handles violations of the upper limits in the property InconceivableAbsDeltaMap. The message sent to the service name in the new PublishErrorsTo property (AlignmentMessenger by default) is different depending on the value of InconceivableHandling, which can be one of the following:

  • WarnUpdate: Publish the updated condition anyway. (New: send the following message to AlignmentMessenger: "WARNING:InteractionRegion update during run exceeded threshold. Please check")
  • WarnSkip: Do not publish the updated condition. (New: send the following message to AlignmentMessenger: "WARNING:InteractionRegion update during run would exceed threshold. Suprressing update")
  • ExceptionThrow: throw an exception. Does not send a message to AlignmentMessenger.

Example configuration

In order to configure BeamSpotMonitor to reject conditions updates that shift the center of the IR by more than 45 micron in x and to publish a warning message to AlignmentMessenger when that happens, add the following properties to the configuration

    beam_spot_moni = BeamSpotMonitor(
        name="BeamSpotMonitor",
          :
        #PublishErrorsTo='AlignmentMessenger', # Not necessary, AlignmentMessenger is default
        InconceivableAbsDeltaMap={
            'x': 0.045 * mm,
        },
        InconceivableHandling='WarnSkip',
          :
        >

Testing

I ran tests with the MooreOnline testbench. I configured the BeamSpotMon task with update thresholds (MaxAbsDeltaMap) tailored so that it would produce 6 sets of IR conditions when running over the test dataset that i used. I then set an upper limit (InconceivableAbsDeltaMap) that would be violated by two of those updates. While the testbench job ran, i had a DIM Information Display open looking at messages published to the /Publisher/Alignmentlessenger service.

Case WarnUpdate

Running with InconceivableHandling='WarnUpdate', the test still published 6 sets of IR conditions. A screenshot of the warning that was published to the /Publisher/AlignmentMessenger service: screenshot-did-am-warn-1

Case WarnSkip

Running with InconceivableHandling='WarnSkip', the test published only 4 IR conditions---two were suppressed as expected. A screenshot of the warning that was published to the /Publisher/AlignmentMessenger service: screenshot-did-am-skip-1

Edited by Patrick Spradlin

Merge request reports

Loading