00001 #ifndef _PixelTripletLowPtGenerator_h_ 00002 #define _PixelTripletLowPtGenerator_h_ 00003 00010 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h" 00011 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h" 00012 #include "FWCore/Framework/interface/EventSetup.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGeneratorFromPairAndLayers.h" 00015 00016 #include "RecoPixelVertexing/PixelLowPtUtilities/interface/TripletFilter.h" 00017 00018 class TrackerGeometry; 00019 class TripletFilter; 00020 00021 #include <vector> 00022 00023 class PixelTripletLowPtGenerator : 00024 public HitTripletGeneratorFromPairAndLayers { 00025 00026 00027 public: 00028 PixelTripletLowPtGenerator( const edm::ParameterSet& cfg) 00029 : theTracker(0), theFilter(0), ps(cfg), thePairGenerator(0), theLayerCache(0) 00030 { } 00031 00032 virtual ~PixelTripletLowPtGenerator() { delete thePairGenerator; delete theFilter; } 00033 00034 virtual void init( const HitPairGenerator & pairs, 00035 const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache); 00036 00037 virtual void hitTriplets(const TrackingRegion& region, OrderedHitTriplets & trs, const edm::Event & ev, const edm::EventSetup& es); 00038 00039 const HitPairGenerator & pairGenerator() const { return *thePairGenerator; } 00040 const std::vector<ctfseeding::SeedingLayer> & thirdLayers() const { return theLayers; } 00041 00042 private: 00043 void getTracker (const edm::EventSetup& es); 00044 GlobalPoint getGlobalPosition(const TrackingRecHit* recHit); 00045 00046 const TrackerGeometry * theTracker; 00047 TripletFilter * theFilter; 00048 00049 edm::ParameterSet ps; 00050 HitPairGenerator * thePairGenerator; 00051 std::vector<ctfseeding::SeedingLayer> theLayers; 00052 LayerCacheType * theLayerCache; 00053 00054 double nSigMultipleScattering; 00055 double rzTolerance; 00056 double maxAngleRatio; 00057 00058 std::string builderName; 00059 bool checkMultipleScattering; 00060 bool checkClusterShape; 00061 00062 }; 00063 00064 #endif