CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ValidHitPairFilter.h
Go to the documentation of this file.
1 #ifndef _ValidHitPairFilter_h_
2 #define _ValidHitPairFilter_h_
3 
4 #include <vector>
5 
7 
8 namespace edm { class ParameterSet; class EventSetup; }
9 class TrackingRecHit;
10 class Track;
12 class TrackerGeometry;
14 class MagneticField;
15 class Propagator;
16 class DetLayer;
17 class GeomDet;
18 class TrackerTopology;
19 
21 {
22 public:
24  virtual ~ValidHitPairFilter();
25  void update(const edm::Event& ev, const edm::EventSetup& es) override;
26  virtual bool operator()(const reco::Track * track,
27  const std::vector<const TrackingRecHit *>& recHits,
28  const TrackerTopology *tTopo) const;
29 
30 private:
31  int getLayer(const TrackingRecHit & recHit, const TrackerTopology *tTopo) const;
32  std::vector<int> getMissingLayers(int a, int b) const;
33  FreeTrajectoryState getTrajectory(const reco::Track & track) const;
34  std::vector<const GeomDet *> getCloseDets
35  (int il, float rz, const std::vector<float>& rzB,
36  float ph, const std::vector<float>& phB, const TrackerTopology *tTopo) const;
37 
42 
43  const std::vector<DetLayer *> detLayers;
44  std::vector<float> rzBounds[7];
45  std::vector<float> phBounds[7];
46 };
47 
48 #endif
std::vector< const GeomDet * > getCloseDets(int il, float rz, const std::vector< float > &rzB, float ph, const std::vector< float > &phB, const TrackerTopology *tTopo) const
const Propagator * thePropagator
bool ev
const TrackerGeometry * theTracker
void update(const edm::Event &ev, const edm::EventSetup &es) override
ValidHitPairFilter(const edm::ParameterSet &ps, edm::ConsumesCollector &iC)
std::vector< float > phBounds[7]
const GeometricSearchTracker * theGSTracker
std::vector< int > getMissingLayers(int a, int b) const
virtual bool operator()(const reco::Track *track, const std::vector< const TrackingRecHit * > &recHits, const TrackerTopology *tTopo) const
const std::vector< DetLayer * > detLayers
double b
Definition: hdecay.h:120
std::vector< float > rzBounds[7]
double a
Definition: hdecay.h:121
int getLayer(const TrackingRecHit &recHit, const TrackerTopology *tTopo) const
const MagneticField * theMagneticField
FreeTrajectoryState getTrajectory(const reco::Track &track) const