4 : fixedDataSizePerHGCROC_(conf.getParameter<
bool>(
"fixedDataSizePerHGCROC")),
5 coarsenTriggerCells_(conf.getParameter<
std::
vector<unsigned>>(
"coarsenTriggerCells")),
6 coarseTCmapping_(conf.getParameter<
std::
vector<unsigned>>(
"ctcSize")),
7 superTCmapping_(conf.getParameter<
std::
vector<unsigned>>(
"stcSize")),
15 if (energyType ==
"superTriggerCell") {
17 }
else if (energyType ==
"oneBitFraction") {
24 }
else if (energyType ==
"equalShare") {
34 uint32_t compressed_value(0);
36 return compressed_value;
40 std::unordered_map<unsigned, SuperTriggerCell>& STCs, std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput)
const {
41 for (
auto&
s : STCs) {
43 if (output_ids.empty())
49 for (
const auto&
id : output_ids) {
69 <<
"The coarse trigger cell correponsing to the nominal trigger cell does not exist";
71 trigCellVecOutput.push_back(triggerCell);
74 if (
id !=
s.second.getMaxId()) {
76 s.second.addToFractionSum(tc_fraction);
113 c.setHwPt(compressed_value);
116 <<
"Trigger Cell with detId not equal to the maximum of the superTriggerCell found";
119 double coarseTriggerCellSize =
142 c.setHwPt(std::round(compressed_value *
frac));
147 }
else if (isSilicon) {
171 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput) {
172 std::unordered_map<unsigned, SuperTriggerCell> STCs;
176 STCs[stcid].add(tc, stcid);
double oneBitFractionHighValue_
EnergyDivisionType energyDivisionType_
T getParameter(std::string const &) const
void createAllTriggerCells(std::unordered_map< unsigned, SuperTriggerCell > &STCs, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput) const
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
uint32_t getRepresentativeDetId(uint32_t tcid) const
uint32_t getCompressedSTCEnergy(const SuperTriggerCell &stc) const
HGCalTriggerTools triggerTools_
HGCalVFECompressionImpl vfeCompression_
float getTCpt(uint32_t tcid) const
float getFractionSum() const
HGCalTriggerCellCalibration calibrationNose_
bool fixedDataSizePerHGCROC_
void calibrateInGeV(l1t::HGCalTriggerCell &) const
HGCalCoarseTriggerCellMapping superTCmapping_
void select(const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput)
uint32_t getMaxId() const
uint32_t getCoarseTriggerCellId(uint32_t detid) const
HGCalConcentratorSuperTriggerCellImpl(const edm::ParameterSet &conf)
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
void compressSingle(const uint32_t value, uint32_t &compressedCode, uint32_t &compressedValue) const
double oneBitFractionThreshold_
HGCalTriggerCellCalibration calibrationHEsc_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
void setDetId(uint32_t detid)
void assignSuperTriggerCellEnergyAndPosition(l1t::HGCalTriggerCell &c, const SuperTriggerCell &stc) const
uint32_t getSTCId() const
static constexpr int kHighDensityThickness_
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
HGCalTriggerCellCalibration calibrationHEsi_
HGCalTriggerCellCalibration calibrationEE_
ParameterSet const & getParameterSet(ParameterSetID const &id)
std::vector< unsigned > coarsenTriggerCells_
double oneBitFractionLowValue_
HGCalCoarseTriggerCellMapping coarseTCmapping_
float getTriggerCellOneBitFraction(float tcPt, float sumPt) const
static constexpr int kTriggerCellsForDivision_
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point