File indexing completed on 2024-09-07 04:38:01
0001 #ifndef SpecialSeedGenerators_GenericTripletGenerator_h
0002 #define SpecialSeedGenerators_GenericTripletGenerator_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/Utilities/interface/EDGetToken.h"
0008
0009 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h"
0010 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegion.h"
0011 #include "RecoTracker/PixelSeeding/interface/OrderedHitTriplets.h"
0012 #include "RecoTracker/TkSeedingLayers/interface/OrderedSeedingHits.h"
0013 #include "TrackingTools/TransientTrackingRecHit/interface/SeedingLayerSetsHits.h"
0014
0015 class GenericTripletGenerator : public OrderedHitsGenerator {
0016 public:
0017 GenericTripletGenerator(const edm::ParameterSet& conf, edm::ConsumesCollector& iC);
0018 ~GenericTripletGenerator() override {}
0019 const OrderedSeedingHits& run(const TrackingRegion& region, const edm::Event& ev, const edm::EventSetup& es) override;
0020 void clear() override { hitTriplets.clear(); }
0021
0022 private:
0023 std::pair<bool, float> qualityFilter(const OrderedHitTriplet& oht,
0024 const std::map<float, OrderedHitTriplet>& map,
0025 const SeedingLayerSetsHits::SeedingLayerSet& ls) const;
0026 edm::EDGetTokenT<SeedingLayerSetsHits> theSeedingLayerToken;
0027 OrderedHitTriplets hitTriplets;
0028 };
0029
0030 #endif