137 std::unique_ptr<HGCalTriggerClusterIdentificationBase>
id_;
143 : trigger_cells_token_{consumes<l1t::HGCalTriggerCellBxCollection>(
145 clusters_token_{consumes<l1t::HGCalClusterBxCollection>(iConfig.getParameter<
edm::InputTag>(
"Clusters"))},
146 multiclusters_token_{
147 consumes<l1t::HGCalMulticlusterBxCollection>(iConfig.getParameter<
edm::InputTag>(
"Multiclusters"))},
148 towers_token_{consumes<l1t::HGCalTowerBxCollection>(iConfig.getParameter<
edm::InputTag>(
"Towers"))},
149 triggerGeomToken_(esConsumes<HGCalTriggerGeometryBase, CaloGeometryRecord, edm::Transition::BeginRun>()),
153 triggerTools_ = std::make_shared<HGCalTriggerTools>();
172 histograms.h_tc_n_ = iBooker.
book1D(
"tc_n",
"trigger cell number; number", 100, 10000, 40000);
173 histograms.h_tc_mipPt_ = iBooker.
book1D(
"tc_mipPt",
"trigger cell mipPt; mipPt", 100, 0, 10);
174 histograms.h_tc_pt_ = iBooker.
book1D(
"tc_pt",
"trigger cell pt; pt [GeV]", 100, 0, 2);
175 histograms.h_tc_energy_ = iBooker.
book1D(
"tc_energy",
"trigger cell energy; energy [GeV]", 100, 0, 5);
176 histograms.h_tc_eta_ = iBooker.
book1D(
"tc_eta",
"trigger cell eta; eta", 320, -3.2, 3.2);
178 histograms.h_tc_x_ = iBooker.
book1D(
"tc_x",
"trigger cell x; x [cm]", 100, -250, 250);
179 histograms.h_tc_y_ = iBooker.
book1D(
"tc_y",
"trigger cell y; y [cm]", 100, -250, 250);
180 histograms.h_tc_z_ = iBooker.
book1D(
"tc_z",
"trigger cell z; z [cm]", 100, -550, 550);
181 histograms.h_tc_layer_ = iBooker.
book1D(
"tc_layer",
"trigger cell layer; layer", 50, 0, 50);
184 histograms.h_cl_n_ = iBooker.
book1D(
"cl_n",
"cluster2D number; number", 100, 10000, 40000);
185 histograms.h_cl_mipPt_ = iBooker.
book1D(
"cl_mipPt",
"cluster2D mipPt; mipPt", 100, 0, 10);
186 histograms.h_cl_pt_ = iBooker.
book1D(
"cl_pt",
"cluster2D pt; pt [GeV]", 100, 0, 2);
187 histograms.h_cl_energy_ = iBooker.
book1D(
"cl_energy",
"cluster2D energy; energy [GeV]", 100, 0, 5);
188 histograms.h_cl_eta_ = iBooker.
book1D(
"cl_eta",
"cluster2D eta; eta", 320, -3.2, 3.2);
190 histograms.h_cl_cells_n_ = iBooker.
book1D(
"cl_cells_n",
"cluster2D cells_n; cells_n", 20, 0, 20);
191 histograms.h_cl_layer_ = iBooker.
book1D(
"cl_layer",
"cluster2D layer; layer", 50, 0, 50);
194 histograms.h_cl3d_n_ = iBooker.
book1D(
"cl3d_n",
"cl3duster3D number; number", 200, 0, 400);
195 histograms.h_cl3d_pt_ = iBooker.
book1D(
"cl3d_pt",
"cl3duster3D pt; pt [GeV]", 50, 0, 50);
196 histograms.h_cl3d_energy_ = iBooker.
book1D(
"cl3d_energy",
"cl3duster3D energy; energy [GeV]", 50, 0, 200);
197 histograms.h_cl3d_eta_ = iBooker.
book1D(
"cl3d_eta",
"cl3duster3D eta; eta", 320, -3.2, 3.2);
199 histograms.h_cl3d_clusters_n_ = iBooker.
book1D(
"cl3d_clusters_n",
"cl3duster3D clusters_n; clusters_n", 50, 0, 200);
202 iBooker.
book1D(
"cl3d_showerlength",
"cl3duster3D showerlength; showerlength", 50, 0, 50);
204 iBooker.
book1D(
"cl3d_coreshowerlength",
"cl3duster3D coreshowerlength; coreshowerlength", 20, 0, 20);
205 histograms.h_cl3d_firstlayer_ = iBooker.
book1D(
"cl3d_firstlayer",
"cl3duster3D firstlayer; firstlayer", 10, 0, 10);
206 histograms.h_cl3d_maxlayer_ = iBooker.
book1D(
"cl3d_maxlayer",
"cl3duster3D maxlayer; maxlayer", 50, 0, 50);
207 histograms.h_cl3d_seetot_ = iBooker.
book1D(
"cl3d_seetot",
"cl3duster3D seetot; seetot", 50, 0, 0.1);
208 histograms.h_cl3d_seemax_ = iBooker.
book1D(
"cl3d_seemax",
"cl3duster3D seemax; seemax", 50, 0, 0.2);
209 histograms.h_cl3d_spptot_ = iBooker.
book1D(
"cl3d_spptot",
"cl3duster3D spptot; spptot", 50, 0, 0.1);
210 histograms.h_cl3d_sppmax_ = iBooker.
book1D(
"cl3d_sppmax",
"cl3duster3D sppmax; sppmax", 50, 0, 0.15);
211 histograms.h_cl3d_szz_ = iBooker.
book1D(
"cl3d_szz",
"cl3duster3D szz; szz", 50, 0, 80);
212 histograms.h_cl3d_srrtot_ = iBooker.
book1D(
"cl3d_srrtot",
"cl3duster3D srrtot; srrtot", 50, 0, 0.01);
213 histograms.h_cl3d_srrmax_ = iBooker.
book1D(
"cl3d_srrmax",
"cl3duster3D srrmax; srrmax", 50, 0, 0.014);
214 histograms.h_cl3d_srrmean_ = iBooker.
book1D(
"cl3d_srrmean",
"cl3duster3D srrmean; srrmean", 50, 0, 0.006);
215 histograms.h_cl3d_emaxe_ = iBooker.
book1D(
"cl3d_emaxe",
"cl3duster3D emaxe; emaxe", 50, 0, 1.01);
216 histograms.h_cl3d_hoe_ = iBooker.
book1D(
"cl3d_hoe",
"cl3duster3D hoe; hoe", 50, 0, 2.);
217 histograms.h_cl3d_meanz_ = iBooker.
book1D(
"cl3d_meanz",
"cl3duster3D meanz; meanz", 50, 300, 400);
218 histograms.h_cl3d_layer10_ = iBooker.
book1D(
"cl3d_layer10",
"cl3duster3D layer10; layer10", 10, 0, 10);
219 histograms.h_cl3d_layer50_ = iBooker.
book1D(
"cl3d_layer50",
"cl3duster3D layer50; layer50", 20, 0, 20);
220 histograms.h_cl3d_layer90_ = iBooker.
book1D(
"cl3d_layer90",
"cl3duster3D layer90; layer90", 40, 0, 40);
222 iBooker.
book1D(
"cl3d_first1layers",
"cl3duster3D first1layers; first1layers", 50, 0, 1.01);
224 iBooker.
book1D(
"cl3d_first3layers",
"cl3duster3D first3layers; first3layers", 50, 0, 1.01);
226 iBooker.
book1D(
"cl3d_first5layers",
"cl3duster3D first5layers; first5layers", 50, 0, 1.01);
228 iBooker.
book1D(
"cl3d_firstHcal1layers",
"cl3duster3D firstHcal1layers; hcal1layers", 50, 0, 0.5);
230 iBooker.
book1D(
"cl3d_firstHcal3layers",
"cl3duster3D firstHcal3layers; hcal1layers", 50, 0, 0.5);
232 iBooker.
book1D(
"cl3d_firstHcal5layers",
"cl3duster3D firstHcal5layers; hcal1layers", 50, 0, 0.5);
234 iBooker.
book1D(
"cl3d_last1layers",
"cl3duster3D last1layers; last1layers", 50, 0, 0.1);
236 iBooker.
book1D(
"cl3d_last3layers",
"cl3duster3D last3layers; last3layers", 50, 0, 0.1);
238 iBooker.
book1D(
"cl3d_last5layers",
"cl3duster3D last5layers; last5layers", 50, 0, 0.1);
240 iBooker.
book1D(
"cl3d_emax1layers",
"cl3duster3D emax1layers; emax1layers", 50, 0, 1.01);
242 iBooker.
book1D(
"cl3d_emax3layers",
"cl3duster3D emax3layers; emax3layers", 50, 0, 1.01);
244 iBooker.
book1D(
"cl3d_emax5layers",
"cl3duster3D emax5layers; emax5layers", 50, 0, 1.01);
245 histograms.h_cl3d_eot_ = iBooker.
book1D(
"cl3d_eot",
"cl3duster3D eot; eot", 50, 0, 1.01);
246 histograms.h_cl3d_ebm0_ = iBooker.
book1D(
"cl3d_ebm0",
"cl3duster3D ebm0; ebm0", 50, 0, 9000);
247 histograms.h_cl3d_ebm1_ = iBooker.
book1D(
"cl3d_ebm1",
"cl3duster3D ebm1; ebm1", 50, 0, 9000);
248 histograms.h_cl3d_hbm_ = iBooker.
book1D(
"cl3d_hbm",
"cl3duster3D hbm; hbm", 50, 0, 4000);
249 histograms.h_cl3d_ntc67_ = iBooker.
book1D(
"cl3d_ntc67",
"cl3duster3D ntc67; ntc67", 50, 0, 50);
250 histograms.h_cl3d_ntc90_ = iBooker.
book1D(
"cl3d_ntc90",
"cl3duster3D ntc90; ntc90", 50, 0, 100);
251 histograms.h_cl3d_bdteg_ = iBooker.
book1D(
"cl3d_bdteg",
"cl3duster3D bdteg; bdteg", 50, -1., 1.);
252 histograms.h_cl3d_quality_ = iBooker.
book1D(
"cl3d_quality",
"cl3duster3D quality; quality", 5, 0, 5);
255 histograms.h_tower_n_ = iBooker.
book1D(
"tower_n",
"tower n; number", 100, 2000, 3000);
256 histograms.h_tower_pt_ = iBooker.
book1D(
"tower_pt",
"tower pt; pt [GeV]", 100, 0, 10);
257 histograms.h_tower_energy_ = iBooker.
book1D(
"tower_energy",
"tower energy; energy [GeV]", 100, 0, 100);
258 histograms.h_tower_eta_ = iBooker.
book1D(
"tower_eta",
"tower eta; eta", 640, -3.2, 3.2);
260 histograms.h_tower_etEm_ = iBooker.
book1D(
"tower_etEm",
"tower etEm; etEm", 100, 0, 10);
261 histograms.h_tower_etHad_ = iBooker.
book1D(
"tower_etHad",
"tower etHad; etHad", 100, 0, 5);
262 histograms.h_tower_iEta_ = iBooker.
book1D(
"tower_iEta",
"tower iEta; iEta", 20, 0, 20);
263 histograms.h_tower_iPhi_ = iBooker.
book1D(
"tower_iPhi",
"tower iPhi; iPhi", 80, 0, 80);
279 if (trigger_cells_h.
isValid()) {
280 for (
auto tc_itr = trigger_cells.
begin(0); tc_itr != trigger_cells.
end(0); tc_itr++) {
284 histograms.h_tc_mipPt_->Fill(tc_itr->mipPt());
285 histograms.h_tc_energy_->Fill(tc_itr->energy());
288 histograms.h_tc_x_->Fill(tc_itr->position().x());
289 histograms.h_tc_y_->Fill(tc_itr->position().y());
290 histograms.h_tc_z_->Fill(tc_itr->position().z());
302 for (
auto cl_itr =
clusters.begin(0); cl_itr !=
clusters.end(0); cl_itr++) {
304 histograms.h_cl_mipPt_->Fill(cl_itr->mipPt());
306 histograms.h_cl_energy_->Fill(cl_itr->energy());
310 histograms.h_cl_cells_n_->Fill(cl_itr->constituents().size());
320 if (multiclusters_h.
isValid()) {
321 for (
auto cl3d_itr = multiclusters.
begin(0); cl3d_itr != multiclusters.
end(0); cl3d_itr++) {
324 histograms.h_cl3d_energy_->Fill(cl3d_itr->energy());
325 histograms.h_cl3d_eta_->Fill(cl3d_itr->eta());
326 histograms.h_cl3d_phi_->Fill(cl3d_itr->phi());
327 histograms.h_cl3d_clusters_n_->Fill(cl3d_itr->constituents().size());
329 histograms.h_cl3d_showerlength_->Fill(cl3d_itr->showerLength());
330 histograms.h_cl3d_coreshowerlength_->Fill(cl3d_itr->coreShowerLength());
331 histograms.h_cl3d_firstlayer_->Fill(cl3d_itr->firstLayer());
332 histograms.h_cl3d_maxlayer_->Fill(cl3d_itr->maxLayer());
333 histograms.h_cl3d_seetot_->Fill(cl3d_itr->sigmaEtaEtaTot());
334 histograms.h_cl3d_seemax_->Fill(cl3d_itr->sigmaEtaEtaMax());
335 histograms.h_cl3d_spptot_->Fill(cl3d_itr->sigmaPhiPhiTot());
336 histograms.h_cl3d_sppmax_->Fill(cl3d_itr->sigmaPhiPhiMax());
337 histograms.h_cl3d_szz_->Fill(cl3d_itr->sigmaZZ());
338 histograms.h_cl3d_srrtot_->Fill(cl3d_itr->sigmaRRTot());
339 histograms.h_cl3d_srrmax_->Fill(cl3d_itr->sigmaRRMax());
340 histograms.h_cl3d_srrmean_->Fill(cl3d_itr->sigmaRRMean());
341 histograms.h_cl3d_emaxe_->Fill(cl3d_itr->eMax() / cl3d_itr->energy());
342 histograms.h_cl3d_hoe_->Fill(cl3d_itr->hOverE());
343 histograms.h_cl3d_meanz_->Fill(cl3d_itr->zBarycenter());
344 histograms.h_cl3d_layer10_->Fill(cl3d_itr->layer10percent());
345 histograms.h_cl3d_layer50_->Fill(cl3d_itr->layer50percent());
346 histograms.h_cl3d_layer90_->Fill(cl3d_itr->layer90percent());
347 histograms.h_cl3d_first1layers_->Fill(cl3d_itr->first1layers());
348 histograms.h_cl3d_first3layers_->Fill(cl3d_itr->first3layers());
349 histograms.h_cl3d_first5layers_->Fill(cl3d_itr->first5layers());
350 histograms.h_cl3d_firstHcal1layers_->Fill(cl3d_itr->firstHcal1layers());
351 histograms.h_cl3d_firstHcal3layers_->Fill(cl3d_itr->firstHcal3layers());
352 histograms.h_cl3d_firstHcal5layers_->Fill(cl3d_itr->firstHcal5layers());
353 histograms.h_cl3d_last1layers_->Fill(cl3d_itr->last1layers());
354 histograms.h_cl3d_last3layers_->Fill(cl3d_itr->last3layers());
355 histograms.h_cl3d_last5layers_->Fill(cl3d_itr->last5layers());
356 histograms.h_cl3d_emax1layers_->Fill(cl3d_itr->emax1layers());
357 histograms.h_cl3d_emax3layers_->Fill(cl3d_itr->emax3layers());
358 histograms.h_cl3d_emax5layers_->Fill(cl3d_itr->emax5layers());
359 histograms.h_cl3d_eot_->Fill(cl3d_itr->eot());
360 histograms.h_cl3d_ebm0_->Fill(cl3d_itr->ebm0());
361 histograms.h_cl3d_ebm1_->Fill(cl3d_itr->ebm1());
362 histograms.h_cl3d_hbm_->Fill(cl3d_itr->hbm());
363 histograms.h_cl3d_ntc67_->Fill(cl3d_itr->triggerCells67percent());
364 histograms.h_cl3d_ntc90_->Fill(cl3d_itr->triggerCells90percent());
366 histograms.h_cl3d_quality_->Fill(cl3d_itr->hwQual());
377 for (
auto tower_itr =
towers.begin(0); tower_itr !=
towers.end(0); tower_itr++) {
379 histograms.h_tower_pt_->Fill(tower_itr->pt());
380 histograms.h_tower_energy_->Fill(tower_itr->energy());
381 histograms.h_tower_eta_->Fill(tower_itr->eta());
382 histograms.h_tower_phi_->Fill(tower_itr->phi());
383 histograms.h_tower_etEm_->Fill(tower_itr->etEm());
384 histograms.h_tower_etHad_->Fill(tower_itr->etHad());
385 histograms.h_tower_iEta_->Fill(tower_itr->id().iEta());
386 histograms.h_tower_iPhi_->Fill(tower_itr->id().iPhi());
dqm::reco::MonitorElement * h_tower_etHad_
const edm::EDGetToken clusters_token_
dqm::reco::MonitorElement * h_cl3d_pt_
T getParameter(std::string const &) const
dqm::reco::MonitorElement * h_cl3d_ebm1_
dqm::reco::MonitorElement * h_cl_cells_n_
dqm::reco::MonitorElement * h_tower_energy_
dqm::reco::MonitorElement * h_tc_z_
dqm::reco::MonitorElement * h_cl3d_layer50_
virtual void setCurrentFolder(std::string const &fullpath)
dqm::reco::MonitorElement * h_cl3d_meanz_
dqm::reco::MonitorElement * h_cl3d_srrtot_
HGCalTriggerValidator(const edm::ParameterSet &)
dqm::reco::MonitorElement * h_cl3d_first3layers_
dqm::reco::MonitorElement * h_cl_phi_
dqm::reco::MonitorElement * h_cl3d_clusters_n_
dqm::reco::MonitorElement * h_cl3d_n_
dqm::reco::MonitorElement * h_cl3d_eta_
~HGCalTriggerValidator() override=default
dqm::reco::MonitorElement * h_cl3d_firstHcal1layers_
dqm::reco::MonitorElement * h_cl3d_last3layers_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &, Histograms &) const override
dqm::reco::MonitorElement * h_tower_n_
void dqmAnalyze(edm::Event const &, edm::EventSetup const &, Histograms const &) const override
void dqmBeginRun(edm::Run const &, edm::EventSetup const &, Histograms &) const override
dqm::reco::MonitorElement * h_cl3d_hbm_
dqm::reco::MonitorElement * h_cl3d_layer90_
dqm::reco::MonitorElement * h_tc_x_
dqm::reco::MonitorElement * h_cl_eta_
dqm::reco::MonitorElement * h_cl_energy_
dqm::reco::MonitorElement * h_cl3d_srrmax_
dqm::reco::MonitorElement * h_tc_layer_
dqm::reco::MonitorElement * h_cl3d_coreshowerlength_
const_iterator begin(int bx) const
std::unique_ptr< HGCalTriggerClusterIdentificationBase > id_
dqm::reco::MonitorElement * h_cl3d_szz_
dqm::reco::MonitorElement * h_cl3d_firstHcal3layers_
dqm::reco::MonitorElement * h_tc_mipPt_
dqm::reco::MonitorElement * h_cl3d_first5layers_
dqm::reco::MonitorElement * h_tc_phi_
dqm::reco::MonitorElement * h_cl3d_seemax_
dqm::reco::MonitorElement * h_tower_eta_
dqm::reco::MonitorElement * h_cl3d_last1layers_
dqm::reco::MonitorElement * h_cl3d_emax1layers_
dqm::reco::MonitorElement * h_tc_pt_
dqm::reco::MonitorElement * h_cl_layer_
dqm::reco::MonitorElement * h_cl_mipPt_
dqm::reco::MonitorElement * h_cl3d_spptot_
const edm::EDGetToken towers_token_
#define DEFINE_FWK_MODULE(type)
dqm::reco::MonitorElement * h_cl_n_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
dqm::reco::MonitorElement * h_cl3d_sppmax_
dqm::reco::MonitorElement * h_cl_pt_
dqm::reco::MonitorElement * h_cl3d_bdteg_
dqm::reco::MonitorElement * h_cl3d_first1layers_
dqm::reco::MonitorElement * h_tower_iEta_
dqm::reco::MonitorElement * h_cl3d_ebm0_
dqm::reco::MonitorElement * h_cl3d_showerlength_
const edm::EDGetToken multiclusters_token_
dqm::reco::MonitorElement * h_cl3d_emax5layers_
dqm::reco::MonitorElement * h_cl3d_quality_
dqm::reco::MonitorElement * h_tc_energy_
dqm::reco::MonitorElement * h_cl3d_firstlayer_
dqm::reco::MonitorElement * h_cl3d_energy_
const edm::ESGetToken< HGCalTriggerGeometryBase, CaloGeometryRecord > triggerGeomToken_
const_iterator end(int bx) const
dqm::reco::MonitorElement * h_cl3d_maxlayer_
std::shared_ptr< HGCalTriggerTools > triggerTools_
dqm::reco::MonitorElement * h_cl3d_emax3layers_
dqm::reco::MonitorElement * h_cl3d_last5layers_
dqm::reco::MonitorElement * h_tower_iPhi_
const edm::EDGetToken trigger_cells_token_
dqm::reco::MonitorElement * h_cl3d_layer10_
dqm::reco::MonitorElement * h_tc_y_
dqm::reco::MonitorElement * h_tower_etEm_
dqm::reco::MonitorElement * h_tc_n_
dqm::reco::MonitorElement * h_tc_eta_
dqm::reco::MonitorElement * h_cl3d_emaxe_
dqm::reco::MonitorElement * h_cl3d_eot_
dqm::reco::MonitorElement * h_cl3d_srrmean_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
dqm::reco::MonitorElement * h_cl3d_ntc67_
dqm::reco::MonitorElement * h_tower_pt_
dqm::reco::MonitorElement * h_tower_phi_
dqm::reco::MonitorElement * h_cl3d_seetot_
dqm::reco::MonitorElement * h_cl3d_firstHcal5layers_
dqm::reco::MonitorElement * h_cl3d_phi_
dqm::reco::MonitorElement * h_cl3d_hoe_
dqm::reco::MonitorElement * h_cl3d_ntc90_