CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoPixelVertexing/PixelTriplets/plugins/PixelTripletHLTGenerator.h

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