25 produces<reco::MuonCollection>().setBranchAlias(
theAlias +
"s");
27 trackingGeomToken_ = esConsumes<GlobalTrackingGeometry, GlobalTrackingGeometryRecord>();
35 const std::string metname =
"Muon|RecoMuon|MuonIdentification|GlobalMuonToMuonProducer";
41 if ((*recHit)->isValid()) {
42 const GeomDet* geomDet = trackingGeometry->
idToDet((*recHit)->geographicalId());
44 double z = geomDet->
toGlobal((*recHit)->localPosition()).
z();
52 const std::string metname =
"Muon|RecoMuon|MuonIdentification|GlobalMuonToMuonProducer";
60 if (linksCollection->empty()) {
68 for (reco::MuonTrackLinksCollection::const_iterator
links = linksCollection->begin();
links != linksCollection->end();
80 muon.setStandAlone(
links->standAloneTrack());
85 muon.setCharge(
links->globalTrack()->charge());
93 muon.setVertex(
links->globalTrack()->vertex());
T getParameter(std::string const &) const
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > trackingGeomToken_
edm::EDGetTokenT< reco::MuonTrackLinksCollection > trackLinkToken_
GlobalMuonToMuonProducer(const edm::ParameterSet &)
Constructor.
~GlobalMuonToMuonProducer() override
Destructor.
const std::string metname
const GeomDet * idToDet(DetId) const override
edm::InputTag theLinksCollectionLabel
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
void setAlias(std::string alias)
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
void printTrackRecHits(const reco::Track &track, edm::ESHandle< GlobalTrackingGeometry > trackingGeometry) const
const Plane & surface() const
The nominal surface of the GeomDet.
const PositionType & position() const
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
reconstruct muons