CMS 3D CMS Logo

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