|
|
Go to the documentation of this file. 1 #ifndef RecoParticleFlow_PFClusterProducer_PFEcalRecHitQTests_h
2 #define RecoParticleFlow_PFClusterProducer_PFEcalRecHitQTests_h
105 if (
flag ==
"Standard") {
108 }
else if (
flag ==
"HFInTime") {
111 }
else if (
flag ==
"HFDigi") {
114 }
else if (
flag ==
"HFLong") {
117 }
else if (
flag ==
"HFShort") {
120 }
else if (
flag ==
"HFSignalAsymmetry") {
169 unsigned theStatusValue = theStatus->
getValue();
206 depths_.push_back(
pset.getParameter<
int>(
"depth"));
240 for (
unsigned int i = 0;
i <
depths_.size(); ++
i) {
263 depths_ =
pset.getParameter<std::vector<int> >(
"depth");
267 throw cms::Exception(
"InvalidPFRecHitThreshold") <<
"PFRecHitThreshold mismatch with the numbers of depths";
321 threshold0_(iConfig.getParameter<double>(
"threshold_ring0")),
322 threshold12_(iConfig.getParameter<double>(
"threshold_ring12")) {}
377 if (endcapGeometry) {
546 if (
abs(detId.ieta()) == 29)
556 if (detId.ietaAbs() == 29)
574 threshold_(iConfig.getParameter<double>(
"thresholdInMIPs")),
575 mip_(iConfig.getParameter<double>(
"mipValueInkeV")),
581 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
585 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
590 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
594 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
599 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
615 const double hitValueInMIPs = 1e6 *
hit.energy() /
mip_;
630 threshold_(iConfig.getParameter<double>(
"thresholdInMIPs")),
631 mip_(iConfig.getParameter<double>(
"mipValueInkeV")),
641 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
645 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
650 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
654 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
659 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestThresholdInMIPs only works for HGCAL!";
679 const double hitValueInMIPs = 1e6 *
hit.energy() / (
mult *
mip_);
697 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestHGCalThresholdSNR only works for HGCAL!";
701 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestHGCalThresholdSNR only works for HGCAL!";
706 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestHGCalThresholdSNR only works for HGCAL!";
710 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestHGCalThresholdSNR only works for HGCAL!";
715 throw cms::Exception(
"WrongDetector") <<
"PFRecHitQTestHGCalThresholdSNR only works for HGCAL!";
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
const HGCalDDDConstants * ddd_
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool pass(const reco::PFRecHit &hit)
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
const HGCalDDDConstants & dddConstants() const
HcalDetId idFront(const HcalDetId &id) const
edm::ESHandle< EcalPFSeedingThresholds > ths_
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
constexpr float energy() const
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
PFRecHitQTestHCALTimeVsDepth(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
const double threshold12_
PFRecHitQTestHCALChannel()
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
bool pass(const reco::PFRecHit &hit, const float mult)
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
std::vector< double > cleanThresholds_
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
PFRecHitQTestHOThreshold()
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geomToken_
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
bool pass(const reco::PFRecHit &hit)
PFRecHitQTestDBThreshold()
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool applySelectionsToAllCrystals_
const HcalTopology * theHcalTopology_
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
PFRecHitQTestES(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
PFRecHitQTestThresholdInMIPs(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
PFRecHitQTestThreshold(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
constexpr int depth() const
get the tower depth
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
std::vector< edm::ParameterSet > psets_
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
const std::string geometryInstance_
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
edm::ESGetToken< EcalPFSeedingThresholds, EcalPFSeedingThresholdsRcd > threshToken_
PFRecHitQTestECALMultiThreshold()
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
constexpr const DetId & detid() const
PFRecHitQTestHCALThresholdVsDepth()
bool getMergePositionFlag() const
const bool recHitEnergy_keV_
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
const Item * getValues(DetId fId, bool throwOnFail=true) const
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 HBHERecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
edm::ESHandle< EcalPFRecHitThresholds > ths_
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 topologicalCleaning_
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
PFRecHitQTestECALMultiThreshold(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
std::vector< edm::ParameterSet > psets_
std::vector< int > depths_
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
bool skipTTRecoveredHits_
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
const bool topologicalCleaning_
bool pass(const reco::PFRecHit &hit)
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
std::vector< int > depths_
PFRecHitQTestHOThreshold(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
const double recHitEnergyMultiplier_
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
PFRecHitQTestHGCalThresholdSNR()
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 checkFlag(int flag) const
check if the flag is true
PFRecHitQTestHCALCalib29(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
PFRecHitQTestThresholdInMIPs()
bool applySelectionsToAllCrystals_
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > topoToken_
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
const std::vector< double > thresholds_
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
std::vector< double > maxTimes_
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
const HGCalTopology & topology() const
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
PFRecHitQTestECAL(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
constexpr float time() const
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
PFRecHitQTestHCALChannel(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
uint32_t getValue() const
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
PFRecHitQTestHCALCalib29()
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
PFRecHitQTestThresholdInThicknessNormalizedMIPs()
edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > threshToken_
bool applySelectionsToAllCrystals_
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
PFRecHitQTestHCALTimeVsDepth()
constexpr HcalSubdetector subdet() const
get the subdetector
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
bool test(unsigned aDETID, double energy, double time, bool &clean)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
std::vector< int > thresholds_
PFRecHitQTestThresholdInThicknessNormalizedMIPs(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
std::vector< double > thresholds_
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(unsigned aDETID, double energy, double time, bool &clean)
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool getData(T &iHolder) const
bool test(unsigned aDETID, double energy, int flags, bool &clean)
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) 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 HFRecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
const double thresholdSNR_
const bool recHitEnergy_keV_
const double thresholdCleaning_
bool pass(const reco::PFRecHit &hit)
std::vector< double > minTimes_
PFRecHitQTestDBThreshold(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > qualityToken_
std::vector< int > flags_
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > geomToken_
bool test(reco::PFRecHit &hit, const HFRecHit &rh, bool &clean) override
static void clean(char *s)
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
std::vector< double > thresholds_
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
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
const HcalChannelQuality * theHcalChStatus_
bool test(reco::PFRecHit &hit, const EcalRecHit &rh, bool &clean, bool fullReadOut) override
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
PFRecHitQTestHCALThresholdVsDepth(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
int waferTypeL(int wafer) const
bool test(reco::PFRecHit &hit, const HBHERecHit &rh, bool &clean) override
float signalOverSigmaNoise() const
PFRecHitQTestHGCalThresholdSNR(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
Abs< T >::type abs(const T &t)
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 HBHERecHit &rh, bool &clean) override
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > severityToken_
PFRecHitQTestDBSeedingThreshold(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
const double recHitEnergyMultiplier_
double thresholdCleaning_
void beginEvent(const edm::Event &event, const edm::EventSetup &iSetup) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
std::vector< int > depths_
bool pass(const reco::PFRecHit &hit)
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
constexpr uint32_t flags() const
const HcalSeverityLevelComputer * hcalSevLvlComputer_
bool test(reco::PFRecHit &hit, const HGCRecHit &rh, bool &clean) override
std::vector< std::string > flagStr_
bool test(reco::PFRecHit &hit, const HORecHit &rh, bool &clean) override
bool test(reco::PFRecHit &hit, const CaloTower &rh, bool &clean) override