CMS 3D CMS Logo

ClusterShapeTrackFilter.h
Go to the documentation of this file.
1 #ifndef _ClusterShapeTrackFilter_h_
2 #define _ClusterShapeTrackFilter_h_
3 
4 
6 
10 
11 //#include "DataFormats/GeometryVector/interface/LocalVector.h"
14 
15 #include <vector>
16 
17 namespace edm { class EventSetup; }
18 
19 class TrackerGeometry;
20 class TrackingRecHit;
22 class TrackerTopology;
24 
26 {
27  public:
28  ClusterShapeTrackFilter(const SiPixelClusterShapeCache *cache, double ptmin, double ptmax, const edm::EventSetup& es);
29  ~ClusterShapeTrackFilter() override;
30  bool operator() (const reco::Track*, const std::vector<const TrackingRecHit *> &hits) const override;
31 
32  private:
33  float areaParallelogram(const Global2DVector & a,
34  const Global2DVector & b) const;
35  std::vector<GlobalVector>
36  getGlobalDirs(const std::vector<GlobalPoint> & globalPoss) const;
37  std::vector<GlobalPoint>
38  getGlobalPoss(const std::vector<const TrackingRecHit *>& recHits) const;
39 
44 
45  const double ptMin;
46  const double ptMax;
47 };
48 
49 #endif
50 
const TrackerGeometry * theTracker
const ClusterShapeHitFilter * theFilter
const TrackerTopology * tTopo
double b
Definition: hdecay.h:120
double ptmin
Definition: HydjetWrapper.h:90
HLT enums.
double a
Definition: hdecay.h:121
def cache(function)
Definition: utilities.py:3
const SiPixelClusterShapeCache * theClusterShapeCache
Vector2DBase< float, GlobalTag > Global2DVector