Quick notes

Periodic checks

Ctrl script n.11 bpim_timed_acquisition performs a periodic check:

  • the timed function for the periodic acquisition: duration 60s, repeated every 180s
  • the same function is used to check the timestamp of the intensity readings (if the beam is present) and force an IFIFO reset in case the board are not reading since >360s
  • a dpConnect to the lhc_monitoring:aliDcsRun_1 (was dcs_ui:DCS_RUN_UNIT) to force the acquisition start whenever an SOR is seen, with a duration of 20s
  • a check_if_reading function, comparing the timestamp of the IntensityPerBeam.Beam reading and the actual time: if the beam is present and the delay is >360s an IFIFO reset is automatically performed
  • a check_clock function to raise an alarm when the beam is present but the CTP clock is still in LOCAL
  • a check_if_TDC_is_configured to automatically reconfigure (with default values) the TDC in case the datapoint BPIM/bpim0x.Parameter.Readings.Phase.TDC_LOAD is found as FALSE

For every alert, an email+sms have been setup, with the configuration stored in lhc_instrumentation:aliBptx_sendAlert

-- OmbrettaPinazza - 02-Nov-2010

Clock shift reference values

  • on 2010-08-24 16:55 phase_zero_bpim01 = 1.43 phase_zero_bpim02 = 1.05
  • on 2010-10-18 19:05 phase_zero_bpim01 = 1.35 phase_zero_bpim02 = 1.05
  • on 2010-11-05 16:55 phase_zero_bpim01 = 1.71 phase_zero_bpim02 = 1.39

DIP stuff

DIP managers

The project has 2 DIP managers:


The first manager is DIPCOnfig_1 and is the PUBLISHER All the data are listed below.


The manager DIPLHC_BPTX_Config (DIP 2) is a client, and the DIP data are stored in the datapoint type Lhccom_lhc:
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.CirculatingBunchConfig.Beam1  (dyn_int 2808)
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.CirculatingBunchConfig.Beam2  (dyn_int 2808)
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.InjectionBunchConfig.Beam1      (dyn_int 288)
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.InjectionBunchConfig.Beam2  (dyn_int 288)
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.SafeBeam.Beam1.payload    (int)
 lhc_instrumentation:LHCCOM/LHC.LHC.RunControl.SafeBeam.Beam2.payload    (int)

DIP publications

DIP name type dp_published (lhc_instrumentation:) dp_orig (prefix lhc_instrumentation:BPIM/) archive
dip/ALICE/LHC/IntensitiesPerBunch.Beam1 dyn_float dipAliceLhc.IntensitiesPerBunch.Beam1 bpim01.Parameter.Readings.Interface.P_FILLING_SEEN no
dip/ALICE/LHC/IntensitiesPerBunch.Beam2 dyn_float dipAliceLhc.IntensitiesPerBunch.Beam2 bpim02.Parameter.Readings.Interface.P_FILLING_SEEN no
dip/ALICE/LHC/AbortGap/Beam1.Population int dipAliceLhc.AbortGap.Beam1.Population (fake value) -
dip/ALICE/LHC/AbortGap/Beam1.Warning bool dipAliceLhc.AbortGap.Beam1.Warning (fake value) -
dip/ALICE/LHC/AbortGap/Beam2.Population int dipAliceLhc.AbortGap.Beam2.Population (fake value) -
dip/ALICE/LHC/AbortGap/Beam2.Warning bool dipAliceLhc.AbortGap.Beam2.Warning (fake value) -
dip/ALICE/LHC/Timing/BPTX1.Phase float dipAliceLhc.Timing.BPTX1.Phase bpim1.Parameter.Readings.DIP.Timing.Phase ok
dip/ALICE/LHC/Timing/BPTX1.PhaseErr float dipAliceLhc.Timing.BPTX1.PhaseErr bpim1.Parameter.Readings.DIP.Timing.Phase_RMS no
dip/ALICE/LHC/Timing/BPTX1.wrongBucketFlag bool dipAliceLhc.Timing.BPTX1.wrongBucketFlag bpim1.Parameter.Readings.DIP.Timing.GBWarning ok
dip/ALICE/LHC/Timing/BPTX1.wrongBucketArray dyn_int dipAliceLhc.Timing.BPTX1.wrongBucketArray bpim1.Parameter.Readings.DIP.Timing.wrongBucketArray no
dip/ALICE/LHC/Timing/BPTX2.Phase float dipAliceLhc.Timing.BPTX2.Phase bpim2.Parameter.Readings.DIP.Timing.Phase ok
dip/ALICE/LHC/Timing/BPTX2.PhaseErr float dipAliceLhc.Timing.BPTX2.PhaseErr bpim2.Parameter.Readings.DIP.Timing.Phase_RMS no
dip/ALICE/LHC/Timing/BPTX2.wrongBucketFlag bool dipAliceLhc.Timing.BPTX2.wrongBucketFlag bpim2.Parameter.Readings.DIP.Timing.GBWarning ok
dip/ALICE/LHC/Timing/BPTX2.wrongBucketArray dyn_int dipAliceLhc.Timing.BPTX2.wrongBucketArray bpim2.Parameter.Readings.DIP.Timing.wrongBucketArray no
dip/ALICE/LHC/Timing/BPTX.deltaT float dipAliceLhc.Timing.BPTX.deltaT bpim1.Parameter.Readings.DIP.Timing.deltaT ok
dip/ALICE/LHC/Timing/BPTX.deltaTErr f float dipAliceLhc.Timing.BPTX.deltaTErr bpim1.Parameter.Readings.DIP.Timing.deltaT_RMS no

Note: P_FILLING_SEEN and wrongBucketArray are arrays and should not be archived.

Set DIP publication as invalid when BPIM are not reading

The timed script calls a function that calculates the age of the original datapoint. If it's greater than a certain value, the correspondent DIP publication is set as invalid, setting its config :_original.._aut_inv to TRUE.

A warning is sent to the PVSS log and the timestamp of the publishing dp is updated: using the dp_published (above) connected to the original datapoint through a _dp_funct, the original _stime is not changed.


Datapoint name smoothing (time) deadband type
BPIM/bpim01.Action.AdcInj.value 60s 1% Float
BPIM/bpim01.svc.phase 60s 1% Float
BPIM/bpim01.svc.rate 60s 1% Float
BPIM/bpim01.Parameter.Readings.DIP.IntensityPerBeam.Beam 300s 5% Float
BPIM/bpim01.Parameter.Readings.DIP.Timing.deltaT 60s 1% Float
BPIM/bpim01.Parameter.Readings.DIP.Timing.GBWarning   o/n Bool
BPIM/bpim01.Parameter.Readings.DIP.Timing.Phase 60s 1% Float
BPIM/bpim01.Parameter.Readings.DIP.Timing.Phase_zero 60s 1% Float
BPIM/bpim01.Parameter.Readings.DIP.Intensity.D_ADC_READOUT 60s 1% Integer
BPIM/bpim01.Parameter.Readings.DIP.Intensity.M_SUM_INJECTION 60s 1% Integer
BPIM/bpim01.Parameter.Readings.Timing.R_CLKDELAY_SEL 600s o/n+t Integer
BPIM/bpim01.Parameter.Readings.Timing.R_ORB_OFFSET 600s o/n+t Integer
BPIM/bpim02.Action.AdcInj.value 60s 1% Float
BPIM/bpim02.svc.phase 60s 1% Float
BPIM/bpim02.svc.rate 60s 1% Float
BPIM/bpim02.Parameter.Readings.DIP.IntensityPerBeam.Beam 300s 5% Float
BPIM/bpim02.Parameter.Readings.DIP.Timing.deltaT 60s 1% Float
BPIM/bpim02.Parameter.Readings.DIP.Timing.GBWarning   o/n Bool
BPIM/bpim02.Parameter.Readings.DIP.Timing.Phase 60s 1% Float
BPIM/bpim02.Parameter.Readings.DIP.Timing.Phase_zero 60s 1% Float
BPIM/bpim02.Parameter.Readings.DIP.Intensity.D_ADC_READOUT 60s 1% Integer
BPIM/bpim02.Parameter.Readings.DIP.Intensity.M_SUM_INJECTION 60s 1% Integer
BPIM/bpim02.Parameter.Readings.Timing.R_CLKDELAY_SEL 600s o/n+t Integer
BPIM/bpim02.Parameter.Readings.Timing.R_ORB_OFFSET 600s o/n+t Integer

Smoothing = on change (with deadband) AND time dependent

o/n +t = Old/New comparison + time dependent

VME registers settings

The VME registers are subscribed in a dynamic way; new registers are added in the lbFwTFC_General.lctl library (TFC_SubscribeAllCounters function), and connected to the corresponding datapoint (BPIM/bpim00.Register.Readings.Q1.Rxxx).

On 2010/09/16 I've added the Alice registers, to avoid a special DIm server providing data in a parallel way:

  • BPIM/bpim00.Register.Readings.Q1.R0B0, BPIM/bpim00.Parameter.Readings.Intensity.R_ADC_ALICE
  • BPIM/bpim00.Register.Readings.Q1.R074, BPIM/bpim00.Parameter.Readings.Intensity.R_ALICE_TRIGGER_RATE

The following two registers were already connected but not set yet:

  • BPIM/bpim00.Register.Readings.Q1.R064, toggle
  • BPIM/bpim00.Register.Readings.Q1.R068, regsigne

Links to old pages

-- OmbrettaPinazza - 28-Jul-2010
Edit | Attach | Watch | Print version | History: r11 < r10 < r9 < r8 < r7 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r11 - 2010-11-12 - OmbrettaPinazza
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback