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 &)
 
void updateSCParams (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_
 
edm::ESGetToken< EcalMustacheSCParameters, EcalMustacheSCParametersRcdecalMustacheSCParametersToken_
 
edm::ESGetToken< EcalSCDynamicDPhiParameters, EcalSCDynamicDPhiParametersRcdecalSCDynamicDPhiParametersToken_
 
const reco::PFCluster::EEtoPSAssociationEEtoPS_
 
const EcalRecHitCollectionendcapRecHits_
 
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcdesChannelStatusToken_
 
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcdesEEInterCalibToken_
 
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_
 
const EcalMustacheSCParametersmustacheSCParams_
 
double phiwidthSuperClusterBarrel_
 
double phiwidthSuperClusterEndcap_
 
std::unique_ptr< SCEnergyCorrectorSemiParmregr_
 
double satelliteThreshold_
 
const EcalSCDynamicDPhiParametersscDynamicDPhiParams_
 
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 51 of file PFECALSuperClusterAlgo.h.

Member Typedef Documentation

◆ CalibratedClusterPtr

Definition at line 71 of file PFECALSuperClusterAlgo.h.

◆ CalibratedClusterPtrVector

Definition at line 72 of file PFECALSuperClusterAlgo.h.

Member Enumeration Documentation

◆ clustering_type

Enumerator
kBOX 
kMustache 

Definition at line 53 of file PFECALSuperClusterAlgo.h.

53 { kBOX = 1, kMustache = 2 };

◆ energy_weight

Enumerator
kRaw 
kCalibratedNoPS 
kCalibratedTotal 

Definition at line 54 of file PFECALSuperClusterAlgo.h.

Constructor & Destructor Documentation

◆ PFECALSuperClusterAlgo()

PFECALSuperClusterAlgo::PFECALSuperClusterAlgo ( )

constructor

Definition at line 110 of file PFECALSuperClusterAlgo.cc.

110 : beamSpot_(nullptr) {}

Member Function Documentation

◆ buildAllSuperClusters()

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

Definition at line 245 of file PFECALSuperClusterAlgo.cc.

245  {
246  auto seedable = std::bind(isSeed, _1, seedthresh, threshIsET_);
247  // make sure only seeds appear at the front of the list of clusters
248  std::stable_partition(clusters.begin(), clusters.end(), seedable);
249  // in each iteration we are working on a list that is already sorted
250  // in the cluster energy and remains so through each iteration
251  // NB: since clusters is sorted in loadClusters any_of has O(1)
252  // timing until you run out of seeds!
253  while (std::any_of(clusters.cbegin(), clusters.cend(), seedable)) {
255  }
256 }

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

Referenced by run().

◆ buildSuperCluster()

void PFECALSuperClusterAlgo::buildSuperCluster ( CalibratedClusterPtr ,
CalibratedClusterPtrVector  
)
private

Definition at line 258 of file PFECALSuperClusterAlgo.cc.

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

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, mustacheSCParams_, 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_, scDynamicDPhiParams_, reco::SuperCluster::seed(), fileCollector::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 116 of file PFECALSuperClusterAlgo.h.

116 { return superClustersEB_; }

References superClustersEB_.

◆ getEEOutputSCCollection()

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

Definition at line 117 of file PFECALSuperClusterAlgo.h.

117 { return superClustersEE_; }

References superClustersEE_.

◆ loadAndSortPFClusters()

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

Definition at line 158 of file PFECALSuperClusterAlgo.cc.

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

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 79 of file PFECALSuperClusterAlgo.h.

79 { _clustype = thetype; }

References _clustype.

◆ setCrackCorrections()

void PFECALSuperClusterAlgo::setCrackCorrections ( bool  applyCrackCorrections)
inline

◆ setDropUnseedable()

void PFECALSuperClusterAlgo::setDropUnseedable ( const bool  d)
inline

Definition at line 106 of file PFECALSuperClusterAlgo.h.

106 { dropUnseedable_ = d; }

References ztail::d, and dropUnseedable_.

◆ setEnergyWeighting()

void PFECALSuperClusterAlgo::setEnergyWeighting ( energy_weight  thetype)
inline

Definition at line 81 of file PFECALSuperClusterAlgo.h.

81 { _eweight = thetype; }

References _eweight.

◆ setEtawidthSuperClusterBarrel()

void PFECALSuperClusterAlgo::setEtawidthSuperClusterBarrel ( double  etawidth)
inline

Definition at line 97 of file PFECALSuperClusterAlgo.h.

97 { etawidthSuperClusterBarrel_ = etawidth; }

References etawidthSuperClusterBarrel_.

◆ setEtawidthSuperClusterEndcap()

void PFECALSuperClusterAlgo::setEtawidthSuperClusterEndcap ( double  etawidth)
inline

Definition at line 99 of file PFECALSuperClusterAlgo.h.

99 { etawidthSuperClusterEndcap_ = etawidth; }

References etawidthSuperClusterEndcap_.

◆ setIsOOTCollection()

void PFECALSuperClusterAlgo::setIsOOTCollection ( bool  isOOTCollection)
inline

◆ setMajorityFraction()

void PFECALSuperClusterAlgo::setMajorityFraction ( const double  f)
inline

Definition at line 105 of file PFECALSuperClusterAlgo.h.

105 { fractionForMajority_ = f; }

References f, and fractionForMajority_.

◆ setPFClusterCalibration()

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

◆ setPhiwidthSuperClusterBarrel()

void PFECALSuperClusterAlgo::setPhiwidthSuperClusterBarrel ( double  phiwidth)
inline

Definition at line 96 of file PFECALSuperClusterAlgo.h.

96 { phiwidthSuperClusterBarrel_ = phiwidth; }

References phiwidthSuperClusterBarrel_.

◆ setPhiwidthSuperClusterEndcap()

void PFECALSuperClusterAlgo::setPhiwidthSuperClusterEndcap ( double  phiwidth)
inline

Definition at line 98 of file PFECALSuperClusterAlgo.h.

98 { phiwidthSuperClusterEndcap_ = phiwidth; }

References phiwidthSuperClusterEndcap_.

◆ setSatelliteMerging()

void PFECALSuperClusterAlgo::setSatelliteMerging ( const bool  doit)
inline

Definition at line 103 of file PFECALSuperClusterAlgo.h.

103 { doSatelliteClusterMerge_ = doit; }

References doSatelliteClusterMerge_.

◆ setSatelliteThreshold()

void PFECALSuperClusterAlgo::setSatelliteThreshold ( const double  t)
inline

Definition at line 104 of file PFECALSuperClusterAlgo.h.

104 { satelliteThreshold_ = t; }

References satelliteThreshold_, and submitPVValidationJobs::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 116 of file PFECALSuperClusterAlgo.cc.

116  {
117  inputTagPFClusters_ = cc.consumes<edm::View<reco::PFCluster> >(iConfig.getParameter<edm::InputTag>("PFClusters"));
119  cc.consumes<reco::PFCluster::EEtoPSAssociation>(iConfig.getParameter<edm::InputTag>("ESAssociation"));
120  inputTagBeamSpot_ = cc.consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("BeamSpot"));
121 
127 
128  if (useRegression_) {
129  const edm::ParameterSet& regconf = iConfig.getParameter<edm::ParameterSet>("regressionConfig");
130 
131  regr_ = std::make_unique<SCEnergyCorrectorSemiParm>();
132  regr_->setTokens(regconf, cc);
133  }
134 
135  if (isOOTCollection_) { // OOT photons only
136  inputTagBarrelRecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("barrelRecHits"));
137  inputTagEndcapRecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("endcapRecHits"));
138  }
139 }

References edm::BeginLuminosityBlock, ecalMustacheSCParametersToken_, ecalSCDynamicDPhiParametersToken_, esChannelStatusToken_, esEEInterCalibToken_, edm::ParameterSet::getParameter(), inputTagBarrelRecHits_, inputTagBeamSpot_, inputTagEndcapRecHits_, inputTagPFClusters_, inputTagPFClustersES_, isOOTCollection_, regr_, and useRegression_.

◆ setUseDynamicDPhi()

void PFECALSuperClusterAlgo::setUseDynamicDPhi ( bool  useit)
inline

Definition at line 85 of file PFECALSuperClusterAlgo.h.

85 { useDynamicDPhi_ = useit; }

References useDynamicDPhi_.

◆ setUseETForSeeding()

void PFECALSuperClusterAlgo::setUseETForSeeding ( bool  useET)
inline

Definition at line 83 of file PFECALSuperClusterAlgo.h.

83 { threshIsET_ = useET; }

References threshIsET_.

◆ setUseRegression()

void PFECALSuperClusterAlgo::setUseRegression ( bool  useRegression)
inline

Definition at line 87 of file PFECALSuperClusterAlgo.h.

References HLT_FULL_cff::useRegression, and useRegression_.

◆ setVerbosityLevel()

void PFECALSuperClusterAlgo::setVerbosityLevel ( bool  verbose)
inline

Definition at line 77 of file PFECALSuperClusterAlgo.h.

77 { verbose_ = verbose; }

References verbose, and verbose_.

◆ update()

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

Definition at line 141 of file PFECALSuperClusterAlgo.cc.

141  {
142  if (useRegression_) {
143  regr_->setEventSetup(setup);
144  }
145 
146  edm::ESHandle<ESEEIntercalibConstants> esEEInterCalibHandle_ = setup.getHandle(esEEInterCalibToken_);
147  _pfEnergyCalibration->initAlphaGamma_ESplanes_fromDB(esEEInterCalibHandle_.product());
148 
149  edm::ESHandle<ESChannelStatus> esChannelStatusHandle_ = setup.getHandle(esChannelStatusToken_);
150  channelStatus_ = esChannelStatusHandle_.product();
151 }

References _pfEnergyCalibration, channelStatus_, esChannelStatusToken_, esEEInterCalibToken_, 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().

◆ updateSCParams()

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

Member Data Documentation

◆ _clustersEB

CalibratedClusterPtrVector PFECALSuperClusterAlgo::_clustersEB
private

Definition at line 138 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and run().

◆ _clustersEE

CalibratedClusterPtrVector PFECALSuperClusterAlgo::_clustersEE
private

Definition at line 139 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and run().

◆ _clustype

clustering_type PFECALSuperClusterAlgo::_clustype
private

Definition at line 144 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setClusteringType().

◆ _eweight

energy_weight PFECALSuperClusterAlgo::_eweight
private

Definition at line 145 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEnergyWeighting().

◆ _pfEnergyCalibration

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

Definition at line 143 of file PFECALSuperClusterAlgo.h.

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

◆ applyCrackCorrections_

bool PFECALSuperClusterAlgo::applyCrackCorrections_
private

Definition at line 173 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setCrackCorrections().

◆ barrelRecHits_

const EcalRecHitCollection* PFECALSuperClusterAlgo::barrelRecHits_
private

Definition at line 180 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ beamSpot_

const reco::BeamSpot* PFECALSuperClusterAlgo::beamSpot_
private

Definition at line 133 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ channelStatus_

const ESChannelStatus* PFECALSuperClusterAlgo::channelStatus_
private

Definition at line 134 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and update().

◆ doSatelliteClusterMerge_

bool PFECALSuperClusterAlgo::doSatelliteClusterMerge_
private

Definition at line 167 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setSatelliteMerging().

◆ dropUnseedable_

bool PFECALSuperClusterAlgo::dropUnseedable_
private

Definition at line 169 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setDropUnseedable().

◆ ecalMustacheSCParametersToken_

edm::ESGetToken<EcalMustacheSCParameters, EcalMustacheSCParametersRcd> PFECALSuperClusterAlgo::ecalMustacheSCParametersToken_
private

Definition at line 130 of file PFECALSuperClusterAlgo.h.

Referenced by setTokens(), and updateSCParams().

◆ ecalSCDynamicDPhiParametersToken_

edm::ESGetToken<EcalSCDynamicDPhiParameters, EcalSCDynamicDPhiParametersRcd> PFECALSuperClusterAlgo::ecalSCDynamicDPhiParametersToken_
private

Definition at line 131 of file PFECALSuperClusterAlgo.h.

Referenced by setTokens(), and updateSCParams().

◆ EEtoPS_

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

Definition at line 142 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ endcapRecHits_

const EcalRecHitCollection* PFECALSuperClusterAlgo::endcapRecHits_
private

Definition at line 181 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and loadAndSortPFClusters().

◆ esChannelStatusToken_

edm::ESGetToken<ESChannelStatus, ESChannelStatusRcd> PFECALSuperClusterAlgo::esChannelStatusToken_
private

Definition at line 129 of file PFECALSuperClusterAlgo.h.

Referenced by setTokens(), and update().

◆ esEEInterCalibToken_

edm::ESGetToken<ESEEIntercalibConstants, ESEEIntercalibConstantsRcd> PFECALSuperClusterAlgo::esEEInterCalibToken_
private

Definition at line 128 of file PFECALSuperClusterAlgo.h.

Referenced by setTokens(), and update().

◆ etawidthSuperClusterBarrel_

double PFECALSuperClusterAlgo::etawidthSuperClusterBarrel_
private

Definition at line 163 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEtawidthSuperClusterBarrel().

◆ etawidthSuperClusterEndcap_

double PFECALSuperClusterAlgo::etawidthSuperClusterEndcap_
private

Definition at line 165 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setEtawidthSuperClusterEndcap().

◆ fractionForMajority_

double PFECALSuperClusterAlgo::fractionForMajority_
private

Definition at line 168 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setMajorityFraction().

◆ inputTagBarrelRecHits_

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

Definition at line 178 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagBeamSpot_

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

Definition at line 126 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagEndcapRecHits_

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

Definition at line 179 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagPFClusters_

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

Definition at line 124 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ inputTagPFClustersES_

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

Definition at line 125 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setTokens().

◆ isOOTCollection_

bool PFECALSuperClusterAlgo::isOOTCollection_
private

◆ mustacheSCParams_

const EcalMustacheSCParameters* PFECALSuperClusterAlgo::mustacheSCParams_
private

Definition at line 135 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and updateSCParams().

◆ phiwidthSuperClusterBarrel_

double PFECALSuperClusterAlgo::phiwidthSuperClusterBarrel_
private

Definition at line 162 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setPhiwidthSuperClusterBarrel().

◆ phiwidthSuperClusterEndcap_

double PFECALSuperClusterAlgo::phiwidthSuperClusterEndcap_
private

Definition at line 164 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 168 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setSatelliteThreshold().

◆ scDynamicDPhiParams_

const EcalSCDynamicDPhiParameters* PFECALSuperClusterAlgo::scDynamicDPhiParams_
private

Definition at line 136 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and updateSCParams().

◆ 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 174 of file PFECALSuperClusterAlgo.h.

Referenced by buildAllSuperClusters(), and setUseETForSeeding().

◆ threshPFClusterBarrel_

double PFECALSuperClusterAlgo::threshPFClusterBarrel_
private

Definition at line 158 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setThreshPFClusterBarrel().

◆ threshPFClusterEndcap_

double PFECALSuperClusterAlgo::threshPFClusterEndcap_
private

Definition at line 160 of file PFECALSuperClusterAlgo.h.

Referenced by loadAndSortPFClusters(), and setThreshPFClusterEndcap().

◆ threshPFClusterSeedBarrel_

double PFECALSuperClusterAlgo::threshPFClusterSeedBarrel_
private

Definition at line 157 of file PFECALSuperClusterAlgo.h.

Referenced by run(), and setThreshPFClusterSeedBarrel().

◆ threshPFClusterSeedEndcap_

double PFECALSuperClusterAlgo::threshPFClusterSeedEndcap_
private

Definition at line 159 of file PFECALSuperClusterAlgo.h.

Referenced by run(), and setThreshPFClusterSeedEndcap().

◆ threshSuperClusterEt_

double PFECALSuperClusterAlgo::threshSuperClusterEt_
private

Definition at line 155 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setThreshSuperClusterEt().

◆ useDynamicDPhi_

bool PFECALSuperClusterAlgo::useDynamicDPhi_
private

Definition at line 171 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setUseDynamicDPhi().

◆ useRegression_

bool PFECALSuperClusterAlgo::useRegression_
private

◆ verbose_

bool PFECALSuperClusterAlgo::verbose_
private

Definition at line 149 of file PFECALSuperClusterAlgo.h.

Referenced by buildSuperCluster(), and setVerbosityLevel().

PFECALSuperClusterAlgo::inputTagPFClustersES_
edm::EDGetTokenT< reco::PFCluster::EEtoPSAssociation > inputTagPFClustersES_
Definition: PFECALSuperClusterAlgo.h:125
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
PFECALSuperClusterAlgo::verbose_
bool verbose_
Definition: PFECALSuperClusterAlgo.h:149
mps_fire.i
i
Definition: mps_fire.py:428
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:245
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HLT_FULL_cff.isOOTCollection
isOOTCollection
Definition: HLT_FULL_cff.py:14961
PFECALSuperClusterAlgo::superClustersEE_
std::unique_ptr< reco::SuperClusterCollection > superClustersEE_
Definition: PFECALSuperClusterAlgo.h:141
PFECALSuperClusterAlgo::doSatelliteClusterMerge_
bool doSatelliteClusterMerge_
Definition: PFECALSuperClusterAlgo.h:167
PFECALSuperClusterAlgo::inputTagEndcapRecHits_
edm::EDGetTokenT< EcalRecHitCollection > inputTagEndcapRecHits_
Definition: PFECALSuperClusterAlgo.h:179
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:124
PFECALSuperClusterAlgo::_eweight
energy_weight _eweight
Definition: PFECALSuperClusterAlgo.h:145
PFECALSuperClusterAlgo::_pfEnergyCalibration
std::shared_ptr< PFEnergyCalibration > _pfEnergyCalibration
Definition: PFECALSuperClusterAlgo.h:143
PFECALSuperClusterAlgo::barrelRecHits_
const EcalRecHitCollection * barrelRecHits_
Definition: PFECALSuperClusterAlgo.h:180
PFECALSuperClusterAlgo::channelStatus_
const ESChannelStatus * channelStatus_
Definition: PFECALSuperClusterAlgo.h:134
edm::SortedCollection< EcalRecHit >
ESChannelStatus
ESChannelStatusMap ESChannelStatus
Definition: ESChannelStatus.h:7
PFECALSuperClusterAlgo::scDynamicDPhiParams_
const EcalSCDynamicDPhiParameters * scDynamicDPhiParams_
Definition: PFECALSuperClusterAlgo.h:136
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
PFECALSuperClusterAlgo::etawidthSuperClusterEndcap_
double etawidthSuperClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:165
PFECALSuperClusterAlgo::esEEInterCalibToken_
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcd > esEEInterCalibToken_
Definition: PFECALSuperClusterAlgo.h:128
edm::Handle
Definition: AssociativeIterator.h:50
EcalMustacheSCParameters
Definition: EcalMustacheSCParameters.h:13
PFECALSuperClusterAlgo::kMustache
Definition: PFECALSuperClusterAlgo.h:53
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
PFECALSuperClusterAlgo::useRegression_
bool useRegression_
Definition: PFECALSuperClusterAlgo.h:152
PFLayer::ECAL_BARREL
Definition: PFLayer.h:33
cc
PFECALSuperClusterAlgo::threshPFClusterSeedEndcap_
double threshPFClusterSeedEndcap_
Definition: PFECALSuperClusterAlgo.h:159
fileCollector.seed
seed
Definition: fileCollector.py:127
DetId
Definition: DetId.h:17
PFECALSuperClusterAlgo::phiwidthSuperClusterBarrel_
double phiwidthSuperClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:162
PFECALSuperClusterAlgo::CalibratedClusterPtr
std::shared_ptr< CalibratedPFCluster > CalibratedClusterPtr
Definition: PFECALSuperClusterAlgo.h:71
PFECALSuperClusterAlgo::buildSuperCluster
void buildSuperCluster(CalibratedClusterPtr &, CalibratedClusterPtrVector &)
Definition: PFECALSuperClusterAlgo.cc:258
ESEEIntercalibConstantsRcd
Definition: ESEEIntercalibConstantsRcd.h:5
PFECALSuperClusterAlgo::threshSuperClusterEt_
double threshSuperClusterEt_
Definition: PFECALSuperClusterAlgo.h:155
reco::BeamSpot
Definition: BeamSpot.h:21
PFECALSuperClusterAlgo::CalibratedClusterPtrVector
std::vector< CalibratedClusterPtr > CalibratedClusterPtrVector
Definition: PFECALSuperClusterAlgo.h:72
EcalSCDynamicDPhiParameters
Definition: EcalSCDynamicDPhiParameters.h:13
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
PFECALSuperClusterAlgo::ecalSCDynamicDPhiParametersToken_
edm::ESGetToken< EcalSCDynamicDPhiParameters, EcalSCDynamicDPhiParametersRcd > ecalSCDynamicDPhiParametersToken_
Definition: PFECALSuperClusterAlgo.h:131
edm::Transition::BeginLuminosityBlock
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
PFECALSuperClusterAlgo::dropUnseedable_
bool dropUnseedable_
Definition: PFECALSuperClusterAlgo.h:169
PFECALSuperClusterAlgo::_clustype
clustering_type _clustype
Definition: PFECALSuperClusterAlgo.h:144
PFECALSuperClusterAlgo::threshPFClusterEndcap_
double threshPFClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:160
PFECALSuperClusterAlgo::kRaw
Definition: PFECALSuperClusterAlgo.h:54
EcalMustacheSCParametersRcd
Definition: EcalMustacheSCParametersRcd.h:23
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
PFECALSuperClusterAlgo::inputTagBarrelRecHits_
edm::EDGetTokenT< EcalRecHitCollection > inputTagBarrelRecHits_
Definition: PFECALSuperClusterAlgo.h:178
edm::View
Definition: CaloClusterFwd.h:14
EcalRecHit::kOutOfTime
Definition: EcalRecHit.h:23
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
PFECALSuperClusterAlgo::threshPFClusterSeedBarrel_
double threshPFClusterSeedBarrel_
Definition: PFECALSuperClusterAlgo.h:157
PFECALSuperClusterAlgo::applyCrackCorrections_
bool applyCrackCorrections_
Definition: PFECALSuperClusterAlgo.h:173
PFECALSuperClusterAlgo::fractionForMajority_
double fractionForMajority_
Definition: PFECALSuperClusterAlgo.h:168
PFECALSuperClusterAlgo::threshPFClusterBarrel_
double threshPFClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:158
PFECALSuperClusterAlgo::mustacheSCParams_
const EcalMustacheSCParameters * mustacheSCParams_
Definition: PFECALSuperClusterAlgo.h:135
PFECALSuperClusterAlgo::EEtoPS_
const reco::PFCluster::EEtoPSAssociation * EEtoPS_
Definition: PFECALSuperClusterAlgo.h:142
iEvent
int iEvent
Definition: GenABIO.cc:224
PFECALSuperClusterAlgo::ecalMustacheSCParametersToken_
edm::ESGetToken< EcalMustacheSCParameters, EcalMustacheSCParametersRcd > ecalMustacheSCParametersToken_
Definition: PFECALSuperClusterAlgo.h:130
PFECALSuperClusterAlgo::inputTagBeamSpot_
edm::EDGetTokenT< reco::BeamSpot > inputTagBeamSpot_
Definition: PFECALSuperClusterAlgo.h:126
PFECALSuperClusterAlgo::phiwidthSuperClusterEndcap_
double phiwidthSuperClusterEndcap_
Definition: PFECALSuperClusterAlgo.h:164
PFECALSuperClusterAlgo::satelliteThreshold_
double satelliteThreshold_
Definition: PFECALSuperClusterAlgo.h:168
edm::Ptr< reco::PFCluster >
GOODCOLL_filter_cfg.thresh
thresh
Definition: GOODCOLL_filter_cfg.py:74
reco::PFCluster::EEtoPSAssociation
std::vector< std::pair< CaloClusterPtr::key_type, edm::Ptr< PFCluster > > > EEtoPSAssociation
Definition: PFCluster.h:44
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:54
EcalSCDynamicDPhiParametersRcd
Definition: EcalSCDynamicDPhiParametersRcd.h:23
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
PFECALSuperClusterAlgo::_clustersEE
CalibratedClusterPtrVector _clustersEE
Definition: PFECALSuperClusterAlgo.h:139
Exception
Definition: hltDiff.cc:246
PFClusterWidthAlgo
Definition: PFClusterWidthAlgo.h:6
PFECALSuperClusterAlgo::kBOX
Definition: PFECALSuperClusterAlgo.h:53
ptFast
double ptFast(const double energy, const math::XYZPoint &position, const math::XYZPoint &origin)
Definition: SuperClusterImporter.cc:13
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PFECALSuperClusterAlgo::_clustersEB
CalibratedClusterPtrVector _clustersEB
Definition: PFECALSuperClusterAlgo.h:138
sortByKey
bool sortByKey(const EEPSPair &a, const EEPSPair &b)
Definition: PFClusterMatchedToPhotonsSelector.cc:41
ztail.d
d
Definition: ztail.py:151
HLT_FULL_cff.applyCrackCorrections
applyCrackCorrections
Definition: HLT_FULL_cff.py:13465
PFECALSuperClusterAlgo::esChannelStatusToken_
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcd > esChannelStatusToken_
Definition: PFECALSuperClusterAlgo.h:129
HLT_FULL_cff.useRegression
useRegression
Definition: HLT_FULL_cff.py:14959
PFECALSuperClusterAlgo::beamSpot_
const reco::BeamSpot * beamSpot_
Definition: PFECALSuperClusterAlgo.h:133
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
PFECALSuperClusterAlgo::superClustersEB_
std::unique_ptr< reco::SuperClusterCollection > superClustersEB_
Definition: PFECALSuperClusterAlgo.h:140
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PFECALSuperClusterAlgo::etawidthSuperClusterBarrel_
double etawidthSuperClusterBarrel_
Definition: PFECALSuperClusterAlgo.h:163
PFLayer::ECAL_ENDCAP
Definition: PFLayer.h:32
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
PFECALSuperClusterAlgo::kCalibratedNoPS
Definition: PFECALSuperClusterAlgo.h:54
PFECALSuperClusterAlgo::endcapRecHits_
const EcalRecHitCollection * endcapRecHits_
Definition: PFECALSuperClusterAlgo.h:181
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
PFECALSuperClusterAlgo::isOOTCollection_
bool isOOTCollection_
Definition: PFECALSuperClusterAlgo.h:177
edm::InputTag
Definition: InputTag.h:15
RecoTauValidation_cfi.posY
posY
Definition: RecoTauValidation_cfi.py:289
PFECALSuperClusterAlgo::useDynamicDPhi_
bool useDynamicDPhi_
Definition: PFECALSuperClusterAlgo.h:171
PFECALSuperClusterAlgo::threshIsET_
bool threshIsET_
Definition: PFECALSuperClusterAlgo.h:174
PFECALSuperClusterAlgo::regr_
std::unique_ptr< SCEnergyCorrectorSemiParm > regr_
Definition: PFECALSuperClusterAlgo.h:153