72 id_ = std::unique_ptr<HGCalTriggerClusterIdentificationBase>{
79 auto withPrefix([&
prefix, &bname](
char const* vname) ->
char const* {
80 bname =
prefix +
"_" + vname;
133 for (
auto cl3d_itr = multiclusters.
begin(0); cl3d_itr != multiclusters.
end(0); cl3d_itr++) {
135 cl3d_id_.emplace_back(cl3d_itr->detId());
137 cl3d_pt_.emplace_back(cl3d_itr->pt());
150 cl3d_szz_.emplace_back(cl3d_itr->sigmaZZ());
154 cl3d_emaxe_.emplace_back(cl3d_itr->eMax() / cl3d_itr->energy());
155 cl3d_hoe_.emplace_back(cl3d_itr->hOverE());
160 cl3d_ntc67_.emplace_back(cl3d_itr->triggerCells67percent());
161 cl3d_ntc90_.emplace_back(cl3d_itr->triggerCells90percent());
165 std::vector<float> iPts(cl3d_itr->interpretations_size());
166 std::vector<float> iEnergies(cl3d_itr->interpretations_size());
167 for (
auto interp = cl3d_itr->interpretations_begin(); interp != cl3d_itr->interpretations_end(); ++interp) {
168 iPts.emplace_back(cl3d_itr->iPt(*interp));
169 iEnergies.emplace_back(cl3d_itr->iEnergy(*interp));
178 std::vector<float> layer_pt(
nlayers, 0.0);
179 for (
const auto& cl_ptr : cl3d_itr->constituents()) {
180 unsigned layer =
geometry->triggerLayer(cl_ptr.second->detId());
181 layer_pt[layer] += cl_ptr.second->pt();
189 cl3d_itr->constituents_end(),
191 [](
const std::pair<uint32_t, edm::Ptr<l1t::HGCalCluster>>& id_cl) {
return id_cl.second->detId(); });