#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) |
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) |
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 160 of file OMTFSorter.cc.
References funct::abs(), checkHitPatternValidity(), OMTFConfiguration::fwVersion(), l1t::RegionalMuonCand::hwPt(), myOmtfConfig, nPhiBins, funct::pow(), jets_cff::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(), and setNphiBins().
|
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 147 of file OMTFSorter.cc.
Referenced by candidates(), and setNphiBins().
|
inline |
Definition at line 21 of file OMTFSorter.h.
References looper::cfg, and myOmtfConfig.
Referenced by OMTFReconstruction::beginRun().
|
inline |
Definition at line 22 of file OMTFSorter.h.
References candidates(), ALCARECOTkAlJpsiMuMu_cff::charge, checkHitPatternValidity(), hfClusterShapes_cfi::hits, nPhiBins, sortRefHitResults(), and sortSingleResult().
Referenced by OMTFReconstruction::beginRun().
void OMTFSorter::sortRefHitResults | ( | const std::vector< OMTFProcessor::resultsMap > & | procResults, |
std::vector< AlgoMuon > & | refHitCleanCands, | ||
int | charge = 0 |
||
) |
Definition at line 134 of file OMTFSorter.cc.
References RPCpg::mu, and AlgoMuon::setRefHitNumber().
Referenced by OMTFReconstruction::getProcessorCandidates(), setNphiBins(), 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(), createfilelist::int, Key::number(), AlgoMuon::setPatternNumber(), AlgoMuon::setPhiRHit(), 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 16 of file OMTFSorter.cc.
References 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 setNphiBins(), and sortRefHitResults().
|
private |
Definition at line 61 of file OMTFSorter.h.
Referenced by candidates(), and initialize().
|
private |
Definition at line 60 of file OMTFSorter.h.
Referenced by candidates(), and setNphiBins().