CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
Utils.h File Reference

Go to the source code of this file.

Functions

template<typename Reference , typename Association >
std::pair< typename
Association::data_type::first_type,
double > 
match (Reference key, Association association, bool bestMatchByMaxValue)
 Generic matching function. More...
 

Function Documentation

template<typename Reference , typename Association >
std::pair<typename Association::data_type::first_type, double> match ( Reference  key,
Association  association,
bool  bestMatchByMaxValue 
)

Generic matching function.

Definition at line 6 of file Utils.h.

References i, pos, lumiQueryAPI::q, edm::second(), and relativeConstraints::value.

Referenced by BeautifulSoup.UnicodeDammit::_detectEncoding(), optutl::CommandLineParser::_finishDefaultOptions(), DTTFFEDReader::analyse(), ZHistogrammer::analyze(), ZMCHistogrammer::analyze(), DebugZMCTruth::analyze(), RPCPointVsRecHit::analyze(), RPCRecHitValid::analyze(), CalibAnalyzer< Ref, Rec, Alg >::analyze(), SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), TkConvValidator::analyze(), SiPixelRecHitSource::analyze(), SiPixelTrackingRecHitsValid::analyze(), DQMHcalIsoTrackAlCaReco::analyze(), ValidationHcalIsoTrackAlCaReco::analyze(), HybridNew::applyClsQuantile(), asimovutils::asimovDatasetWithFit(), VertexAssociatorByTracks::associateRecoToSim(), VertexAssociatorByTracks::associateSimToReco(), JetPartonMatching::calculate(), checkHLTMatch(), TrajectoryCleanerMerger::clean(), MuonTrajectoryCleaner::clean(), Digi2Raw2Digi::compare(), DEcompare< T >::CompareCollections(), L1Comparator::compareCollections(), L1Comparator::CompareCollections(), GtPsbTextToDigi::endJob(), L1GctLut< NAddressBits, NDataBits >::equalityCheck(), TrackHistory::evaluate(), VertexHistory::evaluate(), L1TDTTF::fillMEs(), reco::tau::AssociationMatchRefSelector< InputType, MatchedType, OutputType, ClonePolicy >::filter(), StringMap::find(), pat::GenericOverlapFinder< Distance >::find(), muonid::findOppositeTrack(), FastHisto::GetAt(), pat::PATObject< ObjectType >::getKinResolution(), helper::getRange(), TrackDetectorAssociator::getTAMuonChamberMatches(), pat::PATObject< ObjectType >::hasKinResolution(), pat::TriggerObjectStandAlone::hasPathOrAlgorithm(), triggerExpression::HLTReader::init(), triggerExpression::L1Reader::init(), triggerExpression::L1TechReader::init(), HLTHighLevel::init(), IsoDepositVetoFactory::make(), TrackClusterSplitter::markClusters(), PFBenchmarkAlgo::matchByDeltaEt(), PFBenchmarkAlgo::matchByDeltaR(), FWCaloTowerSliceSelector::matchCell(), JetPartonMatching::matchingPtOrderedMinDist(), ConversionProducer::matchingSC(), JetPartonMatching::matchingTotalMinDist(), JetPartonMatching::matchingUnambiguousOnly(), AlignmentGlobalTrackSelector::matchTracks(), JetPartonMatching::minSumDist_recursion(), FWDetailViewManager::openDetailViewFor(), MatchJet::operator()(), StringMap::operator[](), MuonIdProducer::overlap(), pat::PATObject< ObjectType >::overlaps(), reco::modules::TrackerTrackHitFilter::parseStoN(), TtSemiLepJetCombWMassDeltaTopMass::produce(), TtSemiLepJetCombWMassMaxSumPt::produce(), TtSemiLepJetCombMaxSumPtWMass::produce(), TtSemiLepJetCombGeom::produce(), MCTruthCompositeMatcher< C1, C2 >::produce(), MCTrackMatcher::produce(), TtSemiLepKinFitProducer< LeptonCollection >::produce(), CandOneToManyDeltaRMatcher::produce(), reco::modulesNew::MCTruthCompositeMatcher::produce(), GenTrackMatcher::produce(), reco::modulesNew::Matcher< C1, C2, S, D >::produce(), reco::modules::MatcherBase< C1, C2, M >::produce(), TtFullHadKinFitProducer::produce(), pat::MatcherUsingTracks::produce(), TtFullHadHypothesis::produce(), pat::L1MuonMatcher::produce(), pat::HLTL1MuonMatcher::produce(), TtSemiLepHypothesis::produce(), cms::TrackListMerger::produce(), TtFullLepHypothesis::produce(), cms::SimpleTrackListMerger::produce(), reco::modules::CosmicTrackSelector::produce(), reco::modules::AnalyticalTrackSelector::produce(), pat::PATJetProducer::produce(), TtJetPartonMatch< C >::produce(), reco::modules::HICaloCompatibleTrackSelector::produce(), pat::PATTriggerMatchEmbedder< PATObjectType >::produce(), reco::modules::TrackMultiSelector::produce(), reco::modules::TrackFullCloneSelectorBase< Selector >::produce(), reco::PhysObjectMatcher< C1, C2, S, D, Q >::produce(), MuonMCClassifier::produce(), valtools.webpage::readCaption(), reco::modules::TrackerTrackHitFilter::Rule::Rule(), parsingRulesHelper::rulesParser(), ecaldqm::TrigPrimTask::runOnEmulTPs(), pf2pat::ElectronIDPFCandidateSelectorDefinition::select(), L1TDTTFClient::setGMTsummary(), pat::PATObject< ObjectType >::setKinResolution(), TtFullHadKinFitter::KinFit::setMatch(), pat::PATObject< ObjectType >::setOverlaps(), PFCandIsolatorFromDeposits::SingleDeposit::SingleDeposit(), DEcompare< T >::SortCollections(), optutl::CommandLineParser::split(), and reco::parser::ExpressionVar::trueDelete().

7 {
8  typename Association::data_type::first_type value;
9 
10  typename Association::const_iterator pos = association.find(key);
11 
12  if (pos == association.end()) return std::pair<typename Association::data_type::first_type, double> (value, 0);
13 
14  const std::vector<typename Association::data_type> & matches = pos->val;
15 
16  double q = bestMatchByMaxValue ? -1e30 : 1e30;
17 
18  for (std::size_t i = 0; i < matches.size(); ++i)
19  if (bestMatchByMaxValue ? (matches[i].second > q) : (matches[i].second < q))
20  {
21  value = matches[i].first;
22  q = matches[i].second;
23  }
24 
25  return std::pair<typename Association::data_type::first_type, double> (value, q);
26 }
int i
Definition: DBlmapReader.cc:9
U second(std::pair< T, U > const &p)
list key
Definition: combine.py:13