1 #ifndef Validation_MuonGEMDigis_GEMDigiMatcher_h
2 #define Validation_MuonGEMDigis_GEMDigiMatcher_h
23 #include <unordered_set>
192 std::set<unsigned int>
result;
193 for (
const auto&
p : digis) {
194 const auto&
id =
p.first;
200 result.insert(
p.first);
std::map< unsigned int, GEMDigiSimLinkContainer > detid_to_simLinks_
void matchCoPadsToSimTrack(const GEMCoPadDigiCollection &)
int extrapolateHsfromGEMStrip(unsigned int, int) const
std::vector< GEMCoPadDigi > GEMCoPadDigiContainer
std::set< unsigned int > superChamberIdsCluster(int gem_type=MuonHitHelper::GEM_ALL) const
const GEMPadDigiClusterContainer & clustersInChamber(unsigned int) const
std::set< int > padNumbersInDetId(unsigned int) const
std::set< unsigned int > detIdsCluster(int gem_type=MuonHitHelper::GEM_ALL) const
std::map< unsigned int, GEMDigiContainer > detid_to_digis_
std::shared_ptr< GEMSimHitMatcher > muonSimHitMatcher_
void match(const SimTrack &t, const SimVertex &v)
do the matching
GlobalPoint getGlobalPointPad(unsigned int rawId, const GEMPadDigi &tp) const
std::set< unsigned int > selectDetIds(const T &, int) const
std::map< unsigned int, GEMDigiContainer > chamber_to_digis_
std::set< unsigned int > detIdsDigi(int gem_type=MuonHitHelper::GEM_ALL) const
GlobalPoint getGlobalPointDigi(unsigned int rawId, const GEMDigi &d) const
std::map< unsigned int, GEMPadDigiClusterContainer > detid_to_clusters_
std::set< int > stripNumbersInDetId(unsigned int) const
std::set< int > partitionNumbers() const
edm::Handle< GEMCoPadDigiCollection > gemCoPadsH_
std::vector< GEMDigiSimLink > GEMDigiSimLinkContainer
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
edm::EDGetTokenT< GEMCoPadDigiCollection > gemCoPadToken_
void matchPadsToSimTrack(const GEMPadDigiCollection &)
const GEMPadDigiContainer & padsInDetId(unsigned int) const
GEMDigiMatcher(edm::ParameterSet const &iPS, edm::ConsumesCollector &&iC)
const GEMPadDigiContainer & padsInChamber(unsigned int) const
int extrapolateHsfromGEMPad(unsigned int, int) const
std::set< unsigned int > detIdsPad(int gem_type=MuonHitHelper::GEM_ALL) const
void matchClustersToSimTrack(const GEMPadDigiClusterCollection &)
GEMDigiContainer no_gem_digis_
static int toGEMType(int st, int ri)
const std::map< unsigned int, GEMPadDigiContainer > allPads() const
edm::EDGetTokenT< edm::DetSetVector< GEMDigiSimLink > > gemSimLinkToken_
edm::Handle< GEMDigiCollection > gemDigisH_
GEMCoPadDigiContainer no_gem_copads_
std::vector< GEMDigi > GEMDigiContainer
const GEMPadDigiClusterContainer & clustersInDetId(unsigned int) const
std::vector< GEMPadDigiCluster > GEMPadDigiClusterContainer
const GEMPadDigiClusterContainer & clustersInSuperChamber(unsigned int) const
void matchDigisToSimTrack(const GEMDigiCollection &)
const GEMDigiContainer & digisInChamber(unsigned int) const
edm::EDGetTokenT< GEMPadDigiClusterCollection > gemClusterToken_
std::map< unsigned int, GEMDigiContainer > superchamber_to_digis_
std::set< int > partitionNumbersWithCoPads() const
std::shared_ptr< GEMSimHitMatcher > muonSimHitMatcher()
const GEMGeometry * gemGeometry_
std::set< unsigned int > detIdsSimLink(int gem_type=MuonHitHelper::GEM_ALL) const
std::map< unsigned int, GEMPadDigiContainer > chamber_to_pads_
const GEMDigiContainer & digisInDetId(unsigned int) const
std::set< unsigned int > superChamberIdsDigi(int gem_type=MuonHitHelper::GEM_ALL) const
int nLayersWithDigisInSuperChamber(unsigned int) const
const GEMCoPadDigiContainer & coPadsInSuperChamber(unsigned int) const
std::set< unsigned int > chamberIdsDigi(int gem_type=MuonHitHelper::GEM_ALL) const
std::set< unsigned int > superChamberIdsCoPad(int gem_type=MuonHitHelper::GEM_ALL) const
std::vector< GEMPadDigi > GEMPadDigiContainer
std::set< unsigned int > superChamberIdsPad(int gem_type=MuonHitHelper::GEM_ALL) const
edm::Handle< GEMPadDigiCollection > gemPadsH_
std::set< unsigned int > chamberIdsCluster(int gem_type=MuonHitHelper::GEM_ALL) const
constexpr int ring() const
constexpr int station() const
const GEMDigiSimLinkContainer & simLinksInDetId(unsigned int) const
std::map< unsigned int, GEMPadDigiContainer > superchamber_to_pads_
std::map< unsigned int, GEMPadDigiContainer > detid_to_pads_
std::map< unsigned int, GEMCoPadDigiContainer > superchamber_to_copads_
std::map< unsigned int, GEMPadDigiClusterContainer > superchamber_to_clusters_
void matchDigisSLToSimTrack(const edm::DetSetVector< GEMDigiSimLink > &)
edm::Handle< GEMPadDigiClusterCollection > gemClustersH_
std::map< unsigned int, GEMPadDigiClusterContainer > chamber_to_clusters_
GEMPadDigiClusterContainer no_gem_clusters_
GEMPadDigiContainer no_gem_pads_
void matchPadsInDetId(const GEMDetId &simhitId, const GEMPadDigiCollection &)
int nLayersWithPadsInSuperChamber(unsigned int) const
int nLayersWithClustersInSuperChamber(unsigned int) const
edm::EDGetTokenT< GEMDigiCollection > gemDigiToken_
int nPads() const
How many pads in GEM did this simtrack get in total?
const GEMPadDigiContainer & padsInSuperChamber(unsigned int) const
std::set< unsigned int > chamberIdsPad(int gem_type=MuonHitHelper::GEM_ALL) const
GEMDigiSimLinkContainer no_gem_simLinks_
const GEMDigiContainer & digisInSuperChamber(unsigned int) const
void init(const edm::Event &e, const edm::EventSetup &eventSetup)
edm::Handle< edm::DetSetVector< GEMDigiSimLink > > gemDigisSLH_
edm::EDGetTokenT< GEMPadDigiCollection > gemPadToken_
int nCoPads() const
How many coincidence pads in GEM did this simtrack get in total?