diff --git a/Hlt/RecoConf/python/RecoConf/calo_data_monitoring.py b/Hlt/RecoConf/python/RecoConf/calo_data_monitoring.py index f002f62bab28d843e80116b51db459e03458fb5d..31ab1e4316825ccdaf0561e64c171588b4fa2b83 100644 --- a/Hlt/RecoConf/python/RecoConf/calo_data_monitoring.py +++ b/Hlt/RecoConf/python/RecoConf/calo_data_monitoring.py @@ -13,7 +13,11 @@ from PyConf import configurable from PyConf.application import make_odin from PyConf.Algorithms import ( CaloChargedPIDsMonitor, CaloFutureClusterMonitor, CaloFutureDigitMonitor, - CaloFutureTimeAlignment, CaloTAEData, CaloFuturePedestal) + CaloFutureTimeAlignment, CaloTAEData, CaloFuturePedestal, + CaloFutureLEDMonitor) +from PyConf.Algorithms import CaloFutureRawToDigits +from PyConf.application import default_raw_banks +from DDDB.CheckDD4Hep import UseDD4Hep @configurable @@ -101,6 +105,52 @@ def monitor_calo_digits(calo, return ecal_digit_moni, hcal_digit_moni +@configurable +def monitor_calo_led(calo): + + ecalpath = '/world/DownstreamRegion/Ecal:DetElement-Info-IOV' if UseDD4Hep else '/dd/Structure/LHCb/DownstreamRegion/Ecal' + hcalpath = '/world/DownstreamRegion/Hcal:DetElement-Info-IOV' if UseDD4Hep else '/dd/Structure/LHCb/DownstreamRegion/Hcal' + + rawEventCalo = default_raw_banks("Calo") + rawEventCaloError = default_raw_banks("CaloError") + + adc_alg_ecal = CaloFutureRawToDigits( + name='FutureEcalZSup_withPinDiodes', + RawBanks=rawEventCalo, + ErrorRawBanks=rawEventCaloError, + DetectorLocation=ecalpath, + DecodePinData=True) + + ecal_led_moni = CaloFutureLEDMonitor( + name="LEDMonitorEcal", + InputODIN=make_odin(), + Input=adc_alg_ecal.OutputDigitData, + CheckNCell= + 5, # Number of Cells to be looked for a LED to be declared as fired + PedestalRate=64, # Accept rate (%) + ADCThreshold=30, # ADC threshold for a PIN to be declared as fired + Profile=True) + + adc_alg_hcal = CaloFutureRawToDigits( + name='FutureHcalZSup_withPinDiodes', + RawBanks=rawEventCalo, + ErrorRawBanks=rawEventCaloError, + DetectorLocation=hcalpath, + DecodePinData=True) + + hcal_led_moni = CaloFutureLEDMonitor( + name="LEDMonitorHcal", + InputODIN=make_odin(), + Input=adc_alg_hcal.OutputDigitData, + CheckNCell= + 5, # Number of Cells to be looked for a LED to be declared as fired + PedestalRate=64, # Accept rate (%) + ADCThreshold=30, # ADC threshold for a PIN to be declared as fired + Profile=True) + + return ecal_led_moni, hcal_led_moni + + @configurable def monitor_calo_time_alignment(calo, adcFilterEcal=-100,