CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoPixelVertexing/PixelLowPtUtilities/interface/LowPtClusterShapeSeedComparitor.h

Go to the documentation of this file.
00001 #ifndef _LowPtClusterShapeSeedComparitor_h_
00002 #define _LowPtClusterShapeSeedComparitor_h_
00003 
00004 
00005 #include "RecoTracker/TkSeedingLayers/interface/SeedComparitor.h"
00006 
00007 #include "DataFormats/GeometryVector/interface/GlobalTag.h"
00008 #include "DataFormats/GeometryVector/interface/Vector2DBase.h"
00009 typedef Vector2DBase<float,GlobalTag> Global2DVector;
00010 
00011 //#include "DataFormats/GeometryVector/interface/LocalVector.h"
00012 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00013 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00014 
00015 #include <vector>
00016 
00017 namespace edm { class ParameterSet; class EventSetup; }
00018 
00019 class TrackerGeometry;
00020 class TrackingRecHit;
00021 class ClusterShapeHitFilter;
00022 
00023 class LowPtClusterShapeSeedComparitor : public SeedComparitor
00024 {
00025  public:
00026   LowPtClusterShapeSeedComparitor(const edm::ParameterSet& ps);
00027   virtual ~LowPtClusterShapeSeedComparitor();
00028   virtual bool compatible(const SeedingHitSet &hits, const edm::EventSetup &es);
00029 
00030  private:
00031   float areaParallelogram(const Global2DVector & a,
00032                           const Global2DVector & b);
00033   std::vector<GlobalVector>
00034     getGlobalDirs(const std::vector<GlobalPoint> & globalPoss);
00035   std::vector<GlobalPoint>
00036     getGlobalPoss(const TransientTrackingRecHit::ConstRecHitContainer & recHits);
00037  
00038    const ClusterShapeHitFilter * theFilter;
00039 };
00040 
00041 #endif
00042