5     '''Function to configure LVL1 JfexInput algorithm in the monitoring system.''' 
    8     from AthenaConfiguration.ComponentFactory 
import CompFactory
 
    9     from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
   10     from AthenaConfiguration.Enums 
import Format
 
   14     from TrigT1CaloMonitoring.LVL1CaloMonitoringConfig 
import L1CaloMonitorCfgHelper
 
   15     helper = L1CaloMonitorCfgHelper(flags,CompFactory.JfexInputMonitorAlgorithm,
'JfexInputMonAlg')
 
   19     if flags.Input.Format==Format.BS:
 
   22         from L1CaloFEXAlgos.FexEmulatedTowersConfig 
import jFexEmulatedTowersCfg
 
   27     JfexInputMonAlg = helper.alg
 
   30     groupName = 
'JfexInputMonitor'  
   31     JfexInputMonAlg.Grouphist = groupName
 
   38         phi = (-pi- pi/32) + pi/32*i 
 
   44         'xbins': 100, 
'xmin': -5, 
'xmax': 5,
 
   48     helper.defineTree(
'LBNString,Error,EventNumber,TowerId,TowerSource,TowerEta,TowerPhi,TowerCount,RefTowerCount,TowerSat,RefTowerSat,timeSince,timeUntil;errors',
 
   49                       "lbnString/string:error/string:eventNumber/l:id/i:source/i:eta/F:phi/F:count/i:ref_count/i:sat/I:ref_sat/I:timeSince/I:timeUntil/I",
 
   50                       title=
"errors tree;LBN;Error",fillGroup=
"errors")
 
   51     helper.defineHistogram(
'TowerEta,TowerPhi;h_saturated', title=
'jFex Saturated DataTowers; #eta; #phi',
 
   52                            type=
'TH2F',fillGroup=groupName,cutmask=
"TowerSaturated",**eta_phi_bins)
 
   53     helper.defineHistogram(
'TowerEta,TowerPhi;h_invalidCodes', title=
'jFex DataTower Invalid Et codes (4095); #eta; #phi',
 
   54                            type=
'TH2F',fillGroup=groupName,cutmask=
"TowerInvalid",**eta_phi_bins)
 
   55     helper.defineHistogram(
'TowerEta,TowerPhi;h_emptyCodes', title=
'jFex DataTower Empty Et codes (0); #eta; #phi',
 
   56                            type=
'TH2F',fillGroup=groupName,cutmask=
"TowerEmpty",**eta_phi_bins)
 
   58     result.merge(helper.result())