CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonKinkFinder.h
Go to the documentation of this file.
1 #ifndef RecoMuon_MuonIdentification_MuonKinkFinder_h
2 #define RecoMuon_MuonIdentification_MuonKinkFinder_h
3 
6 
8  public:
9  MuonKinkFinder(const edm::ParameterSet &iConfig);
10  ~MuonKinkFinder() ;
11 
12  // set event setup
13  void init(const edm::EventSetup &iSetup) ;
14 
15  // fill data, return false if refit failed or too few hits
16  bool fillTrkKink(reco::MuonQuality & quality, const Trajectory &trajectory) const ;
17 
18  // fill data, return false if refit failed or too few hits
19  bool fillTrkKink(reco::MuonQuality & quality, const reco::Track &track) const ;
20 
21  private:
26 
29 
30  // compute chi2 between track states
31  double getChi2(const TrajectoryStateOnSurface &start, const TrajectoryStateOnSurface &other) const ;
32 
33  // possibly crop matrix or set to zero off-diagonal elements, then invert
34  void cropAndInvert(AlgebraicSymMatrix55 &cov) const ;
35 };
36 #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.
MuonKinkFinder(const edm::ParameterSet &iConfig)
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
void init(const edm::EventSetup &iSetup)
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