@@ -117,9 +117,10 @@ class ScoutingCollectionMonitor : public DQMEDAnalyzer {
117117 const std::string topfoldername_;
118118
119119 // calo rechits (only 2025 V1.3 onwards, see )
120- edm::EDGetTokenT<std::vector<Run3ScoutingEBRecHitCollection>> ebRecHitsToken_;
121- edm::EDGetTokenT<std::vector<Run3ScoutingEERecHitCollection>> eeRecHitsToken_;
122- edm::EDGetTokenT<std::vector<Run3ScoutingHBHERecHitCollection>> hbheRecHitsToken_;
120+ // edm::EDGetTokenT<std::vector<Run3ScoutingEBRecHitCollection>> ebRecHitsToken_;
121+ edm::EDGetTokenT<Run3ScoutingEBRecHitCollection> ebRecHitsToken_;
122+ edm::EDGetTokenT<Run3ScoutingEERecHitCollection> eeRecHitsToken_;
123+ edm::EDGetTokenT<Run3ScoutingHBHERecHitCollection> hbheRecHitsToken_;
123124
124125 // pv vs PU and rho vs PU plots
125126 int primaryVertex_counter = 0 ;
@@ -403,8 +404,14 @@ class ScoutingCollectionMonitor : public DQMEDAnalyzer {
403404
404405 // calo rechits histrograms
405406 dqm::reco::MonitorElement* ebRecHitsNumber;
407+ dqm::reco::MonitorElement* ebRecHits_energy_hist;
408+ dqm::reco::MonitorElement* ebRecHits_time_hist;
406409 dqm::reco::MonitorElement* eeRecHitsNumber;
410+ dqm::reco::MonitorElement* eeRecHits_energy_hist;
411+ dqm::reco::MonitorElement* eeRecHits_time_hist;
407412 dqm::reco::MonitorElement* hbheRecHitsNumber;
413+ dqm::reco::MonitorElement* hbheRecHits_energy_hist;
414+
408415};
409416
410417//
@@ -473,6 +480,7 @@ void ScoutingCollectionMonitor::analyze(const edm::Event& iEvent, const edm::Eve
473480 edm::Handle<std::vector<Run3ScoutingTrack>> tracksH;
474481 edm::Handle<OnlineLuminosityRecord> onlineMetaDataDigisHandle;
475482
483+
476484 if (!getValidHandle (iEvent, rhoToken_, rhoH, " rho" ) ||
477485 !getValidHandle (iEvent, pfMetPhiToken_, pfMetPhiH, " MET phi" ) ||
478486 !getValidHandle (iEvent, pfMetPtToken_, pfMetPtH, " MET pT" ) ||
@@ -823,20 +831,34 @@ void ScoutingCollectionMonitor::analyze(const edm::Event& iEvent, const edm::Eve
823831 tk_PV_dz_hist->Fill (best_offset.second );
824832 }
825833
826- if (!ebRecHitsToken_.isUninitialized ()) {
827- auto const & ebRecHits = iEvent.get (ebRecHitsToken_);
828- ebRecHitsNumber->Fill (ebRecHits.size ());
829- }
830834
831- if (!eeRecHitsToken_.isUninitialized ()) {
832- auto const & eeRecHits = iEvent.get (eeRecHitsToken_);
833- eeRecHitsNumber->Fill (eeRecHits.size ());
835+ edm::Handle<Run3ScoutingEBRecHitCollection> ebRecHitsH;
836+ if (!ebRecHitsToken_.isUninitialized () && getValidHandle (iEvent, ebRecHitsToken_, ebRecHitsH, " pfRecHitsEB" )) {
837+ ebRecHitsNumber->Fill (ebRecHitsH->size ());
838+ for (const auto & ebRecHit : *ebRecHitsH) {
839+ ebRecHits_energy_hist->Fill (ebRecHit.energy ());
840+ ebRecHits_time_hist->Fill (ebRecHit.time ());
841+ }
834842 }
835843
836- if (!hbheRecHitsToken_.isUninitialized ()) {
837- auto const & hbheRecHits = iEvent.get (hbheRecHitsToken_);
838- hbheRecHitsNumber->Fill (hbheRecHits.size ());
839- }
844+ edm::Handle<Run3ScoutingEERecHitCollection> eeRecHitsH;
845+ if (!eeRecHitsToken_.isUninitialized () && getValidHandle (iEvent, eeRecHitsToken_, eeRecHitsH, " pfRecHitsEE" )) {
846+ eeRecHitsNumber->Fill (eeRecHitsH->size ());
847+ for (const auto & eeRecHit : *eeRecHitsH) {
848+ eeRecHits_energy_hist->Fill (eeRecHit.energy ());
849+ eeRecHits_time_hist->Fill (eeRecHit.time ());
850+ }
851+ }
852+
853+ edm::Handle<Run3ScoutingHBHERecHitCollection> hbheRecHitsH;
854+ if (!hbheRecHitsToken_.isUninitialized () && getValidHandle (iEvent, hbheRecHitsToken_, hbheRecHitsH, " pfRecHitsHBHE" )) {
855+ hbheRecHitsNumber->Fill (hbheRecHitsH->size ());
856+ for (const auto & hbheRecHit : *hbheRecHitsH) {
857+ hbheRecHits_energy_hist->Fill (hbheRecHit.energy ());
858+ }
859+ }
860+
861+
840862}
841863
842864// ------------ method called once each job just before starting event loop ------------
@@ -1246,9 +1268,14 @@ void ScoutingCollectionMonitor::bookHistograms(DQMStore::IBooker& ibook,
12461268
12471269 ibook.setCurrentFolder (topfoldername_ + " /CaloRecHits" );
12481270 ebRecHitsNumber = ibook.book1D (" ebRechitsN" , " number of eb RecHits; number of EB recHits; events" , 100 , 0.0 , 1000.0 );
1271+ ebRecHits_energy_hist = ibook.book1D (" ebRechits_energy" , " Energy spectrum of eb RecHits; Energy of EB recHits; events" , 100 , 0.0 , 1000.0 );
1272+ ebRecHits_time_hist = ibook.book1D (" ebRechits_time" , " Time of eb RecHits; Energy of EB recHits; events" , 100 , 0.0 , 1000.0 );
12491273 eeRecHitsNumber = ibook.book1D (" eeRechitsN" , " number of ee RecHits; number of EE recHits; events" , 100 , 0.0 , 1000.0 );
1274+ eeRecHits_energy_hist = ibook.book1D (" eeRechits_energy" , " Energy spectrum of ee RecHits; Energy of EE recHits; events" , 100 , 0.0 , 1000.0 );
1275+ eeRecHits_time_hist = ibook.book1D (" eeRechits_time" , " Time of ee RecHits; Energy of EE recHits; events" , 100 , 0.0 , 1000.0 );
12501276 hbheRecHitsNumber =
12511277 ibook.book1D (" hbheRechitsN" , " number of hbhe RecHits; number of HBHE recHits; events" , 100 , 0.0 , 1000.0 );
1278+ hbheRecHits_energy_hist = ibook.book1D (" hbheRechits_energy" , " Energy spectrum of hbhe RecHits; Energy of HBHE recHits; events" , 100 , 0.0 , 1000.0 );
12521279}
12531280// ------------ method fills 'descriptions' with the allowed parameters for the module ------------
12541281
0 commit comments