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 hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () 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::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_
 
std::vector< MonitorElement * > idealDeltaXY_
 
std::vector< MonitorElement * > idealDistanceOnLayer_
 
MonitorElementlayerDistance_
 
MonitorElementlayerEnergy_
 
std::vector< MonitorElement * > profileOnLayer_
 
edm::EDGetTokenT< HGCRecHitCollectionrecHitsBH_
 
edm::EDGetTokenT< HGCRecHitCollectionrecHitsEE_
 
edm::EDGetTokenT< HGCRecHitCollectionrecHitsFH_
 
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 86 of file HGCalShowerSeparation.cc.

87  : debug_(iConfig.getParameter<int>("debug")),
88  filterOnEnergyAndCaloP_(iConfig.getParameter<bool>("filterOnEnergyAndCaloP")) {
89  auto recHitsEE = iConfig.getParameter<edm::InputTag>("recHitsEE");
90  auto recHitsFH = iConfig.getParameter<edm::InputTag>("recHitsFH");
91  auto recHitsBH = iConfig.getParameter<edm::InputTag>("recHitsBH");
92  auto caloParticles = iConfig.getParameter<edm::InputTag>("caloParticles");
93  recHitsEE_ = consumes<HGCRecHitCollection>(recHitsEE);
94  recHitsFH_ = consumes<HGCRecHitCollection>(recHitsFH);
95  recHitsBH_ = consumes<HGCRecHitCollection>(recHitsBH);
96  caloParticles_ = consumes<std::vector<CaloParticle> >(caloParticles);
97 }

References caloTruthCellsProducer_cfi::caloParticles, caloParticles_, edm::ParameterSet::getParameter(), recHitsBH_, EcalDeadCellBoundaryEnergyFilter_cfi::recHitsEE, recHitsEE_, and recHitsFH_.

◆ ~HGCalShowerSeparation()

HGCalShowerSeparation::~HGCalShowerSeparation ( )
override

Definition at line 99 of file HGCalShowerSeparation.cc.

99  {
100  // do anything here that needs to be done at desctruction time
101  // (e.g. close files, deallocate resources etc.)
102 }

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 166 of file HGCalShowerSeparation.cc.

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

References funct::abs(), caloTruthCellsProducer_cfi::caloParticles, caloParticles_, centers_, funct::cos(), KineDebug3::count(), debug_, deltaEtaPhi_, HLT_2018_cff::distance, distanceOnLayer_, HCALHighEnergyHPDFilter_cfi::energy, SimCluster::energy(), energy1_, energy2_, energytot_, HLT_2018_cff::eta1, eta1_, HLT_2018_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_, SimCluster::hits_and_fractions(), mps_fire::i, idealDeltaXY_, idealDistanceOnLayer_, iEvent, IfLogTrace, layerDistance_, layerEnergy_, or, profileOnLayer_, recHitsBH_, recHitsEE_, recHitsFH_, 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 104 of file HGCalShowerSeparation.cc.

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

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 308 of file HGCalShowerSeparation.cc.

308  {
310  desc.add<int>("debug", 1);
311  desc.add<bool>("filterOnEnergyAndCaloP", false);
312  desc.add<edm::InputTag>("caloParticles", edm::InputTag("mix", "MergedCaloTruth"));
313  desc.add<edm::InputTag>("recHitsEE", edm::InputTag("HGCalRecHit", "HGCEERecHits"));
314  desc.add<edm::InputTag>("recHitsFH", edm::InputTag("HGCalRecHit", "HGCHEFRecHits"));
315  desc.add<edm::InputTag>("recHitsBH", edm::InputTag("HGCalRecHit", "HGCHEBRecHits"));
316  descriptions.add("hgcalShowerSeparationDefault", desc);
317 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and HLT_2018_cff::InputTag.

◆ fillWithRecHits()

void HGCalShowerSeparation::fillWithRecHits ( std::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 59 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ centers_

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

Definition at line 81 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ debug_

int HGCalShowerSeparation::debug_
private

Definition at line 61 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ deltaEtaPhi_

MonitorElement* HGCalShowerSeparation::deltaEtaPhi_
private

Definition at line 75 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ distanceOnLayer_

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

Definition at line 78 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy1_

MonitorElement* HGCalShowerSeparation::energy1_
private

Definition at line 67 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy2_

MonitorElement* HGCalShowerSeparation::energy2_
private

Definition at line 68 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energytot_

MonitorElement* HGCalShowerSeparation::energytot_
private

Definition at line 69 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta1_

MonitorElement* HGCalShowerSeparation::eta1_
private

Definition at line 65 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta2_

MonitorElement* HGCalShowerSeparation::eta2_
private

Definition at line 66 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ etaPhi_

MonitorElement* HGCalShowerSeparation::etaPhi_
private

Definition at line 74 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ filterOnEnergyAndCaloP_

bool HGCalShowerSeparation::filterOnEnergyAndCaloP_
private

Definition at line 62 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ globalProfileOnLayer_

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

Definition at line 77 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ idealDeltaXY_

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

Definition at line 80 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ idealDistanceOnLayer_

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

Definition at line 79 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerDistance_

MonitorElement* HGCalShowerSeparation::layerDistance_
private

Definition at line 73 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerEnergy_

MonitorElement* HGCalShowerSeparation::layerEnergy_
private

Definition at line 72 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layers_

constexpr int HGCalShowerSeparation::layers_ = 52
staticconstexprprivate

Definition at line 83 of file HGCalShowerSeparation.cc.

Referenced by bookHistograms().

◆ profileOnLayer_

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

Definition at line 76 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ recHitsBH_

edm::EDGetTokenT<HGCRecHitCollection> HGCalShowerSeparation::recHitsBH_
private

Definition at line 58 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ recHitsEE_

edm::EDGetTokenT<HGCRecHitCollection> HGCalShowerSeparation::recHitsEE_
private

Definition at line 56 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ recHitsFH_

edm::EDGetTokenT<HGCRecHitCollection> HGCalShowerSeparation::recHitsFH_
private

Definition at line 57 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ recHitTools_

hgcal::RecHitTools HGCalShowerSeparation::recHitTools_
private

Definition at line 63 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ scEnergy_

MonitorElement* HGCalShowerSeparation::scEnergy_
private

Definition at line 70 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ showerProfile_

MonitorElement* HGCalShowerSeparation::showerProfile_
private

Definition at line 71 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

HGCalShowerSeparation::energy1_
MonitorElement * energy1_
Definition: HGCalShowerSeparation.cc:67
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
HGCalShowerSeparation::showerProfile_
MonitorElement * showerProfile_
Definition: HGCalShowerSeparation.cc:71
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
HGCalShowerSeparation::idealDeltaXY_
std::vector< MonitorElement * > idealDeltaXY_
Definition: HGCalShowerSeparation.cc:80
edm
HLT enums.
Definition: AlignableModifier.h:19
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
HLT_2018_cff.eta1
eta1
Definition: HLT_2018_cff.py:8220
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HGCalShowerSeparation::distanceOnLayer_
std::vector< MonitorElement * > distanceOnLayer_
Definition: HGCalShowerSeparation.cc:78
HGCalShowerSeparation::recHitsFH_
edm::EDGetTokenT< HGCRecHitCollection > recHitsFH_
Definition: HGCalShowerSeparation.cc:57
HGCalShowerSeparation::centers_
std::vector< MonitorElement * > centers_
Definition: HGCalShowerSeparation.cc:81
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
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
edm::Handle
Definition: AssociativeIterator.h:50
HGCalShowerSeparation::filterOnEnergyAndCaloP_
bool filterOnEnergyAndCaloP_
Definition: HGCalShowerSeparation.cc:62
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
HGCalShowerSeparation::recHitsBH_
edm::EDGetTokenT< HGCRecHitCollection > recHitsBH_
Definition: HGCalShowerSeparation.cc:58
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
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:59
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
edm::ESHandle< CaloGeometry >
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HGCalShowerSeparation::layerDistance_
MonitorElement * layerDistance_
Definition: HGCalShowerSeparation.cc:73
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
IfLogTrace
#define IfLogTrace(cond, cat)
Definition: MessageLogger.h:699
HGCalShowerSeparation::layers_
static constexpr int layers_
Definition: HGCalShowerSeparation.cc:83
HGCalShowerSeparation::energytot_
MonitorElement * energytot_
Definition: HGCalShowerSeparation.cc:69
HLT_2018_cff.eta2
eta2
Definition: HLT_2018_cff.py:8221
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition: testProducerWithPsetDescEmpty_cfi.py:30
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
KineDebug3::count
void count()
Definition: KinematicConstrainedVertexUpdatorT.h:21
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:63
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalShowerSeparation::profileOnLayer_
std::vector< MonitorElement * > profileOnLayer_
Definition: HGCalShowerSeparation.cc:76
HGCalShowerSeparation::deltaEtaPhi_
MonitorElement * deltaEtaPhi_
Definition: HGCalShowerSeparation.cc:75
HGCalShowerSeparation::layerEnergy_
MonitorElement * layerEnergy_
Definition: HGCalShowerSeparation.cc:72
get
#define get
HGCalShowerSeparation::eta2_
MonitorElement * eta2_
Definition: HGCalShowerSeparation.cc:66
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
EcalDeadCellBoundaryEnergyFilter_cfi.recHitsEE
recHitsEE
Definition: EcalDeadCellBoundaryEnergyFilter_cfi.py:18
HGCalShowerSeparation::scEnergy_
MonitorElement * scEnergy_
Definition: HGCalShowerSeparation.cc:70
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
HGCalShowerSeparation::etaPhi_
MonitorElement * etaPhi_
Definition: HGCalShowerSeparation.cc:74
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
HGCalShowerSeparation::idealDistanceOnLayer_
std::vector< MonitorElement * > idealDistanceOnLayer_
Definition: HGCalShowerSeparation.cc:79
HGCalShowerSeparation::energy2_
MonitorElement * energy2_
Definition: HGCalShowerSeparation.cc:68
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:65
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
HGCalShowerSeparation::recHitsEE_
edm::EDGetTokenT< HGCRecHitCollection > recHitsEE_
Definition: HGCalShowerSeparation.cc:56
edm::InputTag
Definition: InputTag.h:15
HGCalShowerSeparation::globalProfileOnLayer_
std::vector< MonitorElement * > globalProfileOnLayer_
Definition: HGCalShowerSeparation.cc:77
HGCalShowerSeparation::debug_
int debug_
Definition: HGCalShowerSeparation.cc:61
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443