File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed
Alignment/MuonAlignmentAlgorithms Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,18 @@ class MuonResidualsFromTrack {
9595 TMatrixD choleskyCorrMatrix (DetId chamberId);
9696
9797private:
98+ // Due to large constructor code, UBSAN with GCC14 hangs and never returns
99+ // Moving large constructor code to a private function fixes this issue
100+ void init (edm::ESHandle<TransientTrackingRecHitBuilder> builder,
101+ edm::ESHandle<MagneticField> magneticField,
102+ edm::ESHandle<GlobalTrackingGeometry> globalGeometry,
103+ edm::ESHandle<DetIdAssociator> muonDetIdAssociator_,
104+ edm::ESHandle<Propagator> prop,
105+ const Trajectory *traj,
106+ const reco::Track *recoTrack,
107+ AlignableNavigator *navigator,
108+ double maxResidual);
109+
98110 TrajectoryStateCombiner m_tsoscomb;
99111
100112 int m_tracker_numHits;
Original file line number Diff line number Diff line change @@ -31,6 +31,26 @@ MuonResidualsFromTrack::MuonResidualsFromTrack(edm::ESHandle<TransientTrackingRe
3131 AlignableNavigator* navigator,
3232 double maxResidual)
3333 : m_recoTrack(recoTrack) {
34+ init (trackerRecHitBuilder,
35+ magneticField,
36+ globalGeometry,
37+ muonDetIdAssociator_,
38+ prop,
39+ traj,
40+ recoTrack,
41+ navigator,
42+ maxResidual);
43+ }
44+
45+ void MuonResidualsFromTrack::init (edm::ESHandle<TransientTrackingRecHitBuilder> trackerRecHitBuilder,
46+ edm::ESHandle<MagneticField> magneticField,
47+ edm::ESHandle<GlobalTrackingGeometry> globalGeometry,
48+ edm::ESHandle<DetIdAssociator> muonDetIdAssociator_,
49+ edm::ESHandle<Propagator> prop,
50+ const Trajectory* traj,
51+ const reco::Track* recoTrack,
52+ AlignableNavigator* navigator,
53+ double maxResidual) {
3454 bool m_debug = false ;
3555
3656 if (m_debug) {
You can’t perform that action at this time.
0 commit comments