Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:38:01

0001 #ifndef SpecialSeedGenerators_GenericTripletGenerator_h
0002 #define SpecialSeedGenerators_GenericTripletGenerator_h
0003 //FWK
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