|
|
Go to the documentation of this file.
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 {kCTCsizeVeryFine_, kSplit_v8_VeryFine_},
18 {kCTCsizeFine_, kSplit_v8_Fine_},
19 {kCTCsizeMid_, kSplit_v8_Mid_},
20 {kCTCsizeCoarse_, kSplit_v8_Coarse_}};
23 {kCTCsizeIndividual_, kSplit_v9_Individual_},
24 {kCTCsizeVeryFine_, kSplit_v9_VeryFine_},
25 {kCTCsizeFine_, kSplit_v9_Fine_},
26 {kCTCsizeMid_, kSplit_v9_Mid_},
27 {kCTCsizeCoarse_, kSplit_v9_Coarse_},
31 {kCTCsizeIndividual_, kSplit_v9_Scin_Individual_},
32 {kCTCsizeVeryFine_, kSplit_v9_Scin_VeryFine_},
33 {kCTCsizeFine_, kSplit_v9_Scin_Fine_},
34 {kCTCsizeMid_, kSplit_v9_Scin_Mid_},
35 {kCTCsizeCoarse_, kSplit_v9_Scin_Coarse_},
48 uint32_t representativeid = 0;
54 return representativeid;
127 std::vector<uint32_t> output_ids;
133 output_ids.emplace_back(ctcId);
136 for (
int i = 0;
i < splitInv + 1;
i++) {
137 if ((
i & splitInv) !=
i)
140 output_ids.emplace_back(ctcId |
i);
147 for (
int i = 0;
i < splitInv + 1;
i++) {
148 if ((
i & splitInv) !=
i)
156 output_ids.emplace_back(outid);
162 for (
int i = 0;
i < splitInv + 1;
i++) {
163 if ((
i & splitInv) !=
i)
176 u = uPrime + vPrime + 1;
188 output_ids.emplace_back(outid);
200 for (
const auto constituent : constituentTCs) {
204 GlobalPoint average_point(average_vector / constituentTCs.size());
205 return average_point;
int getROCNumber(HGCalTriggerDetId const &id) const
static constexpr int kCTCsizeCoarse_
int iphi() const
get the phi index
HGCalCoarseTriggerCellMapping(const std::vector< unsigned > &ctcSize)
static constexpr int kUShift_
static constexpr int kCTCsizeVeryFine_
static const std::map< int, int > kSplit_
std::vector< unsigned > ctcSize_
static constexpr int kRoc120deg_
constexpr Detector det() const
get the detector field from this detid
static constexpr int kSTCidMaskInv_
static constexpr int kHGCalScinCellMaskInv_
static const std::map< int, int > kSplit_v9_
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
void checkSizeValidity(int ctcSize) const
static constexpr int kUMask_
static constexpr int kNThicknesses_
uint32_t getCoarseTriggerCellId(uint32_t detid) const
static constexpr int kRotate7_
static constexpr int kCTCsizeFine_
int triggerCellU() const
get the cell #'s in u,v or in x,y
static const int kHGCalCellVOffset
static constexpr int kRocMask_
static constexpr int kVMask_
constexpr std::array< uint8_t, layerIndexSize > layer
static const std::map< int, int > kSplit_v9_Scin_
static const int kHGCalRadiusOffset
static constexpr int kCTCsizeIndividual_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
static constexpr int kCTCsizeMid_
static constexpr int kRotate4_
static const int kHGCalCellVMask
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
const BasicVectorType & basicVector() const
static const int kHGCalCellMask
static constexpr int kRoc240deg_
static constexpr int kHGCalCellMaskV9Inv_
HGCSiliconDetIdToROC detIdToROC_
HGCalTriggerTools triggerTools_
static constexpr int kRoc0deg_
static const int kHGCalCellUMask
static constexpr int kRocShift_
static constexpr int kSTCidMaskInv_v9_
static constexpr int kNHGCalLayersMax_
static constexpr int kVShift_
uint32_t getRepresentativeDetId(uint32_t tcid) const
int cell() const
get the absolute value of the cell #'s in x and y
static const int kHGCalCellUOffset