|
|
Go to the documentation of this file.
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")),
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) {
40 if (output_ids.empty())
46 for (
const auto&
id : output_ids) {
71 <<
"The coarse trigger cell correponsing to the nominal trigger cell does not exist";
76 trigCellVecOutput.push_back(triggerCell);
79 if (
id !=
s.second.getMaxId()) {
81 s.second.addToFractionSum(tc_fraction);
114 c.setHwPt(compressed_value);
118 <<
"Trigger Cell with detId not equal to the maximum of the superTriggerCell found";
121 double coarseTriggerCellSize =
145 c.setHwPt(std::round(compressed_value *
frac));
163 std::vector<l1t::HGCalTriggerCell>& trigCellVecOutput) {
164 std::unordered_map<unsigned, SuperTriggerCell> STCs;
168 STCs[stcid].add(tc, stcid);
double oneBitFractionThreshold_
static constexpr int kTriggerCellsForDivision_
std::vector< uint32_t > getConstituentTriggerCells(uint32_t ctcId) const
void setDetId(uint32_t detid)
void createAllTriggerCells(std::unordered_map< unsigned, SuperTriggerCell > &STCs, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput) const
uint32_t getCoarseTriggerCellId(uint32_t detid) const
bool fixedDataSizePerHGCROC_
float getTCpt(uint32_t tcid) const
uint32_t getSTCId() const
double oneBitFractionLowValue_
HGCalTriggerCellCalibration calibration_
HGCalConcentratorSuperTriggerCellImpl(const edm::ParameterSet &conf)
float getFractionSum() const
void select(const std::vector< l1t::HGCalTriggerCell > &trigCellVecInput, std::vector< l1t::HGCalTriggerCell > &trigCellVecOutput)
uint32_t getCompressedSTCEnergy(const SuperTriggerCell &stc) const
HGCalTriggerTools triggerTools_
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
bool isV9Geometry() const
HGCalCoarseTriggerCellMapping coarseTCmapping_
GlobalPoint getCoarseTriggerCellPosition(uint32_t ctcId) const
void assignSuperTriggerCellEnergyAndPosition(l1t::HGCalTriggerCell &c, const SuperTriggerCell &stc) const
uint32_t getMaxId() const
T getParameter(std::string const &) const
ParameterSet const & getParameterSet(ParameterSetID const &id)
double oneBitFractionHighValue_
float getTriggerCellOneBitFraction(float tcPt, float sumPt) const
EnergyDivisionType energyDivisionType_
static constexpr int kHighDensityThickness_
void compressSingle(const uint32_t value, uint32_t &compressedCode, uint32_t &compressedValue) const
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
void calibrateInGeV(l1t::HGCalTriggerCell &) const
*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
uint32_t getRepresentativeDetId(uint32_t tcid) const
HGCalCoarseTriggerCellMapping superTCmapping_
HGCalVFECompressionImpl vfeCompression_
std::vector< unsigned > coarsenTriggerCells_