Go to the documentation of this file.00001 #ifndef PixelTripletHLTGenerator_H
00002 #define PixelTripletHLTGenerator_H
00003
00010 #include "RecoTracker/TkHitPairs/interface/HitPairGenerator.h"
00011 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGenerator.h"
00012 #include "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 #include <utility>
00019 #include <vector>
00020
00021 class SeedComparitor;
00022
00023 class PixelTripletHLTGenerator : public HitTripletGeneratorFromPairAndLayers {
00024
00025 typedef CombinedHitTripletGenerator::LayerCacheType LayerCacheType;
00026
00027 public:
00028 PixelTripletHLTGenerator( const edm::ParameterSet& cfg);
00029
00030 virtual ~PixelTripletHLTGenerator();
00031
00032 virtual void init( const HitPairGenerator & pairs,
00033 const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00034
00035 virtual void hitTriplets( const TrackingRegion& region, OrderedHitTriplets & trs,
00036 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 bool checkPhiInRange(float phi, float phi1, float phi2) const;
00043 std::pair<float,float> mergePhiRanges(
00044 const std::pair<float,float> &r1, const std::pair<float,float> &r2) const;
00045
00046 private:
00047 HitPairGenerator * thePairGenerator;
00048 std::vector<ctfseeding::SeedingLayer> theLayers;
00049 LayerCacheType * theLayerCache;
00050
00051 bool useFixedPreFiltering;
00052 float extraHitRZtolerance;
00053 float extraHitRPhitolerance;
00054 bool useMScat;
00055 bool useBend;
00056 float dphi;
00057 SeedComparitor * theComparitor;
00058
00059 };
00060 #endif
00061
00062