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=default
 
- 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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 unsigned int > &, 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 unsigned int > > hitMap_
 
std::vector< HGCRecHithits_
 
std::vector< edm::InputTaghits_label
 
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
 
std::vector< MonitorElement * > idealDeltaXY_
 
std::vector< MonitorElement * > idealDistanceOnLayer_
 
MonitorElementlayerDistance_
 
MonitorElementlayerEnergy_
 
std::vector< MonitorElement * > profileOnLayer_
 
hgcal::RecHitTools recHitTools_
 
MonitorElementscEnergy_
 
MonitorElementshowerProfile_
 
const edm::ESGetToken< CaloGeometry, CaloGeometryRecordtok_geom_
 

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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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 36 of file HGCalShowerSeparation.cc.

Constructor & Destructor Documentation

◆ HGCalShowerSeparation()

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

Definition at line 81 of file HGCalShowerSeparation.cc.

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

82  : tok_geom_(esConsumes<CaloGeometry, CaloGeometryRecord>()),
83  debug_(iConfig.getParameter<int>("debug")),
84  filterOnEnergyAndCaloP_(iConfig.getParameter<bool>("filterOnEnergyAndCaloP")) {
85  auto hitMapInputTag = iConfig.getParameter<edm::InputTag>("hitMapTag");
86  auto caloParticles = iConfig.getParameter<edm::InputTag>("caloParticles");
87  hitMap_ = consumes<std::unordered_map<DetId, const unsigned int>>(hitMapInputTag);
88  caloParticles_ = consumes<std::vector<CaloParticle>>(caloParticles);
89  auto hits_label_ = iConfig.getParameter<std::vector<edm::InputTag>>("hits");
90 
91  for (auto& label : hits_label_) {
92  hits_token_.push_back(consumes<HGCRecHitCollection>(label));
93  }
94 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
char const * label
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticles_
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_

◆ ~HGCalShowerSeparation()

HGCalShowerSeparation::~HGCalShowerSeparation ( )
overridedefault

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 156 of file HGCalShowerSeparation.cc.

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

156  {
158 
159  for (auto& token : hits_token_) {
161  iEvent.getByToken(token, hits_handle);
162  hits_.insert(hits_.end(), (*hits_handle).begin(), (*hits_handle).end());
163  }
164 
165  const edm::Handle<std::vector<CaloParticle>>& caloParticleHandle = iEvent.getHandle(caloParticles_);
166  const std::vector<CaloParticle>& caloParticles = *(caloParticleHandle.product());
167 
169  iEvent.getByToken(hitMap_, hitMapHandle);
170  const auto hitmap = *hitMapHandle;
171 
172  // loop over caloParticles
173  IfLogTrace(debug_ > 0, "HGCalShowerSeparation") << "Number of caloParticles: " << caloParticles.size() << std::endl;
174  if (caloParticles.size() == 2) {
175  auto eta1 = caloParticles[0].eta();
176  auto phi1 = caloParticles[0].phi();
177  auto theta1 = 2. * std::atan(exp(-eta1));
178  auto eta2 = caloParticles[1].eta();
179  auto phi2 = caloParticles[1].phi();
180  auto theta2 = 2. * std::atan(exp(-eta2));
181  eta1_->Fill(eta1);
182  eta2_->Fill(eta2);
183 
184  // Select event only if the sum of the energy of its recHits
185  // is close enough to the gen energy
186  int count = 0;
187  int size = 0;
188  float energy = 0.;
189  float energy_tmp = 0.;
190  for (const auto& it_caloPart : caloParticles) {
191  count++;
192  const SimClusterRefVector& simClusterRefVector = it_caloPart.simClusters();
193  size += simClusterRefVector.size();
194  for (const auto& it_sc : simClusterRefVector) {
195  const SimCluster& simCluster = (*(it_sc));
196  const std::vector<std::pair<uint32_t, float>>& hits_and_fractions = simCluster.hits_and_fractions();
197  for (const auto& it_haf : hits_and_fractions) {
198  if (hitmap.count(it_haf.first)) {
199  const HGCRecHit* hit = &(hits_[hitmap.at(it_haf.first)]);
200  energy += hit->energy() * it_haf.second;
201  }
202  } //hits and fractions
203  } // simcluster
204  if (count == 1) {
205  energy1_->Fill(energy);
206  energy_tmp = energy;
207  } else {
208  energy2_->Fill(energy - energy_tmp);
209  }
210  } // caloParticle
212  if (filterOnEnergyAndCaloP_ && (energy < 2. * 0.8 * 80 or size != 2))
213  return;
214 
215  deltaEtaPhi_->Fill(eta1 - eta2, phi1 - phi2);
216 
217  for (const auto& it_caloPart : caloParticles) {
218  const SimClusterRefVector& simClusterRefVector = it_caloPart.simClusters();
219  IfLogTrace(debug_ > 0, "HGCalShowerSeparation") << ">>> " << simClusterRefVector.size() << std::endl;
220  for (const auto& it_sc : simClusterRefVector) {
221  const SimCluster& simCluster = (*(it_sc));
222  if (simCluster.energy() < 80 * 0.8)
223  continue;
224  scEnergy_->Fill(simCluster.energy());
225  IfLogTrace(debug_ > 1, "HGCalShowerSeparation")
226  << ">>> SC.energy(): " << simCluster.energy() << " SC.simEnergy(): " << simCluster.simEnergy() << std::endl;
227  const std::vector<std::pair<uint32_t, float>>& hits_and_fractions = simCluster.hits_and_fractions();
228 
229  for (const auto& it_haf : hits_and_fractions) {
230  if (!hitmap.count(it_haf.first))
231  continue;
232  unsigned int hitlayer = recHitTools_.getLayerWithOffset(it_haf.first);
233  auto global = recHitTools_.getPosition(it_haf.first);
234  float globalx = global.x();
235  float globaly = global.y();
236  float globalz = global.z();
237  if (globalz == 0)
238  continue;
239  auto rho1 = globalz * tan(theta1);
240  auto rho2 = globalz * tan(theta2);
241  auto x1 = rho1 * cos(phi1);
242  auto y1 = rho1 * sin(phi1);
243  auto x2 = rho2 * cos(phi2);
244  auto y2 = rho2 * sin(phi2);
245  auto half_point_x = (x1 + x2) / 2.;
246  auto half_point_y = (y1 + y2) / 2.;
247  auto half_point = sqrt((x1 - half_point_x) * (x1 - half_point_x) + (y1 - half_point_y) * (y1 - half_point_y));
248  auto d_len = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
249  auto dn_x = (x2 - x1) / d_len;
250  auto dn_y = (y2 - y1) / d_len;
251  auto distance = (globalx - x1) * dn_x + (globaly - y1) * dn_y;
252  distance -= half_point;
253  auto idealDistance = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
254  if (hitmap.count(it_haf.first)) {
255  const HGCRecHit* hit = &(hits_[hitmap.at(it_haf.first)]);
256  profileOnLayer_[hitlayer]->Fill(
257  10. * (globalx - half_point_x), 10. * (globaly - half_point_y), hit->energy() * it_haf.second);
258  profileOnLayer_[55]->Fill(
259  10. * (globalx - half_point_x), 10. * (globaly - half_point_y), hit->energy() * it_haf.second);
260  globalProfileOnLayer_[hitlayer]->Fill(globalx, globaly, hit->energy() * it_haf.second);
261  globalProfileOnLayer_[55]->Fill(globalx, globaly, hit->energy() * it_haf.second);
262  layerEnergy_->Fill(hitlayer, hit->energy());
263  layerDistance_->Fill(hitlayer, std::abs(10. * distance), hit->energy() * it_haf.second);
264  etaPhi_->Fill(global.eta(), global.phi());
265  distanceOnLayer_[hitlayer]->Fill(10. * distance); //,
266  idealDistanceOnLayer_[hitlayer]->Fill(10. * idealDistance); //,
267  idealDeltaXY_[hitlayer]->Fill(10. * (x1 - x2), 10. * (y1 - y2)); //,
268  centers_[hitlayer]->Fill(10. * half_point_x, 10. * half_point_y); //,
269  IfLogTrace(debug_ > 0, "HGCalShowerSeparation")
270  << ">>> " << distance << " " << hitlayer << " " << hit->energy() * it_haf.second << std::endl;
271  showerProfile_->Fill(10. * distance, hitlayer, hit->energy() * it_haf.second);
272  }
273  } // end simHit
274  } // end simCluster
275  } // end caloparticle
276  }
277 }
size
Write out results.
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
#define IfLogTrace(cond, cat)
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
T const * product() const
Definition: Handle.h:70
std::vector< MonitorElement * > globalProfileOnLayer_
std::vector< MonitorElement * > idealDeltaXY_
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this SimCluster.
Definition: SimCluster.h:188
float simEnergy() const
returns the accumulated sim energy in the cluster
Definition: SimCluster.h:241
std::vector< MonitorElement * > profileOnLayer_
void Fill(long long x)
T x() const
Definition: PV3DBase.h:59
int iEvent
Definition: GenABIO.cc:224
Monte Carlo truth information used for tracking validation.
Definition: SimCluster.h:33
GlobalPoint getPosition(const DetId &id) const
Definition: RecHitTools.cc:140
T sqrt(T t)
Definition: SSEVec.h:23
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticles_
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
std::vector< MonitorElement * > distanceOnLayer_
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
size_type size() const
Size of the RefVector.
Definition: RefVector.h:102
hgcal::RecHitTools recHitTools_
MonitorElement * layerDistance_
void setGeometry(CaloGeometry const &)
Definition: RecHitTools.cc:79
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
std::vector< HGCRecHit > hits_
float energy() const
Energy. Note this is taken from the first SimTrack only.
Definition: SimCluster.h:108
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_
std::vector< MonitorElement * > centers_
std::vector< MonitorElement * > idealDistanceOnLayer_
MonitorElement * showerProfile_
unsigned int getLayerWithOffset(const DetId &) const
Definition: RecHitTools.cc:381

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 96 of file HGCalShowerSeparation.cc.

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_, AlCaHLTBitMon_QueryRunRegistry::string, and to_string().

96  {
97  ibooker.cd();
98  ibooker.setCurrentFolder("HGCalShowerSeparation");
99  scEnergy_ = ibooker.book1D("SCEnergy", "SCEnergy", 240, 0., 120.);
100  eta1_ = ibooker.book1D("eta1", "eta1", 80, 0., 4.);
101  eta2_ = ibooker.book1D("eta2", "eta2", 80, 0., 4.);
102  energy1_ = ibooker.book1D("energy1", "energy1", 240, 0., 120.);
103  energy2_ = ibooker.book1D("energy2", "energy2", 240, 0., 120.);
104  energytot_ = ibooker.book1D("energytot", "energytot", 200, 100., 200.);
105  showerProfile_ = ibooker.book2D("ShowerProfile", "ShowerProfile", 800, -400., 400., layers_, 0., (float)layers_);
106  layerEnergy_ = ibooker.book2D("LayerEnergy", "LayerEnergy", 60, 0., 60., 50, 0., 0.1);
107  layerDistance_ = ibooker.book2D("LayerDistance", "LayerDistance", 60, 0., 60., 400, -400., 400.);
108  etaPhi_ = ibooker.book2D("EtaPhi", "EtaPhi", 800, -4., 4., 800, -4., 4.);
109  deltaEtaPhi_ = ibooker.book2D("DeltaEtaPhi", "DeltaEtaPhi", 100, -0.5, 0.5, 100, -0.5, 0.5);
110  for (int i = 0; i < layers_; ++i) {
111  profileOnLayer_.push_back(ibooker.book2D(std::string("ProfileOnLayer_") + std::to_string(i),
112  std::string("ProfileOnLayer_") + std::to_string(i),
113  120,
114  -600.,
115  600.,
116  120,
117  -600.,
118  600.));
119  globalProfileOnLayer_.push_back(ibooker.book2D(std::string("GlobalProfileOnLayer_") + std::to_string(i),
120  std::string("GlobalProfileOnLayer_") + std::to_string(i),
121  320,
122  -160.,
123  160.,
124  320,
125  -160.,
126  160.));
127  distanceOnLayer_.push_back(ibooker.book1D(std::string("DistanceOnLayer_") + std::to_string(i),
128  std::string("DistanceOnLayer_") + std::to_string(i),
129  120,
130  -600.,
131  600.));
132  idealDistanceOnLayer_.push_back(ibooker.book1D(std::string("IdealDistanceOnLayer_") + std::to_string(i),
133  std::string("IdealDistanceOnLayer_") + std::to_string(i),
134  120,
135  -600.,
136  600.));
137  idealDeltaXY_.push_back(ibooker.book2D(std::string("IdealDeltaXY_") + std::to_string(i),
138  std::string("IdealDeltaXY_") + std::to_string(i),
139  800,
140  -400.,
141  400.,
142  800,
143  -400.,
144  400.));
145  centers_.push_back(ibooker.book2D(std::string("Centers_") + std::to_string(i),
146  std::string("Centers_") + std::to_string(i),
147  320,
148  -1600.,
149  1600.,
150  320,
151  -1600.,
152  1600.));
153  }
154 }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
static constexpr int layers_
std::vector< MonitorElement * > globalProfileOnLayer_
std::vector< MonitorElement * > idealDeltaXY_
static std::string to_string(const XMLCh *ch)
std::vector< MonitorElement * > profileOnLayer_
std::vector< MonitorElement * > distanceOnLayer_
MonitorElement * layerDistance_
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:221
std::vector< MonitorElement * > centers_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
std::vector< MonitorElement * > idealDistanceOnLayer_
MonitorElement * showerProfile_

◆ fillDescriptions()

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

Definition at line 281 of file HGCalShowerSeparation.cc.

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

281  {
283  desc.add<int>("debug", 1);
284  desc.add<bool>("filterOnEnergyAndCaloP", false);
285  desc.add<edm::InputTag>("caloParticles", edm::InputTag("mix", "MergedCaloTruth"));
286  desc.add<edm::InputTag>("hitMapTag", edm::InputTag("recHitMapProducer", "hgcalRecHitMap"));
287  desc.add<std::vector<edm::InputTag>>("hits",
288  {edm::InputTag("HGCalRecHit", "HGCEERecHits"),
289  edm::InputTag("HGCalRecHit", "HGCHEFRecHits"),
290  edm::InputTag("HGCalRecHit", "HGCHEBRecHits")});
291  descriptions.add("hgcalShowerSeparationDefault", desc);
292 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ fillWithRecHits()

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

Member Data Documentation

◆ caloParticles_

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

Definition at line 50 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ centers_

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

Definition at line 76 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ debug_

int HGCalShowerSeparation::debug_
private

Definition at line 55 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ deltaEtaPhi_

MonitorElement* HGCalShowerSeparation::deltaEtaPhi_
private

Definition at line 70 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ distanceOnLayer_

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

Definition at line 73 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy1_

MonitorElement* HGCalShowerSeparation::energy1_
private

Definition at line 62 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energy2_

MonitorElement* HGCalShowerSeparation::energy2_
private

Definition at line 63 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ energytot_

MonitorElement* HGCalShowerSeparation::energytot_
private

Definition at line 64 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta1_

MonitorElement* HGCalShowerSeparation::eta1_
private

Definition at line 60 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ eta2_

MonitorElement* HGCalShowerSeparation::eta2_
private

Definition at line 61 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ etaPhi_

MonitorElement* HGCalShowerSeparation::etaPhi_
private

Definition at line 69 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ filterOnEnergyAndCaloP_

bool HGCalShowerSeparation::filterOnEnergyAndCaloP_
private

Definition at line 56 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ globalProfileOnLayer_

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

Definition at line 72 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ hitMap_

edm::EDGetTokenT<std::unordered_map<DetId, const unsigned int> > HGCalShowerSeparation::hitMap_
private

Definition at line 49 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ hits_

std::vector<HGCRecHit> HGCalShowerSeparation::hits_
private

Definition at line 58 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ hits_label

std::vector<edm::InputTag> HGCalShowerSeparation::hits_label
private

Definition at line 52 of file HGCalShowerSeparation.cc.

◆ hits_token_

std::vector<edm::EDGetTokenT<HGCRecHitCollection> > HGCalShowerSeparation::hits_token_
private

Definition at line 53 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and HGCalShowerSeparation().

◆ idealDeltaXY_

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

Definition at line 75 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ idealDistanceOnLayer_

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

Definition at line 74 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerDistance_

MonitorElement* HGCalShowerSeparation::layerDistance_
private

Definition at line 68 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layerEnergy_

MonitorElement* HGCalShowerSeparation::layerEnergy_
private

Definition at line 67 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ layers_

constexpr int HGCalShowerSeparation::layers_ = 52
staticprivate

Definition at line 78 of file HGCalShowerSeparation.cc.

Referenced by bookHistograms().

◆ profileOnLayer_

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

Definition at line 71 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ recHitTools_

hgcal::RecHitTools HGCalShowerSeparation::recHitTools_
private

Definition at line 57 of file HGCalShowerSeparation.cc.

Referenced by analyze().

◆ scEnergy_

MonitorElement* HGCalShowerSeparation::scEnergy_
private

Definition at line 65 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ showerProfile_

MonitorElement* HGCalShowerSeparation::showerProfile_
private

Definition at line 66 of file HGCalShowerSeparation.cc.

Referenced by analyze(), and bookHistograms().

◆ tok_geom_

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HGCalShowerSeparation::tok_geom_
private

Definition at line 51 of file HGCalShowerSeparation.cc.

Referenced by analyze().