CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
PFECALSuperClusterAlgo Class Reference

\ Algorithm for box particle flow super clustering in the ECAL More...

#include <PFECALSuperClusterAlgo.h>

Classes

class  CalibratedPFCluster
 

Public Types

typedef std::shared_ptr< CalibratedPFClusterCalibratedClusterPtr
 
typedef std::vector< CalibratedClusterPtrCalibratedClusterPtrVector
 
enum  clustering_type { kBOX = 1, kMustache = 2 }
 
enum  energy_weight { kRaw, kCalibratedNoPS, kCalibratedTotal }
 

Public Member Functions

std::unique_ptr< reco::SuperClusterCollection > & getEBOutputSCCollection ()
 
std::unique_ptr< reco::SuperClusterCollection > & getEEOutputSCCollection ()
 
void loadAndSortPFClusters (const edm::Event &evt)
 
 PFECALSuperClusterAlgo ()
 constructor More...
 
void run ()
 
void setClusteringType (clustering_type thetype)
 
void setCrackCorrections (bool applyCrackCorrections)
 
void setDropUnseedable (const bool d)
 
void setEnergyWeighting (energy_weight thetype)
 
void setEtawidthSuperClusterBarrel (double etawidth)
 
void setEtawidthSuperClusterEndcap (double etawidth)
 
void setIsOOTCollection (bool isOOTCollection)
 
void setMajorityFraction (const double f)
 
void setPFClusterCalibration (const std::shared_ptr< PFEnergyCalibration > &)
 
void setPhiwidthSuperClusterBarrel (double phiwidth)
 
void setPhiwidthSuperClusterEndcap (double phiwidth)
 
void setSatelliteMerging (const bool doit)
 
void setSatelliteThreshold (const double t)
 
void setThreshPFClusterBarrel (double thresh)
 
void setThreshPFClusterEndcap (double thresh)
 
void setThreshPFClusterSeedBarrel (double thresh)
 
void setThreshPFClusterSeedEndcap (double thresh)
 
void setThreshSuperClusterEt (double thresh)
 
void setTokens (const edm::ParameterSet &, edm::ConsumesCollector &&)
 
void setUseDynamicDPhi (bool useit)
 
void setUseETForSeeding (bool useET)
 
void setUseRegression (bool useRegression)
 
void setVerbosityLevel (bool verbose)
 
void update (const edm::EventSetup &)
 

Private Member Functions

void buildAllSuperClusters (CalibratedClusterPtrVector &, double seedthresh)
 
void buildSuperCluster (CalibratedClusterPtr &, CalibratedClusterPtrVector &)
 

Private Attributes

CalibratedClusterPtrVector _clustersEB
 
CalibratedClusterPtrVector _clustersEE
 
clustering_type _clustype
 
energy_weight _eweight
 
std::shared_ptr< PFEnergyCalibration_pfEnergyCalibration
 
bool applyCrackCorrections_
 
const EcalRecHitCollectionbarrelRecHits_
 
const reco::BeamSpotbeamSpot_
 
const ESChannelStatuschannelStatus_
 
bool doSatelliteClusterMerge_
 
bool dropUnseedable_
 
const reco::PFCluster::EEtoPSAssociationEEtoPS_
 
const EcalRecHitCollectionendcapRecHits_
 
double etawidthSuperClusterBarrel_
 
double etawidthSuperClusterEndcap_
 
double fractionForMajority_
 
edm::EDGetTokenT< EcalRecHitCollectioninputTagBarrelRecHits_
 
edm::EDGetTokenT< reco::BeamSpotinputTagBeamSpot_
 
edm::EDGetTokenT< EcalRecHitCollectioninputTagEndcapRecHits_
 
edm::EDGetTokenT< edm::View< reco::PFCluster > > inputTagPFClusters_
 
edm::EDGetTokenT< reco::PFCluster::EEtoPSAssociationinputTagPFClustersES_
 
bool isOOTCollection_
 
double phiwidthSuperClusterBarrel_
 
double phiwidthSuperClusterEndcap_
 
std::unique_ptr< SCEnergyCorrectorSemiParmregr_
 
double satelliteThreshold_
 
std::unique_ptr< reco::SuperClusterCollectionsuperClustersEB_
 
std::unique_ptr< reco::SuperClusterCollectionsuperClustersEE_
 
bool threshIsET_
 
double threshPFClusterBarrel_
 
double threshPFClusterEndcap_
 
double threshPFClusterSeedBarrel_
 
double threshPFClusterSeedEndcap_
 
double threshSuperClusterEt_
 
bool useDynamicDPhi_
 
bool useRegression_
 
bool verbose_
 

Detailed Description

\ Algorithm for box particle flow super clustering in the ECAL

Original Author: Nicolas Chanon Additional Authors (Mustache): Y. Gershtein, R. Patel, L. Gray

Date
July 2012

Definition at line 42 of file PFECALSuperClusterAlgo.h.

Member Typedef Documentation

◆ CalibratedClusterPtr

Definition at line 62 of file PFECALSuperClusterAlgo.h.

◆ CalibratedClusterPtrVector

Definition at line 63 of file PFECALSuperClusterAlgo.h.

Member Enumeration Documentation

◆ clustering_type

Enumerator
kBOX 
kMustache 

Definition at line 44 of file PFECALSuperClusterAlgo.h.

44 { kBOX = 1, kMustache = 2 };

◆ energy_weight

Enumerator
kRaw 
kCalibratedNoPS 
kCalibratedTotal 

Definition at line 45 of file PFECALSuperClusterAlgo.h.

Constructor & Destructor Documentation

◆ PFECALSuperClusterAlgo()

PFECALSuperClusterAlgo::PFECALSuperClusterAlgo ( )

constructor

Definition at line 109 of file PFECALSuperClusterAlgo.cc.

109 : beamSpot_(nullptr) {}

Member Function Documentation

◆ buildAllSuperClusters()

void PFECALSuperClusterAlgo::buildAllSuperClusters ( CalibratedClusterPtrVector ,
double  seedthresh 
)
private

Definition at line 235 of file PFECALSuperClusterAlgo.cc.

235  {
236  auto seedable = std::bind(isSeed, _1, seedthresh, threshIsET_);
237  // make sure only seeds appear at the front of the list of clusters
238  std::stable_partition(clusters.begin(), clusters.end(), seedable);
239  // in each iteration we are working on a list that is already sorted
240  // in the cluster energy and remains so through each iteration
241  // NB: since clusters is sorted in loadClusters any_of has O(1)
242  // timing until you run out of seeds!
243  while (std::any_of(clusters.cbegin(), clusters.cend(), seedable)) {
245  }
246 }

References buildSuperCluster(), bsc_activity_cfg::clusters, and threshIsET_.

Referenced by run().

◆ buildSuperCluster()

void PFECALSuperClusterAlgo::buildSuperCluster ( CalibratedClusterPtr ,
CalibratedClusterPtrVector  
)
private

Definition at line 248 of file PFECALSuperClusterAlgo.cc.

248  {
249  double etawidthSuperCluster = 0.0;
250  double phiwidthSuperCluster = 0.0;
251  bool isEE = false;
252  switch (seed->the_ptr()->layer()) {
254  phiwidthSuperCluster = phiwidthSuperClusterBarrel_;
255  etawidthSuperCluster = etawidthSuperClusterBarrel_;
256  edm::LogInfo("PFClustering") << "Building SC number " << superClustersEB_->size() + 1 << " in the ECAL barrel!";
257  break;
258  case PFLayer::HGCAL:
260 
261  phiwidthSuperCluster = phiwidthSuperClusterEndcap_;
262  etawidthSuperCluster = etawidthSuperClusterEndcap_;
263  edm::LogInfo("PFClustering") << "Building SC number " << superClustersEE_->size() + 1 << " in the ECAL endcap!"
264  << std::endl;
265  isEE = true;
266  break;
267  default:
268  break;
269  }
270  auto isClusteredWithSeed =
271  std::bind(isClustered, _1, seed, _clustype, useDynamicDPhi_, etawidthSuperCluster, phiwidthSuperCluster);
272  auto matchesSeedByRecHit = std::bind(isLinkedByRecHit, _1, seed, satelliteThreshold_, fractionForMajority_, 0.1, 0.2);
273 
274  // this function shuffles the list of clusters into a list
275  // where all clustered sub-clusters are at the front
276  // and returns a pointer to the first unclustered cluster.
277  // The relative ordering of clusters is preserved
278  // (i.e. both resulting sub-lists are sorted by energy).
279  auto not_clustered = std::stable_partition(clusters.begin(), clusters.end(), isClusteredWithSeed);
280  // satellite cluster merging
281  // it was found that large clusters can split!
283  not_clustered = std::stable_partition(not_clustered, clusters.end(), matchesSeedByRecHit);
284  }
285 
286  if (verbose_) {
287  edm::LogInfo("PFClustering") << "Dumping cluster detail";
288  edm::LogVerbatim("PFClustering") << "\tPassed seed: e = " << seed->energy_nocalib() << " eta = " << seed->eta()
289  << " phi = " << seed->phi() << std::endl;
290  for (auto clus = clusters.cbegin(); clus != not_clustered; ++clus) {
291  edm::LogVerbatim("PFClustering") << "\t\tClustered cluster: e = " << (*clus)->energy_nocalib()
292  << " eta = " << (*clus)->eta() << " phi = " << (*clus)->phi() << std::endl;
293  }
294  for (auto clus = not_clustered; clus != clusters.end(); ++clus) {
295  edm::LogVerbatim("PFClustering") << "\tNon-Clustered cluster: e = " << (*clus)->energy_nocalib()
296  << " eta = " << (*clus)->eta() << " phi = " << (*clus)->phi() << std::endl;
297  }
298  }
299 
300  if (not_clustered == clusters.begin()) {
301  if (dropUnseedable_) {
302  clusters.erase(clusters.begin());
303  return;
304  } else {
305  throw cms::Exception("PFECALSuperClusterAlgo::buildSuperCluster")
306  << "Cluster is not seedable!" << std::endl
307  << "\tNon-Clustered cluster: e = " << (*not_clustered)->energy_nocalib()
308  << " eta = " << (*not_clustered)->eta() << " phi = " << (*not_clustered)->phi() << std::endl;
309  }
310  }
311 
312  // move the clustered clusters out of available cluster list
313  // and into a temporary vector for building the SC
314  CalibratedClusterPtrVector clustered(clusters.begin(), not_clustered);
315  clusters.erase(clusters.begin(), not_clustered);
316  // need the vector of raw pointers for a PF width class
317  std::vector<const reco::PFCluster*> bare_ptrs;
318  // calculate necessary parameters and build the SC
319  double posX(0), posY(0), posZ(0), corrSCEnergy(0), corrPS1Energy(0), corrPS2Energy(0), energyweight(0),
320  energyweighttot(0);
321  for (auto& clus : clustered) {
322  double ePS1 = 0.0;
323  double ePS2 = 0.0;
324  energyweight = clus->energy_nocalib();
325  bare_ptrs.push_back(clus->the_ptr().get());
326  // update EE calibrated super cluster energies
327  if (isEE) {
328  auto ee_key_val = std::make_pair(clus->the_ptr().key(), edm::Ptr<reco::PFCluster>());
329  const auto clustops = std::equal_range(EEtoPS_->begin(), EEtoPS_->end(), ee_key_val, sortByKey);
330  std::vector<reco::PFCluster const*> psClusterPointers;
331  for (auto i_ps = clustops.first; i_ps != clustops.second; ++i_ps) {
332  psClusterPointers.push_back(i_ps->second.get());
333  }
334  auto calibratedEnergies = _pfEnergyCalibration->calibrateEndcapClusterEnergies(
335  *(clus->the_ptr()), psClusterPointers, *channelStatus_, applyCrackCorrections_);
336  ePS1 = calibratedEnergies.ps1Energy;
337  ePS2 = calibratedEnergies.ps2Energy;
338  }
339 
340  if (ePS1 == -1.)
341  ePS1 = 0;
342  if (ePS2 == -1.)
343  ePS2 = 0;
344 
345  switch (_eweight) {
346  case kRaw: // energyweight is initialized to raw cluster energy
347  break;
348  case kCalibratedNoPS:
349  energyweight = clus->energy() - ePS1 - ePS2;
350  break;
351  case kCalibratedTotal:
352  energyweight = clus->energy();
353  break;
354  default:
355  break;
356  }
357  const math::XYZPoint& cluspos = clus->the_ptr()->position();
358  posX += energyweight * cluspos.X();
359  posY += energyweight * cluspos.Y();
360  posZ += energyweight * cluspos.Z();
361 
362  energyweighttot += energyweight;
363  corrSCEnergy += clus->energy();
364  corrPS1Energy += ePS1;
365  corrPS2Energy += ePS2;
366  }
367  posX /= energyweighttot;
368  posY /= energyweighttot;
369  posZ /= energyweighttot;
370 
371  // now build the supercluster
372  reco::SuperCluster new_sc(corrSCEnergy, math::XYZPoint(posX, posY, posZ));
373  new_sc.setCorrectedEnergy(corrSCEnergy);
374  new_sc.setSeed(clustered.front()->the_ptr());
375  new_sc.setPreshowerEnergy(corrPS1Energy + corrPS2Energy);
376  new_sc.setPreshowerEnergyPlane1(corrPS1Energy);
377  new_sc.setPreshowerEnergyPlane2(corrPS2Energy);
378  for (const auto& clus : clustered) {
379  new_sc.addCluster(clus->the_ptr());
380 
381  auto& hits_and_fractions = clus->the_ptr()->hitsAndFractions();
382  for (auto& hit_and_fraction : hits_and_fractions) {
383  new_sc.addHitAndFraction(hit_and_fraction.first, hit_and_fraction.second);
384  }
385  if (isEE) {
386  auto ee_key_val = std::make_pair(clus->the_ptr().key(), edm::Ptr<reco::PFCluster>());
387  const auto clustops = std::equal_range(EEtoPS_->begin(), EEtoPS_->end(), ee_key_val, sortByKey);
388  // EE rechits should be uniquely matched to sets of pre-shower
389  // clusters at this point, so we throw an exception if otherwise
390  // now wrapped in EDM debug flags
391  for (auto i_ps = clustops.first; i_ps != clustops.second; ++i_ps) {
392  edm::Ptr<reco::PFCluster> psclus(i_ps->second);
393 #ifdef EDM_ML_DEBUG
394  auto found_pscluster = std::find_if(new_sc.preshowerClustersBegin(),
395  new_sc.preshowerClustersEnd(),
396  [&i_ps](const auto& i) { return i.key() == i_ps->first; });
397  if (found_pscluster == new_sc.preshowerClustersEnd()) {
398 #endif
399  new_sc.addPreshowerCluster(psclus);
400 #ifdef EDM_ML_DEBUG
401  } else {
402  throw cms::Exception("PFECALSuperClusterAlgo::buildSuperCluster")
403  << "Found a PS cluster matched to more than one EE cluster!" << std::endl
404  << std::hex << psclus.get() << " == " << found_pscluster->get() << std::dec << std::endl;
405  }
406 #endif
407  }
408  }
409  }
410 
411  // calculate linearly weighted cluster widths
412  PFClusterWidthAlgo pfwidth(bare_ptrs);
413  new_sc.setEtaWidth(pfwidth.pflowEtaWidth());
414  new_sc.setPhiWidth(pfwidth.pflowPhiWidth());
415 
416  // cache the value of the raw energy
417  new_sc.rawEnergy();
418 
419  //apply regression energy corrections
420  if (useRegression_) {
421  regr_->modifyObject(new_sc);
422  }
423 
424  // save the super cluster to the appropriate list (if it passes the final
425  // Et threshold)
426  //Note that Et is computed here with respect to the beamspot position
427  //in order to be consistent with the cut applied in the
428  //ElectronSeedProducer
429  double scEtBS = ptFast(new_sc.energy(), new_sc.position(), beamSpot_->position());
430 
431  if (scEtBS > threshSuperClusterEt_) {
432  switch (seed->the_ptr()->layer()) {
434  if (isOOTCollection_) {
435  DetId seedId = new_sc.seed()->seed();
437  if (!seedRecHit->checkFlag(EcalRecHit::kOutOfTime))
438  break;
439  }
440  superClustersEB_->push_back(new_sc);
441  break;
442  case PFLayer::HGCAL:
444  if (isOOTCollection_) {
445  DetId seedId = new_sc.seed()->seed();
447  if (!seedRecHit->checkFlag(EcalRecHit::kOutOfTime))
448  break;
449  }
450  superClustersEE_->push_back(new_sc);
451  break;
452  default:
453  break;
454  }
455  }
456 }

References _clustype, _eweight, _pfEnergyCalibration, reco::SuperCluster::addCluster(), reco::CaloCluster::addHitAndFraction(), reco::SuperCluster::addPreshowerCluster(), applyCrackCorrections_, barrelRecHits_, beamSpot_, channelStatus_, bsc_activity_cfg::clusters, TauDecayModes::dec, doSatelliteClusterMerge_, dropUnseedable_, PFLayer::ECAL_BARREL, PFLayer::ECAL_ENDCAP, EEtoPS_, endcapRecHits_, reco::CaloCluster::energy(), etawidthSuperClusterBarrel_, etawidthSuperClusterEndcap_, Exception, edm::SortedCollection< T, SORT >::find(), fractionForMajority_, edm::Ptr< T >::get(), PFLayer::HGCAL, mps_fire::i, isOOTCollection_, kCalibratedNoPS, kCalibratedTotal, EcalRecHit::kOutOfTime, kRaw, PFClusterWidthAlgo::pflowEtaWidth(), PFClusterWidthAlgo::pflowPhiWidth(), phiwidthSuperClusterBarrel_, phiwidthSuperClusterEndcap_, reco::BeamSpot::position(), reco::CaloCluster::position(), RecoTauValidation_cfi::posX, RecoTauValidation_cfi::posY, reco::SuperCluster::preshowerClustersBegin(), reco::SuperCluster::preshowerClustersEnd(), ptFast(), reco::SuperCluster::rawEnergy(), regr_, satelliteThreshold_, reco::SuperCluster::seed(), SurveyInfoScenario_cff::seed, reco::CaloCluster::setCorrectedEnergy(), reco::SuperCluster::setEtaWidth(), reco::SuperCluster::setPhiWidth(), reco::SuperCluster::setPreshowerEnergy(), reco::SuperCluster::setPreshowerEnergyPlane1(), reco::SuperCluster::setPreshowerEnergyPlane2(), reco::SuperCluster::setSeed(), sortByKey(), superClustersEB_, superClustersEE_, threshSuperClusterEt_, useDynamicDPhi_, useRegression_, and verbose_.

Referenced by buildAllSuperClusters().

◆ getEBOutputSCCollection()

std::unique_ptr<reco::SuperClusterCollection>& PFECALSuperClusterAlgo::getEBOutputSCCollection ( )
inline

Definition at line 106 of file PFECALSuperClusterAlgo.h.

106 { return superClustersEB_; }

References superClustersEB_.

◆ getEEOutputSCCollection()

std::unique_ptr<reco::SuperClusterCollection>& PFECALSuperClusterAlgo::getEEOutputSCCollection ( )
inline

Definition at line 107 of file PFECALSuperClusterAlgo.h.

107 { return superClustersEE_; }

References superClustersEE_.

◆ loadAndSortPFClusters()

void PFECALSuperClusterAlgo::loadAndSortPFClusters ( const edm::Event evt)

Definition at line 148 of file PFECALSuperClusterAlgo.cc.

148  {
149  //load input collections
150  //Load the pfcluster collections
151  edm::Handle<edm::View<reco::PFCluster> > pfclustersHandle;
152  iEvent.getByToken(inputTagPFClusters_, pfclustersHandle);
153 
155  iEvent.getByToken(inputTagPFClustersES_, psAssociationHandle);
156 
157  const PFClusterView& clusters = *pfclustersHandle.product();
158  const reco::PFCluster::EEtoPSAssociation& psclusters = *psAssociationHandle.product();
159 
160  //load BeamSpot
162  iEvent.getByToken(inputTagBeamSpot_, bsHandle);
163  beamSpot_ = bsHandle.product();
164 
165  //initialize regression for this event
166  if (useRegression_) {
167  regr_->setEvent(iEvent);
168  }
169 
170  // reset the system for running
171  superClustersEB_ = std::make_unique<reco::SuperClusterCollection>();
172  _clustersEB.clear();
173  superClustersEE_ = std::make_unique<reco::SuperClusterCollection>();
174  _clustersEE.clear();
175  EEtoPS_ = &psclusters;
176 
177  //Select PF clusters available for the clustering
178  for (size_t i = 0; i < clusters.size(); ++i) {
179  auto cluster = clusters.ptrAt(i);
180  LogDebug("PFClustering") << "Loading PFCluster i=" << cluster.key() << " energy=" << cluster->energy() << std::endl;
181 
182  // protection for sim clusters
183  if (cluster->caloID().detectors() == 0 && cluster->hitsAndFractions().empty())
184  continue;
185 
186  CalibratedClusterPtr calib_cluster(new CalibratedPFCluster(cluster));
187  switch (cluster->layer()) {
189  if (calib_cluster->energy() > threshPFClusterBarrel_) {
190  _clustersEB.push_back(calib_cluster);
191  }
192  break;
193  case PFLayer::HGCAL:
195  if (calib_cluster->energy() > threshPFClusterEndcap_) {
196  _clustersEE.push_back(calib_cluster);
197  }
198  break;
199  default:
200  break;
201  }
202  }
203  // sort full cluster collections by their calibrated energy
204  // this will put all the seeds first by construction
205  std::sort(_clustersEB.begin(), _clustersEB.end(), greaterByEt);
206  std::sort(_clustersEE.begin(), _clustersEE.end(), greaterByEt);
207 
208  // set recHit collections for OOT photons
209  if (isOOTCollection_) {
210  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
211  iEvent.getByToken(inputTagBarrelRecHits_, barrelRecHitsHandle);
212  if (!barrelRecHitsHandle.isValid()) {
213  throw cms::Exception("PFECALSuperClusterAlgo")
214  << "If you use OOT photons, need to specify proper barrel rec hit collection";
215  }
216  barrelRecHits_ = barrelRecHitsHandle.product();
217 
218  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
219  iEvent.getByToken(inputTagEndcapRecHits_, endcapRecHitsHandle);
220  if (!endcapRecHitsHandle.isValid()) {
221  throw cms::Exception("PFECALSuperClusterAlgo")
222  << "If you use OOT photons, need to specify proper endcap rec hit collection";
223  }
224  endcapRecHits_ = endcapRecHitsHandle.product();
225  }
226 }

References _clustersEB, _clustersEE, barrelRecHits_, beamSpot_, bsc_activity_cfg::clusters, PFLayer::ECAL_BARREL, PFLayer::ECAL_ENDCAP, EEtoPS_, endcapRecHits_, Exception, PFLayer::HGCAL, mps_fire::i, iEvent, inputTagBarrelRecHits_, inputTagBeamSpot_, inputTagEndcapRecHits_, inputTagPFClusters_, inputTagPFClustersES_, isOOTCollection_, edm::HandleBase::isValid(), LogDebug, edm::Handle< T >::product(), regr_, superClustersEB_, superClustersEE_, threshPFClusterBarrel_, threshPFClusterEndcap_, and useRegression_.

◆ run()

void PFECALSuperClusterAlgo::run ( )

◆ setClusteringType()

void PFECALSuperClusterAlgo::setClusteringType ( clustering_type  thetype)
inline

Definition at line 70 of file PFECALSuperClusterAlgo.h.

70 { _clustype = thetype; }

References _clustype.

◆ setCrackCorrections()

void PFECALSuperClusterAlgo::setCrackCorrections ( bool  applyCrackCorrections)
inline

◆ setDropUnseedable()

void PFECALSuperClusterAlgo::setDropUnseedable ( const bool  d)
inline

Definition at line 97 of file PFECALSuperClusterAlgo.h.

97 { dropUnseedable_ = d; }

References ztail::d, and dropUnseedable_.

◆ setEnergyWeighting()

void PFECALSuperClusterAlgo::setEnergyWeighting ( energy_weight  thetype)
inline

Definition at line 72 of file PFECALSuperClusterAlgo.h.

72 { _eweight = thetype; }

References _eweight.

◆ setEtawidthSuperClusterBarrel()

void PFECALSuperClusterAlgo::setEtawidthSuperClusterBarrel ( double  etawidth)
inline

Definition at line 88 of file PFECALSuperClusterAlgo.h.

88 { etawidthSuperClusterBarrel_ = etawidth; }

References etawidthSuperClusterBarrel_.

◆ setEtawidthSuperClusterEndcap()

void PFECALSuperClusterAlgo::setEtawidthSuperClusterEndcap ( double  etawidth)
inline

Definition at line 90 of file PFECALSuperClusterAlgo.h.

90 { etawidthSuperClusterEndcap_ = etawidth; }

References etawidthSuperClusterEndcap_.

◆ setIsOOTCollection()

void PFECALSuperClusterAlgo::setIsOOTCollection ( bool  isOOTCollection)
inline

◆ setMajorityFraction()

void PFECALSuperClusterAlgo::setMajorityFraction ( const double  f)
inline

Definition at line 96 of file PFECALSuperClusterAlgo.h.

References f, and fractionForMajority_.

◆ setPFClusterCalibration()

void PFECALSuperClusterAlgo::setPFClusterCalibration ( const std::shared_ptr< PFEnergyCalibration > &  calib)

◆ setPhiwidthSuperClusterBarrel()

void PFECALSuperClusterAlgo::setPhiwidthSuperClusterBarrel ( double  phiwidth)
inline

Definition at line 87 of file PFECALSuperClusterAlgo.h.

87 { phiwidthSuperClusterBarrel_ = phiwidth; }

References phiwidthSuperClusterBarrel_.

◆ setPhiwidthSuperClusterEndcap()

void PFECALSuperClusterAlgo::setPhiwidthSuperClusterEndcap ( double  phiwidth)
inline

Definition at line 89 of file PFECALSuperClusterAlgo.h.

89 { phiwidthSuperClusterEndcap_ = phiwidth; }

References phiwidthSuperClusterEndcap_.

◆ setSatelliteMerging()

void PFECALSuperClusterAlgo::setSatelliteMerging ( const bool  doit)
inline

Definition at line 94 of file PFECALSuperClusterAlgo.h.

94 { doSatelliteClusterMerge_ = doit; }

References doSatelliteClusterMerge_.

◆ setSatelliteThreshold()

void PFECALSuperClusterAlgo::setSatelliteThreshold ( const double  t)
inline

Definition at line 95 of file PFECALSuperClusterAlgo.h.

References satelliteThreshold_, and OrderedSet::t.

◆ setThreshPFClusterBarrel()

void PFECALSuperClusterAlgo::setThreshPFClusterBarrel ( double  thresh)
inline

◆ setThreshPFClusterEndcap()

void PFECALSuperClusterAlgo::setThreshPFClusterEndcap ( double  thresh)
inline

◆ setThreshPFClusterSeedBarrel()

void PFECALSuperClusterAlgo::setThreshPFClusterSeedBarrel ( double  thresh)
inline

◆ setThreshPFClusterSeedEndcap()

void PFECALSuperClusterAlgo::setThreshPFClusterSeedEndcap ( double  thresh)
inline

◆ setThreshSuperClusterEt()

void PFECALSuperClusterAlgo::setThreshSuperClusterEt ( double  thresh)
inline

◆ setTokens()

void PFECALSuperClusterAlgo::setTokens ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  cc 
)

Definition at line 115 of file PFECALSuperClusterAlgo.cc.

115  {
116  inputTagPFClusters_ = cc.consumes<edm::View<reco::PFCluster> >(iConfig.getParameter<edm::InputTag>("PFClusters"));
118  cc.consumes<reco::PFCluster::EEtoPSAssociation>(iConfig.getParameter<edm::InputTag>("ESAssociation"));
119  inputTagBeamSpot_ = cc.consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("BeamSpot"));
120 
121  if (useRegression_) {
122  const edm::ParameterSet& regconf = iConfig.getParameter<edm::ParameterSet>("regressionConfig");
123 
124  regr_.reset(new SCEnergyCorrectorSemiParm());
125  regr_->setTokens(regconf, cc);
126  }
127 
128  if (isOOTCollection_) { // OOT photons only
129  inputTagBarrelRecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("barrelRecHits"));
130  inputTagEndcapRecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("endcapRecHits"));
131  }
132 }

References edm::ParameterSet::getParameter(), inputTagBarrelRecHits_, inputTagBeamSpot_, inputTagEndcapRecHits_, inputTagPFClusters_, inputTagPFClustersES_, isOOTCollection_, regr_, and useRegression_.

◆ setUseDynamicDPhi()

void PFECALSuperClusterAlgo::setUseDynamicDPhi ( bool  useit)
inline

Definition at line 76 of file PFECALSuperClusterAlgo.h.

76 { useDynamicDPhi_ = useit; }

References useDynamicDPhi_.

◆ setUseETForSeeding()

void PFECALSuperClusterAlgo::setUseETForSeeding ( bool  useET)
inline

Definition at line 74 of file PFECALSuperClusterAlgo.h.

74 { threshIsET_ = useET; }

References threshIsET_.

◆ setUseRegression()

void PFECALSuperClusterAlgo::setUseRegression ( bool  useRegression)
inline

Definition at line 78 of file PFECALSuperClusterAlgo.h.

References HLT_2018_cff::useRegression, and useRegression_.

◆ setVerbosityLevel()

void PFECALSuperClusterAlgo::setVerbosityLevel ( bool  verbose)
inline

Definition at line 68 of file PFECALSuperClusterAlgo.h.

68 { verbose_ = verbose; }

References verbose, and verbose_.

◆ update()

void PFECALSuperClusterAlgo::update ( const edm::EventSetup setup)

Definition at line 134 of file PFECALSuperClusterAlgo.cc.

134  {
135  if (useRegression_) {
136  regr_->setEventSetup(setup);
137  }
138 
139  edm::ESHandle<ESEEIntercalibConstants> esEEInterCalibHandle_;
140  setup.get<ESEEIntercalibConstantsRcd>().get(esEEInterCalibHandle_);
141  _pfEnergyCalibration->initAlphaGamma_ESplanes_fromDB(esEEInterCalibHandle_.product());
142 
143  edm::ESHandle<ESChannelStatus> esChannelStatusHandle_;
144  setup.get<ESChannelStatusRcd>().get(esChannelStatusHandle_);
145  channelStatus_ = esChannelStatusHandle_.product();
146 }

References _pfEnergyCalibration, channelStatus_, get, edm::ESHandle< T >::product(), regr_, singleTopDQM_cfi::setup, and useRegression_.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

Member Data Documentation

◆ _clustersEB

CalibratedClusterPtrVector PFECALSuperClusterAlgo::_clustersEB
private

Definition at line 121 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and run().

◆ _clustersEE

CalibratedClusterPtrVector PFECALSuperClusterAlgo::_clustersEE
private

Definition at line 122 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and run().

◆ _clustype

clustering_type PFECALSuperClusterAlgo::_clustype
private

Definition at line 127 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setClusteringType().

◆ _eweight

energy_weight PFECALSuperClusterAlgo::_eweight
private

Definition at line 128 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEnergyWeighting().

◆ _pfEnergyCalibration

std::shared_ptr<PFEnergyCalibration> PFECALSuperClusterAlgo::_pfEnergyCalibration
private

Definition at line 126 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), setPFClusterCalibration(), and update().

◆ applyCrackCorrections_

bool PFECALSuperClusterAlgo::applyCrackCorrections_
private

Definition at line 156 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setCrackCorrections().

◆ barrelRecHits_

const EcalRecHitCollection* PFECALSuperClusterAlgo::barrelRecHits_
private

Definition at line 163 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ beamSpot_

const reco::BeamSpot* PFECALSuperClusterAlgo::beamSpot_
private

Definition at line 118 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ channelStatus_

const ESChannelStatus* PFECALSuperClusterAlgo::channelStatus_
private

Definition at line 119 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and update().

◆ doSatelliteClusterMerge_

bool PFECALSuperClusterAlgo::doSatelliteClusterMerge_
private

Definition at line 150 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setSatelliteMerging().

◆ dropUnseedable_

bool PFECALSuperClusterAlgo::dropUnseedable_
private

Definition at line 152 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setDropUnseedable().

◆ EEtoPS_

const reco::PFCluster::EEtoPSAssociation* PFECALSuperClusterAlgo::EEtoPS_
private

Definition at line 125 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ endcapRecHits_

const EcalRecHitCollection* PFECALSuperClusterAlgo::endcapRecHits_
private

Definition at line 164 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ etawidthSuperClusterBarrel_

double PFECALSuperClusterAlgo::etawidthSuperClusterBarrel_
private

Definition at line 146 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEtawidthSuperClusterBarrel().

◆ etawidthSuperClusterEndcap_

double PFECALSuperClusterAlgo::etawidthSuperClusterEndcap_
private

Definition at line 148 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEtawidthSuperClusterEndcap().

◆ fractionForMajority_

double PFECALSuperClusterAlgo::fractionForMajority_
private

Definition at line 151 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setMajorityFraction().

◆ inputTagBarrelRecHits_

edm::EDGetTokenT<EcalRecHitCollection> PFECALSuperClusterAlgo::inputTagBarrelRecHits_
private

Definition at line 161 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagBeamSpot_

edm::EDGetTokenT<reco::BeamSpot> PFECALSuperClusterAlgo::inputTagBeamSpot_
private

Definition at line 116 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagEndcapRecHits_

edm::EDGetTokenT<EcalRecHitCollection> PFECALSuperClusterAlgo::inputTagEndcapRecHits_
private

Definition at line 162 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagPFClusters_

edm::EDGetTokenT<edm::View<reco::PFCluster> > PFECALSuperClusterAlgo::inputTagPFClusters_
private

Definition at line 114 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagPFClustersES_

edm::EDGetTokenT<reco::PFCluster::EEtoPSAssociation> PFECALSuperClusterAlgo::inputTagPFClustersES_
private

Definition at line 115 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ isOOTCollection_

bool PFECALSuperClusterAlgo::isOOTCollection_
private

◆ phiwidthSuperClusterBarrel_

double PFECALSuperClusterAlgo::phiwidthSuperClusterBarrel_
private

Definition at line 145 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setPhiwidthSuperClusterBarrel().

◆ phiwidthSuperClusterEndcap_

double PFECALSuperClusterAlgo::phiwidthSuperClusterEndcap_
private

Definition at line 147 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setPhiwidthSuperClusterEndcap().

◆ regr_

std::unique_ptr<SCEnergyCorrectorSemiParm> PFECALSuperClusterAlgo::regr_
private

◆ satelliteThreshold_

double PFECALSuperClusterAlgo::satelliteThreshold_
private

Definition at line 151 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setSatelliteThreshold().

◆ superClustersEB_

std::unique_ptr<reco::SuperClusterCollection> PFECALSuperClusterAlgo::superClustersEB_
private

◆ superClustersEE_

std::unique_ptr<reco::SuperClusterCollection> PFECALSuperClusterAlgo::superClustersEE_
private

◆ threshIsET_

bool PFECALSuperClusterAlgo::threshIsET_
private

Definition at line 157 of file PFECALSuperClusterAlgo.h.

Referenced by buildAllSuperClusters(), and setUseETForSeeding().

◆ threshPFClusterBarrel_

double PFECALSuperClusterAlgo::threshPFClusterBarrel_
private

Definition at line 141 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setThreshPFClusterBarrel().

◆ threshPFClusterEndcap_

double PFECALSuperClusterAlgo::threshPFClusterEndcap_
private

Definition at line 143 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setThreshPFClusterEndcap().

◆ threshPFClusterSeedBarrel_

double PFECALSuperClusterAlgo::threshPFClusterSeedBarrel_
private

Definition at line 140 of file PFECALSuperClusterAlgo.h.

Referenced by run(), and setThreshPFClusterSeedBarrel().

◆ threshPFClusterSeedEndcap_

double PFECALSuperClusterAlgo::threshPFClusterSeedEndcap_
private

Definition at line 142 of file PFECALSuperClusterAlgo.h.

Referenced by run(), and setThreshPFClusterSeedEndcap().

◆ threshSuperClusterEt_

double PFECALSuperClusterAlgo::threshSuperClusterEt_
private

Definition at line 138 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setThreshSuperClusterEt().

◆ useDynamicDPhi_

bool PFECALSuperClusterAlgo::useDynamicDPhi_
private

Definition at line 154 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setUseDynamicDPhi().

◆ useRegression_

bool PFECALSuperClusterAlgo::useRegression_
private

◆ verbose_

bool PFECALSuperClusterAlgo::verbose_
private

Definition at line 132 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setVerbosityLevel().

PFECALSuperClusterAlgo::inputTagPFClustersES_
edm::EDGetTokenT< reco::PFCluster::EEtoPSAssociation > inputTagPFClustersES_
Definition: PFECALSuperClusterAlgo.h:115
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
PFECALSuperClusterAlgo::verbose_
bool verbose_
Definition: PFECALSuperClusterAlgo.h:132
mps_fire.i
i
Definition: mps_fire.py:355
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
PFECALSuperClusterAlgo::buildAllSuperClusters
void buildAllSuperClusters(CalibratedClusterPtrVector &, double seedthresh)
Definition: PFECALSuperClusterAlgo.cc:235
HLT_2018_cff.applyCrackCorrections
applyCrackCorrections
Definition: HLT_2018_cff.py:12007
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PFECALSuperClusterAlgo::superClustersEE_
std::unique_ptr< reco::SuperClusterCollection > superClustersEE_
Definition: PFECALSuperClusterAlgo.h:124
PFECALSuperClusterAlgo::doSatelliteClusterMerge_
bool doSatelliteClusterMerge_
Definition: PFECALSuperClusterAlgo.h:150
HLT_2018_cff.isOOTCollection
isOOTCollection
Definition: HLT_2018_cff.py:13515
PFECALSuperClusterAlgo::inputTagEndcapRecHits_
edm::EDGetTokenT< EcalRecHitCollection > inputTagEndcapRecHits_
Definition: PFECALSuperClusterAlgo.h:162
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::SuperCluster
Definition: SuperCluster.h:18
ESChannelStatusRcd
Definition: ESChannelStatusRcd.h:5
PFECALSuperClusterAlgo::inputTagPFClusters_
edm::EDGetTokenT< edm::View< reco::PFCluster > > inputTagPFClusters_
Definition: PFECALSuperClusterAlgo.h:114
PFECALSuperClusterAlgo::_eweight
energy_weight _eweight
Definition: PFECALSuperClusterAlgo.h:128
PFECALSuperClusterAlgo::_pfEnergyCalibration
std::shared_ptr< PFEnergyCalibration > _pfEnergyCalibration
Definition: PFECALSuperClusterAlgo.h:126
edm::LogInfo
Definition: MessageLogger.h:254
PFECALSuperClusterAlgo::barrelRecHits_
const EcalRecHitCollection * barrelRecHits_
Definition: PFECALSuperClusterAlgo.h:163
PFECALSuperClusterAlgo::channelStatus_
const ESChannelStatus * channelStatus_
Definition: PFECALSuperClusterAlgo.h:119
edm::SortedCollection< EcalRecHit >
PFECALSuperClusterAlgo::etawidthSuperClusterEndcap_
double etawidthSuperClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:148
edm::Handle
Definition: AssociativeIterator.h:50
PFECALSuperClusterAlgo::kMustache
Definition: PFECALSuperClusterAlgo.h:44
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
PFECALSuperClusterAlgo::useRegression_
bool useRegression_
Definition: PFECALSuperClusterAlgo.h:135
PFLayer::ECAL_BARREL
Definition: PFLayer.h:33
cc
PFECALSuperClusterAlgo::threshPFClusterSeedEndcap_
double threshPFClusterSeedEndcap_
Definition: PFECALSuperClusterAlgo.h:142
SCEnergyCorrectorSemiParm
Definition: SCEnergyCorrectorSemiParm.h:30
DetId
Definition: DetId.h:17
PFECALSuperClusterAlgo::phiwidthSuperClusterBarrel_
double phiwidthSuperClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:145
PFECALSuperClusterAlgo::CalibratedClusterPtr
std::shared_ptr< CalibratedPFCluster > CalibratedClusterPtr
Definition: PFECALSuperClusterAlgo.h:62
PFECALSuperClusterAlgo::buildSuperCluster
void buildSuperCluster(CalibratedClusterPtr &, CalibratedClusterPtrVector &)
Definition: PFECALSuperClusterAlgo.cc:248
ESEEIntercalibConstantsRcd
Definition: ESEEIntercalibConstantsRcd.h:5
PFECALSuperClusterAlgo::threshSuperClusterEt_
double threshSuperClusterEt_
Definition: PFECALSuperClusterAlgo.h:138
reco::BeamSpot
Definition: BeamSpot.h:21
PFECALSuperClusterAlgo::CalibratedClusterPtrVector
std::vector< CalibratedClusterPtr > CalibratedClusterPtrVector
Definition: PFECALSuperClusterAlgo.h:63
edm::ESHandle< ESEEIntercalibConstants >
verbose
static constexpr int verbose
Definition: HLTExoticaSubAnalysis.cc:25
RecoTauValidation_cfi.posX
posX
Definition: RecoTauValidation_cfi.py:288
PFLayer::HGCAL
Definition: PFLayer.h:40
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
PFECALSuperClusterAlgo::dropUnseedable_
bool dropUnseedable_
Definition: PFECALSuperClusterAlgo.h:152
PFECALSuperClusterAlgo::_clustype
clustering_type _clustype
Definition: PFECALSuperClusterAlgo.h:127
PFECALSuperClusterAlgo::threshPFClusterEndcap_
double threshPFClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:143
OrderedSet.t
t
Definition: OrderedSet.py:90
PFECALSuperClusterAlgo::kRaw
Definition: PFECALSuperClusterAlgo.h:45
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
PFECALSuperClusterAlgo::inputTagBarrelRecHits_
edm::EDGetTokenT< EcalRecHitCollection > inputTagBarrelRecHits_
Definition: PFECALSuperClusterAlgo.h:161
edm::View
Definition: CaloClusterFwd.h:14
EcalRecHit::kOutOfTime
Definition: EcalRecHit.h:23
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
PFECALSuperClusterAlgo::threshPFClusterSeedBarrel_
double threshPFClusterSeedBarrel_
Definition: PFECALSuperClusterAlgo.h:140
PFECALSuperClusterAlgo::applyCrackCorrections_
bool applyCrackCorrections_
Definition: PFECALSuperClusterAlgo.h:156
PFECALSuperClusterAlgo::fractionForMajority_
double fractionForMajority_
Definition: PFECALSuperClusterAlgo.h:151
PFECALSuperClusterAlgo::threshPFClusterBarrel_
double threshPFClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:141
PFECALSuperClusterAlgo::EEtoPS_
const reco::PFCluster::EEtoPSAssociation * EEtoPS_
Definition: PFECALSuperClusterAlgo.h:125
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::LogVerbatim
Definition: MessageLogger.h:297
PFECALSuperClusterAlgo::inputTagBeamSpot_
edm::EDGetTokenT< reco::BeamSpot > inputTagBeamSpot_
Definition: PFECALSuperClusterAlgo.h:116
get
#define get
PFECALSuperClusterAlgo::phiwidthSuperClusterEndcap_
double phiwidthSuperClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:147
PFECALSuperClusterAlgo::satelliteThreshold_
double satelliteThreshold_
Definition: PFECALSuperClusterAlgo.h:151
edm::Ptr< reco::PFCluster >
GOODCOLL_filter_cfg.thresh
thresh
Definition: GOODCOLL_filter_cfg.py:74
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::PFCluster::EEtoPSAssociation
std::vector< std::pair< CaloClusterPtr::key_type, edm::Ptr< PFCluster > > > EEtoPSAssociation
Definition: PFCluster.h:48
edm::SortedCollection::find
iterator find(key_type k)
Definition: SortedCollection.h:240
L1EGammaCrystalsEmulatorProducer_cfi.calib
calib
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:6
PFECALSuperClusterAlgo::kCalibratedTotal
Definition: PFECALSuperClusterAlgo.h:45
PFECALSuperClusterAlgo::_clustersEE
CalibratedClusterPtrVector _clustersEE
Definition: PFECALSuperClusterAlgo.h:122
Exception
Definition: hltDiff.cc:246
PFClusterWidthAlgo
Definition: PFClusterWidthAlgo.h:6
HLT_2018_cff.useRegression
useRegression
Definition: HLT_2018_cff.py:13513
PFECALSuperClusterAlgo::kBOX
Definition: PFECALSuperClusterAlgo.h:44
ptFast
double ptFast(const double energy, const math::XYZPoint &position, const math::XYZPoint &origin)
Definition: SuperClusterImporter.cc:12
PFECALSuperClusterAlgo::_clustersEB
CalibratedClusterPtrVector _clustersEB
Definition: PFECALSuperClusterAlgo.h:121
sortByKey
bool sortByKey(const EEPSPair &a, const EEPSPair &b)
Definition: PFClusterMatchedToPhotonsSelector.cc:41
ztail.d
d
Definition: ztail.py:151
PFECALSuperClusterAlgo::beamSpot_
const reco::BeamSpot * beamSpot_
Definition: PFECALSuperClusterAlgo.h:118
PFECALSuperClusterAlgo::superClustersEB_
std::unique_ptr< reco::SuperClusterCollection > superClustersEB_
Definition: PFECALSuperClusterAlgo.h:123
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PFECALSuperClusterAlgo::etawidthSuperClusterBarrel_
double etawidthSuperClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:146
PFLayer::ECAL_ENDCAP
Definition: PFLayer.h:32
PFECALSuperClusterAlgo::kCalibratedNoPS
Definition: PFECALSuperClusterAlgo.h:45
PFECALSuperClusterAlgo::endcapRecHits_
const EcalRecHitCollection * endcapRecHits_
Definition: PFECALSuperClusterAlgo.h:164
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
PFECALSuperClusterAlgo::isOOTCollection_
bool isOOTCollection_
Definition: PFECALSuperClusterAlgo.h:160
edm::InputTag
Definition: InputTag.h:15
RecoTauValidation_cfi.posY
posY
Definition: RecoTauValidation_cfi.py:289
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
PFECALSuperClusterAlgo::useDynamicDPhi_
bool useDynamicDPhi_
Definition: PFECALSuperClusterAlgo.h:154
PFECALSuperClusterAlgo::threshIsET_
bool threshIsET_
Definition: PFECALSuperClusterAlgo.h:157
PFECALSuperClusterAlgo::regr_
std::unique_ptr< SCEnergyCorrectorSemiParm > regr_
Definition: PFECALSuperClusterAlgo.h:136