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