CMS 3D CMS Logo

HGCalHitCalibration.cc
Go to the documentation of this file.
1 // user include files
2 
6 
10 
12 
14 
17 
24 
29 
35 
37 
38 #include <map>
39 #include <array>
40 #include <string>
41 #include <numeric>
42 
44 public:
45  explicit HGCalHitCalibration(const edm::ParameterSet&);
46  ~HGCalHitCalibration() override;
47 
48  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
49 
50 private:
51  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
52  void analyze(const edm::Event&, const edm::EventSetup&) override;
53 
54  void fillWithRecHits(std::map<DetId, const HGCRecHit*>&, DetId, unsigned int, float, int&, float&);
55 
63 
66  int debug_;
68  static constexpr int depletion1_ = 200;
69  static constexpr int depletion2_ = 300;
70  static constexpr int scint_ = 400;
71 
72  std::map<int, MonitorElement*> h_EoP_CPene_calib_fraction_;
73  std::map<int, MonitorElement*> hgcal_EoP_CPene_calib_fraction_;
74  std::map<int, MonitorElement*> hgcal_ele_EoP_CPene_calib_fraction_;
75  std::map<int, MonitorElement*> hgcal_photon_EoP_CPene_calib_fraction_;
77 
78  static constexpr int layers_ = 60;
79  std::array<float, layers_> Energy_layer_calib_;
80  std::array<float, layers_> Energy_layer_calib_fraction_;
81 };
82 
84  : rawRecHits_(iConfig.getParameter<bool>("rawRecHits")), debug_(iConfig.getParameter<int>("debug")) {
85  auto detector = iConfig.getParameter<std::string>("detector");
86  auto recHitsEE = iConfig.getParameter<edm::InputTag>("recHitsEE");
87  auto recHitsFH = iConfig.getParameter<edm::InputTag>("recHitsFH");
88  auto recHitsBH = iConfig.getParameter<edm::InputTag>("recHitsBH");
89  auto caloParticles = iConfig.getParameter<edm::InputTag>("caloParticles");
90  auto hgcalMultiClusters = iConfig.getParameter<edm::InputTag>("hgcalMultiClusters");
91  auto electrons = iConfig.getParameter<edm::InputTag>("electrons");
92  auto photons = iConfig.getParameter<edm::InputTag>("photons");
93  if (detector == "all") {
94  recHitsEE_ = consumes<HGCRecHitCollection>(recHitsEE);
95  recHitsFH_ = consumes<HGCRecHitCollection>(recHitsFH);
96  recHitsBH_ = consumes<HGCRecHitCollection>(recHitsBH);
97  algo_ = 1;
98  } else if (detector == "EM") {
99  recHitsEE_ = consumes<HGCRecHitCollection>(recHitsEE);
100  algo_ = 2;
101  } else if (detector == "HAD") {
102  recHitsFH_ = consumes<HGCRecHitCollection>(recHitsFH);
103  recHitsBH_ = consumes<HGCRecHitCollection>(recHitsBH);
104  algo_ = 3;
105  }
106  depletion0_ = iConfig.getParameter<int>("depletionFine");
107  caloParticles_ = consumes<std::vector<CaloParticle> >(caloParticles);
108  hgcalMultiClusters_ = consumes<std::vector<reco::PFCluster> >(hgcalMultiClusters);
109  electrons_ = consumes<std::vector<reco::GsfElectron> >(electrons);
110  photons_ = consumes<std::vector<reco::Photon> >(photons);
111 
112  // size should be HGC layers 52 is enough
113  Energy_layer_calib_.fill(0.);
115 }
116 
118  // do anything here that needs to be done at desctruction time
119  // (e.g. close files, deallocate resources etc.)
120 }
121 
123  edm::Run const& iRun,
124  edm::EventSetup const& /* iSetup */) {
125  ibooker.cd();
126  ibooker.setCurrentFolder("HGCalHitCalibration");
127  h_EoP_CPene_calib_fraction_[depletion0_] = ibooker.book1D("h_EoP_CPene_100_calib_fraction", "", 1000, -0.5, 2.5);
128  h_EoP_CPene_calib_fraction_[depletion1_] = ibooker.book1D("h_EoP_CPene_200_calib_fraction", "", 1000, -0.5, 2.5);
129  h_EoP_CPene_calib_fraction_[depletion2_] = ibooker.book1D("h_EoP_CPene_300_calib_fraction", "", 1000, -0.5, 2.5);
130  h_EoP_CPene_calib_fraction_[scint_] = ibooker.book1D("h_EoP_CPene_scint_calib_fraction", "", 1000, -0.5, 2.5);
132  ibooker.book1D("hgcal_EoP_CPene_100_calib_fraction", "", 1000, -0.5, 2.5);
134  ibooker.book1D("hgcal_EoP_CPene_200_calib_fraction", "", 1000, -0.5, 2.5);
136  ibooker.book1D("hgcal_EoP_CPene_300_calib_fraction", "", 1000, -0.5, 2.5);
137  hgcal_EoP_CPene_calib_fraction_[scint_] = ibooker.book1D("hgcal_EoP_CPene_scint_calib_fraction", "", 1000, -0.5, 2.5);
139  ibooker.book1D("hgcal_ele_EoP_CPene_100_calib_fraction", "", 1000, -0.5, 2.5);
141  ibooker.book1D("hgcal_ele_EoP_CPene_200_calib_fraction", "", 1000, -0.5, 2.5);
143  ibooker.book1D("hgcal_ele_EoP_CPene_300_calib_fraction", "", 1000, -0.5, 2.5);
145  ibooker.book1D("hgcal_ele_EoP_CPene_scint_calib_fraction", "", 1000, -0.5, 2.5);
147  ibooker.book1D("hgcal_photon_EoP_CPene_100_calib_fraction", "", 1000, -0.5, 2.5);
149  ibooker.book1D("hgcal_photon_EoP_CPene_200_calib_fraction", "", 1000, -0.5, 2.5);
151  ibooker.book1D("hgcal_photon_EoP_CPene_300_calib_fraction", "", 1000, -0.5, 2.5);
153  ibooker.book1D("hgcal_photon_EoP_CPene_scint_calib_fraction", "", 1000, -0.5, 2.5);
154  LayerOccupancy_ = ibooker.book1D("LayerOccupancy", "", layers_, 0., (float)layers_);
155 }
156 
157 void HGCalHitCalibration::fillWithRecHits(std::map<DetId, const HGCRecHit*>& hitmap,
158  const DetId hitid,
159  const unsigned int hitlayer,
160  const float fraction,
161  int& seedDet,
162  float& seedEnergy) {
163  if (hitmap.find(hitid) == hitmap.end()) {
164  // Hit was not reconstructed
165  IfLogTrace(debug_ > 0, "HGCalHitCalibration")
166  << ">>> Failed to find detid " << std::hex << hitid.rawId() << std::dec << " Det " << hitid.det() << " Subdet "
167  << hitid.subdetId() << std::endl;
168  return;
169  }
170  if ((hitid.det() != DetId::Forward) && (hitid.det() != DetId::HGCalEE) && (hitid.det() != DetId::HGCalHSi) &&
171  (hitid.det() != DetId::HGCalHSc)) {
172  IfLogTrace(debug_ > 0, "HGCalHitCalibration")
173  << ">>> Wrong type of detid " << std::hex << hitid.rawId() << std::dec << " Det " << hitid.det() << " Subdet "
174  << hitid.subdetId() << std::endl;
175  return;
176  }
177 
178  unsigned int layer = recHitTools_.getLayerWithOffset(hitid);
179  assert(hitlayer == layer);
180  Energy_layer_calib_fraction_[layer] += hitmap[hitid]->energy() * fraction;
181  LayerOccupancy_->Fill(layer);
182  if (seedEnergy < hitmap[hitid]->energy()) {
183  seedEnergy = hitmap[hitid]->energy();
184  seedDet = recHitTools_.getSiThickness(hitid);
185  if (hitid.det() == DetId::HGCalHSc) {
186  seedDet = scint_;
187  }
188  }
189 }
190 
192  using namespace edm;
193 
194  recHitTools_.getEventSetup(iSetup);
195 
196  Handle<HGCRecHitCollection> recHitHandleEE;
197  Handle<HGCRecHitCollection> recHitHandleFH;
198  Handle<HGCRecHitCollection> recHitHandleBH;
199 
200  Handle<std::vector<CaloParticle> > caloParticleHandle;
201  iEvent.getByToken(caloParticles_, caloParticleHandle);
202  const std::vector<CaloParticle>& caloParticles = *caloParticleHandle;
203 
204  Handle<std::vector<reco::PFCluster> > hgcalMultiClustersHandle;
205  iEvent.getByToken(hgcalMultiClusters_, hgcalMultiClustersHandle);
206 
207  Handle<std::vector<reco::GsfElectron> > PFElectronHandle;
208  iEvent.getByToken(electrons_, PFElectronHandle);
209 
210  Handle<std::vector<reco::Photon> > PFPhotonHandle;
211  iEvent.getByToken(photons_, PFPhotonHandle);
212 
213  // make a map detid-rechit
214  std::map<DetId, const HGCRecHit*> hitmap;
215  switch (algo_) {
216  case 1: {
217  iEvent.getByToken(recHitsEE_, recHitHandleEE);
218  iEvent.getByToken(recHitsFH_, recHitHandleFH);
219  iEvent.getByToken(recHitsBH_, recHitHandleBH);
220  const auto& rechitsEE = *recHitHandleEE;
221  const auto& rechitsFH = *recHitHandleFH;
222  const auto& rechitsBH = *recHitHandleBH;
223  for (unsigned int i = 0; i < rechitsEE.size(); ++i) {
224  hitmap[rechitsEE[i].detid()] = &rechitsEE[i];
225  }
226  for (unsigned int i = 0; i < rechitsFH.size(); ++i) {
227  hitmap[rechitsFH[i].detid()] = &rechitsFH[i];
228  }
229  for (unsigned int i = 0; i < rechitsBH.size(); ++i) {
230  hitmap[rechitsBH[i].detid()] = &rechitsBH[i];
231  }
232  break;
233  }
234  case 2: {
235  iEvent.getByToken(recHitsEE_, recHitHandleEE);
236  const HGCRecHitCollection& rechitsEE = *recHitHandleEE;
237  for (unsigned int i = 0; i < rechitsEE.size(); i++) {
238  hitmap[rechitsEE[i].detid()] = &rechitsEE[i];
239  }
240  break;
241  }
242  case 3: {
243  iEvent.getByToken(recHitsFH_, recHitHandleFH);
244  iEvent.getByToken(recHitsBH_, recHitHandleBH);
245  const auto& rechitsFH = *recHitHandleFH;
246  const auto& rechitsBH = *recHitHandleBH;
247  for (unsigned int i = 0; i < rechitsFH.size(); i++) {
248  hitmap[rechitsFH[i].detid()] = &rechitsFH[i];
249  }
250  for (unsigned int i = 0; i < rechitsBH.size(); i++) {
251  hitmap[rechitsBH[i].detid()] = &rechitsBH[i];
252  }
253  break;
254  }
255  default:
256  assert(false);
257  break;
258  }
259 
260  // loop over caloParticles
261  int seedDet = 0;
262  float seedEnergy = 0.;
263  IfLogTrace(debug_ > 0, "HGCalHitCalibration") << "Number of caloParticles: " << caloParticles.size() << std::endl;
264  for (const auto& it_caloPart : caloParticles) {
265  if (it_caloPart.g4Tracks()[0].eventId().event() != 0 or it_caloPart.g4Tracks()[0].eventId().bunchCrossing() != 0) {
266  LogDebug("HGCalHitCalibration") << "Excluding CaloParticles from event: "
267  << it_caloPart.g4Tracks()[0].eventId().event()
268  << " with BX: " << it_caloPart.g4Tracks()[0].eventId().bunchCrossing()
269  << std::endl;
270  continue;
271  }
272 
273  const SimClusterRefVector& simClusterRefVector = it_caloPart.simClusters();
274  Energy_layer_calib_.fill(0.);
276 
277  seedDet = 0;
278  seedEnergy = 0.;
279  for (const auto& it_sc : simClusterRefVector) {
280  const SimCluster& simCluster = (*(it_sc));
281  IfLogTrace(debug_ > 1, "HGCalHitCalibration")
282  << ">>> SC.energy(): " << simCluster.energy() << " SC.simEnergy(): " << simCluster.simEnergy() << std::endl;
283  const std::vector<std::pair<uint32_t, float> >& hits_and_fractions = simCluster.hits_and_fractions();
284 
285  // loop over hits
286  for (const auto& it_haf : hits_and_fractions) {
287  unsigned int hitlayer = recHitTools_.getLayerWithOffset(it_haf.first);
288  DetId hitid = (it_haf.first);
289  // dump raw RecHits and match
290  if (rawRecHits_) {
291  if ((hitid.det() == DetId::Forward &&
292  (hitid.subdetId() == HGCEE || hitid.subdetId() == HGCHEF || hitid.subdetId() == HGCHEB)) ||
293  (hitid.det() == DetId::HGCalEE) || (hitid.det() == DetId::HGCalHSi) || (hitid.det() == DetId::HGCalHSc) ||
294  (hitid.det() == DetId::Hcal && hitid.subdetId() == HcalEndcap))
295  fillWithRecHits(hitmap, hitid, hitlayer, it_haf.second, seedDet, seedEnergy);
296  }
297  } // end simHit
298  } // end simCluster
299 
300  auto sumCalibRecHitCalib_fraction =
301  std::accumulate(Energy_layer_calib_fraction_.begin(), Energy_layer_calib_fraction_.end(), 0.);
302  IfLogTrace(debug_ > 0, "HGCalHitCalibration")
303  << ">>> MC Energy: " << it_caloPart.energy() << " reco energy: " << sumCalibRecHitCalib_fraction << std::endl;
304  if (h_EoP_CPene_calib_fraction_.count(seedDet))
305  h_EoP_CPene_calib_fraction_[seedDet]->Fill(sumCalibRecHitCalib_fraction / it_caloPart.energy());
306 
307  // Loop on reconstructed SC.
308  const auto& clusters = *hgcalMultiClustersHandle;
309  float total_energy = 0.;
310  float max_dR2 = 0.0025;
311  auto closest =
312  std::min_element(clusters.begin(), clusters.end(), [&](const reco::PFCluster& a, const reco::PFCluster& b) {
313  auto dR2_a = reco::deltaR2(it_caloPart, a);
314  auto dR2_b = reco::deltaR2(it_caloPart, b);
315  auto ERatio_a = a.correctedEnergy() / it_caloPart.energy();
316  auto ERatio_b = b.correctedEnergy() / it_caloPart.energy();
317  // If both clusters are within 0.0025, mark as first (min) the
318  // element with the highest ratio against the SimCluster
319  if (dR2_a < max_dR2 && dR2_b < max_dR2)
320  return ERatio_a > ERatio_b;
321  return dR2_a < dR2_b;
322  });
323  if (closest != clusters.end() && reco::deltaR2(*closest, it_caloPart) < 0.01) {
324  total_energy = closest->correctedEnergy();
325  seedDet = recHitTools_.getSiThickness(closest->seed());
326  if (closest->seed().det() == DetId::HGCalHSc) {
327  seedDet = scint_;
328  }
329  if (hgcal_EoP_CPene_calib_fraction_.count(seedDet)) {
330  hgcal_EoP_CPene_calib_fraction_[seedDet]->Fill(total_energy / it_caloPart.energy());
331  }
332  }
333 
334  auto closest_fcn = [&](auto const& a, auto const& b) {
335  auto dR2_a = reco::deltaR2(it_caloPart, a);
336  auto dR2_b = reco::deltaR2(it_caloPart, b);
337  auto ERatio_a = a.energy() / it_caloPart.energy();
338  auto ERatio_b = b.energy() / it_caloPart.energy();
339  // If both clusters are within 0.0025, mark as first (min) the
340  // element with the highest ratio against the SimCluster
341  if (dR2_a < max_dR2 && dR2_b < max_dR2)
342  return ERatio_a > ERatio_b;
343  return dR2_a < dR2_b;
344  };
345  // ELECTRONS in HGCAL
346  if (PFElectronHandle.isValid()) {
347  auto const& ele = (*PFElectronHandle);
348  auto closest = std::min_element(ele.begin(), ele.end(), closest_fcn);
349  if (closest != ele.end() &&
350  (closest->superCluster()->seed()->seed().det() == DetId::Forward ||
351  closest->superCluster()->seed()->seed().det() == DetId::HGCalEE) &&
352  reco::deltaR2(*closest, it_caloPart) < 0.01) {
353  seedDet = recHitTools_.getSiThickness(closest->superCluster()->seed()->seed());
354  if (closest->superCluster()->seed()->seed().det() == DetId::HGCalHSc) {
355  seedDet = scint_;
356  }
357  if (hgcal_ele_EoP_CPene_calib_fraction_.count(seedDet)) {
358  hgcal_ele_EoP_CPene_calib_fraction_[seedDet]->Fill(closest->energy() / it_caloPart.energy());
359  }
360  }
361  }
362 
363  // PHOTONS in HGCAL
364  if (PFPhotonHandle.isValid()) {
365  auto const& photon = (*PFPhotonHandle);
366  auto closest = std::min_element(photon.begin(), photon.end(), closest_fcn);
367  if (closest != photon.end() &&
368  (closest->superCluster()->seed()->seed().det() == DetId::Forward ||
369  closest->superCluster()->seed()->seed().det() == DetId::HGCalEE) &&
370  reco::deltaR2(*closest, it_caloPart) < 0.01) {
371  seedDet = recHitTools_.getSiThickness(closest->superCluster()->seed()->seed());
372  if (hgcal_photon_EoP_CPene_calib_fraction_.count(seedDet)) {
373  hgcal_photon_EoP_CPene_calib_fraction_[seedDet]->Fill(closest->energy() / it_caloPart.energy());
374  }
375  }
376  }
377  } // end caloparticle
378 }
379 
380 // ------------ method fills 'descriptions' with the allowed parameters for the
381 // module ------------
384  desc.add<int>("debug", 0);
385  desc.add<bool>("rawRecHits", true);
386  desc.add<std::string>("detector", "all");
387  desc.add<int>("depletionFine", 100);
388  desc.add<edm::InputTag>("caloParticles", edm::InputTag("mix", "MergedCaloTruth"));
389  desc.add<edm::InputTag>("recHitsEE", edm::InputTag("HGCalRecHit", "HGCEERecHits"));
390  desc.add<edm::InputTag>("recHitsFH", edm::InputTag("HGCalRecHit", "HGCHEFRecHits"));
391  desc.add<edm::InputTag>("recHitsBH", edm::InputTag("HGCalRecHit", "HGCHEBRecHits"));
392  desc.add<edm::InputTag>("hgcalMultiClusters", edm::InputTag("particleFlowClusterHGCalFromMultiCl"));
393  desc.add<edm::InputTag>("electrons", edm::InputTag("ecalDrivenGsfElectronsFromMultiCl"));
394  desc.add<edm::InputTag>("photons", edm::InputTag("photonsFromMultiCl"));
395  descriptions.add("hgcalHitCalibrationDefault", desc);
396 }
397 
398 // define this as a plug-in
HGCalHitCalibration::recHitsBH_
edm::EDGetTokenT< HGCRecHitCollection > recHitsBH_
Definition: HGCalHitCalibration.cc:58
muons2muons_cfi.photon
photon
Definition: muons2muons_cfi.py:28
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
hgcal::RecHitTools
Definition: RecHitTools.h:21
electrons_cff.bool
bool
Definition: electrons_cff.py:372
EDAnalyzer.h
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
HGCalHitCalibration::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HGCalHitCalibration.cc:382
hgcal::RecHitTools::getSiThickness
std::float_t getSiThickness(const DetId &) const
Definition: RecHitTools.cc:181
ESHandle.h
HGCalHitCalibration::algo_
int algo_
Definition: HGCalHitCalibration.cc:64
edm::Run
Definition: Run.h:45
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
DetId::Hcal
Definition: DetId.h:28
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
cms::cuda::assert
assert(be >=bs)
HGCalHitCalibration::fillWithRecHits
void fillWithRecHits(std::map< DetId, const HGCRecHit * > &, DetId, unsigned int, float, int &, float &)
Definition: HGCalHitCalibration.cc:157
edm::SortedCollection
Definition: SortedCollection.h:49
DQMStore.h
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
TrackingVertex.h
edm::RefVector< SimClusterCollection >
SimCluster::energy
float energy() const
Energy. Note this is taken from the first SimTrack only.
Definition: SimCluster.h:104
SimCluster
Monte Carlo truth information used for tracking validation.
Definition: SimCluster.h:29
HGCalHitCalibration::debug_
int debug_
Definition: HGCalHitCalibration.cc:66
HGCalHitCalibration::scint_
static constexpr int scint_
Definition: HGCalHitCalibration.cc:70
HGCalHitCalibration::hgcal_photon_EoP_CPene_calib_fraction_
std::map< int, MonitorElement * > hgcal_photon_EoP_CPene_calib_fraction_
Definition: HGCalHitCalibration.cc:75
edm::Handle
Definition: AssociativeIterator.h:50
HGCalHitCalibration::h_EoP_CPene_calib_fraction_
std::map< int, MonitorElement * > h_EoP_CPene_calib_fraction_
Definition: HGCalHitCalibration.cc:72
DetId
Definition: DetId.h:17
HGCalHitCalibration::recHitsEE_
edm::EDGetTokenT< HGCRecHitCollection > recHitsEE_
Definition: HGCalHitCalibration.cc:56
HGCalHitCalibration::hgcal_EoP_CPene_calib_fraction_
std::map< int, MonitorElement * > hgcal_EoP_CPene_calib_fraction_
Definition: HGCalHitCalibration.cc:73
DetId::HGCalHSi
Definition: DetId.h:33
DetId::HGCalEE
Definition: DetId.h:32
MakerMacros.h
Photon.h
HGCalHitCalibration::LayerOccupancy_
MonitorElement * LayerOccupancy_
Definition: HGCalHitCalibration.cc:76
SimCluster.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
HGCalHitCalibration::depletion1_
static constexpr int depletion1_
Definition: HGCalHitCalibration.cc:68
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
TruncatedPyramid.h
caloTruthCellsProducer_cfi.caloParticles
caloParticles
Definition: caloTruthCellsProducer_cfi.py:6
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HGCalHitCalibration::Energy_layer_calib_
std::array< float, layers_ > Energy_layer_calib_
Definition: HGCalHitCalibration.cc:79
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
PFCluster.h
CaloClusterFwd.h
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
IfLogTrace
#define IfLogTrace(cond, cat)
Definition: MessageLogger.h:699
HGCalHitCalibration::photons_
edm::EDGetTokenT< std::vector< reco::Photon > > photons_
Definition: HGCalHitCalibration.cc:62
GsfElectron.h
b
double b
Definition: hdecay.h:118
HGCalHitCalibration::depletion0_
int depletion0_
Definition: HGCalHitCalibration.cc:64
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
DQMEDAnalyzer.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCEE
Definition: ForwardSubdetector.h:8
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
HGCalHitCalibration::rawRecHits_
bool rawRecHits_
Definition: HGCalHitCalibration.cc:65
CaloSubdetectorGeometry.h
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
HGCRecHitCollections.h
HGCalGeometry.h
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
a
double a
Definition: hdecay.h:119
Event.h
HGCalHitCalibration::hgcal_ele_EoP_CPene_calib_fraction_
std::map< int, MonitorElement * > hgcal_ele_EoP_CPene_calib_fraction_
Definition: HGCalHitCalibration.cc:74
hgcal::RecHitTools::getLayerWithOffset
unsigned int getLayerWithOffset(const DetId &) const
Definition: RecHitTools.cc:357
HcalDetId.h
reco::deltaR2
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
CaloParticle.h
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalHitCalibration::HGCalHitCalibration
HGCalHitCalibration(const edm::ParameterSet &)
Definition: HGCalHitCalibration.cc:83
HGCalHitCalibration::Energy_layer_calib_fraction_
std::array< float, layers_ > Energy_layer_calib_fraction_
Definition: HGCalHitCalibration.cc:80
BPHMonitor_cfi.photons
photons
Definition: BPHMonitor_cfi.py:91
edm::EventSetup
Definition: EventSetup.h:57
hgcal::RecHitTools::getEventSetup
void getEventSetup(const edm::EventSetup &)
Definition: RecHitTools.cc:70
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
HGCalHitCalibration::hgcalMultiClusters_
edm::EDGetTokenT< std::vector< reco::PFCluster > > hgcalMultiClusters_
Definition: HGCalHitCalibration.cc:60
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HGCalHitCalibration::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: HGCalHitCalibration.cc:191
TrackingParticle.h
CaloCellGeometry.h
EcalDeadCellBoundaryEnergyFilter_cfi.recHitsEE
recHitsEE
Definition: EcalDeadCellBoundaryEnergyFilter_cfi.py:18
HGCalDetId.h
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
SimCluster::simEnergy
float simEnergy() const
returns the accumulated sim energy in the cluster
Definition: SimCluster.h:213
pwdgSkimBPark_cfi.electrons
electrons
Definition: pwdgSkimBPark_cfi.py:6
HcalEndcap
Definition: HcalAssistant.h:34
Frameworkfwd.h
HGCalHitCalibration::~HGCalHitCalibration
~HGCalHitCalibration() override
Definition: HGCalHitCalibration.cc:117
DetId::HGCalHSc
Definition: DetId.h:34
HGCalHitCalibration::layers_
static constexpr int layers_
Definition: HGCalHitCalibration.cc:78
CaloGeometry.h
HGCalHitCalibration::depletion2_
static constexpr int depletion2_
Definition: HGCalHitCalibration.cc:69
reco::PFCluster
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:46
HGCalHitCalibration::caloParticles_
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticles_
Definition: HGCalHitCalibration.cc:59
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
dqm::implementation::IBooker
Definition: DQMStore.h:43
HGCalHitCalibration
Definition: HGCalHitCalibration.cc:43
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
SimCluster::hits_and_fractions
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this SimCluster.
Definition: SimCluster.h:184
HGCalHitCalibration::recHitsFH_
edm::EDGetTokenT< HGCRecHitCollection > recHitsFH_
Definition: HGCalHitCalibration.cc:57
HGCHEF
Definition: ForwardSubdetector.h:9
HGCalHitCalibration::electrons_
edm::EDGetTokenT< std::vector< reco::GsfElectron > > electrons_
Definition: HGCalHitCalibration.cc:61
ParameterSet.h
DetId::Forward
Definition: DetId.h:30
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
HLT_2018_cff.fraction
fraction
Definition: HLT_2018_cff.py:51317
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
RecHitTools.h
HGCalHitCalibration::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: HGCalHitCalibration.cc:122
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
HGCHEB
Definition: ForwardSubdetector.h:10
HGCalHitCalibration::recHitTools_
hgcal::RecHitTools recHitTools_
Definition: HGCalHitCalibration.cc:67