![]() |
![]() |
#include <L1TEfficiencyMuons_Offline.h>
Public Member Functions | |
double | dR () |
double | eta () const |
double | gmtPt () const |
MuonGmtPair (const MuonGmtPair &muonGmtPair) | |
MuonGmtPair (const reco::Muon *muon, const L1MuGMTExtendedCand *gmt) | |
double | phi () const |
void | propagate (edm::ESHandle< MagneticField > bField, edm::ESHandle< Propagator > propagatorAlong, edm::ESHandle< Propagator > propagatorOpposite) |
double | pt () const |
~MuonGmtPair () | |
Private Member Functions | |
TrajectoryStateOnSurface | cylExtrapTrkSam (reco::TrackRef track, double rho) |
FreeTrajectoryState | freeTrajStateMuon (reco::TrackRef track) |
TrajectoryStateOnSurface | surfExtrapTrkSam (reco::TrackRef track, double z) |
Private Attributes | |
edm::ESHandle< MagneticField > | m_BField |
double | m_eta |
const L1MuGMTExtendedCand * | m_gmt |
const reco::Muon * | m_muon |
double | m_phi_bar |
double | m_phi_end |
edm::ESHandle< Propagator > | m_propagatorAlong |
edm::ESHandle< Propagator > | m_propagatorOpposite |
Definition at line 73 of file L1TEfficiencyMuons_Offline.h.
MuonGmtPair::MuonGmtPair | ( | const reco::Muon * | muon, |
const L1MuGMTExtendedCand * | gmt | ||
) | [inline] |
MuonGmtPair::MuonGmtPair | ( | const MuonGmtPair & | muonGmtPair | ) |
MuonGmtPair::~MuonGmtPair | ( | ) | [inline] |
Definition at line 82 of file L1TEfficiencyMuons_Offline.h.
{ };
TrajectoryStateOnSurface MuonGmtPair::cylExtrapTrkSam | ( | reco::TrackRef | track, |
double | rho | ||
) | [private] |
Definition at line 86 of file L1TEfficiencyMuons_Offline.cc.
References newFWLiteAna::build, TrajectoryStateOnSurface::isValid(), pos, and makeMuonMisalignmentScenario::rot.
{ Cylinder::PositionType pos(0, 0, 0); Cylinder::RotationType rot; Cylinder::CylinderPointer myCylinder = Cylinder::build(pos, rot, rho); FreeTrajectoryState recoStart = freeTrajStateMuon(track); TrajectoryStateOnSurface recoProp; recoProp = m_propagatorAlong->propagate(recoStart, *myCylinder); if (!recoProp.isValid()) { recoProp = m_propagatorOpposite->propagate(recoStart, *myCylinder); } return recoProp; }
double MuonGmtPair::dR | ( | ) |
Definition at line 42 of file L1TEfficiencyMuons_Offline.cc.
References dPhi(), eta(), phi, and mathSSE::sqrt().
Referenced by L1TEfficiencyMuons_Offline::getMuonGmtPairs().
double MuonGmtPair::eta | ( | ) | const [inline] |
FreeTrajectoryState MuonGmtPair::freeTrajStateMuon | ( | reco::TrackRef | track | ) | [private] |
Definition at line 121 of file L1TEfficiencyMuons_Offline.cc.
{ GlobalPoint innerPoint(track->innerPosition().x(), track->innerPosition().y(), track->innerPosition().z()); GlobalVector innerVec (track->innerMomentum().x(), track->innerMomentum().y(), track->innerMomentum().z()); FreeTrajectoryState recoStart(innerPoint, innerVec, track->charge(), &*m_BField); return recoStart; }
double MuonGmtPair::gmtPt | ( | ) | const [inline] |
Definition at line 90 of file L1TEfficiencyMuons_Offline.h.
References m_gmt, and L1MuGMTCand::ptValue().
Referenced by L1TEfficiencyMuons_Offline::getMuonGmtPairs().
double MuonGmtPair::phi | ( | void | ) | const [inline] |
void MuonGmtPair::propagate | ( | edm::ESHandle< MagneticField > | bField, |
edm::ESHandle< Propagator > | propagatorAlong, | ||
edm::ESHandle< Propagator > | propagatorOpposite | ||
) |
Definition at line 54 of file L1TEfficiencyMuons_Offline.cc.
References ecalTB2006H4_GenSimDigiReco_cfg::bField, PV3DBase< T, PVType, FrameType >::eta(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), and PV3DBase< T, PVType, FrameType >::phi().
Referenced by L1TEfficiencyMuons_Offline::getMuonGmtPairs().
{ m_BField = bField; m_propagatorAlong = propagatorAlong; m_propagatorOpposite = propagatorOpposite; TrackRef standaloneMuon = m_muon->outerTrack(); TrajectoryStateOnSurface trajectory; trajectory = cylExtrapTrkSam(standaloneMuon, 500); // track at MB2 radius - extrapolation if (trajectory.isValid()) { m_eta = trajectory.globalPosition().eta(); m_phi_bar = trajectory.globalPosition().phi(); } trajectory = surfExtrapTrkSam(standaloneMuon, 790); // track at ME2+ plane - extrapolation if (trajectory.isValid()) { m_eta = trajectory.globalPosition().eta(); m_phi_end = trajectory.globalPosition().phi(); } trajectory = surfExtrapTrkSam(standaloneMuon, -790); // track at ME2- disk - extrapolation if (trajectory.isValid()) { m_eta = trajectory.globalPosition().eta(); m_phi_end = trajectory.globalPosition().phi(); } }
double MuonGmtPair::pt | ( | ) | const [inline] |
Definition at line 88 of file L1TEfficiencyMuons_Offline.h.
References reco::Muon::globalTrack(), reco::Muon::isGlobalMuon(), and m_muon.
{ return m_muon->isGlobalMuon() ? m_muon->globalTrack()->pt() : -1; };
TrajectoryStateOnSurface MuonGmtPair::surfExtrapTrkSam | ( | reco::TrackRef | track, |
double | z | ||
) | [private] |
Definition at line 104 of file L1TEfficiencyMuons_Offline.cc.
References newFWLiteAna::build, TrajectoryStateOnSurface::isValid(), pos, and makeMuonMisalignmentScenario::rot.
{ Plane::PositionType pos(0, 0, z); Plane::RotationType rot; Plane::PlanePointer myPlane = Plane::build(pos, rot); FreeTrajectoryState recoStart = freeTrajStateMuon(track); TrajectoryStateOnSurface recoProp; recoProp = m_propagatorAlong->propagate(recoStart, *myPlane); if (!recoProp.isValid()) { recoProp = m_propagatorOpposite->propagate(recoStart, *myPlane); } return recoProp; }
edm::ESHandle<MagneticField> MuonGmtPair::m_BField [private] |
Definition at line 108 of file L1TEfficiencyMuons_Offline.h.
double MuonGmtPair::m_eta [private] |
Definition at line 112 of file L1TEfficiencyMuons_Offline.h.
Referenced by eta(), MuonGmtPair(), and phi().
const L1MuGMTExtendedCand* MuonGmtPair::m_gmt [private] |
Definition at line 106 of file L1TEfficiencyMuons_Offline.h.
Referenced by gmtPt(), and MuonGmtPair().
const reco::Muon* MuonGmtPair::m_muon [private] |
Definition at line 105 of file L1TEfficiencyMuons_Offline.h.
Referenced by MuonGmtPair(), and pt().
double MuonGmtPair::m_phi_bar [private] |
Definition at line 113 of file L1TEfficiencyMuons_Offline.h.
Referenced by MuonGmtPair(), and phi().
double MuonGmtPair::m_phi_end [private] |
Definition at line 114 of file L1TEfficiencyMuons_Offline.h.
Referenced by MuonGmtPair(), and phi().
Definition at line 109 of file L1TEfficiencyMuons_Offline.h.
Definition at line 110 of file L1TEfficiencyMuons_Offline.h.