200 <<
" trackLites.isValid = " << tracks.
isValid();
208 set<signed int> s_rp_idx_global_hor, s_rp_idx_global_vert;
209 map<unsigned int, set<signed int>> ms_rp_idx_arm;
211 for (
auto &tr : *tracks)
214 const unsigned int arm = rpId.
arm();
215 const unsigned int stNum = rpId.station();
216 const unsigned int rpNum = rpId.rp();
217 const unsigned int stRPNum = stNum * 10 + rpNum;
221 if (stRPNum == 3) idx = 0;
222 if (stRPNum == 23) idx = 1;
223 if (stRPNum == 16) idx = 2;
226 s_rp_idx_global_hor.insert(3*arm + idx);
231 if (stRPNum == 4) idx = 0;
232 if (stRPNum == 5) idx = 1;
233 if (stRPNum == 24) idx = 2;
234 if (stRPNum == 25) idx = 3;
237 s_rp_idx_global_vert.insert(4*arm + idx);
242 if (stRPNum == 3) idx = 0;
243 if (stRPNum == 4) idx = 1;
244 if (stRPNum == 5) idx = 2;
245 if (stRPNum == 16) idx = 3;
246 if (stRPNum == 23) idx = 4;
247 if (stRPNum == 24) idx = 5;
248 if (stRPNum == 25) idx = 6;
250 const signed int hor = ((rpNum == 2) || (rpNum == 3) || (rpNum == 6)) ? 1 : 0;
253 ms_rp_idx_arm[arm].insert(idx * 10 + hor);
263 for (
const auto &idx1 : s_rp_idx_global_hor)
264 for (
const auto &idx2 : s_rp_idx_global_hor)
267 for (
const auto &idx1 : s_rp_idx_global_vert)
268 for (
const auto &idx2 : s_rp_idx_global_vert)
274 map<unsigned int, set<unsigned int>>
mTop, mHor, mBot;
276 for (
auto &tr : *tracks)
279 const unsigned int rpNum = rpId.
rp();
280 const unsigned int armIdx = rpId.arm();
282 if (rpNum == 0 || rpNum == 4)
283 mTop[armIdx].insert(rpId);
284 if (rpNum == 2 || rpNum == 3 || rpNum == 6)
285 mHor[armIdx].insert(rpId);
286 if (rpNum == 1 || rpNum == 5)
287 mBot[armIdx].insert(rpId);
292 p.second.h_numRPWithTrack_top->Fill(mTop[
p.first].size());
293 p.second.h_numRPWithTrack_hor->Fill(mHor[
p.first].size());
294 p.second.h_numRPWithTrack_bot->Fill(mBot[
p.first].size());
298 for (
const auto &ap : ms_rp_idx_arm)
300 auto &
plots = armPlots[ap.first];
302 for (
const auto &idx1 : ap.second)
304 for (
const auto &idx2 : ap.second)
306 plots.h_trackCorr->Fill(idx1/10, idx2/10);
308 if ((idx1 % 10) != (idx2 % 10))
309 plots.h_trackCorr_overlap->Fill(idx1/10, idx2/10);
edm::EDGetTokenT< std::vector< CTPPSLocalTrackLite > > tokenLocalTrackLite
MonitorElement * h_trackCorr_hor
std::map< unsigned int, ArmPlots > armPlots
MonitorElement * events_per_bx
MonitorElement * events_per_bx_short
MonitorElement * h_trackCorr_vert
Base class for CTPPS detector IDs.