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);
116 <<
"Trigger Cell with detId not equal to the maximum of the superTriggerCell found";
119 double coarseTriggerCellSize =
131 c.
setHwPt(std::round(compressed_value / denominator));
142 c.
setHwPt(std::round(compressed_value * frac));
147 }
else if (isSilicon) {
159 double f = tcPt / sumPt;
171 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput) {
172 std::unordered_map<unsigned, SuperTriggerCell> STCs;
176 STCs[stcid].add(tc, stcid);
double oneBitFractionHighValue_
EnergyDivisionType energyDivisionType_
const edm::EventSetup & c
float getTriggerCellOneBitFraction(float tcPt, float sumPt) const
double pt() const final
transverse momentum
HGCalTriggerTools triggerTools_
HGCalVFECompressionImpl vfeCompression_
ParameterSet const & getParameterSet(ParameterSetID const &id)
Geom::Phi< T > phi() const
HGCalTriggerCellCalibration calibrationNose_
bool fixedDataSizePerHGCROC_
HGCalCoarseTriggerCellMapping superTCmapping_
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_
HGCalTriggerCellCalibration calibrationHEsc_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
void setDetId(uint32_t detid)
uint32_t getMaxId() const
static constexpr int kHighDensityThickness_
uint32_t getSTCId() const
HGCalTriggerCellCalibration calibrationHEsi_
void calibrateInGeV(l1t::HGCalTriggerCell &) const
uint32_t getRepresentativeDetId(uint32_t tcid) const
T getParameter(std::string const &) const
HGCalTriggerCellCalibration calibrationEE_
std::vector< unsigned > coarsenTriggerCells_
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
double oneBitFractionLowValue_
HGCalCoarseTriggerCellMapping coarseTCmapping_
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
void createAllTriggerCells(std::unordered_map< unsigned, SuperTriggerCell > &STCs, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput) const
static constexpr int kTriggerCellsForDivision_
float getTCpt(uint32_t tcid) const
void setPosition(const GlobalPoint &position)
void setP4(const LorentzVector &p4) final
set 4-momentum
tuple size
Write out results.
*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