#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) |
void | setNphiBins (unsigned int phiBins) |
AlgoMuon | sortRefHitResults (const OMTFProcessor::resultsMap &aResultsMap, int charge=0) |
void | sortRefHitResults (const std::vector< OMTFProcessor::resultsMap > &procResults, std::vector< AlgoMuon > &refHitCleanCands, int charge=0) |
Private Member Functions | |
bool | checkHitPatternValidity (unsigned int hits) |
AlgoMuon | sortSingleResult (const OMTFResult &aResult) |
Private Attributes | |
const OMTFConfiguration * | myOmtfConfig |
unsigned int | nPhiBins |
Definition at line 17 of file OMTFSorter.h.
std::vector< l1t::RegionalMuonCand > OMTFSorter::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(), checkHitPatternValidity(), OMTFConfiguration::fwVersion(), l1t::RegionalMuonCand::hwPt(), myOmtfConfig, nPhiBins, funct::pow(), qcdUeDQM_cfi::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 candidates().
|
inline |
Definition at line 19 of file OMTFSorter.h.
References looper::cfg, and myOmtfConfig.
Referenced by OMTFReconstruction::beginRun().
|
inline |
Definition at line 20 of file OMTFSorter.h.
References nPhiBins.
Referenced by OMTFReconstruction::beginRun().
AlgoMuon OMTFSorter::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(), sortSingleResult(), Key::theCharge, Key::thePtCode, and heppy_batch::val.
void OMTFSorter::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().
|
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 sortRefHitResults().
|
private |
Definition at line 55 of file OMTFSorter.h.
Referenced by candidates(), and initialize().
|
private |
Definition at line 54 of file OMTFSorter.h.
Referenced by candidates(), and setNphiBins().