CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/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 "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h"
00012 #include "FWCore/Framework/interface/EventSetup.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGeneratorFromPairAndLayers.h"
00015 
00016 #include "RecoPixelVertexing/PixelLowPtUtilities/interface/TripletFilter.h"
00017 
00018 class TrackerGeometry;
00019 class TripletFilter;
00020 
00021 #include <vector>
00022 
00023 class   PixelTripletLowPtGenerator :
00024  public HitTripletGeneratorFromPairAndLayers {
00025 
00026 
00027  public:
00028    PixelTripletLowPtGenerator( const edm::ParameterSet& cfg) 
00029      : theTracker(0), theFilter(0), ps(cfg), thePairGenerator(0), theLayerCache(0)
00030    {  }
00031 
00032    virtual ~PixelTripletLowPtGenerator() { delete thePairGenerator; delete theFilter; }
00033 
00034    virtual void init( const HitPairGenerator & pairs,
00035       const std::vector<ctfseeding::SeedingLayer> & layers, LayerCacheType* layerCache);
00036 
00037    virtual void hitTriplets(const TrackingRegion& region, OrderedHitTriplets & trs,  const edm::Event & ev, const edm::EventSetup& es);
00038 
00039    const HitPairGenerator & pairGenerator() const { return *thePairGenerator; }
00040    const std::vector<ctfseeding::SeedingLayer> & thirdLayers() const { return theLayers; }
00041 
00042  private:
00043   void getTracker (const edm::EventSetup& es);
00044   GlobalPoint getGlobalPosition(const TrackingRecHit* recHit);
00045 
00046   const TrackerGeometry * theTracker;
00047   TripletFilter * theFilter;
00048 
00049   edm::ParameterSet         ps;
00050   HitPairGenerator * thePairGenerator;
00051   std::vector<ctfseeding::SeedingLayer> theLayers;
00052   LayerCacheType * theLayerCache;
00053 
00054   double nSigMultipleScattering;
00055   double rzTolerance;
00056   double maxAngleRatio;
00057 
00058   std::string builderName;
00059   bool checkMultipleScattering;
00060   bool checkClusterShape;
00061  
00062 };
00063 
00064 #endif