CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuonKinkFinder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_MuonIdentification_MuonKinkFinder_h
2 #define RecoMuon_MuonIdentification_MuonKinkFinder_h
3 
7 
9 public:
12 
13  // set event setup
14  void init(const edm::EventSetup &iSetup);
15 
16  // fill data, return false if refit failed or too few hits
17  bool fillTrkKink(reco::MuonQuality &quality, const Trajectory &trajectory) const;
18 
19  // fill data, return false if refit failed or too few hits
20  bool fillTrkKink(reco::MuonQuality &quality, const reco::Track &track) const;
21 
22 private:
27 
30 
31  // compute chi2 between track states
32  double getChi2(const TrajectoryStateOnSurface &start, const TrajectoryStateOnSurface &other) const;
33 
34  // possibly crop matrix or set to zero off-diagonal elements, then invert
35  void cropAndInvert(AlgebraicSymMatrix55 &cov) const;
36 };
37 #endif
double getChi2(const TrajectoryStateOnSurface &start, const TrajectoryStateOnSurface &other) const
void cropAndInvert(AlgebraicSymMatrix55 &cov) const
bool diagonalOnly_
use only on-diagonal terms of the covariance matrices
TrackTransformer refitter_
Track Transformer.
uint32_t const *__restrict__ Quality * quality
void init(const edm::EventSetup &iSetup)
MuonKinkFinder(const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
bool usePosition_
if true, use full 5x5 track state; if false, use only the track direction
bool fillTrkKink(reco::MuonQuality &quality, const Trajectory &trajectory) const