CMS 3D CMS Logo

MuonChamberResidual.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonChamberResidual_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonChamberResidual_H
3 
23 
25 
27 {
28 public:
29 
30  enum {
34  };
35 
38 
39  virtual ~MuonChamberResidual() {}
40 
41  // has to be implemented for rechit based residuals
42  virtual void addResidual(edm::ESHandle<Propagator> prop, const TrajectoryStateOnSurface *, const TrackingRecHit *, double, double) = 0;
43 
44  // has to be implemented for track muon segment residuals
45  virtual void setSegmentResidual(const reco::MuonChamberMatch *, const reco::MuonSegmentMatch *) = 0;
46 
47  int type() const { return m_type; }
48 
49  virtual double signConvention() const {return m_sign; }
50 
51  DetId chamberId() const { return m_chamberId; }
52 
54 
55  int numHits() const { return m_numHits; }
56 
57  double residual() const { return m_residual; }
58  double residual_error() const { return m_residual_error; }
59  double resslope() const { return m_resslope; }
60  double resslope_error() const { return m_resslope_error; }
61 
62  double chi2() const { return m_chi2; }
63  int ndof() const { return m_ndof; }
64 
65  double trackdxdz() const { return m_trackdxdz; }
66  double trackdydz() const { return m_trackdydz; }
67  double trackx() const { return m_trackx; }
68  double tracky() const { return m_tracky; }
69 
70  double ChambW() const { return m_ChambW; }
71  double Chambl() const { return m_Chambl; }
72 
73  double segdxdz() const { return m_segdxdz; }
74  double segdydz() const { return m_segdydz; }
75  double segx() const { return m_segx; }
76  double segy() const { return m_segy; }
77 
78 
81  double global_residual() const;
82  double global_resslope() const;
83  double global_hitresid(int i) const;
84 
85  // individual hit methods
86  double hitresid(int i) const;
87  int hitlayer(int i) const;
88  double hitposition(int i) const;
89  DetId localid(int i) const { return m_localIDs[i]; }
90 
91 protected:
96 
97  int m_numHits;
98  std::vector<DetId> m_localIDs;
99  std::vector<double> m_localResids;
100  std::vector<double> m_individual_x;
101  std::vector<double> m_individual_y;
102  std::vector<double> m_individual_weight;
103 
104  int m_type;
105  double m_sign;
106  double m_chi2;
107  int m_ndof;
108  double m_residual;
110  double m_resslope;
112  double m_trackdxdz;
113  double m_trackdydz;
114  double m_trackx;
115  double m_tracky;
116  double m_segdxdz;
117  double m_segdydz;
118  double m_segx;
119  double m_segy;
120  double m_ChambW;
121  double m_Chambl;
122 
123 
124 };
125 
126 #endif // Alignment_MuonAlignmentAlgorithms_MuonChamberResidual_H
virtual void addResidual(edm::ESHandle< Propagator > prop, const TrajectoryStateOnSurface *, const TrackingRecHit *, double, double)=0
std::vector< double > m_individual_y
double resslope_error() const
align::GlobalPoint global_trackpos()
MuonChamberResidual(edm::ESHandle< GlobalTrackingGeometry > globalGeometry, AlignableNavigator *navigator, DetId chamberId, AlignableDetOrUnitPtr chamberAlignable)
double global_hitresid(int i) const
double ChambW() const
virtual void setSegmentResidual(const reco::MuonChamberMatch *, const reco::MuonSegmentMatch *)=0
double global_residual() const
DetId localid(int i) const
double trackx() const
double resslope() const
double trackdxdz() const
std::vector< double > m_individual_x
std::vector< DetId > m_localIDs
std::vector< double > m_localResids
AlignableNavigator * m_navigator
AlignableDetOrUnitPtr chamberAlignable() const
double tracky() const
double segdydz() const
AlignableDetOrUnitPtr m_chamberAlignable
double segdxdz() const
Definition: DetId.h:18
double hitresid(int i) const
double trackdydz() const
int hitlayer(int i) const
align::GlobalPoint global_stubpos()
edm::ESHandle< GlobalTrackingGeometry > m_globalGeometry
double hitposition(int i) const
double global_resslope() const
double Chambl() const
DetId chamberId() const
std::vector< double > m_individual_weight
double residual() const
virtual double signConvention() const
double residual_error() const