4 : fixedDataSizePerHGCROC_(conf.getParameter<
bool>(
"fixedDataSizePerHGCROC")),
5 coarsenTriggerCells_(conf.getParameter<
bool>(
"coarsenTriggerCells")),
6 coarseTCmapping_(conf.getParameter<
std::vector<unsigned>>(
"ctcSize")),
7 superTCmapping_(conf.getParameter<
std::vector<unsigned>>(
"stcSize")),
12 if (energyType ==
"superTriggerCell") {
14 }
else if (energyType ==
"oneBitFraction") {
21 }
else if (energyType ==
"equalShare") {
31 uint32_t compressed_value(0);
33 return compressed_value;
37 std::unordered_map<unsigned, SuperTriggerCell>& STCs, std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput)
const {
38 for (
auto&
s : STCs) {
43 for (
const auto&
id : output_ids) {
68 <<
"The coarse trigger cell correponsing to the nominal trigger cell does not exist";
74 trigCellVecOutput.push_back(triggerCell);
78 if (
id !=
s.second.getMaxId()) {
80 s.second.addToFractionSum(tc_fraction);
117 <<
"Trigger Cell with detId not equal to the maximum of the superTriggerCell found";
120 double coarseTriggerCellSize =
132 c.
setHwPt(std::round(compressed_value / denominator));
144 c.
setHwPt(std::round(compressed_value * frac));
162 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput) {
163 std::unordered_map<unsigned, SuperTriggerCell> STCs;
167 STCs[stcid].add(tc, stcid);
double oneBitFractionHighValue_
T getParameter(std::string const &) const
EnergyDivisionType energyDivisionType_
static int kTriggerCellsForDivision_
float getTriggerCellOneBitFraction(float tcPt, float sumPt) const
static int kHighDensityThickness_
HGCalTriggerTools triggerTools_
HGCalVFECompressionImpl vfeCompression_
ParameterSet const & getParameterSet(ParameterSetID const &id)
Geom::Phi< T > phi() const
double pt() const final
transverse momentum
bool fixedDataSizePerHGCROC_
HGCalCoarseTriggerCellMapping superTCmapping_
bool coarsenTriggerCells_
uint32_t getCoarseTriggerCellId(uint32_t detid) const
void select(const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput)
HGCalConcentratorSuperTriggerCellImpl(const edm::ParameterSet &conf)
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
double oneBitFractionThreshold_
void setDetId(uint32_t detid)
uint32_t getMaxId() const
uint32_t getSTCId() const
void calibrateInGeV(l1t::HGCalTriggerCell &) const
uint32_t getRepresentativeDetId(uint32_t tcid) const
bool isV9Geometry() const
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
uint32_t getCompressedSTCEnergy(const SuperTriggerCell &stc) const
void compressSingle(const uint32_t value, uint32_t &compressedCode, uint32_t &compressedValue) const
HGCalTriggerCellCalibration calibration_
double oneBitFractionLowValue_
HGCalCoarseTriggerCellMapping coarseTCmapping_
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
void createAllTriggerCells(std::unordered_map< unsigned, SuperTriggerCell > &STCs, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput) const
float getTCpt(uint32_t tcid) const
void setPosition(const GlobalPoint &position)
void setP4(const LorentzVector &p4) final
set 4-momentum
*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
float getFractionSum() const
void assignSuperTriggerCellEnergyAndPosition(l1t::HGCalTriggerCell &c, const SuperTriggerCell &stc) const