1 #ifndef MuonAssociatorByHitsHelper_h 2 #define MuonAssociatorByHitsHelper_h 22 #include <boost/ptr_container/ptr_vector.hpp> 34 typedef std::vector<std::pair<trackingRecHit_iterator, trackingRecHit_iterator> >
TrackHitsCollection;
45 std::function<void(const TrackHitsCollection&, const TrackingParticleCollection&)>
diagnostics_;
68 (MapOfMatchedIds & tracker_matchedIds_valid, MapOfMatchedIds & muon_matchedIds_valid,
69 MapOfMatchedIds & tracker_matchedIds_INVALID, MapOfMatchedIds & muon_matchedIds_INVALID,
70 int& n_tracker_valid,
int& n_dt_valid,
int& n_csc_valid,
int& n_rpc_valid,
int& n_gem_valid,
71 int& n_tracker_matched_valid,
int& n_dt_matched_valid,
int& n_csc_matched_valid,
int& n_rpc_matched_valid,
int& n_gem_matched_valid,
72 int& n_tracker_INVALID,
int& n_dt_INVALID,
int& n_csc_INVALID,
int& n_rpc_INVALID,
int& n_gem_INVALID,
73 int& n_tracker_matched_INVALID,
int& n_dt_matched_INVALID,
int& n_csc_matched_INVALID,
int& n_rpc_matched_INVALID,
int& n_gem_matched_INVALID,
78 int getShared(MapOfMatchedIds & matchedIds, TrackingParticleCollection::const_iterator trpart)
const;
unsigned int NHitCut_muon
const bool ThreeHitTracksAreSpecial
std::string write_matched_simtracks(const std::vector< SimHitIdpr > &) const
std::map< size_t, std::vector< IndexMatch > > IndexAssociation
int getShared(MapOfMatchedIds &matchedIds, TrackingParticleCollection::const_iterator trpart) const
RPCHitAssociator const * rpcHitAssoc_
TrackerHitAssociator const * trackerHitAssoc_
GEMHitAssociator const * gemHitAssoc_
bool operator<(const IndexMatch &other) const
IndexAssociation associateSimToRecoIndices(const TrackHitsCollection &, const edm::RefVector< TrackingParticleCollection > &, Resources const &) const
int LayerFromDetid(const DetId &) const
double EfficiencyCut_track
const bool AbsoluteNumberOfHits_muon
IndexMatch(size_t index, double global_quality)
std::vector< std::pair< trackingRecHit_iterator, trackingRecHit_iterator > > TrackHitsCollection
MuonAssociatorByHitsHelper(const edm::ParameterSet &conf)
CSCHitAssociator const * cscHitAssoc_
unsigned int NHitCut_track
std::function< void(const TrackHitsCollection &, const TrackingParticleCollection &)> diagnostics_
const TrackingRecHit * getHitPtr(const trackingRecHit_iterator &iter) const
const bool AbsoluteNumberOfHits_track
DTHitAssociator const * dtHitAssoc_
std::pair< unsigned int, std::vector< SimHitIdpr > > uint_SimHitIdpr_pair
const bool acceptOneStubMatchings
TrackerTopology const * tTopo_
IndexAssociation associateRecoToSimIndices(const TrackHitsCollection &, const edm::RefVector< TrackingParticleCollection > &, Resources const &) const
std::pair< uint32_t, EncodedEventId > SimHitIdpr
boost::ptr_vector< uint_SimHitIdpr_pair > MapOfMatchedIds
const TrackingRecHit * getHitPtr(edm::OwnVector< TrackingRecHit >::const_iterator iter) const
double EfficiencyCut_muon
TrackingRecHitCollection::base::const_iterator trackingRecHit_iterator
iterator over a vector of reference to TrackingRecHit in the same collection
const bool includeZeroHitMuons
void getMatchedIds(MapOfMatchedIds &tracker_matchedIds_valid, MapOfMatchedIds &muon_matchedIds_valid, MapOfMatchedIds &tracker_matchedIds_INVALID, MapOfMatchedIds &muon_matchedIds_INVALID, int &n_tracker_valid, int &n_dt_valid, int &n_csc_valid, int &n_rpc_valid, int &n_gem_valid, int &n_tracker_matched_valid, int &n_dt_matched_valid, int &n_csc_matched_valid, int &n_rpc_matched_valid, int &n_gem_matched_valid, int &n_tracker_INVALID, int &n_dt_INVALID, int &n_csc_INVALID, int &n_rpc_INVALID, int &n_gem_INVALID, int &n_tracker_matched_INVALID, int &n_dt_matched_INVALID, int &n_csc_matched_INVALID, int &n_rpc_matched_INVALID, int &n_gem_matched_INVALID, trackingRecHit_iterator begin, trackingRecHit_iterator end, const TrackerHitAssociator *trackertruth, const DTHitAssociator &dttruth, const CSCHitAssociator &csctruth, const RPCHitAssociator &rpctruth, const GEMHitAssociator &gemtruth, bool printRts, const TrackerTopology *) const