85 vector<std::string> highOccChips_uSide ;
86 vector<std::string> highOccChips_vSide ;
87 vector<std::string> highOccChipsStripNum_uSide ;
88 vector<std::string> highOccChipsStripNum_vSide ;
89 vector<std::string> clusterStrips_uSide ;
90 vector<std::string> clusterStrips_vSide ;
91 vector<std::string> clusterChips_uSide ;
92 vector<int> strips_uSide;
93 vector<int> strips_vSide;
97 if (svdRecoDigit.getSensorID().getLayerNumber() == 3 or svdRecoDigit.getSensorID().getSensorNumber() == 1) {
101 int side = svdRecoDigit.isUStrip();
102 std::string sensorName;
105 double sensorAverage = 0.;
107 int stripID = svdRecoDigit.getCellID();
108 std::string sensorStripNum = sensorName +
"." + std::to_string(stripID);
109 double stripOccupancy =
m_OccupancyCal.getOccupancy(svdRecoDigit.getSensorID(), side, stripID);
114 int adjacentStrip = 0;
115 if (!strips_uSide.empty()) {
116 adjacentStrip = stripID - strips_uSide.back();
118 strips_uSide.push_back(stripID);
119 if (!highOccChips_uSide.empty() && sensorName == highOccChips_uSide.back() && adjacentStrip == 1) {
120 clusterChips_uSide.push_back(sensorName);
121 if (clusterStrips_uSide.empty() || clusterStrips_uSide.back() != sensorStripNum) {
122 clusterStrips_uSide.push_back(highOccChipsStripNum_uSide.back());
124 clusterStrips_uSide.push_back(sensorStripNum);
126 highOccChipsStripNum_uSide.push_back(sensorStripNum);
127 highOccChips_uSide.push_back(sensorName);
131 int adjacentStrip = 0;
132 if (!strips_vSide.empty()) {
133 adjacentStrip = stripID - strips_vSide.back();
135 strips_vSide.push_back(stripID);
136 if (!highOccChips_vSide.empty() && sensorName == highOccChips_vSide.back() && adjacentStrip == 1) {
137 if (clusterStrips_vSide.empty() || clusterStrips_vSide.back() != sensorStripNum) {
138 clusterStrips_vSide.push_back(highOccChipsStripNum_vSide.back());
140 clusterStrips_vSide.push_back(sensorStripNum);
142 highOccChipsStripNum_vSide.push_back(sensorStripNum);
143 highOccChips_vSide.push_back(sensorName);
148 std::sort(clusterChips_uSide.begin(), clusterChips_uSide.end());
149 clusterChips_uSide.erase(unique(clusterChips_uSide.begin(), clusterChips_uSide.end()), clusterChips_uSide.end());
150 int numberOfClusterChips = std::distance(clusterChips_uSide.begin(), std::unique(clusterChips_uSide.begin(),
151 clusterChips_uSide.end()));
157 std::string sensorID = svdRecoDigit.getSensorID();
158 std::string digitID = sensorID +
"." + std::to_string(svdRecoDigit.isUStrip());
159 std::string stripID = digitID +
"." + std::to_string(svdRecoDigit.getCellID());
161 if (std::find(clusterStrips_uSide.begin(), clusterStrips_uSide.end(), stripID) != clusterStrips_uSide.end()) {
162 std::string sensorName;
163 occupancyPDFName(svdRecoDigit.getSensorID(), svdRecoDigit.isUStrip(), sensorName);
166 if (xTalkStrip->GetBinContent(svdRecoDigit.getCellID()) < 1.) xTalkStrip->Fill(svdRecoDigit.getCellID(),
true);
168 if (std::find(clusterStrips_vSide.begin(), clusterStrips_vSide.end(), stripID) != clusterStrips_vSide.end()) {
169 std::string sensorName;
170 occupancyPDFName(svdRecoDigit.getSensorID(), svdRecoDigit.isUStrip(), sensorName);
172 if (xTalkStrip->GetBinContent(svdRecoDigit.getCellID()) < 1.) xTalkStrip->Fill(svdRecoDigit.getCellID(),
true);