Matcher of reconstructed objects to L1 Muons. More...
#include "MuonAnalysis/MuonAssociators/interface/L1MuonMatcherAlgo.h"
Public Member Functions | |
TrajectoryStateOnSurface | extrapolate (const reco::Track &tk) const |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails. More... | |
TrajectoryStateOnSurface | extrapolate (const reco::Candidate &tk) const |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails. More... | |
TrajectoryStateOnSurface | extrapolate (const SimTrack &tk, const edm::SimVertexContainer &vtx) const |
Extrapolate a SimTrack to the muon station 2, return an invalid TSOS if it fails. Requires SimVertices to know where to start from. More... | |
TrajectoryStateOnSurface | extrapolate (const FreeTrajectoryState &state) const |
Extrapolate a FreeTrajectoryState to the muon station 2, return an invalid TSOS if it fails. More... | |
void | init (const edm::EventSetup &iSetup) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators. More... | |
L1MuonMatcherAlgo (const edm::ParameterSet &iConfig, edm::ConsumesCollector) | |
bool | match (const reco::Track &tk, const l1extra::L1MuonParticle &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
bool | match (const reco::Candidate &c, const l1extra::L1MuonParticle &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
bool | match (const SimTrack &tk, const edm::SimVertexContainer &vtxs, const l1extra::L1MuonParticle &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
bool | match (TrajectoryStateOnSurface &propagated, const l1extra::L1MuonParticle &l1, float &deltaR, float &deltaPhi) const |
int | match (const reco::Track &tk, const std::vector< l1extra::L1MuonParticle > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (const reco::Candidate &c, const std::vector< l1extra::L1MuonParticle > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (const SimTrack &tk, const edm::SimVertexContainer &vtxs, const std::vector< l1extra::L1MuonParticle > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (TrajectoryStateOnSurface &propagated, const std::vector< l1extra::L1MuonParticle > &l1, float &deltaR, float &deltaPhi) const |
int | match (const reco::Track &tk, const std::vector< l1t::Muon > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (const reco::Candidate &c, const std::vector< l1t::Muon > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (const SimTrack &tk, const edm::SimVertexContainer &vtxs, const std::vector< l1t::Muon > &l1, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
int | match (TrajectoryStateOnSurface &propagated, const std::vector< l1t::Muon > &l1, float &deltaR, float &deltaPhi) const |
template<typename Collection , typename Selector > | |
int | matchGeneric (const reco::Track &tk, const Collection &l1, const Selector &sel, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
template<typename Collection , typename Selector > | |
int | matchGeneric (const reco::Candidate &c, const Collection &l1, const Selector &sel, float &deltaR, float &deltaPhi, TrajectoryStateOnSurface &propagated) const |
template<typename Collection , typename Selector > | |
int | matchGeneric (TrajectoryStateOnSurface &propagated, const Collection &l1, const Selector &sel, float &deltaR, float &deltaPhi) const |
PropagateToMuon & | propagatorToMuon () |
Return the propagator to second muon station (in case it's needed) More... | |
const PropagateToMuon & | propagatorToMuon () const |
Return the propagator to second muon station (in case it's needed) More... | |
void | setL1PhiOffset (double l1PhiOffset) |
Add this offset to the L1 phi before doing the match, to correct for different scales in L1 vs offline. More... | |
~L1MuonMatcherAlgo () | |
Private Types | |
typedef StringCutObjectSelector < reco::Candidate, true > | L1Selector |
enum | SortBy { SortByDeltaR = 0, SortByDeltaPhi, SortByDeltaEta, SortByPt, SortByQual } |
Sort by deltaPhi or deltaEta instead of deltaR. More... | |
Private Member Functions | |
template<class T > | |
int | genericQuality (const T &cand) const |
Private Attributes | |
double | deltaEta_ |
double | deltaPhi_ |
double | deltaR2_ |
Matching cuts. More... | |
double | l1PhiOffset_ |
offset to be added to the L1 phi before the match More... | |
L1Selector | preselectionCut_ |
Preselection cut to apply to L1 candidates before matching. More... | |
PropagateToMuon | prop_ |
SortBy | sortBy_ |
bool | useStage2L1_ |
Matcher of reconstructed objects to L1 Muons.
"HLTriggerOffline/Muon/interface/L1MuonMatcherAlgo.h"
Definition at line 29 of file L1MuonMatcherAlgo.h.
|
private |
Definition at line 245 of file L1MuonMatcherAlgo.h.
|
private |
Sort by deltaPhi or deltaEta instead of deltaR.
Enumerator | |
---|---|
SortByDeltaR | |
SortByDeltaPhi | |
SortByDeltaEta | |
SortByPt | |
SortByQual |
Definition at line 253 of file L1MuonMatcherAlgo.h.
|
explicit |
Definition at line 5 of file L1MuonMatcherAlgo.cc.
References Exception, edm::ParameterSet::existsAs(), edm::ParameterSet::getParameter(), sortBy_, SortByDeltaEta, SortByDeltaPhi, SortByDeltaR, SortByPt, SortByQual, and AlCaHLTBitMon_QueryRunRegistry::string.
L1MuonMatcherAlgo::~L1MuonMatcherAlgo | ( | ) |
Definition at line 68 of file L1MuonMatcherAlgo.cc.
|
inline |
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
Definition at line 38 of file L1MuonMatcherAlgo.h.
References PropagateToMuon::extrapolate(), and prop_.
Referenced by match(), and matchGeneric().
|
inline |
Extrapolate reco::Candidate to the muon station 2, return an invalid TSOS if it fails.
Definition at line 41 of file L1MuonMatcherAlgo.h.
References PropagateToMuon::extrapolate(), and prop_.
|
inline |
Extrapolate a SimTrack to the muon station 2, return an invalid TSOS if it fails. Requires SimVertices to know where to start from.
Definition at line 44 of file L1MuonMatcherAlgo.h.
References PropagateToMuon::extrapolate(), and prop_.
|
inline |
Extrapolate a FreeTrajectoryState to the muon station 2, return an invalid TSOS if it fails.
Definition at line 49 of file L1MuonMatcherAlgo.h.
References PropagateToMuon::extrapolate(), and prop_.
|
inlineprivate |
Definition at line 271 of file L1MuonMatcherAlgo.h.
void L1MuonMatcherAlgo::init | ( | const edm::EventSetup & | iSetup | ) |
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators.
Definition at line 70 of file L1MuonMatcherAlgo.cc.
References PropagateToMuon::init(), and prop_.
Referenced by pat::HLTL1MuonMatcher::produce().
|
inline |
Try to match one track to one L1. Return true if succeeded (and update deltaR, deltaPhi and propagated TSOS accordingly) The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 58 of file L1MuonMatcherAlgo.h.
References extrapolate(), and TrajectoryStateOnSurface::isValid().
Referenced by match(), and matchGeneric().
|
inline |
Try to match one track to one L1. Return true if succeeded (and update deltaR, deltaPhi and propagated TSOS accordingly) The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 69 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
|
inline |
Try to match one simtrack to one L1. Return true if succeeded (and update deltaR, deltaPhi and propagated TSOS accordingly) The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 80 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
bool L1MuonMatcherAlgo::match | ( | TrajectoryStateOnSurface & | propagated, |
const l1extra::L1MuonParticle & | l1, | ||
float & | deltaR, | ||
float & | deltaPhi | ||
) | const |
Try to match one track to one L1. Return true if succeeded (and update deltaR, deltaPhi accordingly) The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 72 of file L1MuonMatcherAlgo.cc.
References deltaEta_, srCondWrite_cfg::deltaPhi, deltaPhi_, reco::deltaR2(), deltaR2_, PV3DBase< T, PVType, FrameType >::eta(), reco::LeafCandidate::eta(), TrajectoryStateOnSurface::globalPosition(), l1PhiOffset_, PV3DBase< T, PVType, FrameType >::phi(), reco::LeafCandidate::phi(), preselectionCut_, and mathSSE::sqrt().
|
inline |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 102 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
|
inline |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 114 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
|
inline |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 126 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
int L1MuonMatcherAlgo::match | ( | TrajectoryStateOnSurface & | propagated, |
const std::vector< l1extra::L1MuonParticle > & | l1, | ||
float & | deltaR, | ||
float & | deltaPhi | ||
) | const |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi accordingly) Returns -1 if the match fails The preselection cut on L1, if specified in the config, is applied before the match
Definition at line 90 of file L1MuonMatcherAlgo.cc.
References matchGeneric(), and preselectionCut_.
|
inline |
Find the best match to stage2 L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on stage2 L1, if specified in the config, is applied before the match
Definition at line 149 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
|
inline |
Find the best match to stage2 L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on stage2 L1, if specified in the config, is applied before the match
Definition at line 161 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
|
inline |
Find the best match to stage2 L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails The preselection cut on stage 2 L1, if specified in the config, is applied before the match
Definition at line 173 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and match().
int L1MuonMatcherAlgo::match | ( | TrajectoryStateOnSurface & | propagated, |
const std::vector< l1t::Muon > & | l1, | ||
float & | deltaR, | ||
float & | deltaPhi | ||
) | const |
Find the best match to stage 2 L1, and return its index in the vector (and update deltaR, deltaPhi accordingly) Returns -1 if the match fails The preselection cut on stage 2 L1, if specified in the config, is applied before the match
Definition at line 97 of file L1MuonMatcherAlgo.cc.
References matchGeneric(), and preselectionCut_.
|
inline |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails Only the objects passing the selector will be allowed for the match. If you don't need a selector, just use an AnySelector (CommonTools/Utils) which accepts everything
Definition at line 198 of file L1MuonMatcherAlgo.h.
References extrapolate(), and TrajectoryStateOnSurface::isValid().
Referenced by match(), matchGeneric(), and pat::HLTL1MuonMatcher::produce().
|
inline |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi and propagated TSOS accordingly) Returns -1 if the match fails Only the objects passing the selector will be allowed for the match. If you don't need a selector, just use an AnySelector (CommonTools/Utils) which accepts everything
Definition at line 213 of file L1MuonMatcherAlgo.h.
References extrapolate(), TrajectoryStateOnSurface::isValid(), and matchGeneric().
int L1MuonMatcherAlgo::matchGeneric | ( | TrajectoryStateOnSurface & | propagated, |
const Collection & | l1, | ||
const Selector & | sel, | ||
float & | deltaR, | ||
float & | deltaPhi | ||
) | const |
Find the best match to L1, and return its index in the vector (and update deltaR, deltaPhi accordingly) Returns -1 if the match fails Only the objects passing the selector will be allowed for the match. The selector defaults to an AnySelector (CommonTools/Utils) which just accepts everything
Definition at line 276 of file L1MuonMatcherAlgo.h.
References deltaEta_, srCondWrite_cfg::deltaPhi, deltaPhi_, reco::deltaR2(), deltaR2_, PV3DBase< T, PVType, FrameType >::eta(), TrajectoryStateOnSurface::globalPosition(), mps_fire::i, l1PhiOffset_, match(), HLT_FULL_cff::minDeltaEta, dqmiodumpmetadata::n, getGTfromDQMFile::obj, PV3DBase< T, PVType, FrameType >::phi(), EgammaValidation_Wenu_cff::sel, sortBy_, SortByDeltaEta, SortByDeltaPhi, SortByDeltaR, SortByQual, and mathSSE::sqrt().
|
inline |
Return the propagator to second muon station (in case it's needed)
Definition at line 52 of file L1MuonMatcherAlgo.h.
References prop_.
|
inline |
Return the propagator to second muon station (in case it's needed)
Definition at line 54 of file L1MuonMatcherAlgo.h.
References prop_.
|
inline |
Add this offset to the L1 phi before doing the match, to correct for different scales in L1 vs offline.
Definition at line 235 of file L1MuonMatcherAlgo.h.
References l1PhiOffset_.
|
private |
Definition at line 250 of file L1MuonMatcherAlgo.h.
Referenced by match(), and matchGeneric().
|
private |
Definition at line 250 of file L1MuonMatcherAlgo.h.
Referenced by match(), and matchGeneric().
|
private |
Matching cuts.
Definition at line 250 of file L1MuonMatcherAlgo.h.
Referenced by match(), and matchGeneric().
|
private |
offset to be added to the L1 phi before the match
Definition at line 257 of file L1MuonMatcherAlgo.h.
Referenced by match(), matchGeneric(), and setL1PhiOffset().
|
private |
Preselection cut to apply to L1 candidates before matching.
Definition at line 247 of file L1MuonMatcherAlgo.h.
Referenced by match().
|
private |
Definition at line 241 of file L1MuonMatcherAlgo.h.
Referenced by extrapolate(), init(), and propagatorToMuon().
|
private |
Definition at line 254 of file L1MuonMatcherAlgo.h.
Referenced by L1MuonMatcherAlgo(), and matchGeneric().
|
private |
Definition at line 243 of file L1MuonMatcherAlgo.h.