4 const int rocMax(6), cellRows(4), cellColumn(2);
5 const int type[rocMax] = {0, 0, 1, 1, 2, 2};
6 const int start1[rocMax][cellColumn] = {{3, 2}, {1, 0}, {1, 2}, {3, 4}, {7, 6}, {5, 4}};
7 const int start2[rocMax] = {0, 0, 0, 1, 4, 4};
11 std::vector<std::pair<int, int> >
cells;
13 for (
int i1 = 0; i1 < cellColumn; ++i1) {
14 int u = start1[
roc][i1];
15 int v = start2[
roc] + u / 2;
16 for (
int i2 = 0; i2 < cellRows; ++i2) {
17 cells.emplace_back(u, v);
21 }
else if (type[
roc] == 2) {
22 for (
int i1 = 0; i1 < cellColumn; ++i1) {
24 int u = start1[
roc][i1];
25 for (
int i2 = 0; i2 < cellRows; ++i2) {
26 cells.emplace_back(u, v);
31 for (
int i1 = 0; i1 < cellColumn; ++i1) {
33 int v = start1[
roc][i1];
34 for (
int i2 = 0; i2 < cellRows; ++i2) {
35 cells.emplace_back(u, v);
46 for (
auto cell : itr.second)
52 auto itr =
triggerIdToROC_.find(std::make_pair(triggerCellU, triggerCellV));
53 int roc = ((itr ==
triggerIdToROC_.end()) ? -1 : ((type == 0) ? itr->second : (1 + itr->second) / 2));
58 std::vector<std::pair<int, int> > list;
63 for (
int k = 0;
k < 2; ++
k) {
64 int rocx = 2 * roc +
k - 1;
67 for (
auto cell : itr->second)
68 list.emplace_back(cell);
77 std::cout <<
"ROC " << itr.first <<
" with " << (itr.second).
size() <<
" trigger cells:";
78 for (
auto cell : itr.second)
79 std::cout <<
" (" << cell.first <<
"," << cell.second <<
")";
83 std::cout <<
"Trigger cell (" << (itr.first).
first <<
"," << (itr.first).second <<
") : ROC " << itr.second
std::vector< std::pair< int, int > > getTriggerId(int roc, int type) const
std::map< std::pair< int, int >, int > triggerIdToROC_
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ cells
std::map< int, std::vector< std::pair< int, int > > > triggerIdFromROC_
tuple size
Write out results.
int getROCNumber(HGCalTriggerDetId const &id) const