5 : ctcSize_(!ctcSize.
empty() ? ctcSize
7 if (ctcSize_.size() != (kNHGCalLayersMax_ + 1) * kNThicknesses_) {
9 <<
"Inconsistent size of coarse trigger cell size vector " << ctcSize_.size();
12 for (
auto ctc : ctcSize_)
13 checkSizeValidity(ctc);
17 {kCTCsizeIndividual_, kSplit_Individual_},
18 {kCTCsizeVeryFine_, kSplit_VeryFine_},
19 {kCTCsizeFine_, kSplit_Fine_},
20 {kCTCsizeMid_, kSplit_Mid_},
21 {kCTCsizeCoarse_, kSplit_Coarse_},
25 {kCTCsizeIndividual_, kSplit_Scin_Individual_},
26 {kCTCsizeVeryFine_, kSplit_Scin_VeryFine_},
27 {kCTCsizeFine_, kSplit_Scin_Fine_},
28 {kCTCsizeMid_, kSplit_Scin_Mid_},
29 {kCTCsizeCoarse_, kSplit_Scin_Coarse_},
42 uint32_t representativeid = 0;
48 return representativeid;
107 std::vector<uint32_t> output_ids;
113 for (
int i = 0;
i < splitInv + 1;
i++) {
114 if ((
i & splitInv) !=
i)
122 output_ids.emplace_back(outid);
128 for (
int i = 0;
i < splitInv + 1;
i++) {
129 if ((
i & splitInv) !=
i)
142 u = uPrime + vPrime + 1;
154 output_ids.emplace_back(outid);
166 for (
const auto constituent : constituentTCs) {
170 GlobalPoint average_point(average_vector / constituentTCs.size());
171 return average_point;
void checkSizeValidity(int ctcSize) const
static constexpr int kSTCidMaskInv_
static const std::map< int, int > kSplit_
static constexpr int kUShift_
static constexpr int kCTCsizeFine_
int triggerCellU() const
get the cell #'s in u,v or in x,y
static constexpr int kHGCalScinCellMaskInv_
std::vector< unsigned > ctcSize_
static constexpr int kNThicknesses_
uint32_t getCoarseTriggerCellId(uint32_t detid) const
constexpr std::array< uint8_t, layerIndexSize > layer
static constexpr int kRotate7_
static const int kHGCalCellVOffset
static const std::map< int, int > kSplit_Scin_
static constexpr int kUMask_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
static constexpr int kRocMask_
static constexpr int kCTCsizeMid_
static constexpr int kRotate4_
static const int kHGCalRadiusOffset
int iphi() const
get the phi index
static constexpr int kCTCsizeIndividual_
static constexpr int kVMask_
static const int kHGCalCellVMask
uint32_t getRepresentativeDetId(uint32_t tcid) const
static constexpr int kHGCalCellMaskInv_
static constexpr int kRoc240deg_
static constexpr int kNHGCalLayersMax_
static constexpr int kVShift_
HGCalTriggerTools triggerTools_
static constexpr int kRoc0deg_
static constexpr int kRocShift_
static const int kHGCalCellUOffset
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
HGCSiliconDetIdToROC detIdToROC_
static const int kHGCalCellUMask
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
const BasicVectorType & basicVector() const
HGCalCoarseTriggerCellMapping(const std::vector< unsigned > &ctcSize)
static constexpr int kCTCsizeVeryFine_
int getROCNumber(HGCalTriggerDetId const &id) const
static constexpr int kRoc120deg_
static constexpr int kCTCsizeCoarse_
constexpr Detector det() const
get the detector field from this detid