CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoPixelVertexing/PixelLowPtUtilities/interface/PixelTripletLowPtGenerator.h

Go to the documentation of this file.
00001 #ifndef _PixelTripletLowPtGenerator_h_
00002 #define _PixelTripletLowPtGenerator_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 #include "RecoPixelVertexing/PixelLowPtUtilities/interface/TripletFilter.h"
00019 
00020 class TrackerGeometry;
00021 class TripletFilter;
00022 
00023 #include <vector>
00024 
00025 class   PixelTripletLowPtGenerator :
00026  public HitTripletGeneratorFromPairAndLayers {
00027 
00028  typedef CombinedHitTripletGenerator::LayerCacheType       LayerCacheType;
00029 
00030  public:
00031    PixelTripletLowPtGenerator( const edm::ParameterSet& cfg) 
00032     : ps(cfg), thePairGenerator(0), theLayerCache(0)
00033    { theTracker = 0; theFilter = 0; }
00034 
00035    virtual ~PixelTripletLowPtGenerator() { delete thePairGenerator; delete theFilter; }
00036 
00037    virtual void init( const HitPairGenerator & pairs,
00038       const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00039 
00040    virtual void hitTriplets(const TrackingRegion& region, OrderedHitTriplets & trs,  const edm::Event & ev, const edm::EventSetup& es);
00041 
00042    const HitPairGenerator & pairGenerator() const { return *thePairGenerator; }
00043    const std::vector<ctfseeding::SeedingLayer> & thirdLayers() const { return theLayers; }
00044 
00045  private:
00046   void getTracker (const edm::EventSetup& es);
00047   GlobalPoint getGlobalPosition(const TrackingRecHit* recHit);
00048 
00049   const TrackerGeometry * theTracker;
00050   TripletFilter * theFilter;
00051 
00052   edm::ParameterSet         ps;
00053   HitPairGenerator * thePairGenerator;
00054   std::vector<ctfseeding::SeedingLayer> theLayers;
00055   LayerCacheType * theLayerCache;
00056 
00057   bool checkMultipleScattering;
00058   double nSigMultipleScattering;
00059   bool checkClusterShape;
00060   double rzTolerance;
00061   double maxAngleRatio;
00062 
00063   std::string builderName;
00064 };
00065 
00066 #endif