diff --git a/DQM/python/dqm.py b/DQM/python/dqm.py index 0ea884e4c..85e9e57c5 100644 --- a/DQM/python/dqm.py +++ b/DQM/python/dqm.py @@ -237,6 +237,15 @@ def __init__(self,name="EcalDigiVerify") : self.ecalRecHitColl = "EcalRecHits" self.ecalRecHitPass = "" #use whatever pass is available + self.build1DHistogram( "rec_sim_hit_residual_x" , + "RecHit X - SimHit X [mm]" , 30 , -15.0 , 15.0 ) + + self.build1DHistogram( "rec_sim_hit_residual_y" , + "RecHit Y - SimHit Y [mm]" , 30 , -15.0 , 15.0 ) + + self.build1DHistogram( "rec_sim_hit_residual_z" , + "RecHit Z - SimHit Z [mm]" , 40 , -20.0 , 20.0 ) + self.build1DHistogram( "num_sim_hits_per_cell" , "Number of SimHits per ECal Cell (excluding empty rec cells)" , 20 , -0.5 , 19.5 ) diff --git a/DQM/src/DQM/EcalDigiVerifier.cxx b/DQM/src/DQM/EcalDigiVerifier.cxx index 3d1b83344..4126fdd00 100644 --- a/DQM/src/DQM/EcalDigiVerifier.cxx +++ b/DQM/src/DQM/EcalDigiVerifier.cxx @@ -57,6 +57,12 @@ void EcalDigiVerifier::analyze(const framework::Event &event) { if (rawID == simHit.getID()) { numSimHits += simHit.getNumberOfContribs(); totalSimEDep += simHit.getEdep(); + auto residualX = recHit.getXPos() - simHit.getPosition()[0]; + auto residualY = recHit.getYPos() - simHit.getPosition()[1]; + auto residualZ = recHit.getZPos() - simHit.getPosition()[2]; + histograms_.fill("rec_sim_hit_residual_x", residualX); + histograms_.fill("rec_sim_hit_residual_y", residualY); + histograms_.fill("rec_sim_hit_residual_z", residualZ); } else if (rawID < simHit.getID()) { // later sim hits - all done break;