Back to home page

Project CMSSW displayed by LXR

 
 

    


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");