CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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) { innerTrack_ = t; me0Segment_ = s; me0segid_=v; trackCharge_ = c;}
26  virtual ~ME0Muon(){}
27 
29  TrackRef innerTrack() const { return innerTrack_; }
30  virtual TrackRef track() const { return innerTrack(); }
32  void setInnerTrack( const TrackRef & t ) { innerTrack_ = t; }
33  void setTrack( const TrackRef & t ) { setInnerTrack(t); }
35  void setME0Segment( const ME0Segment & s ) { me0Segment_ = s; }
36 
37  const ME0Segment& me0segment() const { return me0Segment_; }
38 
39  //Added for testing
40  void setme0segid( const int v){me0segid_=v;}
41  int me0segid() const {return me0segid_;}
42 
43 
48 
49  int trackCharge() const { return trackCharge_; }
52 
58  void setGlobalTrackCov(const AlgebraicSymMatrix66& trackCov) { globalTrackCov_ = trackCov; }
59  void setLocalTrackCov(const AlgebraicSymMatrix55& trackCov) { localTrackCov_ = trackCov; }
60 
61  private:
63  virtual bool overlap( const Candidate & ) const;
64 
68  int me0segid_;
69 
72 
78 
79  //double xpull_,ypull_,xdiff_,ydiff_,phidirdiff_;
80  };
81 
82 }
83 
84 
85 #endif
86 
87 
void setInnerTrack(const TrackRef &t)
set reference to Track
Definition: ME0Muon.h:32
void setTrackCharge(const int &trackCharge)
Definition: ME0Muon.h:57
void setLocalTrackMomAtSurface(const LocalVector &localTrackMomAtSurface)
Definition: ME0Muon.h:56
const LocalPoint & localTrackPosAtSurface() const
Definition: ME0Muon.h:46
virtual bool overlap(const Candidate &) const
check overlap with another candidate
Definition: ME0Muon.cc:12
virtual ~ME0Muon()
Definition: ME0Muon.h:26
AlgebraicSymMatrix66 globalTrackCov_
Definition: ME0Muon.h:76
int trackCharge() const
Definition: ME0Muon.h:49
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
ME0Muon(const TrackRef &t, const ME0Segment &s, const int v, const double c)
Definition: ME0Muon.h:25
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
int trackCharge_
Definition: ME0Muon.h:75
TrackRef innerTrack() const
reference to Track reconstructed in the tracker only
Definition: ME0Muon.h:29
ME0Segment me0Segment_
Definition: ME0Muon.h:67
const GlobalPoint & globalTrackPosAtSurface() const
Definition: ME0Muon.h:44
const GlobalVector & globalTrackMomAtSurface() const
Definition: ME0Muon.h:45
int me0segid_
Definition: ME0Muon.h:68
void setTrack(const TrackRef &t)
Definition: ME0Muon.h:33
void setGlobalTrackMomAtSurface(const GlobalVector &globalTrackMomAtSurface)
Definition: ME0Muon.h:54
int me0segid() const
Definition: ME0Muon.h:41
const ME0Segment & me0segment() const
Definition: ME0Muon.h:37
virtual TrackRef track() const
reference to a Track
Definition: ME0Muon.h:30
void setLocalTrackCov(const AlgebraicSymMatrix55 &trackCov)
Definition: ME0Muon.h:59
const AlgebraicSymMatrix55 & localTrackCov() const
Definition: ME0Muon.h:51
const AlgebraicSymMatrix66 & globalTrackCov() const
Definition: ME0Muon.h:50
AlgebraicSymMatrix55 localTrackCov_
Definition: ME0Muon.h:77
LocalPoint localTrackPosAtSurface_
Definition: ME0Muon.h:73
GlobalPoint globalTrackPosAtSurface_
Definition: ME0Muon.h:70
void setGlobalTrackCov(const AlgebraicSymMatrix66 &trackCov)
Definition: ME0Muon.h:58
TrackRef innerTrack_
reference to Track reconstructed in the tracker only
Definition: ME0Muon.h:66
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:27
void setme0segid(const int v)
Definition: ME0Muon.h:40
void setME0Segment(const ME0Segment &s)
set reference to our new ME0Segment type
Definition: ME0Muon.h:35
void setGlobalTrackPosAtSurface(const GlobalPoint &globalTrackPosAtSurface)
Definition: ME0Muon.h:53
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
const LocalVector & localTrackMomAtSurface() const
Definition: ME0Muon.h:47
LocalVector localTrackMomAtSurface_
Definition: ME0Muon.h:74
GlobalVector globalTrackMomAtSurface_
Definition: ME0Muon.h:71
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::LocalCoordinateSystemTag > LocalPoint
point in local coordinate system
Definition: Point3D.h:15
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:55