Skip to content

add code to reset m_cBad and m_tBad for each event

The pointers m_cBad and m_tBad are used in CaloPhotonMatch, CaloElectronMatch and CaloBremMatch. They are meant to catch inputs that are considered bad (for example calo clusters with non-invertible matrices).

They start off initialized to zero by the constructor. The problem is that the constructor only gets called once in the entire event loop.

When the first faulty input is found, the pointer gets set to the address of this input. Then in the following events, this doesn't get refreshed. Then it just randomly catches non-faulty inputs that happen to have the same address. This causes indeterminacy seen in the output of Stripping, documented in Stripping#41.

To fix this, I introduce code to reset these pointers every time CaloTrackMatchAlg is used. Goes with LHCb!4252 (merged)

Edited by Aravindhan Venkateswaran

Merge request reports