CaloClusterEff throws bad Calo CellID exception in some events
Running the master version of last friday (19th Nov 2021) of Moore, the CaloClusterEfficiency algorithm throws an exception on the find
operation from line 165 in some events. With the following summarized output:
...
CaloClusterEff FATAL Standard std::exception is caught
CaloClusterEff ERROR bad Calo::CellID
HLTControlFlowMgr FATAL Event failed in Node CaloClusterEfficiency/CaloClusterEff
HLTControlFlowMgr FATAL *** Event 976 on slot 0 failed! ***
...
ApplicationMgr ERROR Application Manager Terminated with error code 3
I believe this comes from the return of the largestWeight
function. In case the table entry is empty it returns an empty Result
type. The exception is caused by a cell {'Spd', 'Outer', 0, 0}
since 'Spd' and 'Outer' tags are the 0 indices.
To reproduce the error I'm running the following option file:
from Moore import options, run_reconstruction
from RecoConf.standalone import standalone_hlt2_calo_efficiency
from RecoConf.reconstruction_objects import reconstruction
from RecoConf.global_tools import stateProvider_with_simplified_geom
from RecoConf.hlt1_tracking import default_ft_decoding_version
options.evt_max = -1
options.ntuple_file = 'ClusterEfficiency.root'
# temporarily use HiveWhiteBoard, see lhcb/LHCb!2878
options.use_iosvc = False
options.event_store = 'HiveWhiteBoard'
options.data_type = "Upgrade"
options.dddb_tag = "dddb-20201211"
options.conddb_tag = "sim-20201218-vc-md100"
options.simulation = True
options.input_type = "ROOT"
options.input_raw_format = 0.3
#B0->K*gamma MC sample
options.input_files = ['root://x509up_u133279@eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/MC/Upgrade/XDIGI/00143735/0000/00143735_00000046_1.xdigi']
default_ft_decoding_version.global_bind(value=6)
public_tools = [stateProvider_with_simplified_geom()]
run_reconstruction(options, standalone_hlt2_calo_efficiency, public_tools)