CMS 3D CMS Logo

PixelHitMatcher.h
Go to the documentation of this file.
1 #ifndef PIXELHITMATCHER_H
2 #define PIXELHITMATCHER_H
3 
4 // -*- C++ -*-
5 //
6 // Package: EgammaElectronAlgos
7 // Class: PixelHitMatcher
8 //
17 //
18 // Original Author: Ursula Berthon, Claude Charlot
19 // Created: Mon Mar 27 13:22:06 CEST 2006
20 //
21 //
22 
25 
30 class TrackerGeometry;
31 class MagneticField;
32 
33 struct SeedWithInfo {
35  const unsigned char hitsMask;
36  const int subDet2;
37  const float dRz2;
38  const float dPhi2;
39  const int subDet1;
40  const float dRz1;
41  const float dPhi1;
42 };
43 
45 public:
46  PixelHitMatcher(float phi1min,
47  float phi1max,
48  float phi2minB,
49  float phi2maxB,
50  float phi2minF,
51  float phi2maxF,
52  float z2minB,
53  float z2maxB,
54  float r2minF,
55  float r2maxF,
56  float rMinI,
57  float rMaxI,
58  bool useRecoVertex);
59 
60  void setES(const MagneticField*, const TrackerGeometry* trackerGeometry);
61 
62  std::vector<SeedWithInfo> operator()(const std::vector<const TrajectorySeedCollection*>& seedsV,
63  const GlobalPoint& xmeas,
64  const GlobalPoint& vprim,
65  float energy,
66  int charge) const;
67 
68  void set1stLayer(float dummyphi1min, float dummyphi1max);
69  void set1stLayerZRange(float zmin1, float zmax1);
70  void set2ndLayer(float dummyphi2minB, float dummyphi2maxB, float dummyphi2minF, float dummyphi2maxF);
71 
72 private:
74  bool operator()(const GlobalPoint& vprim, const TrajectoryStateOnSurface& ts, const GlobalPoint& gp) const;
75 
76  float thePhiMin;
77  float thePhiMax;
78  float theZMin;
79  float theZMax;
80  };
81 
83  bool operator()(const GlobalPoint& vprim, const TrajectoryStateOnSurface& ts, const GlobalPoint& gp) const;
84 
85  float thePhiMin;
86  float thePhiMax;
87  float theRMin;
88  float theRMax;
89  const float theRMinI;
90  const float theRMaxI;
91  };
92 
97  std::unique_ptr<PropagatorWithMaterial> prop1stLayer;
98  std::unique_ptr<PropagatorWithMaterial> prop2ndLayer;
101  const bool useRecoVertex_;
102 };
103 
104 #endif
BarrelMeasurementEstimator meas2ndBLayer
const int subDet1
BarrelMeasurementEstimator meas1stBLayer
std::unique_ptr< PropagatorWithMaterial > prop2ndLayer
std::unique_ptr< PropagatorWithMaterial > prop1stLayer
const MagneticField * theMagField
const float dPhi1
const float dRz1
const float dRz2
const float dPhi2
ForwardMeasurementEstimator meas2ndFLayer
ForwardMeasurementEstimator meas1stFLayer
const bool useRecoVertex_
const int subDet2
const TrajectorySeed seed
const TrackerGeometry * theTrackerGeometry
const unsigned char hitsMask