#include <OMTFSorter.h>
Public Member Functions | |
std::vector< l1t::RegionalMuonCand > | candidates (unsigned int iProcessor, l1t::tftype mtfType, const std::vector< AlgoMuon > &algoCands) |
void | initialize (const OMTFConfiguration *cfg) |
OMTFSorter (int sorterTypeFlag) | |
void | setNphiBins (unsigned int phiBins) |
AlgoMuons::value_type | sortRefHitResults (unsigned int procIndx, unsigned int iRefHit, const GoldenPatternVec< GoldenPatternType > &gPatterns, int charge=0) override |
void | sortRefHitResults (const std::vector< OMTFProcessor::resultsMap > &procResults, std::vector< AlgoMuon > &refHitCleanCands, int charge=0) |
AlgoMuon | sortRefHitResults (const OMTFProcessor::resultsMap &aResultsMap, int charge=0) |
~OMTFSorter () override | |
Public Member Functions inherited from SorterBase< GoldenPatternType > | |
virtual AlgoMuons | sortResults (unsigned int procIndx, const GoldenPatternVec< GoldenPatternType > &gPatterns, int charge=0) |
virtual | ~SorterBase () |
Private Member Functions | |
bool | checkHitPatternValidity (unsigned int hits) |
AlgoMuon | sortSingleResult (const OMTFResult &aResult) |
Private Attributes | |
const OMTFConfiguration * | myOmtfConfig |
int | myType |
unsigned int | nPhiBins |
Definition at line 17 of file OMTFSorter.h.
|
inline |
Definition at line 10 of file OMTFSorter.h.
|
inlineoverride |
Definition at line 12 of file OMTFSorter.h.
std::vector< l1t::RegionalMuonCand > OMTFSorter< GoldenPatternType >::candidates | ( | unsigned int | iProcessor, |
l1t::tftype | mtfType, | ||
const std::vector< AlgoMuon > & | algoCands | ||
) |
conversion factor from OMTF to uGMT scale is 5400/576 i.e. phiValue/=9.375;
Definition at line 157 of file OMTFSorter.cc.
References funct::abs(), OMTFSorter< GoldenPatternType >::checkHitPatternValidity(), OMTFConfiguration::fwVersion(), l1t::RegionalMuonCand::hwPt(), OMTFSorter< GoldenPatternType >::myOmtfConfig, OMTFSorter< GoldenPatternType >::nPhiBins, funct::pow(), quality, mps_fire::result, l1t::RegionalMuonCand::setHwEta(), l1t::RegionalMuonCand::setHwPhi(), l1t::RegionalMuonCand::setHwPt(), l1t::RegionalMuonCand::setHwQual(), l1t::RegionalMuonCand::setHwSign(), l1t::RegionalMuonCand::setHwSignValid(), l1t::RegionalMuonCand::setTFIdentifiers(), and l1t::RegionalMuonCand::setTrackAddress().
Referenced by OMTFReconstruction::getProcessorCandidates().
|
private |
Check if the hit pattern of given OMTF candite is not on the list of invalid hit patterns. Invalid hit patterns provode very little to efficiency, but gives high contribution to rate. Candidate with invalid hit patterns is assigned quality=0. Currently the list of invalid patterns is hardcoded. This has to be read from configuration.
FIXME: read the list from configuration so this can be controlled at runtime.
Definition at line 143 of file OMTFSorter.cc.
References hfClusterShapes_cfi::hits.
Referenced by OMTFSorter< GoldenPatternType >::candidates().
|
inline |
Definition at line 19 of file OMTFSorter.h.
References looper::cfg, and OMTFSorter< GoldenPatternType >::myOmtfConfig.
Referenced by OMTFReconstruction::beginRun().
|
inline |
Definition at line 20 of file OMTFSorter.h.
References OMTFSorter< GoldenPatternType >::nPhiBins, and L1TrackJetEmulationProducer_cfi::phiBins.
Referenced by OMTFReconstruction::beginRun().
|
overridevirtual |
Sort results from a single reference hit. Select candidate with highest number of hit layers Then select a candidate with largest likelihood value and given charge as we allow two candidates with opposite charge from single 10deg region
Accept only candidates with >2 hits
Implements SorterBase< GoldenPatternType >.
Definition at line 18 of file OMTFSorter.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge.
void OMTFSorter< GoldenPatternType >::sortRefHitResults | ( | const std::vector< OMTFProcessor::resultsMap > & | procResults, |
std::vector< AlgoMuon > & | refHitCleanCands, | ||
int | charge = 0 |
||
) |
Definition at line 131 of file OMTFSorter.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, and amptDefaultParameters_cff::mu.
Referenced by OMTFReconstruction::getProcessorCandidates(), and OMTFReconstruction::writeResultToXML().
AlgoMuon OMTFSorter< GoldenPatternType >::sortRefHitResults | ( | const OMTFProcessor::resultsMap & | aResultsMap, |
int | charge = 0 |
||
) |
Sort results from a single reference hit. Select candidate with highest number of hit layers Then select a candidate with largest likelihood value and given charge as we allow two candidates with opposite charge from single 10deg region
Accept only candidates with >2 hits
Definition at line 69 of file OMTFSorter.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, createfilelist::int, Key::number(), AlgoMuon::setPatternNumber(), AlgoMuon::setPhiRHit(), OMTFSorter< GoldenPatternType >::sortSingleResult(), Key::theCharge, Key::thePtCode, and heppy_batch::val.
|
private |
Find a candidate with best parameters for given GoldenPattern Sorting is made amongs candidates with different reference layers The output tuple contains (nHitsMax, pdfValMax, refPhi, refLayer, hitsWord, refEta) hitsWord codes number of layers hit: hitsWord= sum 2**iLogicLayer, where sum runs over layers which were hit
Find a result with biggest number of hits
Definition at line 15 of file OMTFSorter.cc.
References cms::cuda::assert(), OMTFResult::getHitsWord(), OMTFResult::getRefEtas(), OMTFResult::getRefPhiRHits(), OMTFResult::getRefPhis(), OMTFResult::getSummaryHits(), OMTFResult::getSummaryVals(), AlgoMuon::setDisc(), AlgoMuon::setEta(), AlgoMuon::setHits(), AlgoMuon::setPhi(), AlgoMuon::setPhiRHit(), AlgoMuon::setQ(), and AlgoMuon::setRefLayer().
Referenced by OMTFSorter< GoldenPatternType >::sortRefHitResults().
|
private |
Definition at line 55 of file OMTFSorter.h.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), and OMTFSorter< GoldenPatternType >::initialize().
|
private |
Definition at line 24 of file OMTFSorter.h.
|
private |
Definition at line 54 of file OMTFSorter.h.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), and OMTFSorter< GoldenPatternType >::setNphiBins().