CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonSegmentMatch.h
Go to the documentation of this file.
1 #ifndef MuonReco_MuonSegmentMatch_h
2 #define MuonReco_MuonSegmentMatch_h
3 
4 #include <cmath>
5 
8 
9 namespace reco {
11  public:
13  static const unsigned int Arbitrated = 1<<8; // is arbitrated (multiple muons)
14  static const unsigned int BestInChamberByDX = 1<<9; // best delta x in single muon chamber
15  static const unsigned int BestInChamberByDR = 1<<10; // best delta r in single muon chamber
16  static const unsigned int BestInChamberByDXSlope = 1<<11; // best delta dx/dz in single muon chamber
17  static const unsigned int BestInChamberByDRSlope = 1<<12; // best delta dy/dz in single muon chamber
18  static const unsigned int BestInStationByDX = 1<<13; // best delta x in single muon station
19  static const unsigned int BestInStationByDR = 1<<14; // best delta r in single muon station
20  static const unsigned int BestInStationByDXSlope = 1<<15; // best delta dx/dz in single muon station
21  static const unsigned int BestInStationByDRSlope = 1<<16; // best delta dy/dz in single muon station
22  static const unsigned int BelongsToTrackByDX = 1<<17; // best delta x of multiple muons
23  static const unsigned int BelongsToTrackByDR = 1<<18; // best delta r of multiple muons
24  static const unsigned int BelongsToTrackByDXSlope = 1<<19; // best delta dx/dz of multiple muons
25  static const unsigned int BelongsToTrackByDRSlope = 1<<20; // best delta dy/dz of multiple muons
26  static const unsigned int BelongsToTrackByME1aClean = 1<<21; // won ME1a segment sharing cleaning
27  static const unsigned int BelongsToTrackByOvlClean = 1<<22; // won chamber overlap segment sharing cleaning
28  static const unsigned int BelongsToTrackByClusClean = 1<<23; // won cluster sharing cleaning
29  static const unsigned int BelongsToTrackByCleaning = 1<<24; // won any arbitration cleaning type, including defaults
30 
31  float x; // X position of the matched segment
32  float y; // Y position of the matched segment
33  float xErr; // uncertainty in X
34  float yErr; // uncertainty in Y
35  float dXdZ; // dX/dZ of the matched segment
36  float dYdZ; // dY/dZ of the matched segment
37  float dXdZErr; // uncertainty in dX/dZ
38  float dYdZErr; // uncertainty in dY/dZ
39  unsigned int mask; // arbitration mask
40  bool hasZed_; // contains local y information (only relevant for segments in DT)
41  bool hasPhi_; // contains local x information (only relevant for segments in DT)
42 
43  bool isMask( unsigned int flag = Arbitrated ) const { return (mask & flag) == flag; }
44  void setMask( unsigned int flag ) { mask |= flag; }
45  float t0;
46 
49 
50  MuonSegmentMatch():x(0),y(0),xErr(0),yErr(0),dXdZ(0),dYdZ(0),
51  dXdZErr(0),dYdZErr(0) {}
52 
53  bool hasZed() const { return hasZed_; }
54  bool hasPhi() const { return hasPhi_; }
55  };
56 }
57 
58 #endif
static const unsigned int BelongsToTrackByME1aClean
DTRecSegment4DRef dtSegmentRef
CSCSegmentRef cscSegmentRef
static const unsigned int Arbitrated
segment mask flags
static const unsigned int BestInStationByDRSlope
static const unsigned int BelongsToTrackByDXSlope
static const unsigned int BestInStationByDR
static const unsigned int BestInChamberByDX
static const unsigned int BestInChamberByDR
static const unsigned int BestInStationByDXSlope
void setMask(unsigned int flag)
static const unsigned int BelongsToTrackByCleaning
static const unsigned int BestInChamberByDXSlope
static const unsigned int BelongsToTrackByOvlClean
static const unsigned int BelongsToTrackByDRSlope
bool isMask(unsigned int flag=Arbitrated) const
static const unsigned int BelongsToTrackByDR
static const unsigned int BelongsToTrackByDX
static const unsigned int BestInStationByDX
static const unsigned int BelongsToTrackByClusClean
static const unsigned int BestInChamberByDRSlope