CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
PFRecHitQTestECALMultiThreshold Class Reference

#include <PFRecHitQTests.h>

Inheritance diagram for PFRecHitQTestECALMultiThreshold:
PFRecHitQTestBase

Public Member Functions

void beginEvent (const edm::Event &event, const edm::EventSetup &iSetup) override
 
 PFRecHitQTestECALMultiThreshold ()
 
 PFRecHitQTestECALMultiThreshold (const edm::ParameterSet &iConfig)
 
bool test (reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
 
bool test (reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
 
bool test (reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
 
bool test (reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
 
bool test (reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
 
bool test (reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
 
- Public Member Functions inherited from PFRecHitQTestBase
 PFRecHitQTestBase ()=default
 
 PFRecHitQTestBase (const edm::ParameterSet &iConfig)
 
virtual ~PFRecHitQTestBase ()=default
 

Protected Member Functions

bool pass (const reco::PFRecHit &hit)
 

Protected Attributes

bool applySelectionsToAllCrystals_
 
bool endcapGeometrySet_
 
const std::vector< double > thresholds_
 

Detailed Description

Definition at line 380 of file PFRecHitQTests.h.

Constructor & Destructor Documentation

PFRecHitQTestECALMultiThreshold::PFRecHitQTestECALMultiThreshold ( )
inline

Definition at line 382 of file PFRecHitQTests.h.

382  {
383  }
PFRecHitQTestECALMultiThreshold::PFRecHitQTestECALMultiThreshold ( const edm::ParameterSet iConfig)
inline

Definition at line 385 of file PFRecHitQTests.h.

References edm::errors::Configuration, and EcalRingCalibrationTools::N_RING_TOTAL.

385  :
386  PFRecHitQTestBase(iConfig),
387  thresholds_(iConfig.getParameter<std::vector<double> >("thresholds")),
388  applySelectionsToAllCrystals_(iConfig.getParameter<bool>("applySelectionsToAllCrystals"))
389  {
391  throw edm::Exception(edm::errors::Configuration, "ValueError")
392  << "thresholds is expected to have " << EcalRingCalibrationTools::N_RING_TOTAL << " elements but has " << thresholds_.size();
393  }
T getParameter(std::string const &) const
const std::vector< double > thresholds_
PFRecHitQTestBase()=default
static constexpr short N_RING_TOTAL

Member Function Documentation

void PFRecHitQTestECALMultiThreshold::beginEvent ( const edm::Event event,
const edm::EventSetup iSetup 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 395 of file PFRecHitQTests.h.

References DetId::Ecal, EcalEndcap, edm::EventSetup::get(), CaloGeometry::getSubdetectorGeometry(), and EcalRingCalibrationTools::setCaloGeometry().

395  {
397  iSetup.get<CaloGeometryRecord>().get(pG);
399  endcapGeometrySet_=false;
400  if (endcapGeometry) {
402  endcapGeometrySet_=true;
403  }
404  }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:45
static void setCaloGeometry(const CaloGeometry *geometry)
const T & get() const
Definition: EventSetup.h:55
bool PFRecHitQTestECALMultiThreshold::pass ( const reco::PFRecHit hit)
inlineprotected

Definition at line 436 of file PFRecHitQTests.h.

References reco::PFRecHit::detId(), EcalBarrel, reco::PFRecHit::energy(), and EcalRingCalibrationTools::getRingIndex().

436  {
437 
438  DetId detId(hit.detId());
439 
440  // this is to skip endcap ZS for Phase2 until there is a defined geometry
441  // apply the loosest ZS threshold, for the first eta-ring in EB
442  if (not endcapGeometrySet_) {
443 
444  // there is only ECAL EB in Phase 2
445  if(detId.subdetId() != EcalBarrel) return true;
446 
447  // 0-169: EB eta-rings
448  // 170-208: EE- eta rings
449  // 209-247: EE+ eta rings
450  int firstEBRing = 0;
451  return (hit.energy() > thresholds_[firstEBRing]);
452  }
453 
454  int iring = EcalRingCalibrationTools::getRingIndex(detId);
455  if (hit.energy() > thresholds_[iring]) return true;
456 
457  return false;
458  }
unsigned detId() const
rechit detId
Definition: PFRecHit.h:108
static short getRingIndex(DetId aDetId)
Retrieve the phi-ring index corresponding to a DetId.
float energy() const
rechit energy
Definition: PFRecHit.h:114
const std::vector< double > thresholds_
Definition: DetId.h:18
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const EcalRecHit rh,
bool &  clean,
bool  fullReadOut 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 406 of file PFRecHitQTests.h.

References or, and PFRecHitQTestThreshold::pass().

406  {
407  if (applySelectionsToAllCrystals_) return pass(hit);
408  else return fullReadOut or pass(hit);
409  }
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
bool pass(const reco::PFRecHit &hit)
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const HBHERecHit rh,
bool &  clean 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 410 of file PFRecHitQTests.h.

410  {
411  return true;
412  }
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const HFRecHit rh,
bool &  clean 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 414 of file PFRecHitQTests.h.

414  {
415  return true;
416  }
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const HORecHit rh,
bool &  clean 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 417 of file PFRecHitQTests.h.

417  {
418  return true;
419  }
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const CaloTower rh,
bool &  clean 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 421 of file PFRecHitQTests.h.

421  {
422  return true;
423  }
bool PFRecHitQTestECALMultiThreshold::test ( reco::PFRecHit hit,
const HGCRecHit rh,
bool &  clean 
)
inlineoverridevirtual

Implements PFRecHitQTestBase.

Definition at line 425 of file PFRecHitQTests.h.

425  {
426  return true;
427  }

Member Data Documentation

bool PFRecHitQTestECALMultiThreshold::applySelectionsToAllCrystals_
protected

Definition at line 434 of file PFRecHitQTests.h.

bool PFRecHitQTestECALMultiThreshold::endcapGeometrySet_
protected

Definition at line 431 of file PFRecHitQTests.h.

const std::vector<double> PFRecHitQTestECALMultiThreshold::thresholds_
protected

Definition at line 430 of file PFRecHitQTests.h.