CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
reco::Muon Class Reference

#include <DataFormats/MuonReco/interface/Muon.h>

Inheritance diagram for reco::Muon:
reco::RecoCandidate reco::LeafCandidate reco::Candidate pat::PATObject< reco::Muon > pat::Lepton< reco::Muon > pat::Muon

Public Types

enum  ArbitrationType { NoArbitration, SegmentArbitration, SegmentAndTrackArbitration, SegmentAndTrackArbitrationCleaned }
 define arbitration schemes More...
 
typedef std::map
< MuonTrackType,
reco::TrackRef
MuonTrackRefMap
 
enum  MuonTrackType {
  None, InnerTrack, OuterTrack, CombinedTrack,
  TPFMS, Picky, DYT
}
 map for Global Muon refitters More...
 
typedef std::pair< TrackRef,
Muon::MuonTrackType
MuonTrackTypePair
 
- Public Types inherited from reco::RecoCandidate
enum  TrackType { noTrackType, recoTrackType, gsfTrackType }
 track type More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Public Member Functions

virtual const TrackbestTrack () const
 best track pointer More...
 
virtual TrackBaseRef bestTrackRef () const
 best track RefToBase More...
 
MuonEnergy calEnergy () const
 get energy deposition information More...
 
float caloCompatibility () const
 
Muonclone () const
 create a clone More...
 
virtual TrackRef combinedMuon () const
 reference to a stand-alone muon Track More...
 
MuonQuality combinedQuality () const
 get energy deposition information More...
 
float dDxDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float dDyDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float dX (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float dY (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
virtual TrackRef dytTrack () const
 
virtual TrackRef globalTrack () const
 reference to Track reconstructed in both tracked and muon detector More...
 
virtual TrackRef innerTrack () const
 
bool isAValidMuonTrack (const MuonTrackType &type) const
 
bool isCaloCompatibilityValid () const
 
bool isCaloMuon () const
 
bool isEnergyValid () const
 
bool isGlobalMuon () const
 
bool isIsolationValid () const
 
bool isMatchesValid () const
 
bool isMuon () const
 
const MuonIsolationisolationR03 () const
 
const MuonIsolationisolationR05 () const
 
bool isPFIsolationValid () const
 
bool isPFMuon () const
 
bool isQualityValid () const
 
bool isRPCMuon () const
 
bool isStandAloneMuon () const
 
bool isTimeValid () const
 
bool isTrackerMuon () const
 
std::vector< MuonChamberMatch > & matches ()
 get muon matching information More...
 
const std::vector
< MuonChamberMatch > & 
matches () const
 
 Muon ()
 
 Muon (Charge, const LorentzVector &, const Point &=Point(0, 0, 0))
 constructor from values More...
 
virtual TrackRef muonBestTrack () const
 
virtual MuonTrackType muonBestTrackType () const
 
TrackRef muonTrack (const MuonTrackType &) const
 
TrackRef muonTrackFromMap (const MuonTrackType &type) const
 
int numberOfChambers () const
 
int numberOfChambersNoRPC () const
 number of chambers not including RPC matches (MuonChamberMatches include RPC rolls) More...
 
int numberOfMatchedStations (ArbitrationType type=SegmentAndTrackArbitration) const
 
int numberOfMatches (ArbitrationType type=SegmentAndTrackArbitration) const
 get number of chambers with matched segments More...
 
int numberOfSegments (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 get number of segments More...
 
virtual TrackRef outerTrack () const
 reference to Track reconstructed in the muon detector only More...
 
const MuonPFIsolationpfIsolationR03 () const
 
const MuonPFIsolationpfIsolationR04 () const
 
reco::Candidate::LorentzVector pfP4 () const
 
virtual TrackRef pickyTrack () const
 
float pullDxDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration, bool includeSegmentError=true) const
 
float pullDyDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration, bool includeSegmentError=true) const
 
float pullX (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration, bool includeSegmentError=true) const
 
float pullY (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration, bool includeSegmentError=true) const
 
float segmentDxDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentDxDzErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentDyDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentDyDzErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentX (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentXErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentY (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float segmentYErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
virtual void setBestTrack (MuonTrackType muonType)
 
void setCalEnergy (const MuonEnergy &calEnergy)
 set energy deposition information More...
 
void setCaloCompatibility (float input)
 
virtual void setCombined (const TrackRef &t)
 
void setCombinedQuality (const MuonQuality &combinedQuality)
 set energy deposition information More...
 
virtual void setGlobalTrack (const TrackRef &t)
 set reference to Track More...
 
virtual void setInnerTrack (const TrackRef &t)
 set reference to Track More...
 
void setIsolation (const MuonIsolation &isoR03, const MuonIsolation &isoR05)
 
void setMatches (const std::vector< MuonChamberMatch > &matches)
 set muon matching information More...
 
void setMuonTrack (const MuonTrackType &, const TrackRef &)
 
virtual void setOuterTrack (const TrackRef &t)
 set reference to Track More...
 
void setPFIsolation (const MuonPFIsolation &isoR03, const MuonPFIsolation &isoR04)
 
virtual void setPFP4 (const reco::Candidate::LorentzVector &p4_)
 
virtual void setStandAlone (const TrackRef &t)
 
void setTime (const MuonTime &time)
 set timing information More...
 
virtual void setTrack (const TrackRef &t)
 
void setType (unsigned int type)
 
virtual TrackRef standAloneMuon () const
 reference to a stand-alone muon Track More...
 
unsigned int stationGapMaskDistance (float distanceCut=10.) const
 
unsigned int stationGapMaskPull (float sigmaCut=3.) const
 same as above for given number of sigmas More...
 
unsigned int stationMask (ArbitrationType type=SegmentAndTrackArbitration) const
 
float t0 (int n=0)
 
MuonTime time () const
 get timing information More...
 
virtual TrackRef tpfmsTrack () const
 
virtual TrackRef track () const
 reference to a Track More...
 
float trackDist (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackDistErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackDxDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackDxDzErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackDyDz (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackDyDzErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackEdgeX (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackEdgeY (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackX (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackXErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackY (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
float trackYErr (int station, int muonSubdetId, ArbitrationType type=SegmentAndTrackArbitration) const
 
unsigned int type () const
 
- Public Member Functions inherited from reco::RecoCandidate
virtual TrackType bestTrackType () const
 track type More...
 
virtual CaloTowerRef caloTower () const
 reference to a CaloTower More...
 
virtual reco::GsfTrackRef gsfTrack () const
 reference to a GsfTrack More...
 
virtual size_t numberOfTracks () const
 number of multiple Tracks More...
 
 RecoCandidate ()
 default constructor More...
 
 RecoCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
 RecoCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
virtual reco::SuperClusterRef superCluster () const
 reference to a SuperCluster More...
 
virtual reco::TrackRef track (size_t) const
 reference to one of multiple Tracks More...
 
virtual ~RecoCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
virtual const_iterator begin () const
 first daughter const_iterator More...
 
virtual iterator begin ()
 first daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
virtual Vector boostToCM () const
 
virtual int charge () const
 electric charge More...
 
virtual const Candidatedaughter (size_type) const
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
virtual const_iterator end () const
 last daughter const_iterator More...
 
virtual iterator end ()
 last daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual double eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isJet () const
 
virtual bool isPhoton () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
 LeafCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const
 is long lived? More...
 
virtual double mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual double massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual const Candidatemother (size_type) const
 return mother at a given position (throws an exception) More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual size_t numberOfDaughters () const
 number of daughters More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual size_t numberOfSourceCandidatePtrs () const
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual double phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual CandidatePtr sourceCandidatePtr (size_type i) const
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Static Public Attributes

static const unsigned int CaloMuon = 1<<4
 
static const unsigned int GlobalMuon = 1<<1
 
static const unsigned int PFMuon = 1<<5
 
static const unsigned int RPCMuon = 1<<6
 
static const unsigned int StandAloneMuon = 1<<3
 
static const unsigned int TrackerMuon = 1<<2
 
- Static Public Attributes inherited from reco::LeafCandidate
static const unsigned int longLivedTag = 65536
 long lived flag More...
 
static const unsigned int massConstraintTag = 131072
 do mass constraint flag More...
 

Private Member Functions

const std::vector< const
MuonChamberMatch * > 
chambers (int station, int muonSubdetId) const
 get vector of muon chambers for given station and detector More...
 
virtual bool overlap (const Candidate &) const
 check overlap with another candidate More...
 
std::pair< const
MuonChamberMatch *, const
MuonSegmentMatch * > 
pair (const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
 get pointers to best segment and corresponding chamber in vector of chambers More...
 

Private Attributes

MuonTrackType bestTrackType_
 reference to the Track chosen to assign the momentum value to the muon More...
 
MuonEnergy calEnergy_
 energy deposition More...
 
float caloCompatibility_
 muon hypothesis compatibility with observer calorimeter energy More...
 
MuonQuality combinedQuality_
 quality block More...
 
bool energyValid_
 
TrackRef globalTrack_
 reference to Track reconstructed in both tracked and muon detector More...
 
TrackRef innerTrack_
 reference to Track reconstructed in the tracker only More...
 
MuonIsolation isolationR03_
 Isolation information for two cones with dR=0.3 and dR=0.5. More...
 
MuonIsolation isolationR05_
 
bool isolationValid_
 
bool matchesValid_
 
std::vector< MuonChamberMatchmuMatches_
 Information on matching between tracks and segments. More...
 
TrackRef outerTrack_
 reference to Track reconstructed in the muon detector only More...
 
MuonPFIsolation pfIsolationR03_
 PF Isolation information for two cones with dR=0.3 and dR=0.4. More...
 
MuonPFIsolation pfIsolationR04_
 
bool pfIsolationValid_
 
reco::Candidate::LorentzVector pfP4_
 
bool qualityValid_
 
MuonTrackRefMap refittedTrackMap_
 reference to the Global Track refitted with dedicated TeV reconstructors More...
 
MuonTime time_
 timing More...
 
unsigned int type_
 muon type mask More...
 

Additional Inherited Members

- Protected Member Functions inherited from reco::RecoCandidate
template<typename R >
bool checkOverlap (const R &r1, const R &r2) const
 check if two components overlap More...
 
- Protected Member Functions inherited from reco::LeafCandidate
void cacheCartesian () const
 set internal cache More...
 
void cachePolar () const
 set internal cache More...
 
void clearCache () const
 clear internal cache More...
 
- Protected Attributes inherited from reco::LeafCandidate
bool cacheCartesianFixed_
 
bool cachePolarFixed_
 has cache been set? More...
 
float eta_
 
float mass_
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
int pdgId_
 PDG identifier. More...
 
float phi_
 
float pt_
 four-momentum Lorentz vector More...
 
Charge qx3_
 electric charge More...
 
int status_
 status word More...
 
Point vertex_
 vertex position More...
 

Detailed Description

A reconstructed Muon. contains reference to three fits:

Author
Luca Lista, Claudio Campagnari, Dmytro Kovalskyi, Jake Ribnik, Riccardo Bellan, Michalis Bachtis
Version
Id:
Muon.h,v 1.71.2.1 2012/10/15 00:28:04 bachtis Exp

Definition at line 28 of file Muon.h.

Member Typedef Documentation

Definition at line 40 of file Muon.h.

Definition at line 41 of file Muon.h.

Member Enumeration Documentation

define arbitration schemes

Enumerator
NoArbitration 
SegmentArbitration 
SegmentAndTrackArbitration 
SegmentAndTrackArbitrationCleaned 

Definition at line 173 of file Muon.h.

map for Global Muon refitters

Enumerator
None 
InnerTrack 
OuterTrack 
CombinedTrack 
TPFMS 
Picky 
DYT 

Definition at line 39 of file Muon.h.

Constructor & Destructor Documentation

Muon::Muon ( )

Definition at line 18 of file Muon.cc.

References bestTrackType_, caloCompatibility_, energyValid_, isolationValid_, matchesValid_, None, pfIsolationValid_, qualityValid_, and type_.

Referenced by clone().

18  {
19  energyValid_ = false;
20  matchesValid_ = false;
21  isolationValid_ = false;
22  pfIsolationValid_ = false;
23  qualityValid_ = false;
24  caloCompatibility_ = -9999.;
25  type_ = 0;
27 }
float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: Muon.h:246
unsigned int type_
muon type mask
Definition: Muon.h:256
bool isolationValid_
Definition: Muon.h:242
MuonTrackType bestTrackType_
reference to the Track chosen to assign the momentum value to the muon
Definition: Muon.h:230
bool energyValid_
Definition: Muon.h:240
bool pfIsolationValid_
Definition: Muon.h:243
bool qualityValid_
Definition: Muon.h:244
bool matchesValid_
Definition: Muon.h:241
Muon::Muon ( Charge  q,
const LorentzVector p4,
const Point vtx = Point( 0, 0, 0 ) 
)

constructor from values

Definition at line 6 of file Muon.cc.

References bestTrackType_, caloCompatibility_, energyValid_, isolationValid_, matchesValid_, None, pfIsolationValid_, qualityValid_, and type_.

6  :
7  RecoCandidate( q, p4, vtx, -13 * q ) {
8  energyValid_ = false;
9  matchesValid_ = false;
10  isolationValid_ = false;
11  pfIsolationValid_ = false;
12  qualityValid_ = false;
13  caloCompatibility_ = -9999.;
14  type_ = 0;
16 }
float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: Muon.h:246
unsigned int type_
muon type mask
Definition: Muon.h:256
bool isolationValid_
Definition: Muon.h:242
MuonTrackType bestTrackType_
reference to the Track chosen to assign the momentum value to the muon
Definition: Muon.h:230
bool energyValid_
Definition: Muon.h:240
bool pfIsolationValid_
Definition: Muon.h:243
bool qualityValid_
Definition: Muon.h:244
RecoCandidate()
default constructor
Definition: RecoCandidate.h:24
bool matchesValid_
Definition: Muon.h:241
virtual const LorentzVector & p4() const
four-momentum Lorentz vector

Member Function Documentation

virtual const Track* reco::Muon::bestTrack ( ) const
inlinevirtual

best track pointer

Reimplemented from reco::RecoCandidate.

Definition at line 62 of file Muon.h.

References edm::Ref< C, T, F >::get(), muonBestTrackType(), and muonTrack().

62 {return muonTrack(muonBestTrackType()).get();}
virtual MuonTrackType muonBestTrackType() const
Definition: Muon.h:65
TrackRef muonTrack(const MuonTrackType &) const
Definition: Muon.cc:764
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:242
virtual TrackBaseRef reco::Muon::bestTrackRef ( ) const
inlinevirtual

best track RefToBase

Reimplemented from reco::RecoCandidate.

Definition at line 63 of file Muon.h.

References muonBestTrackType(), and muonTrack().

Referenced by SelectReplacementCandidates::getRawIDsAdvanced().

virtual MuonTrackType muonBestTrackType() const
Definition: Muon.h:65
TrackRef muonTrack(const MuonTrackType &) const
Definition: Muon.cc:764
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:22
MuonEnergy reco::Muon::calEnergy ( ) const
inline
float reco::Muon::caloCompatibility ( ) const
inline

====================== MUON COMPATIBILITY BLOCK ===========================

Relative likelihood based on ECAL, HCAL, HO energy defined as L_muon/(L_muon+L_not_muon)

Definition at line 151 of file Muon.h.

References caloCompatibility_.

Referenced by muon::caloCompatibility(), TauDiscriminationAgainstMuon< TauType, TauDiscriminator >::evaluateMuonVeto(), and CaloMuonMerger::produce().

151 { return caloCompatibility_; }
float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: Muon.h:246
const std::vector< const MuonChamberMatch * > Muon::chambers ( int  station,
int  muonSubdetId 
) const
private

get vector of muon chambers for given station and detector

Definition at line 287 of file Muon.cc.

References muMatches_.

Referenced by dDxDz(), dDyDz(), dX(), dY(), pullDxDz(), pullDyDz(), pullX(), pullY(), segmentDxDz(), segmentDxDzErr(), segmentDyDz(), segmentDyDzErr(), segmentX(), segmentXErr(), segmentY(), segmentYErr(), trackDist(), trackDistErr(), trackDxDz(), trackDxDzErr(), trackDyDz(), trackDyDzErr(), trackEdgeX(), trackEdgeY(), trackX(), trackXErr(), trackY(), and trackYErr().

288 {
289  std::vector<const MuonChamberMatch*> chambers;
290  for(std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
291  chamberMatch != muMatches_.end(); chamberMatch++)
292  if(chamberMatch->station()==station && chamberMatch->detector()==muonSubdetId)
293  chambers.push_back(&(*chamberMatch));
294  return chambers;
295 }
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
Muon * Muon::clone ( void  ) const
virtual

create a clone

Reimplemented from reco::RecoCandidate.

Reimplemented in pat::Muon, and pat::Lepton< reco::Muon >.

Definition at line 40 of file Muon.cc.

References Muon().

Referenced by MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), MuonWithPFIsoProducer::produce(), DistortedMuonProducerFromDB::produce(), DistortedMuonProducer::produce(), and UpdatedMuonInnerTrackRef::produce().

40  {
41  return new Muon( * this );
42 }
Muon()
Definition: Muon.cc:18
virtual TrackRef reco::Muon::combinedMuon ( ) const
inlinevirtual

reference to a stand-alone muon Track

Reimplemented from reco::RecoCandidate.

Reimplemented in pat::Muon.

Definition at line 56 of file Muon.h.

References globalTrack().

Referenced by MuonKinVsEtaAnalyzer::analyze(), MuonRecoAnalyzer::analyze(), AlignmentMuonSelector::basicCuts(), MuonIdProducer::fillGlbQuality(), MuonTimingFiller::fillTiming(), muon::muonBestTrack(), overlap(), helper::MuonCollectionStoreManager::processMuon(), and muon::tevOptimized().

56 { return globalTrack(); }
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:55
MuonQuality reco::Muon::combinedQuality ( ) const
inline

get energy deposition information

Definition at line 122 of file Muon.h.

References combinedQuality_.

Referenced by MuonIdProducer::fillGlbQuality(), MuonIdProducer::fillTrackerKink(), muon::isGoodMuon(), and setCombinedQuality().

122 { return combinedQuality_; }
MuonQuality combinedQuality_
quality block
Definition: Muon.h:235
float Muon::dDxDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 353 of file Muon.cc.

References chambers(), and pair().

354 {
355  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
356  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
357  if(! chamberSegmentPair.second->hasPhi()) return 999999;
358  return chamberSegmentPair.first->dXdZ-chamberSegmentPair.second->dXdZ;
359 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::dDyDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 361 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

362 {
363  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
364  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
365  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
366  if(! chamberSegmentPair.second->hasZed()) return 999999;
367  return chamberSegmentPair.first->dYdZ-chamberSegmentPair.second->dYdZ;
368 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
float Muon::dX ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

get deltas between (best) segment and track If no chamber or no segment returns 999999

Definition at line 336 of file Muon.cc.

References chambers(), and pair().

Referenced by muon::isGoodMuon(), and muon::segmentCompatibility().

337 {
338  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
339  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
340  if(! chamberSegmentPair.second->hasPhi()) return 999999;
341  return chamberSegmentPair.first->x-chamberSegmentPair.second->x;
342 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::dY ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 344 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

Referenced by muon::isGoodMuon(), and muon::segmentCompatibility().

345 {
346  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
347  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
348  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
349  if(! chamberSegmentPair.second->hasZed()) return 999999;
350  return chamberSegmentPair.first->y-chamberSegmentPair.second->y;
351 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
virtual TrackRef reco::Muon::dytTrack ( ) const
inlinevirtual

Reimplemented in pat::Muon.

Definition at line 60 of file Muon.h.

References DYT, and muonTrackFromMap().

Referenced by pat::Muon::dytTrack(), pat::Muon::embedDytMuon(), and muonTrack().

60 { return muonTrackFromMap(DYT);}
TrackRef muonTrackFromMap(const MuonTrackType &type) const
Definition: Muon.h:76
virtual TrackRef reco::Muon::globalTrack ( ) const
inlinevirtual
virtual TrackRef reco::Muon::innerTrack ( ) const
inlinevirtual

Reimplemented in pat::Muon.

Definition at line 49 of file Muon.h.

References innerTrack_.

Referenced by EwkMuDQM::analyze(), EwkMuLumiMonitorDQM::analyze(), MuonEnergyDepositAnalyzer::analyze(), HLTMuonMatchAndPlot::analyze(), MuonCosmicCompatibilityFiller::backToBack2LegCosmic(), ZToMuMuGammaAnalyzer::basicMuonSelection(), FWMuonBuilder::buildMuon(), FWMuonBuilder::calculateField(), TCMETAlgo::CalculateTCMET(), MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), muon::cocktailInputIsOK(), pat::Muon::embedTrack(), MuonIdProducer::fillTrackerKink(), WMuNuValidator::filter(), LeptonRecoSkim::filter(), MuonMETAlgo::GetMuDepDeltas(), cms::MuonTCMETValueMapProducer::isGoodCaloMuon(), muon::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodTrack(), muon::isHighPtMuon(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), SoftPFMuonTagInfoProducer::isSoftMuon(), muon::isSoftMuon(), SoftPFMuonTagInfoProducer::isTightMuon(), muon::isTightMuon(), BTagHLTOfflineSource::isVBTFMuon(), FourVectorHLTOffline::isVBTFMuon(), MuonIdProducer::makeCaloMuon(), muon::muonBestTrack(), muonBestTrackType(), MuonResidualsFromTrack::MuonResidualsFromTrack(), muonTrack(), MuonIdProducer::phiOfMuonIneteractionRegion(), helper::MuonCollectionStoreManager::processMuon(), MuonWithPFIsoProducer::produce(), UpdatedMuonInnerTrackRef::produce(), cms::MuonMETValueMapProducer::produce(), cms::MuonTCMETValueMapProducer::produce(), MuonIdProducer::produce(), cms::MuonTCMETValueMapProducer::propagateTrack(), MuonCosmicCompatibilityFiller::pvMatches(), BPhysicsOniaDQM::selGlobalMuon(), BPhysicsOniaDQM::selTrackerMuon(), sigmaSwitch(), muon::sigmaSwitch(), SoftPFMuonTagInfoProducer::tagMuon(), muon::tevOptimized(), tevOptimizedTMR(), track(), and pat::Muon::track().

49 { return innerTrack_; }
TrackRef innerTrack_
reference to Track reconstructed in the tracker only
Definition: Muon.h:222
bool Muon::isAValidMuonTrack ( const MuonTrackType type) const

Definition at line 760 of file Muon.cc.

References edm::Ref< C, T, F >::isNonnull(), and muonTrack().

Referenced by pat::PATMuonProducer::fillMuon().

760  {
761  return muonTrack(type).isNonnull();
762 }
type
Definition: HCALResponse.h:22
TrackRef muonTrack(const MuonTrackType &) const
Definition: Muon.cc:764
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
bool reco::Muon::isCaloCompatibilityValid ( ) const
inline

Definition at line 153 of file Muon.h.

References caloCompatibility_.

Referenced by CaloMuonMerger::produce().

153 { return caloCompatibility_>=0; }
float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: Muon.h:246
bool reco::Muon::isCaloMuon ( ) const
inlinevirtual

Reimplemented from reco::LeafCandidate.

Definition at line 214 of file Muon.h.

References CaloMuon, and type_.

Referenced by MuonRecoAnalyzer::analyze(), TCMETAlgo::CalculateTCMET(), TauDiscriminationAgainstMuon< TauType, TauDiscriminator >::evaluateMuonVeto(), and cms::MuonTCMETValueMapProducer::produce().

214 { return type_ & CaloMuon; }
unsigned int type_
muon type mask
Definition: Muon.h:256
static const unsigned int CaloMuon
Definition: Muon.h:203
bool reco::Muon::isEnergyValid ( ) const
inline

====================== ENERGY BLOCK ===========================

energy deposition

Definition at line 110 of file Muon.h.

References energyValid_.

Referenced by MuonTimingFiller::addEcalTime(), FWMuonDetailView::addSceneInfo(), FWMuonLegoProxyBuilder::build(), FWMuonDetailView::build(), MuonIdProducer::makeCaloMuon(), MuonIdProducer::produce(), and FWMuonDetailView::setTextInfo().

110 { return energyValid_; }
bool energyValid_
Definition: Muon.h:240
bool reco::Muon::isGlobalMuon ( ) const
inlinevirtual

Reimplemented from reco::LeafCandidate.

Definition at line 211 of file Muon.h.

References GlobalMuon, and type_.

Referenced by GlbMuQualityCutsAnalysis::analyze(), EwkMuDQM::analyze(), RPCRecHitProbability::analyze(), RPCMonitorDigi::analyze(), EwkMuLumiMonitorDQM::analyze(), MuonKinVsEtaAnalyzer::analyze(), MuonRecoAnalyzer::analyze(), MuonEnergyDepositAnalyzer::analyze(), ZMuMu_efficiencyAnalyzer::analyze(), ZMuMu_vtxAnalyzer::analyze(), MuTriggerAnalyzer::analyze(), HiggsDQM::analyze(), MuonCosmicCompatibilityFiller::backToBack2LegCosmic(), AlignmentMuonSelector::basicCuts(), ZToMuMuGammaAnalyzer::basicMuonSelection(), FWMuonBuilder::buildMuon(), TCMETAlgo::CalculateTCMET(), MuonCosmicCompatibilityFiller::combinedCosmicID(), TauDiscriminationAgainstMuon< TauType, TauDiscriminator >::evaluateMuonVeto(), MuonIdProducer::fillGlbQuality(), EwkMuTauHistManager::fillHistograms(), MuonShowerInformationFiller::fillHitsByStation(), pat::PATMuonProducer::fillMuon(), WMuNuValidator::filter(), WMuNuSelector::filter(), LeptonRecoSkim::filter(), MuonMETAlgo::GetMuDepDeltas(), muon::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodMuon(), muon::isHighPtMuon(), SoftPFMuonTagInfoProducer::isLooseMuon(), muon::isLooseMuon(), MuonCosmicCompatibilityFiller::isOverlappingMuon(), SoftPFMuonTagInfoProducer::isTightMuon(), muon::isTightMuon(), muon::muonBestTrack(), DistortedPFCandProducer::produce(), ZMuMuMuonUserData::produce(), ZMuMuUserData::produce(), cms::MuonMETValueMapProducer::produce(), MuonProducer::produce(), ZToLLEdmNtupleDumper::produce(), cms::MuonTCMETValueMapProducer::produce(), MuonMCClassifier::produce(), MuonCosmicCompatibilityFiller::pvMatches(), MuScleFitMuonSelector::selectMuons(), and PFMuonSelector::TopPag12LjetsCuts().

211 { return type_ & GlobalMuon; }
static const unsigned int GlobalMuon
Definition: Muon.h:200
unsigned int type_
muon type mask
Definition: Muon.h:256
bool reco::Muon::isIsolationValid ( ) const
inline

Definition at line 166 of file Muon.h.

References isolationValid_.

Referenced by MuonMETAlgo::GetMuDepDeltas().

166 { return isolationValid_; }
bool isolationValid_
Definition: Muon.h:242
bool reco::Muon::isMatchesValid ( ) const
inline

====================== MUON MATCH BLOCK ===========================

Definition at line 139 of file Muon.h.

References matchesValid_.

Referenced by FWMuonBuilder::buildMuon(), muon::isGoodMuon(), and MuonIdProducer::overlap().

139 { return matchesValid_; }
bool matchesValid_
Definition: Muon.h:241
bool reco::Muon::isMuon ( ) const
inlinevirtual

Reimplemented from reco::LeafCandidate.

Definition at line 210 of file Muon.h.

210 { return true; }
const MuonIsolation& reco::Muon::isolationR03 ( ) const
inline
const MuonIsolation& reco::Muon::isolationR05 ( ) const
inline

Definition at line 160 of file Muon.h.

References isolationR05_.

Referenced by EwkMuTauHistManager::fillHistograms().

160 { return isolationR05_; }
MuonIsolation isolationR05_
Definition: Muon.h:249
bool reco::Muon::isPFIsolationValid ( ) const
inline

Definition at line 169 of file Muon.h.

References pfIsolationValid_.

169 { return pfIsolationValid_; }
bool pfIsolationValid_
Definition: Muon.h:243
bool reco::Muon::isPFMuon ( ) const
inline

Definition at line 215 of file Muon.h.

References PFMuon, and type_.

Referenced by SoftPFMuonTagInfoProducer::isLooseMuon(), muon::isLooseMuon(), SoftPFMuonTagInfoProducer::isTightMuon(), muon::isTightMuon(), and MuonProducer::produce().

215 {return type_ & PFMuon;} //fix me ! Has to go to type
unsigned int type_
muon type mask
Definition: Muon.h:256
static const unsigned int PFMuon
Definition: Muon.h:204
bool reco::Muon::isQualityValid ( ) const
inline

====================== Quality BLOCK ===========================

energy deposition

Definition at line 120 of file Muon.h.

References qualityValid_.

Referenced by MuonIdProducer::fillTrackerKink(), and muon::isGoodMuon().

120 { return qualityValid_; }
bool qualityValid_
Definition: Muon.h:244
bool reco::Muon::isRPCMuon ( ) const
inline

Definition at line 216 of file Muon.h.

References RPCMuon, and type_.

216 {return type_ & RPCMuon;}
unsigned int type_
muon type mask
Definition: Muon.h:256
static const unsigned int RPCMuon
Definition: Muon.h:205
bool reco::Muon::isStandAloneMuon ( ) const
inlinevirtual
bool reco::Muon::isTimeValid ( ) const
inline

====================== TIMING BLOCK ===========================

timing information

Definition at line 130 of file Muon.h.

References reco::MuonTime::nDof, and time_.

Referenced by MuonCosmicCompatibilityFiller::muonTiming(), and MuonIdProducer::produce().

130 { return (time_.nDof>0); }
int nDof
number of muon stations used
Definition: MuonTime.h:10
MuonTime time_
timing
Definition: Muon.h:239
bool reco::Muon::isTrackerMuon ( ) const
inlinevirtual

Reimplemented from reco::LeafCandidate.

Definition at line 212 of file Muon.h.

References TrackerMuon, and type_.

Referenced by GlbMuQualityCutsAnalysis::analyze(), EwkMuDQM::analyze(), MuonEnergyDepositAnalyzer::analyze(), MuonKinVsEtaAnalyzer::analyze(), MuonRecoAnalyzer::analyze(), HiggsDQM::analyze(), HLTMuonMatchAndPlot::analyze(), MuonAssociatorByHits::associateMuons(), MuonCosmicCompatibilityFiller::backToBack2LegCosmic(), AlignmentMuonSelector::basicCuts(), FWMuonBuilder::buildMuon(), TCMETAlgo::CalculateTCMET(), TauDiscriminationAgainstMuon< TauType, TauDiscriminator >::evaluateMuonVeto(), EwkMuTauHistManager::fillHistograms(), MuonIdProducer::fillMuonId(), WMuNuValidator::filter(), WMuNuSelector::filter(), LeptonRecoSkim::filter(), MuonMETAlgo::GetMuDepDeltas(), muon::isGoodMuon(), cms::MuonTCMETValueMapProducer::isGoodMuon(), SoftPFMuonTagInfoProducer::isLooseMuon(), muon::isLooseMuon(), FourVectorHLTOffline::isVBTFMuon(), muon::muonBestTrack(), MuonResidualsFromTrack::MuonResidualsFromTrack(), ZToMuMuGammaAnalyzer::muonSelection(), DistortedPFCandProducer::produce(), ZMuMuMuonUserData::produce(), cms::MuonMETValueMapProducer::produce(), MuonProducer::produce(), ZToLLEdmNtupleDumper::produce(), cms::MuonTCMETValueMapProducer::produce(), MuonCosmicCompatibilityFiller::pvMatches(), MuScleFitMuonSelector::selectMuons(), and PFMuonSelector::TopPag12LjetsCuts().

212 { return type_ & TrackerMuon; }
unsigned int type_
muon type mask
Definition: Muon.h:256
static const unsigned int TrackerMuon
Definition: Muon.h:201
std::vector<MuonChamberMatch>& reco::Muon::matches ( )
inline
const std::vector<MuonChamberMatch>& reco::Muon::matches ( ) const
inline

Definition at line 142 of file Muon.h.

References muMatches_.

142 { return muMatches_; }
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
virtual TrackRef reco::Muon::muonBestTrack ( ) const
inlinevirtual

Reimplemented in pat::Muon.

Definition at line 64 of file Muon.h.

References muonBestTrackType(), and muonTrack().

Referenced by pat::Muon::embedMuonBestTrack(), SoftPFMuonTagInfoProducer::isSoftMuon(), SoftPFMuonTagInfoProducer::isTightMuon(), and muon::isTightMuon().

64 {return muonTrack(muonBestTrackType());}
virtual MuonTrackType muonBestTrackType() const
Definition: Muon.h:65
TrackRef muonTrack(const MuonTrackType &) const
Definition: Muon.cc:764
virtual MuonTrackType reco::Muon::muonBestTrackType ( ) const
inlinevirtual

Definition at line 65 of file Muon.h.

References bestTrackType_, InnerTrack, innerTrack(), None, OuterTrack, and standAloneMuon().

Referenced by bestTrack(), bestTrackRef(), and muonBestTrack().

65  {
66  if (bestTrackType_!=None) return bestTrackType_;
67  if (!innerTrack().isNull()) return InnerTrack;
68  if (!standAloneMuon().isNull()) return OuterTrack;
69  return None;
70  }
virtual TrackRef innerTrack() const
Definition: Muon.h:49
MuonTrackType bestTrackType_
reference to the Track chosen to assign the momentum value to the muon
Definition: Muon.h:230
virtual TrackRef standAloneMuon() const
reference to a stand-alone muon Track
Definition: Muon.h:53
TrackRef Muon::muonTrack ( const MuonTrackType type) const

Definition at line 764 of file Muon.cc.

References CombinedTrack, DYT, dytTrack(), globalTrack(), InnerTrack, innerTrack(), muonTrackFromMap(), OuterTrack, Picky, pickyTrack(), standAloneMuon(), TPFMS, and tpfmsTrack().

Referenced by bestTrack(), bestTrackRef(), isAValidMuonTrack(), and muonBestTrack().

764  {
765  switch (type) {
766  case InnerTrack: return innerTrack();
767  case OuterTrack: return standAloneMuon();
768  case CombinedTrack: return globalTrack();
769  case TPFMS: return tpfmsTrack();
770  case Picky: return pickyTrack();
771  case DYT: return dytTrack();
772  default: return muonTrackFromMap(type);
773  }
774 }
type
Definition: HCALResponse.h:22
virtual TrackRef innerTrack() const
Definition: Muon.h:49
virtual TrackRef tpfmsTrack() const
Definition: Muon.h:58
virtual TrackRef pickyTrack() const
Definition: Muon.h:59
virtual TrackRef dytTrack() const
Definition: Muon.h:60
TrackRef muonTrackFromMap(const MuonTrackType &type) const
Definition: Muon.h:76
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:55
virtual TrackRef standAloneMuon() const
reference to a stand-alone muon Track
Definition: Muon.h:53
TrackRef reco::Muon::muonTrackFromMap ( const MuonTrackType type) const
inline

Definition at line 76 of file Muon.h.

References refittedTrackMap_.

Referenced by dytTrack(), muonTrack(), pickyTrack(), and tpfmsTrack().

76  {
77  MuonTrackRefMap::const_iterator iter = refittedTrackMap_.find(type);
78  if (iter != refittedTrackMap_.end())
79  return iter->second;
80  else
81  return TrackRef();
82  }
type
Definition: HCALResponse.h:22
MuonTrackRefMap refittedTrackMap_
reference to the Global Track refitted with dedicated TeV reconstructors
Definition: Muon.h:228
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
int reco::Muon::numberOfChambers ( ) const
inline

====================== USEFUL METHODs ===========================

number of chambers (MuonChamberMatches include RPC rolls)

Definition at line 179 of file Muon.h.

References muMatches_.

Referenced by numberOfChambersNoRPC(), ZMuMuMuonUserData::produce(), and ZToLLEdmNtupleDumper::produce().

179 { return muMatches_.size(); }
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
int Muon::numberOfChambersNoRPC ( ) const

number of chambers not including RPC matches (MuonChamberMatches include RPC rolls)

Definition at line 44 of file Muon.cc.

References matches(), numberOfChambers(), MuonSubdetId::RPC, and pileupDistInMC::total.

45 {
46  int total = 0;
47  int nAll = numberOfChambers();
48  for (int iC = 0; iC < nAll; ++iC){
49  if (matches()[iC].detector() == MuonSubdetId::RPC) continue;
50  total++;
51  }
52 
53  return total;
54 }
int numberOfChambers() const
Definition: Muon.h:179
std::vector< MuonChamberMatch > & matches()
get muon matching information
Definition: Muon.h:141
static const int RPC
Definition: MuonSubdetId.h:16
int Muon::numberOfMatchedStations ( ArbitrationType  type = SegmentAndTrackArbitration) const

get number of stations with matched segments just adds the bits returned by stationMask

Definition at line 100 of file Muon.cc.

References stationMask(), and mergeVDriftHistosByStation::stations.

Referenced by muon::isHighPtMuon(), SoftPFMuonTagInfoProducer::isTightMuon(), and muon::isTightMuon().

101 {
102  int stations(0);
103 
104  unsigned int theStationMask = stationMask(type);
105  // eight stations, eight bits
106  for(int it = 0; it < 8; ++it)
107  if (theStationMask & 1<<it)
108  ++stations;
109 
110  return stations;
111 }
type
Definition: HCALResponse.h:22
unsigned int stationMask(ArbitrationType type=SegmentAndTrackArbitration) const
Definition: Muon.cc:113
int Muon::numberOfMatches ( ArbitrationType  type = SegmentAndTrackArbitration) const

get number of chambers with matched segments

Definition at line 56 of file Muon.cc.

References reco::MuonSegmentMatch::BelongsToTrackByCleaning, reco::MuonSegmentMatch::BelongsToTrackByDR, reco::MuonSegmentMatch::BestInChamberByDR, matches(), muMatches_, NoArbitration, SegmentAndTrackArbitration, SegmentAndTrackArbitrationCleaned, and SegmentArbitration.

Referenced by EwkMuDQM::analyze(), MuonKinVsEtaAnalyzer::analyze(), MuonCosmicCompatibilityFiller::checkMuonSegments(), TauDiscriminationAgainstMuon< TauType, TauDiscriminator >::evaluateMuonVeto(), MuonVPlusJetsIDSelectionFunctor::fall10Cuts(), MuonIdProducer::fillMuonId(), TrackerMuonHitExtractor::getMuonHits(), muon::isGoodMuon(), MuonIdProducer::isGoodTrackerMuon(), BTagHLTOfflineSource::isVBTFMuon(), FourVectorHLTOffline::isVBTFMuon(), MuonVPlusJetsIDSelectionFunctor::kitQCDCuts(), ZToMuMuGammaAnalyzer::muonSelection(), muon::overlap(), ZMuMuMuonUserData::produce(), ZToLLEdmNtupleDumper::produce(), and PFMuonSelector::TopPag12LjetsCuts().

57 {
58  int matches(0);
59  for( std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
60  chamberMatch != muMatches_.end(); chamberMatch++ )
61  {
62  if(chamberMatch->segmentMatches.empty()) continue;
63  if(type == NoArbitration) {
64  matches++;
65  continue;
66  }
67 
68  for( std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
69  segmentMatch != chamberMatch->segmentMatches.end(); segmentMatch++ )
70  {
72  if(segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR)) {
73  matches++;
74  break;
75  }
77  if(segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR) &&
78  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR)) {
79  matches++;
80  break;
81  }
83  if(segmentMatch->isMask(MuonSegmentMatch::BestInChamberByDR) &&
84  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR) &&
85  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByCleaning)) {
86  matches++;
87  break;
88  }
89  if(type > 1<<7)
90  if(segmentMatch->isMask(type)) {
91  matches++;
92  break;
93  }
94  }
95  }
96 
97  return matches;
98 }
type
Definition: HCALResponse.h:22
static const unsigned int BestInChamberByDR
static const unsigned int BelongsToTrackByCleaning
std::vector< MuonChamberMatch > & matches()
get muon matching information
Definition: Muon.h:141
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
static const unsigned int BelongsToTrackByDR
int Muon::numberOfSegments ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

get number of segments

Definition at line 241 of file Muon.cc.

References reco::MuonSegmentMatch::BelongsToTrackByCleaning, reco::MuonSegmentMatch::BelongsToTrackByDR, reco::MuonSegmentMatch::BestInStationByDR, muMatches_, NoArbitration, SegmentAndTrackArbitration, SegmentAndTrackArbitrationCleaned, and SegmentArbitration.

242 {
243  int segments(0);
244  for( std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
245  chamberMatch != muMatches_.end(); chamberMatch++ )
246  {
247  if(chamberMatch->segmentMatches.empty()) continue;
248  if(!(chamberMatch->station()==station && chamberMatch->detector()==muonSubdetId)) continue;
249 
250  if(type == NoArbitration) {
251  segments += chamberMatch->segmentMatches.size();
252  continue;
253  }
254 
255  for( std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
256  segmentMatch != chamberMatch->segmentMatches.end(); segmentMatch++ )
257  {
258  if(type == SegmentArbitration)
259  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR)) {
260  segments++;
261  break;
262  }
264  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
265  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR)) {
266  segments++;
267  break;
268  }
270  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
271  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR) &&
272  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByCleaning)) {
273  segments++;
274  break;
275  }
276  if(type > 1<<7)
277  if(segmentMatch->isMask(type)) {
278  segments++;
279  break;
280  }
281  }
282  }
283 
284  return segments;
285 }
type
Definition: HCALResponse.h:22
static const unsigned int BestInStationByDR
static const unsigned int BelongsToTrackByCleaning
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
static const unsigned int BelongsToTrackByDR
virtual TrackRef reco::Muon::outerTrack ( ) const
inlinevirtual
bool Muon::overlap ( const Candidate c) const
privatevirtual

check overlap with another candidate

Implements reco::RecoCandidate.

Definition at line 29 of file Muon.cc.

References trackerHits::c, reco::RecoCandidate::checkOverlap(), reco::RecoCandidate::combinedMuon(), combinedMuon(), python.connectstrParser::o, reco::RecoCandidate::standAloneMuon(), standAloneMuon(), reco::RecoCandidate::track(), and track().

29  {
30  const RecoCandidate * o = dynamic_cast<const RecoCandidate *>( & c );
31  return ( o != 0 &&
32  ( checkOverlap( track(), o->track() ) ||
35  checkOverlap( standAloneMuon(), o->track() ) ||
36  checkOverlap( combinedMuon(), o->track() ) )
37  );
38 }
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
Definition: RecoCandidate.h:67
virtual TrackRef track() const
reference to a Track
Definition: Muon.h:50
virtual reco::TrackRef standAloneMuon() const
reference to a stand-alone muon Track
virtual reco::TrackRef track() const
reference to a Track
virtual TrackRef combinedMuon() const
reference to a stand-alone muon Track
Definition: Muon.h:56
virtual reco::TrackRef combinedMuon() const
reference to a stand-alone muon Track
virtual TrackRef standAloneMuon() const
reference to a stand-alone muon Track
Definition: Muon.h:53
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > Muon::pair ( const std::vector< const MuonChamberMatch * > &  chambers,
ArbitrationType  type = SegmentAndTrackArbitration 
) const
private

get pointers to best segment and corresponding chamber in vector of chambers

Definition at line 297 of file Muon.cc.

References reco::MuonSegmentMatch::BelongsToTrackByCleaning, reco::MuonSegmentMatch::BelongsToTrackByDR, reco::MuonSegmentMatch::BestInStationByDR, m, NoArbitration, alignCSCRings::s, SegmentAndTrackArbitration, SegmentAndTrackArbitrationCleaned, and SegmentArbitration.

Referenced by dDxDz(), dDyDz(), dX(), dY(), pullDxDz(), pullDyDz(), pullX(), pullY(), segmentDxDz(), segmentDxDzErr(), segmentDyDz(), segmentDyDzErr(), segmentX(), segmentXErr(), segmentY(), segmentYErr(), trackDist(), trackDistErr(), trackDxDz(), trackDxDzErr(), trackDyDz(), trackDyDzErr(), trackEdgeX(), trackEdgeY(), trackX(), trackXErr(), trackY(), and trackYErr().

299 {
300  MuonChamberMatch* m = 0;
301  MuonSegmentMatch* s = 0;
302  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair(m,s);
303 
304  if(chambers.empty()) return chamberSegmentPair;
305  for( std::vector<const MuonChamberMatch*>::const_iterator chamberMatch = chambers.begin();
306  chamberMatch != chambers.end(); chamberMatch++ )
307  {
308  if((*chamberMatch)->segmentMatches.empty()) continue;
309  if(type == NoArbitration)
310  return std::make_pair(*chamberMatch, &((*chamberMatch)->segmentMatches.front()));
311 
312  for( std::vector<MuonSegmentMatch>::const_iterator segmentMatch = (*chamberMatch)->segmentMatches.begin();
313  segmentMatch != (*chamberMatch)->segmentMatches.end(); segmentMatch++ )
314  {
315  if(type == SegmentArbitration)
316  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR))
317  return std::make_pair(*chamberMatch, &(*segmentMatch));
319  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
320  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR))
321  return std::make_pair(*chamberMatch, &(*segmentMatch));
323  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
324  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR) &&
325  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByCleaning))
326  return std::make_pair(*chamberMatch, &(*segmentMatch));
327  if(type > 1<<7)
328  if(segmentMatch->isMask(type))
329  return std::make_pair(*chamberMatch, &(*segmentMatch));
330  }
331  }
332 
333  return chamberSegmentPair;
334 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
static const unsigned int BestInStationByDR
static const unsigned int BelongsToTrackByCleaning
static const unsigned int BelongsToTrackByDR
const MuonPFIsolation& reco::Muon::pfIsolationR03 ( ) const
inline

Definition at line 162 of file Muon.h.

References pfIsolationR03_.

162 { return pfIsolationR03_; }
MuonPFIsolation pfIsolationR03_
PF Isolation information for two cones with dR=0.3 and dR=0.4.
Definition: Muon.h:252
const MuonPFIsolation& reco::Muon::pfIsolationR04 ( ) const
inline

Definition at line 163 of file Muon.h.

References pfIsolationR04_.

163 { return pfIsolationR04_; }
MuonPFIsolation pfIsolationR04_
Definition: Muon.h:253
reco::Candidate::LorentzVector reco::Muon::pfP4 ( ) const
inline

set reference to PFCandidate

====================== PF BLOCK ===========================

Definition at line 103 of file Muon.h.

References pfP4_.

Referenced by RecoMuonValidator::MuonME::fill(), and MuonProducer::produce().

103 {return pfP4_;}
reco::Candidate::LorentzVector pfP4_
Definition: Muon.h:259
virtual TrackRef reco::Muon::pickyTrack ( ) const
inlinevirtual

Reimplemented in pat::Muon.

Definition at line 59 of file Muon.h.

References muonTrackFromMap(), and Picky.

Referenced by muon::cocktailInputIsOK(), pat::Muon::embedPickyMuon(), muonTrack(), pat::Muon::pickyTrack(), and muon::tevOptimized().

59 { return muonTrackFromMap(Picky);}
TrackRef muonTrackFromMap(const MuonTrackType &type) const
Definition: Muon.h:76
float Muon::pullDxDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration,
bool  includeSegmentError = true 
) const

Definition at line 391 of file Muon.cc.

References chambers(), pair(), funct::pow(), and mathSSE::sqrt().

Referenced by muon::isGoodMuon().

392 {
393  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
394  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
395  if(! chamberSegmentPair.second->hasPhi()) return 999999;
396  if(includeSegmentError)
397  return (chamberSegmentPair.first->dXdZ-chamberSegmentPair.second->dXdZ)/sqrt(pow(chamberSegmentPair.first->dXdZErr,2)+pow(chamberSegmentPair.second->dXdZErr,2));
398  return (chamberSegmentPair.first->dXdZ-chamberSegmentPair.second->dXdZ)/chamberSegmentPair.first->dXdZErr;
399 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
T sqrt(T t)
Definition: SSEVec.h:46
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
float Muon::pullDyDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration,
bool  includeSegmentError = true 
) const

Definition at line 401 of file Muon.cc.

References chambers(), MuonSubdetId::DT, pair(), funct::pow(), and mathSSE::sqrt().

Referenced by muon::isGoodMuon().

402 {
403  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
404  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
405  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
406  if(! chamberSegmentPair.second->hasZed()) return 999999;
407  if(includeSegmentError)
408  return (chamberSegmentPair.first->dYdZ-chamberSegmentPair.second->dYdZ)/sqrt(pow(chamberSegmentPair.first->dYdZErr,2)+pow(chamberSegmentPair.second->dYdZErr,2));
409  return (chamberSegmentPair.first->dYdZ-chamberSegmentPair.second->dYdZ)/chamberSegmentPair.first->dYdZErr;
410 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
T sqrt(T t)
Definition: SSEVec.h:46
static const int DT
Definition: MuonSubdetId.h:14
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
float Muon::pullX ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration,
bool  includeSegmentError = true 
) const

Definition at line 370 of file Muon.cc.

References chambers(), pair(), funct::pow(), and mathSSE::sqrt().

Referenced by muon::isGoodMuon(), and muon::segmentCompatibility().

371 {
372  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
373  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
374  if(! chamberSegmentPair.second->hasPhi()) return 999999;
375  if(includeSegmentError)
376  return (chamberSegmentPair.first->x-chamberSegmentPair.second->x)/sqrt(pow(chamberSegmentPair.first->xErr,2)+pow(chamberSegmentPair.second->xErr,2));
377  return (chamberSegmentPair.first->x-chamberSegmentPair.second->x)/chamberSegmentPair.first->xErr;
378 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
T sqrt(T t)
Definition: SSEVec.h:46
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
float Muon::pullY ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration,
bool  includeSegmentError = true 
) const

Definition at line 380 of file Muon.cc.

References chambers(), MuonSubdetId::DT, pair(), funct::pow(), and mathSSE::sqrt().

Referenced by muon::isGoodMuon(), and muon::segmentCompatibility().

381 {
382  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
383  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
384  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
385  if(! chamberSegmentPair.second->hasZed()) return 999999;
386  if(includeSegmentError)
387  return (chamberSegmentPair.first->y-chamberSegmentPair.second->y)/sqrt(pow(chamberSegmentPair.first->yErr,2)+pow(chamberSegmentPair.second->yErr,2));
388  return (chamberSegmentPair.first->y-chamberSegmentPair.second->y)/chamberSegmentPair.first->yErr;
389 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
T sqrt(T t)
Definition: SSEVec.h:46
static const int DT
Definition: MuonSubdetId.h:14
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
float Muon::segmentDxDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 429 of file Muon.cc.

References chambers(), and pair().

430 {
431  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
432  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
433  if(! chamberSegmentPair.second->hasPhi()) return 999999;
434  return chamberSegmentPair.second->dXdZ;
435 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::segmentDxDzErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 463 of file Muon.cc.

References chambers(), and pair().

464 {
465  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
466  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
467  if(! chamberSegmentPair.second->hasPhi()) return 999999;
468  return chamberSegmentPair.second->dXdZErr;
469 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::segmentDyDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 437 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

438 {
439  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
440  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
441  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
442  if(! chamberSegmentPair.second->hasZed()) return 999999;
443  return chamberSegmentPair.second->dYdZ;
444 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
float Muon::segmentDyDzErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 471 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

472 {
473  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
474  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
475  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
476  if(! chamberSegmentPair.second->hasZed()) return 999999;
477  return chamberSegmentPair.second->dYdZErr;
478 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
float Muon::segmentX ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

get (best) segment information If no segment returns 999999

Definition at line 412 of file Muon.cc.

References chambers(), and pair().

Referenced by muon::segmentCompatibility().

413 {
414  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
415  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
416  if(! chamberSegmentPair.second->hasPhi()) return 999999;
417  return chamberSegmentPair.second->x;
418 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::segmentXErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 446 of file Muon.cc.

References chambers(), and pair().

447 {
448  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
449  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
450  if(! chamberSegmentPair.second->hasPhi()) return 999999;
451  return chamberSegmentPair.second->xErr;
452 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::segmentY ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 420 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

421 {
422  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
423  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
424  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
425  if(! chamberSegmentPair.second->hasZed()) return 999999;
426  return chamberSegmentPair.second->y;
427 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
float Muon::segmentYErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 454 of file Muon.cc.

References chambers(), MuonSubdetId::DT, and pair().

455 {
456  if(station==4 && muonSubdetId==MuonSubdetId::DT) return 999999; // no y information
457  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(chambers(station,muonSubdetId),type);
458  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) return 999999;
459  if(! chamberSegmentPair.second->hasZed()) return 999999;
460  return chamberSegmentPair.second->yErr;
461 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
static const int DT
Definition: MuonSubdetId.h:14
virtual void reco::Muon::setBestTrack ( MuonTrackType  muonType)
inlinevirtual

Definition at line 94 of file Muon.h.

References bestTrackType_.

Referenced by MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), pat::PATMuonProducer::fillMuon(), and MuonIdProducer::makeMuon().

94 {bestTrackType_ = muonType;}
MuonTrackType bestTrackType_
reference to the Track chosen to assign the momentum value to the muon
Definition: Muon.h:230
void reco::Muon::setCalEnergy ( const MuonEnergy calEnergy)
inline

set energy deposition information

Definition at line 114 of file Muon.h.

References calEnergy(), calEnergy_, and energyValid_.

Referenced by MuonIdProducer::fillMuonId(), and CaloMuonMerger::produce().

114 { calEnergy_ = calEnergy; energyValid_ = true; }
MuonEnergy calEnergy_
energy deposition
Definition: Muon.h:233
bool energyValid_
Definition: Muon.h:240
MuonEnergy calEnergy() const
get energy deposition information
Definition: Muon.h:112
void reco::Muon::setCaloCompatibility ( float  input)
inline

Definition at line 152 of file Muon.h.

References caloCompatibility_, and LaserDQM_cfg::input.

Referenced by CaloMuonMerger::produce().

float caloCompatibility_
muon hypothesis compatibility with observer calorimeter energy
Definition: Muon.h:246
void Muon::setCombined ( const TrackRef t)
virtual

Definition at line 757 of file Muon.cc.

References setGlobalTrack().

Referenced by GlobalMuonToMuonProducer::produce().

757 { setGlobalTrack(t); }
virtual void setGlobalTrack(const TrackRef &t)
set reference to Track
Definition: Muon.cc:756
void reco::Muon::setCombinedQuality ( const MuonQuality combinedQuality)
inline

set energy deposition information

Definition at line 124 of file Muon.h.

References combinedQuality(), combinedQuality_, and qualityValid_.

Referenced by MuonIdProducer::fillGlbQuality(), and MuonIdProducer::fillTrackerKink().

MuonQuality combinedQuality() const
get energy deposition information
Definition: Muon.h:122
MuonQuality combinedQuality_
quality block
Definition: Muon.h:235
bool qualityValid_
Definition: Muon.h:244
void Muon::setGlobalTrack ( const TrackRef t)
virtual

set reference to Track

Definition at line 756 of file Muon.cc.

References globalTrack_, and lumiQTWidget::t.

Referenced by MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), MuonIdProducer::makeMuon(), MuonsFromRefitTracksProducer::produce(), setCombined(), and setMuonTrack().

756 { globalTrack_ = t; }
TrackRef globalTrack_
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:226
void Muon::setInnerTrack ( const TrackRef t)
virtual

set reference to Track

Definition at line 753 of file Muon.cc.

References innerTrack_, and lumiQTWidget::t.

Referenced by MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), MuonIdProducer::makeMuon(), UpdatedMuonInnerTrackRef::produce(), CaloMuonMerger::produce(), MuonsFromRefitTracksProducer::produce(), setMuonTrack(), and setTrack().

753 { innerTrack_ = t; }
TrackRef innerTrack_
reference to Track reconstructed in the tracker only
Definition: Muon.h:222
void Muon::setIsolation ( const MuonIsolation isoR03,
const MuonIsolation isoR05 
)

Definition at line 728 of file Muon.cc.

References isolationR03_, isolationR05_, and isolationValid_.

Referenced by MuonIdProducer::fillMuonIsolation(), and MuonWithPFIsoProducer::produce().

729 {
730  isolationR03_ = isoR03;
731  isolationR05_ = isoR05;
732  isolationValid_ = true;
733 }
MuonIsolation isolationR05_
Definition: Muon.h:249
bool isolationValid_
Definition: Muon.h:242
MuonIsolation isolationR03_
Isolation information for two cones with dR=0.3 and dR=0.5.
Definition: Muon.h:248
void reco::Muon::setMatches ( const std::vector< MuonChamberMatch > &  matches)
inline

set muon matching information

Definition at line 144 of file Muon.h.

References matches(), matchesValid_, and muMatches_.

Referenced by MuonIdProducer::fillMuonId().

144 { muMatches_ = matches; matchesValid_ = true; }
std::vector< MuonChamberMatch > & matches()
get muon matching information
Definition: Muon.h:141
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
bool matchesValid_
Definition: Muon.h:241
void Muon::setMuonTrack ( const MuonTrackType type,
const TrackRef t 
)

Definition at line 776 of file Muon.cc.

References CombinedTrack, InnerTrack, OuterTrack, refittedTrackMap_, setGlobalTrack(), setInnerTrack(), setStandAlone(), lumiQTWidget::t, and type().

Referenced by MuonIdProducer::makeMuon().

776  {
777 
778  switch (type) {
779  case InnerTrack: setInnerTrack(t); break;
780  case OuterTrack: setStandAlone(t); break;
781  case CombinedTrack: setGlobalTrack(t); break;
782  default: refittedTrackMap_[type] = t; break;
783  }
784 
785 }
type
Definition: HCALResponse.h:22
virtual void setInnerTrack(const TrackRef &t)
set reference to Track
Definition: Muon.cc:753
virtual void setStandAlone(const TrackRef &t)
Definition: Muon.cc:755
MuonTrackRefMap refittedTrackMap_
reference to the Global Track refitted with dedicated TeV reconstructors
Definition: Muon.h:228
unsigned int type() const
Definition: Muon.h:208
virtual void setGlobalTrack(const TrackRef &t)
set reference to Track
Definition: Muon.cc:756
void Muon::setOuterTrack ( const TrackRef t)
virtual

set reference to Track

Definition at line 752 of file Muon.cc.

References outerTrack_, and lumiQTWidget::t.

Referenced by MuonsFromRefitTracksProducer::cloneAndSwitchTrack(), MuonIdProducer::makeMuon(), MuonsFromRefitTracksProducer::produce(), and setStandAlone().

752 { outerTrack_ = t; }
TrackRef outerTrack_
reference to Track reconstructed in the muon detector only
Definition: Muon.h:224
void Muon::setPFIsolation ( const MuonPFIsolation isoR03,
const MuonPFIsolation isoR04 
)

Definition at line 736 of file Muon.cc.

References pfIsolationR03_, pfIsolationR04_, and pfIsolationValid_.

Referenced by MuPFIsoHelper::embedPFIsolation().

737 {
738  pfIsolationR03_ = isoR03;
739  pfIsolationR04_ = isoR04;
740  pfIsolationValid_ = true;
741 }
MuonPFIsolation pfIsolationR04_
Definition: Muon.h:253
MuonPFIsolation pfIsolationR03_
PF Isolation information for two cones with dR=0.3 and dR=0.4.
Definition: Muon.h:252
bool pfIsolationValid_
Definition: Muon.h:243
void Muon::setPFP4 ( const reco::Candidate::LorentzVector p4_)
virtual

Definition at line 744 of file Muon.cc.

References reco::LeafCandidate::p4(), PFMuon, pfP4_, and type_.

Referenced by MuonProducer::produce().

745 {
746  pfP4_ = p4;
747  type_ = type_ | PFMuon;
748 }
reco::Candidate::LorentzVector pfP4_
Definition: Muon.h:259
unsigned int type_
muon type mask
Definition: Muon.h:256
static const unsigned int PFMuon
Definition: Muon.h:204
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
void Muon::setStandAlone ( const TrackRef t)
virtual

Definition at line 755 of file Muon.cc.

References setOuterTrack().

Referenced by GlobalMuonToMuonProducer::produce(), and setMuonTrack().

755 { setOuterTrack(t); }
virtual void setOuterTrack(const TrackRef &t)
set reference to Track
Definition: Muon.cc:752
void reco::Muon::setTime ( const MuonTime time)
inline

set timing information

Definition at line 134 of file Muon.h.

References time(), and time_.

134 { time_ = time; }
MuonTime time() const
get timing information
Definition: Muon.h:132
MuonTime time_
timing
Definition: Muon.h:239
void Muon::setTrack ( const TrackRef t)
virtual

Definition at line 754 of file Muon.cc.

References setInnerTrack().

Referenced by GlobalMuonToMuonProducer::produce().

754 { setInnerTrack(t); }
virtual void setInnerTrack(const TrackRef &t)
set reference to Track
Definition: Muon.cc:753
void reco::Muon::setType ( unsigned int  type)
inline

Definition at line 207 of file Muon.h.

References type(), and type_.

Referenced by CaloMuonMerger::produce(), and MuonIdProducer::produce().

207 { type_ = type; }
unsigned int type_
muon type mask
Definition: Muon.h:256
unsigned int type() const
Definition: Muon.h:208
virtual TrackRef reco::Muon::standAloneMuon ( ) const
inlinevirtual
unsigned int Muon::stationGapMaskDistance ( float  distanceCut = 10.) const

get bit map of stations with tracks within given distance (in cm) of chamber edges bit assignments are same as above

Definition at line 173 of file Muon.cc.

References muMatches_, and plotscripts::stationIndex().

174 {
175  unsigned int totMask(0);
176  for( int stationIndex = 1; stationIndex < 5; stationIndex++ )
177  {
178  for( int detectorIndex = 1; detectorIndex < 4; detectorIndex++ )
179  {
180  unsigned int curMask(0);
181  for( std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
182  chamberMatch != muMatches_.end(); chamberMatch++ )
183  {
184  if(!(chamberMatch->station()==stationIndex && chamberMatch->detector()==detectorIndex)) continue;
185 
186  float edgeX = chamberMatch->edgeX;
187  float edgeY = chamberMatch->edgeY;
188  if(edgeX<0 && fabs(edgeX)>fabs(distanceCut) &&
189  edgeY<0 && fabs(edgeY)>fabs(distanceCut)) // inside the chamber so negates all gaps for this station
190  {
191  curMask = 0;
192  break;
193  }
194  if( ( fabs(edgeX) < fabs(distanceCut) && edgeY < fabs(distanceCut) ) ||
195  ( fabs(edgeY) < fabs(distanceCut) && edgeX < fabs(distanceCut) ) ) // inside gap
196  curMask = 1<<( (stationIndex-1)+4*(detectorIndex-1) );
197  }
198 
199  totMask += curMask; // add to total mask
200  }
201  }
202 
203  return totMask;
204 }
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
def stationIndex
Definition: plotscripts.py:353
unsigned int Muon::stationGapMaskPull ( float  sigmaCut = 3.) const

same as above for given number of sigmas

Definition at line 206 of file Muon.cc.

References muMatches_, and plotscripts::stationIndex().

207 {
208  unsigned int totMask(0);
209  for( int stationIndex = 1; stationIndex < 5; stationIndex++ )
210  {
211  for( int detectorIndex = 1; detectorIndex < 4; detectorIndex++ )
212  {
213  unsigned int curMask(0);
214  for( std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
215  chamberMatch != muMatches_.end(); chamberMatch++ )
216  {
217  if(!(chamberMatch->station()==stationIndex && chamberMatch->detector()==detectorIndex)) continue;
218 
219  float edgeX = chamberMatch->edgeX;
220  float edgeY = chamberMatch->edgeY;
221  float xErr = chamberMatch->xErr+0.000001; // protect against division by zero later
222  float yErr = chamberMatch->yErr+0.000001; // protect against division by zero later
223  if(edgeX<0 && fabs(edgeX/xErr)>fabs(sigmaCut) &&
224  edgeY<0 && fabs(edgeY/yErr)>fabs(sigmaCut)) // inside the chamber so negates all gaps for this station
225  {
226  curMask = 0;
227  break;
228  }
229  if( ( fabs(edgeX/xErr) < fabs(sigmaCut) && edgeY/yErr < fabs(sigmaCut) ) ||
230  ( fabs(edgeY/yErr) < fabs(sigmaCut) && edgeX/xErr < fabs(sigmaCut) ) ) // inside gap
231  curMask = 1<<((stationIndex-1)+4*(detectorIndex-1));
232  }
233 
234  totMask += curMask; // add to total mask
235  }
236  }
237 
238  return totMask;
239 }
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
def stationIndex
Definition: plotscripts.py:353
unsigned int Muon::stationMask ( ArbitrationType  type = SegmentAndTrackArbitration) const

get bit map of stations with matched segments bits 0-1-2-3 = DT stations 1-2-3-4 bits 4-5-6-7 = CSC stations 1-2-3-4

Definition at line 113 of file Muon.cc.

References reco::MuonSegmentMatch::BelongsToTrackByCleaning, reco::MuonSegmentMatch::BelongsToTrackByDR, reco::MuonSegmentMatch::BestInStationByDR, muMatches_, NoArbitration, SegmentAndTrackArbitration, SegmentAndTrackArbitrationCleaned, and SegmentArbitration.

Referenced by muon::isGoodMuon(), and numberOfMatchedStations().

114 {
115  unsigned int totMask(0);
116  unsigned int curMask(0);
117  for( std::vector<MuonChamberMatch>::const_iterator chamberMatch = muMatches_.begin();
118  chamberMatch != muMatches_.end(); chamberMatch++ )
119  {
120  if(chamberMatch->segmentMatches.empty()) continue;
121  if(type == NoArbitration) {
122  curMask = 1<<( (chamberMatch->station()-1)+4*(chamberMatch->detector()-1) );
123  // do not double count
124  if(!(totMask & curMask))
125  totMask += curMask;
126  continue;
127  }
128 
129  for( std::vector<MuonSegmentMatch>::const_iterator segmentMatch = chamberMatch->segmentMatches.begin();
130  segmentMatch != chamberMatch->segmentMatches.end(); segmentMatch++ )
131  {
132  if(type == SegmentArbitration)
133  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR)) {
134  curMask = 1<<( (chamberMatch->station()-1)+4*(chamberMatch->detector()-1) );
135  // do not double count
136  if(!(totMask & curMask))
137  totMask += curMask;
138  break;
139  }
141  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
142  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR)) {
143  curMask = 1<<( (chamberMatch->station()-1)+4*(chamberMatch->detector()-1) );
144  // do not double count
145  if(!(totMask & curMask))
146  totMask += curMask;
147  break;
148  }
150  if(segmentMatch->isMask(MuonSegmentMatch::BestInStationByDR) &&
151  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByDR) &&
152  segmentMatch->isMask(MuonSegmentMatch::BelongsToTrackByCleaning)) {
153  curMask = 1<<( (chamberMatch->station()-1)+4*(chamberMatch->detector()-1) );
154  // do not double count
155  if(!(totMask & curMask))
156  totMask += curMask;
157  break;
158  }
159  if(type > 1<<7)
160  if(segmentMatch->isMask(type)) {
161  curMask = 1<<( (chamberMatch->station()-1)+4*(chamberMatch->detector()-1) );
162  // do not double count
163  if(!(totMask & curMask))
164  totMask += curMask;
165  break;
166  }
167  }
168  }
169 
170  return totMask;
171 }
type
Definition: HCALResponse.h:22
static const unsigned int BestInStationByDR
static const unsigned int BelongsToTrackByCleaning
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
static const unsigned int BelongsToTrackByDR
float reco::Muon::t0 ( int  n = 0)
inline

Definition at line 309 of file Muon.h.

References i, muMatches_, and n.

309  {
310  int i = 0;
311  for( std::vector<MuonChamberMatch>::const_iterator chamber = muMatches_.begin();
312  chamber != muMatches_.end(); ++chamber )
313  for ( std::vector<reco::MuonSegmentMatch>::const_iterator segment = chamber->segmentMatches.begin();
314  segment != chamber->segmentMatches.end(); ++segment )
315  {
316  if (i==n) return segment->t0;
317  ++i;
318  }
319  return 0;
320  }
int i
Definition: DBlmapReader.cc:9
std::vector< MuonChamberMatch > muMatches_
Information on matching between tracks and segments.
Definition: Muon.h:237
MuonTime reco::Muon::time ( ) const
inline

get timing information

Definition at line 132 of file Muon.h.

References time_.

Referenced by MuonCosmicCompatibilityFiller::muonTiming(), MuonIdProducer::produce(), and setTime().

132 { return time_; }
MuonTime time_
timing
Definition: Muon.h:239
virtual TrackRef reco::Muon::tpfmsTrack ( ) const
inlinevirtual

Reimplemented in pat::Muon.

Definition at line 58 of file Muon.h.

References muonTrackFromMap(), and TPFMS.

Referenced by muon::cocktailInputIsOK(), pat::Muon::embedTpfmsMuon(), muonTrack(), muon::tevOptimized(), and pat::Muon::tpfmsTrack().

58 { return muonTrackFromMap(TPFMS);}
TrackRef muonTrackFromMap(const MuonTrackType &type) const
Definition: Muon.h:76
virtual TrackRef reco::Muon::track ( void  ) const
inlinevirtual
float Muon::trackDist ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 690 of file Muon.cc.

References chambers(), and pair().

Referenced by muon::RequiredStationMask(), and muon::segmentCompatibility().

691 {
692  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
693  if(muonChambers.empty()) return 999999;
694 
695  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
696  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
697  float dist = 999999;
698  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
699  muonChamber != muonChambers.end(); ++muonChamber) {
700  float currDist = (*muonChamber)->dist();
701  if(currDist<dist) dist = currDist;
702  }
703  return dist;
704  } else return chamberSegmentPair.first->dist();
705 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackDistErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 707 of file Muon.cc.

References chambers(), and pair().

Referenced by muon::RequiredStationMask().

708 {
709  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
710  if(muonChambers.empty()) return 999999;
711 
712  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
713  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
714  float dist = 999999;
715  float supVar = 999999;
716  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
717  muonChamber != muonChambers.end(); ++muonChamber) {
718  float currDist = (*muonChamber)->dist();
719  if(currDist<dist) {
720  dist = currDist;
721  supVar = (*muonChamber)->distErr();
722  }
723  }
724  return supVar;
725  } else return chamberSegmentPair.first->distErr();
726 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackDxDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 564 of file Muon.cc.

References chambers(), and pair().

565 {
566  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
567  if(muonChambers.empty()) return 999999;
568 
569  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
570  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
571  float dist = 999999;
572  float supVar = 999999;
573  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
574  muonChamber != muonChambers.end(); ++muonChamber) {
575  float currDist = (*muonChamber)->dist();
576  if(currDist<dist) {
577  dist = currDist;
578  supVar = (*muonChamber)->dXdZ;
579  }
580  }
581  return supVar;
582  } else return chamberSegmentPair.first->dXdZ;
583 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackDxDzErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 648 of file Muon.cc.

References chambers(), and pair().

649 {
650  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
651  if(muonChambers.empty()) return 999999;
652 
653  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
654  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
655  float dist = 999999;
656  float supVar = 999999;
657  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
658  muonChamber != muonChambers.end(); ++muonChamber) {
659  float currDist = (*muonChamber)->dist();
660  if(currDist<dist) {
661  dist = currDist;
662  supVar = (*muonChamber)->dXdZErr;
663  }
664  }
665  return supVar;
666  } else return chamberSegmentPair.first->dXdZErr;
667 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackDyDz ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 585 of file Muon.cc.

References chambers(), and pair().

586 {
587  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
588  if(muonChambers.empty()) return 999999;
589 
590  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
591  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
592  float dist = 999999;
593  float supVar = 999999;
594  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
595  muonChamber != muonChambers.end(); ++muonChamber) {
596  float currDist = (*muonChamber)->dist();
597  if(currDist<dist) {
598  dist = currDist;
599  supVar = (*muonChamber)->dYdZ;
600  }
601  }
602  return supVar;
603  } else return chamberSegmentPair.first->dYdZ;
604 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackDyDzErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 669 of file Muon.cc.

References chambers(), and pair().

670 {
671  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
672  if(muonChambers.empty()) return 999999;
673 
674  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
675  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
676  float dist = 999999;
677  float supVar = 999999;
678  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
679  muonChamber != muonChambers.end(); ++muonChamber) {
680  float currDist = (*muonChamber)->dist();
681  if(currDist<dist) {
682  dist = currDist;
683  supVar = (*muonChamber)->dYdZErr;
684  }
685  }
686  return supVar;
687  } else return chamberSegmentPair.first->dYdZErr;
688 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackEdgeX ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

get track information in chamber that contains (best) segment If no segment, get track information in chamber that has the most negative distance between the track and the nearest chamber edge (the chamber with the deepest track) If no chamber returns 999999

Definition at line 480 of file Muon.cc.

References chambers(), and pair().

481 {
482  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
483  if(muonChambers.empty()) return 999999;
484 
485  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
486  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
487  float dist = 999999;
488  float supVar = 999999;
489  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
490  muonChamber != muonChambers.end(); ++muonChamber) {
491  float currDist = (*muonChamber)->dist();
492  if(currDist<dist) {
493  dist = currDist;
494  supVar = (*muonChamber)->edgeX;
495  }
496  }
497  return supVar;
498  } else return chamberSegmentPair.first->edgeX;
499 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackEdgeY ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 501 of file Muon.cc.

References chambers(), and pair().

502 {
503  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
504  if(muonChambers.empty()) return 999999;
505 
506  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
507  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
508  float dist = 999999;
509  float supVar = 999999;
510  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
511  muonChamber != muonChambers.end(); ++muonChamber) {
512  float currDist = (*muonChamber)->dist();
513  if(currDist<dist) {
514  dist = currDist;
515  supVar = (*muonChamber)->edgeY;
516  }
517  }
518  return supVar;
519  } else return chamberSegmentPair.first->edgeY;
520 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackX ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 522 of file Muon.cc.

References chambers(), and pair().

523 {
524  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
525  if(muonChambers.empty()) return 999999;
526 
527  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
528  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
529  float dist = 999999;
530  float supVar = 999999;
531  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
532  muonChamber != muonChambers.end(); ++muonChamber) {
533  float currDist = (*muonChamber)->dist();
534  if(currDist<dist) {
535  dist = currDist;
536  supVar = (*muonChamber)->x;
537  }
538  }
539  return supVar;
540  } else return chamberSegmentPair.first->x;
541 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackXErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 606 of file Muon.cc.

References chambers(), and pair().

607 {
608  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
609  if(muonChambers.empty()) return 999999;
610 
611  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
612  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
613  float dist = 999999;
614  float supVar = 999999;
615  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
616  muonChamber != muonChambers.end(); ++muonChamber) {
617  float currDist = (*muonChamber)->dist();
618  if(currDist<dist) {
619  dist = currDist;
620  supVar = (*muonChamber)->xErr;
621  }
622  }
623  return supVar;
624  } else return chamberSegmentPair.first->xErr;
625 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackY ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 543 of file Muon.cc.

References chambers(), and pair().

544 {
545  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
546  if(muonChambers.empty()) return 999999;
547 
548  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
549  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
550  float dist = 999999;
551  float supVar = 999999;
552  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
553  muonChamber != muonChambers.end(); ++muonChamber) {
554  float currDist = (*muonChamber)->dist();
555  if(currDist<dist) {
556  dist = currDist;
557  supVar = (*muonChamber)->y;
558  }
559  }
560  return supVar;
561  } else return chamberSegmentPair.first->y;
562 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
float Muon::trackYErr ( int  station,
int  muonSubdetId,
ArbitrationType  type = SegmentAndTrackArbitration 
) const

Definition at line 627 of file Muon.cc.

References chambers(), and pair().

628 {
629  const std::vector<const MuonChamberMatch*> muonChambers = chambers(station, muonSubdetId);
630  if(muonChambers.empty()) return 999999;
631 
632  std::pair<const MuonChamberMatch*,const MuonSegmentMatch*> chamberSegmentPair = pair(muonChambers,type);
633  if(chamberSegmentPair.first==0 || chamberSegmentPair.second==0) {
634  float dist = 999999;
635  float supVar = 999999;
636  for(std::vector<const MuonChamberMatch*>::const_iterator muonChamber = muonChambers.begin();
637  muonChamber != muonChambers.end(); ++muonChamber) {
638  float currDist = (*muonChamber)->dist();
639  if(currDist<dist) {
640  dist = currDist;
641  supVar = (*muonChamber)->yErr;
642  }
643  }
644  return supVar;
645  } else return chamberSegmentPair.first->yErr;
646 }
type
Definition: HCALResponse.h:22
const std::vector< const MuonChamberMatch * > chambers(int station, int muonSubdetId) const
get vector of muon chambers for given station and detector
Definition: Muon.cc:287
std::pair< const MuonChamberMatch *, const MuonSegmentMatch * > pair(const std::vector< const MuonChamberMatch * > &, ArbitrationType type=SegmentAndTrackArbitration) const
get pointers to best segment and corresponding chamber in vector of chambers
Definition: Muon.cc:297
unsigned int reco::Muon::type ( ) const
inline

Member Data Documentation

MuonTrackType reco::Muon::bestTrackType_
private

reference to the Track chosen to assign the momentum value to the muon

Definition at line 230 of file Muon.h.

Referenced by Muon(), muonBestTrackType(), and setBestTrack().

MuonEnergy reco::Muon::calEnergy_
private

energy deposition

Definition at line 233 of file Muon.h.

Referenced by calEnergy(), and setCalEnergy().

float reco::Muon::caloCompatibility_
private

muon hypothesis compatibility with observer calorimeter energy

Definition at line 246 of file Muon.h.

Referenced by caloCompatibility(), isCaloCompatibilityValid(), Muon(), and setCaloCompatibility().

const unsigned int reco::Muon::CaloMuon = 1<<4
static

Definition at line 203 of file Muon.h.

Referenced by isCaloMuon(), and CaloMuonMerger::produce().

MuonQuality reco::Muon::combinedQuality_
private

quality block

Definition at line 235 of file Muon.h.

Referenced by combinedQuality(), and setCombinedQuality().

bool reco::Muon::energyValid_
private

Definition at line 240 of file Muon.h.

Referenced by isEnergyValid(), Muon(), and setCalEnergy().

const unsigned int reco::Muon::GlobalMuon = 1<<1
static

muon type - type of the algorithm that reconstructed this muon multiple algorithms can reconstruct the same muon

Definition at line 200 of file Muon.h.

Referenced by isGlobalMuon(), and MuonIdProducer::produce().

TrackRef reco::Muon::globalTrack_
private

reference to Track reconstructed in both tracked and muon detector

Definition at line 226 of file Muon.h.

Referenced by globalTrack(), and setGlobalTrack().

TrackRef reco::Muon::innerTrack_
private

reference to Track reconstructed in the tracker only

Definition at line 222 of file Muon.h.

Referenced by innerTrack(), and setInnerTrack().

MuonIsolation reco::Muon::isolationR03_
private

Isolation information for two cones with dR=0.3 and dR=0.5.

Definition at line 248 of file Muon.h.

Referenced by isolationR03(), and setIsolation().

MuonIsolation reco::Muon::isolationR05_
private

Definition at line 249 of file Muon.h.

Referenced by isolationR05(), and setIsolation().

bool reco::Muon::isolationValid_
private

Definition at line 242 of file Muon.h.

Referenced by isIsolationValid(), Muon(), and setIsolation().

bool reco::Muon::matchesValid_
private

Definition at line 241 of file Muon.h.

Referenced by isMatchesValid(), Muon(), and setMatches().

std::vector<MuonChamberMatch> reco::Muon::muMatches_
private

Information on matching between tracks and segments.

Definition at line 237 of file Muon.h.

Referenced by chambers(), matches(), numberOfChambers(), numberOfMatches(), numberOfSegments(), setMatches(), stationGapMaskDistance(), stationGapMaskPull(), stationMask(), and t0().

TrackRef reco::Muon::outerTrack_
private

reference to Track reconstructed in the muon detector only

Definition at line 224 of file Muon.h.

Referenced by outerTrack(), and setOuterTrack().

MuonPFIsolation reco::Muon::pfIsolationR03_
private

PF Isolation information for two cones with dR=0.3 and dR=0.4.

Definition at line 252 of file Muon.h.

Referenced by pfIsolationR03(), and setPFIsolation().

MuonPFIsolation reco::Muon::pfIsolationR04_
private

Definition at line 253 of file Muon.h.

Referenced by pfIsolationR04(), and setPFIsolation().

bool reco::Muon::pfIsolationValid_
private

Definition at line 243 of file Muon.h.

Referenced by isPFIsolationValid(), Muon(), and setPFIsolation().

const unsigned int reco::Muon::PFMuon = 1<<5
static

Definition at line 204 of file Muon.h.

Referenced by isPFMuon(), and setPFP4().

reco::Candidate::LorentzVector reco::Muon::pfP4_
private

Definition at line 259 of file Muon.h.

Referenced by pfP4(), and setPFP4().

bool reco::Muon::qualityValid_
private

Definition at line 244 of file Muon.h.

Referenced by isQualityValid(), Muon(), and setCombinedQuality().

MuonTrackRefMap reco::Muon::refittedTrackMap_
private

reference to the Global Track refitted with dedicated TeV reconstructors

Definition at line 228 of file Muon.h.

Referenced by muonTrackFromMap(), and setMuonTrack().

const unsigned int reco::Muon::RPCMuon = 1<<6
static

Definition at line 205 of file Muon.h.

Referenced by isRPCMuon().

const unsigned int reco::Muon::StandAloneMuon = 1<<3
static

Definition at line 202 of file Muon.h.

Referenced by isStandAloneMuon(), and MuonIdProducer::produce().

MuonTime reco::Muon::time_
private

timing

Definition at line 239 of file Muon.h.

Referenced by isTimeValid(), setTime(), and time().

const unsigned int reco::Muon::TrackerMuon = 1<<2
static

Definition at line 201 of file Muon.h.

Referenced by isTrackerMuon(), and MuonIdProducer::produce().

unsigned int reco::Muon::type_
private