File indexing completed on 2023-04-15 01:47:33
0001 #ifndef RecoTracker_PixelLowPtUtilities_LowPtClusterShapeSeedComparitor_h
0002 #define RecoTracker_PixelLowPtUtilities_LowPtClusterShapeSeedComparitor_h
0003
0004 #include "RecoTracker/TkSeedingLayers/interface/SeedComparitor.h"
0005 #include "FWCore/Framework/interface/FrameworkfwdMostUsed.h"
0006 #include "FWCore/Utilities/interface/EDGetToken.h"
0007 #include "FWCore/Utilities/interface/ESGetToken.h"
0008 #include "DataFormats/Common/interface/Handle.h"
0009 #include "DataFormats/SiPixelCluster/interface/SiPixelClusterShapeCache.h"
0010 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0011 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0012 #include "RecoTracker/PixelLowPtUtilities/interface/ClusterShapeHitFilter.h"
0013 #include "RecoTracker/Record/interface/CkfComponentsRecord.h"
0014
0015 class LowPtClusterShapeSeedComparitor : public SeedComparitor {
0016 public:
0017 LowPtClusterShapeSeedComparitor(const edm::ParameterSet &ps, edm::ConsumesCollector &iC);
0018 ~LowPtClusterShapeSeedComparitor() override {}
0019 void init(const edm::Event &e, const edm::EventSetup &es) override;
0020 bool compatible(const SeedingHitSet &hits) const override;
0021 bool compatible(const TrajectoryStateOnSurface &, SeedingHitSet::ConstRecHitPointer hit) const override {
0022 return true;
0023 }
0024 bool compatible(const SeedingHitSet &hits,
0025 const GlobalTrajectoryParameters &helixStateAtVertex,
0026 const FastHelix &helix) const override {
0027 return true;
0028 }
0029
0030 private:
0031 edm::EDGetTokenT<SiPixelClusterShapeCache> thePixelClusterShapeCacheToken;
0032 edm::Handle<SiPixelClusterShapeCache> thePixelClusterShapeCache;
0033 std::string theShapeFilterLabel_;
0034 const edm::ESGetToken<ClusterShapeHitFilter, CkfComponentsRecord> clusterShapeHitFilterESToken_;
0035 const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> trackerTopologyESToken_;
0036 const ClusterShapeHitFilter *clusterShapeHitFilter_ = nullptr;
0037 const TrackerTopology *trackerTopology_ = nullptr;
0038 };
0039
0040 #endif