00001 #ifndef SpecialSeedGenerators_GenericTripletGenerator_h 00002 #define SpecialSeedGenerators_GenericTripletGenerator_h 00003 //FWK 00004 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/EventSetup.h" 00007 00008 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h" 00009 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegion.h" 00010 #include "RecoPixelVertexing/PixelTriplets/interface/OrderedHitTriplets.h" 00011 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSetsBuilder.h" 00012 #include "RecoTracker/TkSeedingLayers/interface/OrderedSeedingHits.h" 00013 00014 //class ctfseeding::SeedingLayers; 00015 00016 class GenericTripletGenerator : public OrderedHitsGenerator { 00017 public: 00018 GenericTripletGenerator(const edm::ParameterSet& conf); 00019 virtual ~GenericTripletGenerator(){}; 00020 virtual const OrderedSeedingHits& run(const TrackingRegion& region, 00021 const edm::Event & ev, 00022 const edm::EventSetup& es); 00023 void clear() {hitTriplets.clear();} 00024 private: 00025 ctfseeding::SeedingLayerSets init(const edm::EventSetup& es); 00026 std::pair<bool,float> qualityFilter(const OrderedHitTriplet& oht, 00027 const std::map<float, OrderedHitTriplet>& map, 00028 const ctfseeding::SeedingLayers& ls) const; 00029 //edm::ParameterSet conf_; 00030 SeedingLayerSetsBuilder theLsb; 00031 OrderedHitTriplets hitTriplets; 00032 }; 00033 00034 00035 #endif