CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
HGCalShowerSeparation Class Reference
Inheritance diagram for HGCalShowerSeparation:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 HGCalShowerSeparation (const edm::ParameterSet &)
 
 ~HGCalShowerSeparation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void fillWithRecHits (std::unordered_map< DetId, const HGCRecHit * > &, DetId, unsigned int, float, int &, float &)
 

Private Attributes

edm::EDGetTokenT< std::vector< CaloParticle > > caloParticles_
 
std::vector< MonitorElement * > centers_
 
int debug_
 
MonitorElementdeltaEtaPhi_
 
std::vector< MonitorElement * > distanceOnLayer_
 
MonitorElementenergy1_
 
MonitorElementenergy2_
 
MonitorElementenergytot_
 
MonitorElementeta1_
 
MonitorElementeta2_
 
MonitorElementetaPhi_
 
bool filterOnEnergyAndCaloP_
 
std::vector< MonitorElement * > globalProfileOnLayer_
 
edm::EDGetTokenT< std::unordered_map< DetId, const HGCRecHit * > > hitMap_
 
std::vector< MonitorElement * > idealDeltaXY_
 
std::vector< MonitorElement * > idealDistanceOnLayer_
 
MonitorElementlayerDistance_
 
MonitorElementlayerEnergy_
 
std::vector< MonitorElement * > profileOnLayer_
 
hgcal::RecHitTools recHitTools_
 
MonitorElementscEnergy_
 
MonitorElementshowerProfile_
 

Static Private Attributes

static constexpr int layers_ = 52
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 43 of file HGCalShowerSeparation.cc.

Constructor & Destructor Documentation

◆ HGCalShowerSeparation()

HGCalShowerSeparation::HGCalShowerSeparation ( const edm::ParameterSet iConfig)
explicit

Definition at line 84 of file HGCalShowerSeparation.cc.

85  : debug_(iConfig.getParameter<int>("debug")),
86  filterOnEnergyAndCaloP_(iConfig.getParameter<bool>("filterOnEnergyAndCaloP")) {
87  auto hitMapInputTag = iConfig.getParameter<edm::InputTag>("hitMapTag");
88  auto caloParticles = iConfig.getParameter<edm::InputTag>("caloParticles");
89  hitMap_ = consumes<std::unordered_map<DetId, const HGCRecHit*>>(hitMapInputTag);
90  caloParticles_ = consumes<std::vector<CaloParticle>>(caloParticles);
91 }

References caloTruthCellsProducer_cfi::caloParticles, caloParticles_, edm::ParameterSet::getParameter(), and hitMap_.

◆ ~HGCalShowerSeparation()

HGCalShowerSeparation::~HGCalShowerSeparation ( )
override

Definition at line 93 of file HGCalShowerSeparation.cc.

93  {
94  // do anything here that needs to be done at desctruction time
95  // (e.g. close files, deallocate resources etc.)
96 }

Member Function Documentation

◆ analyze()

void HGCalShowerSeparation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 160 of file HGCalShowerSeparation.cc.

160  {
161  using namespace edm;
162 
164  iSetup.get<CaloGeometryRecord>().get(geom);
166 
167  Handle<std::vector<CaloParticle>> caloParticleHandle;
168  iEvent.getByToken(caloParticles_, caloParticleHandle);
169  const std::vector<CaloParticle>& caloParticles = *caloParticleHandle;
170 
172  iEvent.getByToken(hitMap_, hitMapHandle);
173  const auto hitmap = *hitMapHandle;
174 
175  // loop over caloParticles
176  IfLogTrace(debug_ > 0, "HGCalShowerSeparation") << "Number of caloParticles: " << caloParticles.size() << std::endl;
177  if (caloParticles.size() == 2) {
178  auto eta1 = caloParticles[0].eta();
179  auto phi1 = caloParticles[0].phi();
180  auto theta1 = 2. * atan(exp(-eta1));
181  auto eta2 = caloParticles[1].eta();
182  auto phi2 = caloParticles[1].phi();
183  auto theta2 = 2. * atan(exp(-eta2));
184  eta1_->Fill(eta1);
185  eta2_->Fill(eta2);
186 
187  // Select event only if the sum of the energy of its recHits
188  // is close enough to the gen energy
189  int count = 0;
190  int size = 0;
191  float energy = 0.;
192  float energy_tmp = 0.;
193  for (const auto& it_caloPart : caloParticles) {
194  count++;
195  const SimClusterRefVector& simClusterRefVector = it_caloPart.simClusters();
196  size += simClusterRefVector.size();
197  for (const auto& it_sc : simClusterRefVector) {
198  const SimCluster& simCluster = (*(it_sc));
199  const std::vector<std::pair<uint32_t, float>>& hits_and_fractions = simCluster.hits_and_fractions();
200  for (const auto& it_haf : hits_and_fractions) {
201  if (hitmap.count(it_haf.first))
202  energy += hitmap.at(it_haf.first)->energy() * it_haf.second;
203  } //hits and fractions
204  } // simcluster
205  if (count == 1) {
206  energy1_->Fill(energy);
207  energy_tmp = energy;
208  } else {
209  energy2_->Fill(energy - energy_tmp);
210  }
211  } // caloParticle
213  if (filterOnEnergyAndCaloP_ && (energy < 2. * 0.8 * 80 or size != 2))
214  return;
215 
216  deltaEtaPhi_->Fill(eta1 - eta2, phi1 - phi2);
217 
218  for (const auto& it_caloPart : caloParticles) {
219  const SimClusterRefVector& simClusterRefVector = it_caloPart.simClusters();
220  IfLogTrace(debug_ > 0, "HGCalShowerSeparation") << ">>> " << simClusterRefVector.size() << std::endl;
221  for (const auto& it_sc : simClusterRefVector) {
222  const SimCluster& simCluster = (*(it_sc));
223  if (simCluster.energy() < 80 * 0.8)
224  continue;
225  scEnergy_->Fill(simCluster.energy());
226  IfLogTrace(debug_ > 1, "HGCalShowerSeparation")
227  << ">>> SC.energy(): " << simCluster.energy() << " SC.simEnergy(): " << simCluster.simEnergy() << std::endl;
228  const std::vector<std::pair<uint32_t, float>>& hits_and_fractions = simCluster.hits_and_fractions();
229 
230  for (const auto& it_haf : hits_and_fractions) {
231  if (!hitmap.count(it_haf.first))
232  continue;
233  unsigned int hitlayer = recHitTools_.getLayerWithOffset(it_haf.first);
234  auto global = recHitTools_.getPosition(it_haf.first);
235  float globalx = global.x();
236  float globaly = global.y();
237  float globalz = global.z();
238  if (globalz == 0)
239  continue;
240  auto rho1 = globalz * tan(theta1);
241  auto rho2 = globalz * tan(theta2);
242  auto x1 = rho1 * cos(phi1);
243  auto y1 = rho1 * sin(phi1);
244  auto x2 = rho2 * cos(phi2);
245  auto y2 = rho2 * sin(phi2);
246  auto half_point_x = (x1 + x2) / 2.;
247  auto half_point_y = (y1 + y2) / 2.;
248  auto half_point = sqrt((x1 - half_point_x) * (x1 - half_point_x) + (y1 - half_point_y) * (y1 - half_point_y));
249  auto d_len = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
250  auto dn_x = (x2 - x1) / d_len;
251  auto dn_y = (y2 - y1) / d_len;
252  auto distance = (globalx - x1) * dn_x + (globaly - y1) * dn_y;
253  distance -= half_point;
254  auto idealDistance = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
255  if (hitmap.count(it_haf.first)) {
256  profileOnLayer_[hitlayer]->Fill(10. * (globalx - half_point_x),
257  10. * (globaly - half_point_y),
258  hitmap.at(it_haf.first)->energy() * it_haf.second);
259  profileOnLayer_[55]->Fill(10. * (globalx - half_point_x),
260  10. * (globaly - half_point_y),
261  hitmap.at(it_haf.first)->energy() * it_haf.second);
262  globalProfileOnLayer_[hitlayer]->Fill(globalx, globaly, hitmap.at(it_haf.first)->energy() * it_haf.second);
263  globalProfileOnLayer_[55]->Fill(globalx, globaly, hitmap.at(it_haf.first)->energy() * it_haf.second);
264  layerEnergy_->Fill(hitlayer, hitmap.at(it_haf.first)->energy());
265  layerDistance_->Fill(hitlayer, std::abs(10. * distance), hitmap.at(it_haf.first)->energy() * it_haf.second);
266  etaPhi_->Fill(global.eta(), global.phi());
267  distanceOnLayer_[hitlayer]->Fill(10. * distance); //,
268  idealDistanceOnLayer_[hitlayer]->Fill(10. * idealDistance); //,
269  idealDeltaXY_[hitlayer]->Fill(10. * (x1 - x2), 10. * (y1 - y2)); //,
270  centers_[hitlayer]->Fill(10. * half_point_x, 10. * half_point_y); //,
271  IfLogTrace(debug_ > 0, "HGCalShowerSeparation")
272  << ">>> " << distance << " " << hitlayer << " " << hitmap.at(it_haf.first)->energy() * it_haf.second
273  << std::endl;
274  showerProfile_->Fill(10. * distance, hitlayer, hitmap.at(it_haf.first)->energy() * it_haf.second);
275  }
276  } // end simHit
277  } // end simCluster
278  } // end caloparticle
279  }
280 }

References funct::abs(), caloTruthCellsProducer_cfi::caloParticles, caloParticles_, centers_, funct::cos(), submitPVResolutionJobs::count, debug_, deltaEtaPhi_, HLT_FULL_cff::distance, distanceOnLayer_, HCALHighEnergyHPDFilter_cfi::energy, SimCluster::energy(), energy1_, energy2_, energytot_, HLT_FULL_cff::eta1, eta1_, HLT_FULL_cff::eta2, eta2_, etaPhi_, JetChargeProducer_cfi::exp, dqm::impl::MonitorElement::Fill(), filterOnEnergyAndCaloP_, relativeConstraints::geom, edm::EventSetup::get(), get, hgcal::RecHitTools::getLayerWithOffset(), hgcal::RecHitTools::getPosition(), globalProfileOnLayer_, hitMap_, SimCluster::hits_and_fractions(), idealDeltaXY_, idealDistanceOnLayer_, iEvent, IfLogTrace, layerDistance_, layerEnergy_, or, profileOnLayer_, recHitTools_, scEnergy_, hgcal::RecHitTools::setGeometry(), showerProfile_, SimCluster::simEnergy(), funct::sin(), edm::RefVector< C, T, F >::size(), findQualityFiles::size, mathSSE::sqrt(), funct::tan(), PV3DBase< T, PVType, FrameType >::x(), testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, testProducerWithPsetDescEmpty_cfi::y1, and testProducerWithPsetDescEmpty_cfi::y2.

◆ bookHistograms()

void HGCalShowerSeparation::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 98 of file HGCalShowerSeparation.cc.

100  {
101  ibooker.cd();
102  ibooker.setCurrentFolder("HGCalShowerSeparation");
103  scEnergy_ = ibooker.book1D("SCEnergy", "SCEnergy", 240, 0., 120.);
104  eta1_ = ibooker.book1D("eta1", "eta1", 80, 0., 4.);
105  eta2_ = ibooker.book1D("eta2", "eta2", 80, 0., 4.);
106  energy1_ = ibooker.book1D("energy1", "energy1", 240, 0., 120.);
107  energy2_ = ibooker.book1D("energy2", "energy2", 240, 0., 120.);
108  energytot_ = ibooker.book1D("energytot", "energytot", 200, 100., 200.);
109  showerProfile_ = ibooker.book2D("ShowerProfile", "ShowerProfile", 800, -400., 400., layers_, 0., (float)layers_);
110  layerEnergy_ = ibooker.book2D("LayerEnergy", "LayerEnergy", 60, 0., 60., 50, 0., 0.1);
111  layerDistance_ = ibooker.book2D("LayerDistance", "LayerDistance", 60, 0., 60., 400, -400., 400.);
112  etaPhi_ = ibooker.book2D("EtaPhi", "EtaPhi", 800, -4., 4., 800, -4., 4.);
113  deltaEtaPhi_ = ibooker.book2D("DeltaEtaPhi", "DeltaEtaPhi", 100, -0.5, 0.5, 100, -0.5, 0.5);
114  for (int i = 0; i < layers_; ++i) {
115  profileOnLayer_.push_back(ibooker.book2D(std::string("ProfileOnLayer_") + std::to_string(i),
116  std::string("ProfileOnLayer_") + std::to_string(i),
117  120,
118  -600.,
119  600.,
120  120,
121  -600.,
122  600.));
123  globalProfileOnLayer_.push_back(ibooker.book2D(std::string("GlobalProfileOnLayer_") + std::to_string(i),
124  std::string("GlobalProfileOnLayer_") + std::to_string(i),
125  320,
126  -160.,
127  160.,
128  320,
129  -160.,
130  160.));
131  distanceOnLayer_.push_back(ibooker.book1D(std::string("DistanceOnLayer_") + std::to_string(i),
132  std::string("DistanceOnLayer_") + std::to_string(i),
133  120,
134  -600.,
135  600.));
136  idealDistanceOnLayer_.push_back(ibooker.book1D(std::string("IdealDistanceOnLayer_") + std::to_string(i),
137  std::string("IdealDistanceOnLayer_") + std::to_string(i),
138  120,
139  -600.,
140  600.));
141  idealDeltaXY_.push_back(ibooker.book2D(std::string("IdealDeltaXY_") + std::to_string(i),
142  std::string("IdealDeltaXY_") + std::to_string(i),
143  800,
144  -400.,
145  400.,
146  800,
147  -400.,
148  400.));
149  centers_.push_back(ibooker.book2D(std::string("Centers_") + std::to_string(i),
150  std::string("Centers_") + std::to_string(i),
151  320,
152  -1600.,
153  1600.,
154  320,
155  -1600.,
156  1600.));
157  }
158 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), centers_, deltaEtaPhi_, distanceOnLayer_, energy1_, energy2_, energytot_, eta1_, eta2_, etaPhi_, globalProfileOnLayer_, mps_fire::i, idealDeltaXY_, idealDistanceOnLayer_, layerDistance_, layerEnergy_, layers_, profileOnLayer_, scEnergy_, dqm::implementation::NavigatorBase::setCurrentFolder(), showerProfile_, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillDescriptions()

void HGCalShowerSeparation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 284 of file HGCalShowerSeparation.cc.

284  {
286  desc.add<int>("debug", 1);
287  desc.add<bool>("filterOnEnergyAndCaloP", false);
288  desc.add<edm::InputTag>("caloParticles", edm::InputTag("mix", "MergedCaloTruth"));
289  desc.add<edm::InputTag>("hitMapTag", edm::InputTag("hgcalRecHitMapProducer"));
290  descriptions.add("hgcalShowerSeparationDefault", desc);
291 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and HLT_FULL_cff::InputTag.

◆ fillWithRecHits()

void HGCalShowerSeparation::fillWithRecHits ( std::unordered_map< DetId, const HGCRecHit * > &  ,
DetId  ,
unsigned int  ,
float  ,
int &  ,
float &   
)
private

Member Data Documentation

◆ caloParticles_

edm::EDGetTokenT<std::vector<CaloParticle> > HGCalShowerSeparation::caloParticles_
private

Definition at line 57 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ centers_

std::vector<MonitorElement*> HGCalShowerSeparation::centers_
private

Definition at line 79 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ debug_

int HGCalShowerSeparation::debug_
private

Definition at line 59 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ deltaEtaPhi_

MonitorElement* HGCalShowerSeparation::deltaEtaPhi_
private

Definition at line 73 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ distanceOnLayer_

std::vector<MonitorElement*> HGCalShowerSeparation::distanceOnLayer_
private

Definition at line 76 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy1_

MonitorElement* HGCalShowerSeparation::energy1_
private

Definition at line 65 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy2_

MonitorElement* HGCalShowerSeparation::energy2_
private

Definition at line 66 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energytot_

MonitorElement* HGCalShowerSeparation::energytot_
private

Definition at line 67 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta1_

MonitorElement* HGCalShowerSeparation::eta1_
private

Definition at line 63 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta2_

MonitorElement* HGCalShowerSeparation::eta2_
private

Definition at line 64 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ etaPhi_

MonitorElement* HGCalShowerSeparation::etaPhi_
private

Definition at line 72 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ filterOnEnergyAndCaloP_

bool HGCalShowerSeparation::filterOnEnergyAndCaloP_
private

Definition at line 60 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ globalProfileOnLayer_

std::vector<MonitorElement*> HGCalShowerSeparation::globalProfileOnLayer_
private

Definition at line 75 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ hitMap_

edm::EDGetTokenT<std::unordered_map<DetId, const HGCRecHit*> > HGCalShowerSeparation::hitMap_
private

Definition at line 56 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ idealDeltaXY_

std::vector<MonitorElement*> HGCalShowerSeparation::idealDeltaXY_
private

Definition at line 78 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ idealDistanceOnLayer_

std::vector<MonitorElement*> HGCalShowerSeparation::idealDistanceOnLayer_
private

Definition at line 77 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerDistance_

MonitorElement* HGCalShowerSeparation::layerDistance_
private

Definition at line 71 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerEnergy_

MonitorElement* HGCalShowerSeparation::layerEnergy_
private

Definition at line 70 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layers_

constexpr int HGCalShowerSeparation::layers_ = 52
staticconstexprprivate

Definition at line 81 of file HGCalShowerSeparation.cc.

Referenced by bookHistograms().

◆ profileOnLayer_

std::vector<MonitorElement*> HGCalShowerSeparation::profileOnLayer_
private

Definition at line 74 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ recHitTools_

hgcal::RecHitTools HGCalShowerSeparation::recHitTools_
private

Definition at line 61 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ scEnergy_

MonitorElement* HGCalShowerSeparation::scEnergy_
private

Definition at line 68 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ showerProfile_

MonitorElement* HGCalShowerSeparation::showerProfile_
private

Definition at line 69 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

HGCalShowerSeparation::energy1_
MonitorElement * energy1_
Definition: HGCalShowerSeparation.cc:65
mps_fire.i
i
Definition: mps_fire.py:428
HGCalShowerSeparation::showerProfile_
MonitorElement * showerProfile_
Definition: HGCalShowerSeparation.cc:69
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
HGCalShowerSeparation::idealDeltaXY_
std::vector< MonitorElement * > idealDeltaXY_
Definition: HGCalShowerSeparation.cc:78
edm
HLT enums.
Definition: AlignableModifier.h:19
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HGCalShowerSeparation::distanceOnLayer_
std::vector< MonitorElement * > distanceOnLayer_
Definition: HGCalShowerSeparation.cc:76
HGCalShowerSeparation::centers_
std::vector< MonitorElement * > centers_
Definition: HGCalShowerSeparation.cc:79
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
HGCalShowerSeparation::hitMap_
edm::EDGetTokenT< std::unordered_map< DetId, const HGCRecHit * > > hitMap_
Definition: HGCalShowerSeparation.cc:56
edm::Handle
Definition: AssociativeIterator.h:50
HGCalShowerSeparation::filterOnEnergyAndCaloP_
bool filterOnEnergyAndCaloP_
Definition: HGCalShowerSeparation.cc:60
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
testProducerWithPsetDescEmpty_cfi.y1
y1
Definition: testProducerWithPsetDescEmpty_cfi.py:29
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HGCalShowerSeparation::caloParticles_
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticles_
Definition: HGCalShowerSeparation.cc:57
caloTruthCellsProducer_cfi.caloParticles
caloParticles
Definition: caloTruthCellsProducer_cfi.py:6
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HLT_FULL_cff.eta2
eta2
Definition: HLT_FULL_cff.py:9608
edm::ESHandle< CaloGeometry >
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
HGCalShowerSeparation::layerDistance_
MonitorElement * layerDistance_
Definition: HGCalShowerSeparation.cc:71
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
IfLogTrace
#define IfLogTrace(cond, cat)
Definition: MessageLogger.h:250
HGCalShowerSeparation::layers_
static constexpr int layers_
Definition: HGCalShowerSeparation.cc:81
HGCalShowerSeparation::energytot_
MonitorElement * energytot_
Definition: HGCalShowerSeparation.cc:67
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLT_FULL_cff.eta1
eta1
Definition: HLT_FULL_cff.py:9607
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition: testProducerWithPsetDescEmpty_cfi.py:30
hgcal::RecHitTools::getLayerWithOffset
unsigned int getLayerWithOffset(const DetId &) const
Definition: RecHitTools.cc:352
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
HGCalShowerSeparation::recHitTools_
hgcal::RecHitTools recHitTools_
Definition: HGCalShowerSeparation.cc:61
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalShowerSeparation::profileOnLayer_
std::vector< MonitorElement * > profileOnLayer_
Definition: HGCalShowerSeparation.cc:74
HGCalShowerSeparation::deltaEtaPhi_
MonitorElement * deltaEtaPhi_
Definition: HGCalShowerSeparation.cc:73
HGCalShowerSeparation::layerEnergy_
MonitorElement * layerEnergy_
Definition: HGCalShowerSeparation.cc:70
get
#define get
HGCalShowerSeparation::eta2_
MonitorElement * eta2_
Definition: HGCalShowerSeparation.cc:64
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HGCalShowerSeparation::scEnergy_
MonitorElement * scEnergy_
Definition: HGCalShowerSeparation.cc:68
SimCluster::simEnergy
float simEnergy() const
returns the accumulated sim energy in the cluster
Definition: SimCluster.h:213
hgcal::RecHitTools::setGeometry
void setGeometry(CaloGeometry const &)
Definition: RecHitTools.cc:68
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
HGCalShowerSeparation::etaPhi_
MonitorElement * etaPhi_
Definition: HGCalShowerSeparation.cc:72
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HGCalShowerSeparation::idealDistanceOnLayer_
std::vector< MonitorElement * > idealDistanceOnLayer_
Definition: HGCalShowerSeparation.cc:77
HGCalShowerSeparation::energy2_
MonitorElement * energy2_
Definition: HGCalShowerSeparation.cc:66
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
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HGCalShowerSeparation::eta1_
MonitorElement * eta1_
Definition: HGCalShowerSeparation.cc:63
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
hgcal::RecHitTools::getPosition
GlobalPoint getPosition(const DetId &id) const
Definition: RecHitTools.cc:126
edm::RefVector::size
size_type size() const
Size of the RefVector.
Definition: RefVector.h:102
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7799
edm::InputTag
Definition: InputTag.h:15
HGCalShowerSeparation::globalProfileOnLayer_
std::vector< MonitorElement * > globalProfileOnLayer_
Definition: HGCalShowerSeparation.cc:75
HGCalShowerSeparation::debug_
int debug_
Definition: HGCalShowerSeparation.cc:59
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
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443