Skip to content

Commit 70348ac

Browse files
committed
Add LGADs per Disc, Side, Sector in CheckETLstructure for MTDDigiGeometryAnalyzer.cc
1 parent 821e4dc commit 70348ac

File tree

1 file changed

+37
-12
lines changed

1 file changed

+37
-12
lines changed

Geometry/MTDGeometryBuilder/test/MTDDigiGeometryAnalyzer.cc

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,10 @@ class MTDDigiGeometryAnalyzer : public edm::one::EDAnalyzer<> {
6767
static constexpr double eta_bins_edges_neg[n_bin_Eta + 1] = {-3.0, -2.5, -2.1, -1.5};
6868
static constexpr double eta_bins_edges_pos[n_bin_Eta + 1] = {1.5, 2.1, 2.5, 3.0};
6969

70-
// LGAD counter per Disk
71-
uint32_t totalLGADsPerDisk_[4] = {0};
70+
// LGAD counter per Disc, DiscSide, and Sector: [disk][discSide][sector]
71+
static constexpr int n_discSide = 2;
72+
static constexpr int n_sector = 3; // Use size 3 to allow 1-based indexing (1 to 2)
73+
uint32_t LGADsPerDiscSideSector_[4][n_discSide][n_sector] = {{{{0}}}};
7274

7375
// Counter for total LGADs per disk per eta bin: [disk][eta_bin]
7476
uint32_t LGADsPerDiskperEtaBin_[4][n_bin_Eta] = {{0}};
@@ -198,10 +200,14 @@ void MTDDigiGeometryAnalyzer::CheckETLstructure(const MTDGeometry& geom) {
198200

199201
// Reset counters
200202
for (int d = 0; d < 4; ++d) {
201-
totalLGADsPerDisk_[d] = 0;
202203
for (int eta = 0; eta < n_bin_Eta; ++eta) {
203204
LGADsPerDiskperEtaBin_[d][eta] = 0;
204205
}
206+
for (int k = 0; k < n_discSide; ++k) {
207+
for (int l = 0; l < n_sector; ++l) {
208+
LGADsPerDiscSideSector_[d][k][l] = 0;
209+
}
210+
}
205211
}
206212

207213
uint32_t totalETLdets = 0;
@@ -213,6 +219,9 @@ void MTDDigiGeometryAnalyzer::CheckETLstructure(const MTDGeometry& geom) {
213219
const GlobalPoint& global_point = thedet->position();
214220
double eta = global_point.eta();
215221

222+
int discSide = detId.discSide(); // 0 to 1
223+
int sector = detId.sector(); // 1 to 2
224+
216225
int idet = 999;
217226
if ((detId.zside() == -1) && (detId.nDisc() == 1)) {
218227
idet = 0;
@@ -228,8 +237,9 @@ void MTDDigiGeometryAnalyzer::CheckETLstructure(const MTDGeometry& geom) {
228237
}
229238

230239
totalETLdets++;
231-
// Count total LGADs per disk
232-
totalLGADsPerDisk_[idet]++;
240+
241+
// Count LGADs per Disc, Side, Sector
242+
LGADsPerDiscSideSector_[idet][discSide][sector]++;
233243

234244
// Count LGADs per disk per eta bin
235245
const double* eta_edges = (idet < 2) ? eta_bins_edges_neg : eta_bins_edges_pos;
@@ -251,21 +261,36 @@ void MTDDigiGeometryAnalyzer::CheckETLstructure(const MTDGeometry& geom) {
251261
sunitt_ << " Total ETL Detectors (LGADs): " << totalETLdets << "\n";
252262
const char* diskNames[4] = {"Disc 1 (-Z)", "Disc 2 (-Z)", "Disc 1 (+Z)", "Disc 2 (+Z)"};
253263

254-
sunitt_ << "\n--- LGADs per Disk and Eta Bin ---\n";
264+
sunitt_ << "\n--- LGADs per Eta Bin and per Disk, DiscSide, Sector ---\n";
255265
for (int d = 0; d < 4; ++d) { // Physical Disk loop (0-3)
256266
std::string disk_name = diskNames[d];
257-
uint32_t total_disk = totalLGADsPerDisk_[d];
258-
267+
uint32_t total_disk = 0;
268+
for (int k = 0; k < n_discSide; ++k) {
269+
for (int l = 1; l < n_sector; ++l) {
270+
total_disk += LGADsPerDiscSideSector_[d][k][l];
271+
}
272+
}
259273
sunitt_ << "Region: " << disk_name << " | Total LGADs: " << total_disk << "\n";
260-
261-
// Print LGADs per Eta Bin
262-
sunitt_ << " - LGADs per Eta Bin (Center Eta):\n";
274+
sunitt_ << " - LGADs per Eta Bin:\n";
263275
const double* eta_edges = (d < 2) ? eta_bins_edges_neg : eta_bins_edges_pos;
264-
265276
for (int j = 0; j < n_bin_Eta; ++j) {
266277
sunitt_ << " Eta [" << std::setprecision(1) << std::fixed << eta_edges[j] << ", " << eta_edges[j + 1]
267278
<< "): " << LGADsPerDiskperEtaBin_[d][j] << "\n";
268279
}
280+
for (int k = 0; k < n_discSide; ++k) {
281+
uint32_t total_discside = 0;
282+
for (int l = 1; l < n_sector; ++l) {
283+
total_discside += LGADsPerDiscSideSector_[d][k][l];
284+
}
285+
sunitt_ << " - Side: " << k << " | Total LGADs: " << total_discside << "\n";
286+
sunitt_ << " - Sectors: ";
287+
for (int l = 1; l < n_sector; ++l) {
288+
if (LGADsPerDiscSideSector_[d][k][l] > 0) {
289+
sunitt_ << "Sec " << l << ": " << LGADsPerDiscSideSector_[d][k][l] << " | ";
290+
}
291+
}
292+
sunitt_ << "\n";
293+
}
269294
}
270295

271296
edm::LogVerbatim("MTDDigiGeometryAnalyzer") << sunitt_.str();

0 commit comments

Comments
 (0)