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") {
38 edm::LogWarning(
"CompressedValueDowncasting") <<
"Compressed value cannot fit into 32-bit word. Downcasting.";
40 return static_cast<uint32_t
>(compressed_value);
44 std::unordered_map<unsigned, SuperTriggerCell>& STCs, std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput)
const {
45 for (
auto&
s : STCs) {
47 if (output_ids.empty())
53 for (
const auto&
id : output_ids) {
73 <<
"The coarse trigger cell correponsing to the nominal trigger cell does not exist";
75 trigCellVecOutput.push_back(triggerCell);
78 if (
id !=
s.second.getMaxId()) {
80 s.second.addToFractionSum(tc_fraction);
117 c.setHwPt(compressed_value);
120 <<
"Trigger Cell with detId not equal to the maximum of the superTriggerCell found";
123 double coarseTriggerCellSize =
146 c.setHwPt(std::round(compressed_value *
frac));
151 }
else if (isSilicon) {
175 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput) {
176 std::unordered_map<unsigned, SuperTriggerCell> STCs;
180 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.
double oneBitFractionThreshold_
HGCalTriggerCellCalibration calibrationHEsc_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
void setDetId(uint32_t detid)
void compressSingle(const uint64_t value, uint32_t &compressedCode, uint64_t &compressedValue) const
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_
unsigned long long uint64_t
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