1 #ifndef RecoMuon_L3MuonProducer_L3TkMuonProducer_H
2 #define RecoMuon_L3MuonProducer_L3TkMuonProducer_H
49 typedef std::pair<unsigned int,unsigned int>
pseudoRef;
50 typedef std::map<pseudoRef, std::pair<reco::TrackRef,SeedRef> >
LXtoL3sMap;
56 return std::make_pair(l1ref.
id().
id(),l1ref.
key());
57 }
else return std::make_pair(l2ref.
id().
id(),l2ref.
key());
67 if (l2ref1.
isNull()) pt1=s1->l1Particle()->pt();
68 else pt1=l2ref1->pt();
70 if (l2ref2.
isNull()) pt2=s2->l1Particle()->pt();
71 else pt2=l2ref2->pt();
76 return (t1->pt()>t2->pt());
std::pair< unsigned int, unsigned int > pseudoRef
reco::TrackRef l2Track() const
Get L2 info.
key_type key() const
Accessor for product key.
ProductID id() const
Accessor for product ID.
bool sharedSeed(const L3MuonTrajectorySeed &s1, const L3MuonTrajectorySeed &s2)
virtual void produce(edm::Event &, const edm::EventSetup &) override
produce candidates
static bool trackRefBypT(const reco::TrackRef &t1, const reco::TrackRef &t2)
static bool seedRefBypT(const SeedRef &s1, const SeedRef &s2)
auto const T2 &decltype(t1.eta()) t2
L3TkMuonProducer(const edm::ParameterSet &)
constructor with config
bool isNull() const
Checks for null.
edm::Ref< L3MuonTrajectorySeedCollection > SeedRef
std::map< pseudoRef, std::pair< reco::TrackRef, SeedRef > > LXtoL3sMap
l1extra::L1MuonParticleRef l1Particle() const
Get L1 info.
virtual ~L3TkMuonProducer()
destructor
edm::EDGetTokenT< reco::TrackCollection > trackToken_
pseudoRef makePseudoRef(const L3MuonTrajectorySeed &s)
edm::InputTag theL3CollectionLabel