CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 "DataFormats/MuonReco/interface/MuonRPCHitMatch.h"
00007 #include <vector>
00008 
00009 namespace reco {
00010    class MuonChamberMatch {
00011       public:
00012          std::vector<reco::MuonSegmentMatch> segmentMatches;    // segments matching propagated track trajectory
00013          std::vector<reco::MuonSegmentMatch> truthMatches;      // SimHit projection matching propagated track trajectory
00014          std::vector<reco::MuonRPCHitMatch>  rpcMatches;        // rpc hits matching propagated track trajectory 
00015          float edgeX;      // distance to closest edge in X (negative - inside, positive - outside)
00016          float edgeY;      // distance to closest edge in Y (negative - inside, positive - outside)
00017          float x;          // X position of the track
00018          float y;          // Y position of the track
00019          float xErr;       // propagation uncertainty in X
00020          float yErr;       // propagation uncertainty in Y
00021          float dXdZ;       // dX/dZ of the track
00022          float dYdZ;       // dY/dZ of the track
00023          float dXdZErr;    // propagation uncertainty in dX/dZ
00024          float dYdZErr;    // propagation uncertainty in dY/dZ
00025          DetId id;         // chamber ID
00026 
00027          int detector() const { return id.subdetId(); }
00028          int station()  const;
00029 
00030          std::pair<float,float> getDistancePair(float edgeX, float edgeY, float xErr, float yErr) const;
00031          float dist() const { return getDistancePair(edgeX, edgeY, xErr, yErr).first; }        // distance to absolute closest edge
00032          float distErr() const { return getDistancePair(edgeX, edgeY, xErr, yErr).second; }    // propagation uncertainty in above distance
00033    };
00034 }
00035 
00036 #endif