44 for (
auto id: det_ids)
52 cout<<
"hit_strips_fat ";
53 copy(hit_strips.begin(), hit_strips.end(), ostream_iterator<int>(
cout,
" "));
57 auto digis_in_det = digis.get(
GEMDetId(
id));
59 for (
auto d = digis_in_det.first;
d != digis_in_det.second; ++
d)
65 if (hit_strips.find(
d->strip()) == hit_strips.end())
continue;
84 for (
auto id: det_ids)
90 auto pads_in_det = pads.get(p_id);
94 cout<<
"checkpads "<<hit_pads.size()<<
" "<<
std::distance(pads_in_det.first, pads_in_det.second)<<
" hit_pads: ";
95 copy(hit_pads.begin(), hit_pads.end(), ostream_iterator<int>(
cout,
" "));
99 for (
auto pad = pads_in_det.first; pad != pads_in_det.second; ++pad)
106 if (hit_pads.find(pad->pad()) == hit_pads.end())
continue;
122 for (
auto id: det_ids)
128 auto co_pads_in_det = co_pads.get(p_id);
130 for (
auto pad = co_pads_in_det.first; pad != co_pads_in_det.second; ++pad)
136 if (hit_co_pads.find(pad->pad(1)) == hit_co_pads.end())
continue;
137 if (hit_co_pads.find(pad->pad(2)) == hit_co_pads.end())
continue;
148 std::set<unsigned int>
151 std::set<unsigned int>
result;
157 std::set<unsigned int>
160 std::set<unsigned int>
result;
164 std::set<unsigned int>
167 std::set<unsigned int>
result;
171 std::set<unsigned int>
174 std::set<unsigned int>
result;
178 std::set<unsigned int>
181 std::set<unsigned int>
result;
185 std::set<unsigned int>
188 std::set<unsigned int>
result;
192 std::set<unsigned int>
195 std::set<unsigned int>
result;
269 layers.insert(idd.
layer());
271 return layers.size();
283 layers.insert(idd.
layer());
285 return layers.size();
357 for (
auto id: detids)
360 result.insert( idd.
roll() );
371 for (
auto id: detids)
374 result.insert( idd.
roll() );
std::set< unsigned int > detIdsGEM() const
GEM partitions' detIds with SimHits.
const DigiContainer & digisInChamber(unsigned int) const
T getUntrackedParameter(std::string const &, T const &) const
std::set< int > padNumbersInDetId(unsigned int) const
std::map< unsigned int, DigiContainer > detid_to_pads_
std::set< unsigned int > superChamberIdsWithPads() const
std::set< unsigned int > detIds() const
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
const DigiContainer no_digis_
const SimHitMatcher & simhit_matcher_
edm::Handle< GEMPadDigiCollection > gem_pads_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::set< int > stripNumbersInDetId(unsigned int) const
std::set< int > partitionNumbers() const
std::set< int > hitStripsInDetId(unsigned int, int margin_n_strips=0) const
const DigiContainer & padsInDetId(unsigned int) const
void matchPadsToSimTrack(const GEMPadDigiCollection &pads)
constexpr uint32_t rawId() const
get the raw id
edm::Handle< GEMDigiCollection > gem_digis_
std::vector< Digi > DigiContainer
int chamber() const
Chamber id: it identifies a chamber in a ring it goes from 1 to 36.
std::map< unsigned int, DigiContainer > superchamber_to_copads_
std::map< unsigned int, DigiContainer > chamber_to_digis_
std::set< unsigned int > superChamberIds() const
void matchDigisToSimTrack(const GEMDigiCollection &digis)
GEMDetId chamberId() const
Return the corresponding ChamberId.
const DigiContainer & digisInSuperChamber(unsigned int) const
std::map< unsigned int, DigiContainer > detid_to_digis_
const DigiContainer & padsInSuperChamber(unsigned int) const
const DigiContainer & digisInDetId(unsigned int) const
std::set< int > partitionNumbersWithCoPads() const
std::set< int > hitPadsInDetId(unsigned int) const
std::map< unsigned int, DigiContainer > superchamber_to_pads_
int layer() const
Layer id: each station have two layers of chambers: layer 1 is the inner chamber and layer 2 is the o...
int station() const
Station id : the station is the pair of chambers at same disk.
const DigiContainer & coPadsInSuperChamber(unsigned int) const
std::set< unsigned int > detIdsGEMCoincidences() const
int nLayersWithDigisInSuperChamber(unsigned int) const
int region() const
Region id: 0 for Barrel Not in use, +/-1 For +/- Endcap.
const DigiContainer & coPadsInDetId(unsigned int) const
std::map< unsigned int, DigiContainer > superchamber_to_digis_
std::set< unsigned int > superChamberIdsWithCoPads() const
T const * product() const
std::map< unsigned int, DigiContainer > detid_to_copads_
const DigiContainer & padsInChamber(unsigned int) const
GEMDigiMatcher(const SimHitMatcher &sh, const edm::Event &, const GEMGeometry &geom, const edm::ParameterSet &cfg, edm::EDGetToken &, edm::EDGetToken &, edm::EDGetToken &)
std::set< unsigned int > detIdsWithCoPads() const
int digi_channel(const Digi &d)
std::set< unsigned int > chamberIdsWithPads() const
int nLayersWithPadsInSuperChamber(unsigned int) const
std::set< unsigned int > chamberIds() const
edm::Handle< GEMCoPadDigiCollection > gem_co_pads_
std::map< unsigned int, DigiContainer > chamber_to_pads_
int nPads() const
How many pads in GEM did this simtrack get in total?
void matchCoPadsToSimTrack(const GEMCoPadDigiCollection &co_pads)
std::set< int > hitCoPadsInDetId(unsigned int) const
std::set< int > coPadNumbersInDetId(unsigned int) const
void init(const edm::Event &)
unsigned int digi_id(const Digi &d)
int nCoPads() const
How many coincidence pads in GEM did this simtrack get in total?