File indexing completed on 2024-04-06 12:28:55
0001 #include "RecoTracker/TkSeedingLayers/interface/SeedComparitor.h"
0002 #include "RecoTracker/TkSeedingLayers/interface/SeedComparitorFactory.h"
0003 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0004
0005 #include <cmath>
0006
0007 class SimpleClusterProbabilitySeedComparitor : public SeedComparitor {
0008 public:
0009 SimpleClusterProbabilitySeedComparitor(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC);
0010 ~SimpleClusterProbabilitySeedComparitor() override;
0011 void init(const edm::Event &ev, const edm::EventSetup &es) override {}
0012 bool compatible(const SeedingHitSet &hits) const override { return true; }
0013 bool compatible(const TrajectoryStateOnSurface &, SeedingHitSet::ConstRecHitPointer hit) const override;
0014 bool compatible(const SeedingHitSet &hits,
0015 const GlobalTrajectoryParameters &helixStateAtVertex,
0016 const FastHelix &helix) const override {
0017 return true;
0018 }
0019
0020 private:
0021 float probCut_;
0022 };
0023
0024 SimpleClusterProbabilitySeedComparitor::SimpleClusterProbabilitySeedComparitor(const edm::ParameterSet &cfg,
0025 edm::ConsumesCollector &iC)
0026 : probCut_(cfg.getParameter<double>("LogPixelProbabilityCut")) {}
0027
0028 SimpleClusterProbabilitySeedComparitor::~SimpleClusterProbabilitySeedComparitor() {}
0029
0030 bool SimpleClusterProbabilitySeedComparitor::compatible(const TrajectoryStateOnSurface &tsos,
0031 SeedingHitSet::ConstRecHitPointer hit) const {
0032 return (probCut_ < -15.) || (log10(hit->clusterProbability()) > probCut_);
0033 }
0034
0035 DEFINE_EDM_PLUGIN(SeedComparitorFactory,
0036 SimpleClusterProbabilitySeedComparitor,
0037 "SimpleClusterProbabilitySeedComparitor");