22 std::unique_ptr<HGCalTriggerClusterIdentificationBase>
id_;
72 id_ = std::unique_ptr<HGCalTriggerClusterIdentificationBase>{
79 auto withPrefix([&prefix, &bname](
char const* vname) ->
char const* {
80 bname = prefix +
"_" + vname;
84 tree.Branch(withPrefix(
"n"), &
cl3d_n_, (prefix +
"_n/I").c_str());
85 tree.Branch(withPrefix(
"id"), &
cl3d_id_);
86 tree.Branch(withPrefix(
"pt"), &
cl3d_pt_);
88 tree.Branch(withPrefix(
"eta"), &
cl3d_eta_);
89 tree.Branch(withPrefix(
"phi"), &
cl3d_phi_);
102 tree.Branch(withPrefix(
"szz"), &
cl3d_szz_);
107 tree.Branch(withPrefix(
"hoe"), &
cl3d_hoe_);
117 tree.Branch(withPrefix(
"ipt"), &
cl3d_ipt_);
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(); });
std::vector< float > cl3d_srrtot_
const_iterator end(int bx) const
std::vector< int > cl3d_coreshowerlength_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > cl3d_maxlayer_
std::vector< int > cl3d_clusters_n_
std::vector< float > cl3d_layer90_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< float > cl3d_sppmax_
std::vector< float > cl3d_meanz_
~HGCalTriggerNtupleHGCMulticlusters() override
std::vector< int > cl3d_showerlength_
std::vector< float > cl3d_srrmean_
std::vector< int > cl3d_quality_
std::vector< uint32_t > cl3d_id_
std::vector< std::vector< float > > cl3d_ipt_
HGCalTriggerNtupleHGCMulticlusters(const edm::ParameterSet &conf)
std::vector< std::vector< float > > cl3d_layer_pt_
std::vector< float > cl3d_ntc90_
std::vector< float > cl3d_ntc67_
std::vector< float > cl3d_eta_
Abs< T >::type abs(const T &t)
virtual unsigned triggerLayer(const unsigned id) const =0
std::vector< float > cl3d_emaxe_
std::vector< std::vector< uint32_t > > cl3d_clusters_id_
std::vector< std::vector< float > > cl3d_ienergy_
std::vector< float > cl3d_szz_
std::vector< int > cl3d_firstlayer_
std::vector< float > cl3d_bdteg_
std::vector< float > cl3d_layer50_
std::vector< float > cl3d_seetot_
virtual unsigned lastTriggerLayer() const =0
std::unique_ptr< HGCalTriggerClusterIdentificationBase > id_
std::vector< float > cl3d_pt_
edm::EDGetToken multiclusters_token_
ESHandle< TrackerGeometry > geometry
std::vector< float > cl3d_hoe_
std::vector< float > cl3d_srrmax_
void initialize(TTree &, const edm::ParameterSet &, edm::ConsumesCollector &&) final
void fill(const edm::Event &e, const edm::EventSetup &es) final
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::vector< float > cl3d_phi_
std::vector< float > cl3d_layer10_
std::vector< float > cl3d_energy_
const_iterator begin(int bx) const
std::vector< float > cl3d_seemax_
bool fill_interpretation_info_
std::vector< float > cl3d_spptot_