CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/MuonReco/interface/MuonChamberMatch.h

Go to the documentation of this file.
00001 #ifndef MuonReco_MuonChamberMatch_h
00002 #define MuonReco_MuonChamberMatch_h
00003 
00004 #include "DataFormats/DetId/interface/DetId.h"
00005 #include "DataFormats/MuonReco/interface/MuonSegmentMatch.h"
00006 #include <vector>
00007 
00008 namespace reco {
00009    class MuonChamberMatch {
00010       public:
00011          std::vector<reco::MuonSegmentMatch> segmentMatches;    // segments matching propagated track trajectory
00012          std::vector<reco::MuonSegmentMatch> truthMatches;      // SimHit projection matching propagated track trajectory
00013          float edgeX;      // distance to closest edge in X (negative - inside, positive - outside)
00014          float edgeY;      // distance to closest edge in Y (negative - inside, positive - outside)
00015          float x;          // X position of the track
00016          float y;          // Y position of the track
00017          float xErr;       // propagation uncertainty in X
00018          float yErr;       // propagation uncertainty in Y
00019          float dXdZ;       // dX/dZ of the track
00020          float dYdZ;       // dY/dZ of the track
00021          float dXdZErr;    // propagation uncertainty in dX/dZ
00022          float dYdZErr;    // propagation uncertainty in dY/dZ
00023          DetId id;         // chamber ID
00024 
00025          int detector() const { return id.subdetId(); }
00026          int station()  const;
00027 
00028          std::pair<float,float> getDistancePair(float edgeX, float edgeY, float xErr, float yErr) const;
00029          float dist() const { return getDistancePair(edgeX, edgeY, xErr, yErr).first; }        // distance to absolute closest edge
00030          float distErr() const { return getDistancePair(edgeX, edgeY, xErr, yErr).second; }    // propagation uncertainty in above distance
00031    };
00032 }
00033 
00034 #endif