CMS 3D CMS Logo

ME0Muon.h
Go to the documentation of this file.
1 #ifndef MuonReco_ME0Muon_h
2 #define MuonReco_ME0Muon_h
3 
14 
16 
18 
19 namespace reco {
20 
21  class ME0Muon : public RecoCandidate {
22  public:
23  ME0Muon();
24  //ME0Muon( const TrackRef & t, const ME0Segment & s) { innerTrack_ = t; me0Segment_ = s;}
25  ME0Muon(const TrackRef& t, const ME0Segment& s, const int v, const double c) {
26  innerTrack_ = t;
27  me0Segment_ = s;
28  me0segid_ = v;
29  trackCharge_ = c;
30  }
31  ~ME0Muon() override {}
32 
34  TrackRef innerTrack() const { return innerTrack_; }
35  TrackRef track() const override { return innerTrack(); }
37  void setInnerTrack(const TrackRef& t) { innerTrack_ = t; }
38  void setTrack(const TrackRef& t) { setInnerTrack(t); }
40  void setME0Segment(const ME0Segment& s) { me0Segment_ = s; }
41 
42  const ME0Segment& me0segment() const { return me0Segment_; }
43 
44  //Added for testing
45  void setme0segid(const int v) { me0segid_ = v; }
46  int me0segid() const { return me0segid_; }
47 
52 
53  int trackCharge() const { return trackCharge_; }
56 
59  }
62  }
65  }
68  }
70  void setGlobalTrackCov(const AlgebraicSymMatrix66& trackCov) { globalTrackCov_ = trackCov; }
71  void setLocalTrackCov(const AlgebraicSymMatrix55& trackCov) { localTrackCov_ = trackCov; }
72 
73  private:
75  bool overlap(const Candidate&) const override;
76 
80  int me0segid_;
81 
84 
90 
91  //double xpull_,ypull_,xdiff_,ydiff_,phidirdiff_;
92  };
93 
94 } // namespace reco
95 
96 #endif
void setInnerTrack(const TrackRef &t)
set reference to Track
Definition: ME0Muon.h:37
void setTrackCharge(const int &trackCharge)
Definition: ME0Muon.h:69
void setLocalTrackMomAtSurface(const LocalVector &localTrackMomAtSurface)
Definition: ME0Muon.h:66
const LocalPoint & localTrackPosAtSurface() const
Definition: ME0Muon.h:50
AlgebraicSymMatrix66 globalTrackCov_
Definition: ME0Muon.h:88
int trackCharge() const
Definition: ME0Muon.h:53
ME0Muon(const TrackRef &t, const ME0Segment &s, const int v, const double c)
Definition: ME0Muon.h:25
int trackCharge_
Definition: ME0Muon.h:87
TrackRef innerTrack() const
reference to Track reconstructed in the tracker only
Definition: ME0Muon.h:34
ME0Segment me0Segment_
Definition: ME0Muon.h:79
bool overlap(const Candidate &) const override
check overlap with another candidate
Definition: ME0Muon.cc:11
const GlobalPoint & globalTrackPosAtSurface() const
Definition: ME0Muon.h:48
const GlobalVector & globalTrackMomAtSurface() const
Definition: ME0Muon.h:49
int me0segid_
Definition: ME0Muon.h:80
void setTrack(const TrackRef &t)
Definition: ME0Muon.h:38
void setGlobalTrackMomAtSurface(const GlobalVector &globalTrackMomAtSurface)
Definition: ME0Muon.h:60
int me0segid() const
Definition: ME0Muon.h:46
const ME0Segment & me0segment() const
Definition: ME0Muon.h:42
void setLocalTrackCov(const AlgebraicSymMatrix55 &trackCov)
Definition: ME0Muon.h:71
const AlgebraicSymMatrix55 & localTrackCov() const
Definition: ME0Muon.h:55
const AlgebraicSymMatrix66 & globalTrackCov() const
Definition: ME0Muon.h:54
AlgebraicSymMatrix55 localTrackCov_
Definition: ME0Muon.h:89
LocalPoint localTrackPosAtSurface_
Definition: ME0Muon.h:85
GlobalPoint globalTrackPosAtSurface_
Definition: ME0Muon.h:82
void setGlobalTrackCov(const AlgebraicSymMatrix66 &trackCov)
Definition: ME0Muon.h:70
TrackRef innerTrack_
reference to Track reconstructed in the tracker only
Definition: ME0Muon.h:78
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:28
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
void setme0segid(const int v)
Definition: ME0Muon.h:45
void setME0Segment(const ME0Segment &s)
set reference to our new ME0Segment type
Definition: ME0Muon.h:40
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
void setGlobalTrackPosAtSurface(const GlobalPoint &globalTrackPosAtSurface)
Definition: ME0Muon.h:57
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
const LocalVector & localTrackMomAtSurface() const
Definition: ME0Muon.h:51
TrackRef track() const override
reference to a Track
Definition: ME0Muon.h:35
fixed size matrix
LocalVector localTrackMomAtSurface_
Definition: ME0Muon.h:86
GlobalVector globalTrackMomAtSurface_
Definition: ME0Muon.h:83
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::LocalCoordinateSystemTag > LocalPoint
point in local coordinate system
Definition: Point3D.h:15
~ME0Muon() override
Definition: ME0Muon.h:31
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::LocalCoordinateSystemTag > LocalVector
vector in local coordinate system
Definition: Vector3D.h:25
void setLocalTrackPosAtSurface(const LocalPoint &localTrackPosAtSurface)
Definition: ME0Muon.h:63