#include <OMTFSorter.h>
Public Member Functions | |
void | sortProcessorAndFillCandidates (unsigned int iProcessor, l1t::tftype mtfType, const std::vector< AlgoMuon > &algoCands, l1t::RegionalMuonCandBxCollection &sortedCands, int bx, int charge=0) |
void | sortRefHitResults (const std::vector< OMTFProcessor::resultsMap > &procResults, std::vector< AlgoMuon > &refHitCleanCands, int charge=0) |
AlgoMuon | sortRefHitResults (const OMTFProcessor::resultsMap &aResultsMap, int charge=0) |
Private Member Functions | |
bool | checkHitPatternValidity (unsigned int hits) |
AlgoMuon | sortSingleResult (const OMTFResult &aResult) |
Definition at line 15 of file OMTFSorter.h.
|
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 231 of file OMTFSorter.cc.
Referenced by sortProcessorAndFillCandidates().
void OMTFSorter::sortProcessorAndFillCandidates | ( | unsigned int | iProcessor, |
l1t::tftype | mtfType, | ||
const std::vector< AlgoMuon > & | algoCands, | ||
l1t::RegionalMuonCandBxCollection & | sortedCands, | ||
int | bx, | ||
int | charge = 0 |
||
) |
conversion factor from OMTF to uGMT scale: 5400/576
Quality is set to number of leayers hit. DT bending and position hit is counted as one. thus we subtract 1 for each DT station hit.
Candidates with bad hit patterns get quality 0.
Now quality based on hit pattern
Definition at line 244 of file OMTFSorter.cc.
References bits, checkHitPatternValidity(), l1t::RegionalMuonCand::hwPt(), OMTFConfiguration::instance(), ecaldqm::binning::nPhiBins, OMTFConfiguration::nPhiBins, BXVector< T >::push_back(), HLT_FULL_cff::quality, l1t::RegionalMuonCand::setHwEta(), l1t::RegionalMuonCand::setHwPhi(), l1t::RegionalMuonCand::setHwPt(), l1t::RegionalMuonCand::setHwQual(), l1t::RegionalMuonCand::setHwSign(), l1t::RegionalMuonCand::setTFIdentifiers(), and l1t::RegionalMuonCand::setTrackAddress().
Referenced by OMTFReconstruction::getProcessorCandidates().
void OMTFSorter::sortRefHitResults | ( | const std::vector< OMTFProcessor::resultsMap > & | procResults, |
std::vector< AlgoMuon > & | refHitCleanCands, | ||
int | charge = 0 |
||
) |
Sort all processor results. First for each region cone find a best candidate using sortRegionResults() Then select best candidate amongs found for each logic region. The sorting is made for candidates with a given charge Sort all processor results. First for each region cone find a best candidate using sortRegionResults() Then select best candidate amongs found for each logic region
Definition at line 127 of file OMTFSorter.cc.
Referenced by OMTFReconstruction::getProcessorCandidates(), and OMTFReconstruction::writeResultToXML().
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 AlgoMuon::getDisc(), AlgoMuon::getEta(), AlgoMuon::getHits(), AlgoMuon::getPhi(), AlgoMuon::getPhiRHit(), AlgoMuon::getQ(), AlgoMuon::getRefLayer(), AlgoMuon::setPhiRHit(), sortSingleResult(), Key::theCharge, and Key::thePtCode.
|
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 16 of file OMTFSorter.cc.
References 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().