CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/RecoPixelVertexing/PixelTriplets/plugins/PixelTripletLargeTipGenerator.h

Go to the documentation of this file.
00001 #ifndef PixelTripletLargeTipGenerator_H
00002 #define PixelTripletLargeTipGenerator_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 
00022 class PixelTripletLargeTipGenerator : public HitTripletGeneratorFromPairAndLayers {
00023 
00024 typedef CombinedHitTripletGenerator::LayerCacheType       LayerCacheType;
00025 
00026 public:
00027   PixelTripletLargeTipGenerator( const edm::ParameterSet& cfg);
00028 
00029   virtual ~PixelTripletLargeTipGenerator() { delete thePairGenerator; }
00030 
00031   virtual void init( const HitPairGenerator & pairs,
00032       const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00033 
00034   virtual void hitTriplets( const TrackingRegion& region, OrderedHitTriplets & trs, 
00035       const edm::Event & ev, const edm::EventSetup& es);
00036 
00037   const HitPairGenerator & pairGenerator() const { return *thePairGenerator; }
00038   const std::vector<ctfseeding::SeedingLayer> & thirdLayers() const { return theLayers; }
00039 
00040 private:
00041 
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 
00047 private:
00048   HitPairGenerator * thePairGenerator;
00049   std::vector<ctfseeding::SeedingLayer> theLayers;
00050   LayerCacheType * theLayerCache;
00051 
00052   bool useFixedPreFiltering;
00053   float extraHitRZtolerance;
00054   float extraHitRPhitolerance;
00055   bool useMScat;
00056   bool useBend;
00057   float dphi;
00058 };
00059 #endif
00060 
00061