78 unique_ptr<SST>& stationSet,
80 vector<PadInfo*>& canStripPads,
81 vector<vector<vector<TH1F*>>>* histStrip)
87 for (
Int_t iStation = 0; iStation < stationSet->GetNStations(); iStation++) {
88 vector<vector<TH1F*>> rowGEM;
89 auto* st = stationSet->GetStation(iStation);
90 sumMods += st->GetNModules();
91 for (
Int_t iModule = 0; iModule < st->GetNModules(); iModule++) {
93 auto* mod = st->GetModule(iModule);
97 if (maxLayers < mod->GetNStripLayers())
98 maxLayers = mod->GetNStripLayers();
100 for (
Int_t iLayer = 0; iLayer < (isSil ? 2 : mod->GetNStripLayers()); iLayer++) {
101 auto lay = mod->GetStripLayer(iLayer);
102 if (isSil && iStation != 0) {
103 auto& lay1 = mod->GetStripLayer(iLayer * 2);
104 auto& lay2 = mod->GetStripLayer(iLayer * 2 + 1);
105 if (lay1.GetLastStripNumber() > lay2.GetLastStripNumber())
110 TString name =
Form(
"%s_%d_Station_%d_module_%d_layer_%d", DetName.
Data(), iCol, iStation,
113 TString title =
Form(
"Station_%d_module_%d_layer_%d", iStation, iModule, iLayer);
116 h =
new TH1F(name, title, lay.GetLastStripNumber() + 1, 0, lay.GetLastStripNumber() + 1);
118 h =
new TH1F(name, title, lay.GetNStrips(), 0, lay.GetNStrips());
124 rowGEM.push_back(colGEM);
126 histStrip[iCol].push_back(rowGEM);
130 TString name = DetName +
"Canvas";
132 canStrip->
Divide(maxLayers, sumMods, 0.01 / maxLayers, 0.01 / sumMods);
134 canStripPads.resize(sumMods * maxLayers,
nullptr);
135 for (
Int_t iStation = 0; iStation < stationSet->GetNStations(); iStation++) {
136 auto* st = stationSet->GetStation(iStation);
137 for (
Int_t iModule = 0; iModule < st->GetNModules(); iModule++) {
138 auto* mod = st->GetModule(iModule);
139 for (
Int_t iLayer = 0; iLayer < (isSil ? 2 : mod->GetNStripLayers()); iLayer++) {
140 Int_t iPad = modCtr * maxLayers + iLayer;
142 p->
current = histStrip[0][iStation][iModule][iLayer];
143 p->
ref = histStrip[1][iStation][iModule][iLayer];
146 canStripPads[iPad] = p;
158 DigiType* dig = (DigiType*)digs->
UncheckedAt(iDig);
159 if (!(dig->IsGoodDigit()))
161 Int_t module = dig->GetModule();
162 Int_t station = dig->GetStation();
163 Int_t layer = dig->GetStripLayer();
164 Int_t strip = dig->GetStripNumber();
165 if (set_bin_content) {
166 hist_vec[station][module][layer]->SetBinContent(strip, dig->GetStripNoise());
168 hist_vec[station][module][layer]->Fill(strip);