56 if (pads->begin() == pads->end())
59 for (
auto pad_range_it = pads->begin(); pad_range_it != pads->end(); ++pad_range_it) {
60 const auto&
id = (*pad_range_it).first;
61 const auto& roll = geometry->etaPartition(
id);
64 cout <<
"--------------" << endl;
68 std::map<std::pair<int, int>,
72 auto digis_in_det = digis->get(
id);
73 cout <<
"strip digis in detid: ";
74 for (
auto d = digis_in_det.first;
d != digis_in_det.second; ++
d) {
75 int pad_num = 1 +
static_cast<int>(roll->padOfStrip(
d->strip()));
76 digi_map[{pad_num,
d->bx()}].push_back(
d->strip());
77 cout <<
" (" <<
d->strip() <<
"," <<
d->bx() <<
") -> " << pad_num;
82 auto pads_range = (*pad_range_it).second;
83 for (
auto p = pads_range.first;
p != pads_range.second; ++
p) {
84 int first_strip = roll->firstStripInPad(
p->pad());
85 int last_strip = roll->lastStripInPad(
p->pad());
87 if (
p->pad() < 1 ||
p->pad() > roll->npads()) {
88 cout <<
" XXXXXXXXXXXXX Problem! " <<
id <<
" has pad digi with too large pad# = " <<
p->pad() << endl;
91 auto&
strips = digi_map[{
p->pad(),
p->bx()}];
92 std::vector<int> pads_strips;
94 strips.begin(),
strips.end(), inserter(pads_strips, pads_strips.end()), [first_strip, last_strip](
int s) {
95 return s < first_strip || s > last_strip;
97 cout <<
id <<
" paddigi(pad,bx) " << *
p <<
" has " << pads_strips.size() <<
" strip digis strips in range ["
98 << first_strip <<
"," << last_strip <<
"]: ";
99 copy(pads_strips.begin(), pads_strips.end(), ostream_iterator<int>(
cout,
" "));
void analyze(const edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< GEMPadDigiCollection > gemPadToken_
tuple strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers.hcal.doNoise = False simEcalUnsuppressedDigis.doNoise = False mix.digitizers.ecal.doNoise = False simEcalUnsuppressedDigis.doESNoise = False simSiPixelDigis.AddNoise = False mix.digitizers.pixel.AddNoise = False simSiStripDigis.Noise = False mix.digitizers.strip.AddNoise = False
GEMPadDigiReader(const edm::ParameterSet &pset)
edm::EDGetTokenT< GEMDigiCollection > gemDigiToken_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
~GEMPadDigiReader() override
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const