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)