CMS 3D CMS Logo

MuonResidualsFromTrack.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResidualsFromTrack_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResidualsFromTrack_H
3 
24 
28 
32 
37 //#include "TrackingTools/PatternTools/interface/Trajectory.h"
39 
43 
44 #include "TMatrixDSym.h"
45 #include "TMatrixD.h"
46 
47 #include <vector>
48 #include <map>
49 
51 
53 public:
56 
57  // residuals from global muon trajectories
61  edm::ESHandle<DetIdAssociator> muonDetIdAssociator_,
63  const Trajectory *traj,
64  const reco::Track *recoTrack,
66  double maxResidual);
67 
68  // residuals from tracker muons
70  const reco::Muon *recoMuon,
72  double maxResidual);
73 
75 
76  void clear();
77 
78  const reco::Track *getTrack() { return m_recoTrack; }
79  const reco::Muon *getMuon() { return m_recoMuon; }
80 
81  int trackerNumHits() const { return m_tracker_numHits; }
82 
83  double trackerChi2() const { return m_tracker_chi2; }
84  double trackerRedChi2() const;
85  double normalizedChi2() const;
86 
87  bool contains_TIDTEC() const { return m_contains_TIDTEC; }
88 
89  const std::vector<DetId> chamberIds() const { return m_chamberIds; }
90 
92 
93  TMatrixDSym covMatrix(DetId chamberId);
94  TMatrixDSym corrMatrix(DetId chamberId);
96 
97 private:
99 
103 
104  std::vector<DetId> m_chamberIds;
105  std::map<DetId, MuonChamberResidual *> m_dt13, m_dt2, m_csc;
106  std::map<DetId, TMatrixDSym> m_trkCovMatrix;
107 
109 
110  // pointer to its track
112 
113  // track muon
115 };
116 
117 #endif // Alignment_MuonAlignmentAlgorithms_MuonResidualsFromTrack_H
std::map< DetId, MuonChamberResidual * > m_csc
std::vector< DetId > m_chamberIds
std::map< DetId, TMatrixDSym > m_trkCovMatrix
static edm::ESInputTag builderESInputTag()
TMatrixDSym covMatrix(DetId chamberId)
std::map< DetId, MuonChamberResidual * > m_dt2
const reco::Muon * getMuon()
const reco::Track * getTrack()
TMatrixDSym corrMatrix(DetId chamberId)
Definition: DetId.h:17
const reco::Track * m_recoTrack
const std::vector< DetId > chamberIds() const
TMatrixD choleskyCorrMatrix(DetId chamberId)
void addTrkCovMatrix(DetId, TrajectoryStateOnSurface &)
std::map< DetId, MuonChamberResidual * > m_dt13
MuonResidualsFromTrack(edm::ESHandle< TransientTrackingRecHitBuilder > builder, edm::ESHandle< MagneticField > magneticField, edm::ESHandle< GlobalTrackingGeometry > globalGeometry, edm::ESHandle< DetIdAssociator > muonDetIdAssociator_, edm::ESHandle< Propagator > prop, const Trajectory *traj, const reco::Track *recoTrack, AlignableNavigator *navigator, double maxResidual)
TrajectoryStateCombiner m_tsoscomb
MuonChamberResidual * chamberResidual(DetId chamberId, int type)