CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
16 
17 #include <vector>
18 
19 namespace edm { class ParameterSet; class EventSetup; class Event;}
20 
21 class TrackerGeometry;
22 class TrackingRecHit;
24 class TrackerTopology;
26 
28 {
29  public:
32  virtual ~ClusterShapeTrackFilter();
33  void update(const edm::Event& ev, const edm::EventSetup& es) override;
34  virtual bool operator()
35  (const reco::Track*, const std::vector<const TrackingRecHit *> &hits,
36  const TrackerTopology *tTopo) const;
37 
38  private:
39  float areaParallelogram(const Global2DVector & a,
40  const Global2DVector & b) const;
41  std::vector<GlobalVector>
42  getGlobalDirs(const std::vector<GlobalPoint> & globalPoss) const;
43  std::vector<GlobalPoint>
44  getGlobalPoss(const std::vector<const TrackingRecHit *>& recHits) const;
45 
47 
51 
52  double ptMin;
53  double ptMax;
54 };
55 
56 #endif
57 
bool ev
const TrackerGeometry * theTracker
const ClusterShapeHitFilter * theFilter
std::vector< GlobalPoint > getGlobalPoss(const std::vector< const TrackingRecHit * > &recHits) const
edm::EDGetTokenT< SiPixelClusterShapeCache > theClusterShapeCacheToken
float areaParallelogram(const Global2DVector &a, const Global2DVector &b) const
double b
Definition: hdecay.h:120
std::vector< GlobalVector > getGlobalDirs(const std::vector< GlobalPoint > &globalPoss) const
ClusterShapeTrackFilter(const edm::ParameterSet &ps, edm::ConsumesCollector &iC)
double a
Definition: hdecay.h:121
const SiPixelClusterShapeCache * theClusterShapeCache
Vector2DBase< float, GlobalTag > Global2DVector
void update(const edm::Event &ev, const edm::EventSetup &es) override