The reason for this appears to be nothing relating to the MUONS is running in the test without checking. Presumably something is up with the configuration leading to the scheduler not think anything needs the muon reconstructed information, hence its (correctly) skipping it.
I'll test adding it back, at least so far as the sequences initalise etc. If it is indeed not thread safe that something else that will be have to be addressed before it can be used in production though.
@jonrob, I'm working on it with the help of @desimone and @farchill. What I can see is that the pieces of code in LHCb/Muon/MuonDAQ that were extracting the hits using DetDesc need to be changed to DD4HEP so that MuonIDHltAlg can have hits. Also in MuonIDHltAlg there are some uses of DetDesc that need to be adapted. Those should be (at first order) easy changes as the functionality has stayed the same.
OK thanks. I propose then that whilst Detector!199 (merged) is looking close to being ready to merge we keep it open until we have a fix for this, as in any case having the Detector changes in master is nice it is not much practical use until this is addressed, at least in terms of running the Muon in HLT2, and perhaps bug fixes will be needed there.
The fix to the seg. fault in the builds is in LHCb!3800 (closed) and !3137 (closed). I have tested locally and all the hlt2_light_reco_pr_kf_without* tests pass.
@rvazquez@farchill I had a sudden realisation this afternoon that the issue here was likely one I had run into with the RICH, namely the fact you shouldn't take the memory address of a dd4hep DetElem and cache it long term. This is because the object you get is just a short term lightweight handle over the real object. Instead, just copy the handle, which is what this !3141 (merged) does. This fixes the seg. fault.
@rvazquez Can you please take a look at the MuonPID performance in the current lhcb-head builds, i.e. compare the same test between the DetDesc and dd4hep builds
So whilst the MuonPID is now running in the dd4hep builds, its performance probably needs looking into ?
@raaij Did you perform the comparison you discussed a few days back, so compare the info you where getting for the muons from DetDesc and DD4HEP for the HLT1 application ?
This adds some debug printout of the Cache parameters in the MuonID alg, similar I think to what @raaij was going to do for HLT1. There are clear differences, @desimone@farchill@rvazquez Please take a look and comment ?
There is a (minor) difference of 4 tracks not been considered with DD4HEP that is not due to the muonID.
After this, there are few differences (2%) in the tracks in the muon system acceptance, which depend on the geometrical coordinates of the muon system, and a large difference (factor 5) of tracks failing isMuon, which should be related to the hits in the stations (either lacking or assigned to the wrong chamber, or any other combination of things that could have gone wrong). We are looking into this.
@rvazquez yes, in the above I only show the diffs coming from the cached detector geometry differences, I didn't look into differences coming from the input hit information each build sees.
Just w.r.t. the geometry parameters, its reasonable for there to be small diffs between the frameworks, but the above diffs are way more than explainable by this I think.