CMS 3D CMS Logo

TrajSeedMatcher.h
Go to the documentation of this file.
1 #ifndef RecoEgamma_EgammaElectronAlgos_TrajSeedMatcher_h
2 #define RecoEgamma_EgammaElectronAlgos_TrajSeedMatcher_h
3 
4 //******************************************************************************
5 //
6 // Part of the refactorisation of of the E/gamma pixel matching for 2017 pixels
7 // This refactorisation converts the monolithic approach to a series of
8 // independent producer modules, with each modules performing a specific
9 // job as recommended by the 2017 tracker framework
10 //
11 //
12 // The module is based of PixelHitMatcher (the seed based functions) but
13 // extended to match on an arbitary number of hits rather than just doublets.
14 // It is also aware of how many layers the supercluster trajectory passed through
15 // and uses that information to determine how many hits to require
16 // Other than that, its a direct port and follows what PixelHitMatcher did
17 //
18 //
19 // Author : Sam Harper (RAL), 2017
20 //
21 //*******************************************************************************
22 
24 
27 
37 
40 
41 namespace edm {
42  class ConsumesCollector;
43  class EventSetup;
45  class ParameterSet;
47 } // namespace edm
48 
50 class TrackingRecHit;
51 
53 public:
54  struct SCHitMatch {
55  const DetId detId = 0;
60  const float et = 0.f;
61  const float eta = 0.f;
62  const float phi = 0.f;
63  const int charge = 0;
64  const int nrClus = 0;
65  };
66 
67  struct MatchInfo {
68  public:
70  float dRZPos, dRZNeg;
71  float dPhiPos, dPhiNeg;
72 
73  MatchInfo(const DetId& iDetId, float iDRZPos, float iDRZNeg, float iDPhiPos, float iDPhiNeg)
74  : detId(iDetId), dRZPos(iDRZPos), dRZNeg(iDRZNeg), dPhiPos(iDPhiPos), dPhiNeg(iDPhiNeg) {}
75  };
76 
77  class SeedWithInfo {
78  public:
80  const std::vector<SCHitMatch>& posCharge,
81  const std::vector<SCHitMatch>& negCharge,
82  int nrValidLayers);
83  ~SeedWithInfo() = default;
84 
85  const TrajectorySeed& seed() const { return seed_; }
86  float dRZPos(size_t hitNr) const { return getVal(hitNr, &MatchInfo::dRZPos); }
87  float dRZNeg(size_t hitNr) const { return getVal(hitNr, &MatchInfo::dRZNeg); }
88  float dPhiPos(size_t hitNr) const { return getVal(hitNr, &MatchInfo::dPhiPos); }
89  float dPhiNeg(size_t hitNr) const { return getVal(hitNr, &MatchInfo::dPhiNeg); }
90  DetId detId(size_t hitNr) const { return hitNr < matchInfo_.size() ? matchInfo_[hitNr].detId : DetId(0); }
91  size_t nrMatchedHits() const { return matchInfo_.size(); }
92  const std::vector<MatchInfo>& matches() const { return matchInfo_; }
93  int nrValidLayers() const { return nrValidLayers_; }
94 
95  private:
96  float getVal(size_t hitNr, float MatchInfo::*val) const {
97  return hitNr < matchInfo_.size() ? matchInfo_[hitNr].*val : std::numeric_limits<float>::max();
98  }
99 
100  private:
102  std::vector<MatchInfo> matchInfo_;
104  };
105 
106  class MatchingCuts {
107  public:
109  virtual ~MatchingCuts() {}
110  virtual bool operator()(const SCHitMatch& scHitMatch) const = 0;
111  };
112 
113  class MatchingCutsV1 : public MatchingCuts {
114  public:
115  explicit MatchingCutsV1(const edm::ParameterSet& pset);
116  bool operator()(const SCHitMatch& scHitMatch) const override;
117 
118  private:
119  float getDRZCutValue(const float scEt, const float scEta) const;
120 
121  private:
122  const double dPhiMax_;
123  const double dRZMax_;
124  const double dRZMaxLowEtThres_;
125  const std::vector<double> dRZMaxLowEtEtaBins_;
126  const std::vector<double> dRZMaxLowEt_;
127  };
128 
129  class MatchingCutsV2 : public MatchingCuts {
130  public:
131  explicit MatchingCutsV2(const edm::ParameterSet& pset);
132  bool operator()(const SCHitMatch& scHitMatch) const override;
133 
134  private:
135  size_t getBinNr(float eta) const;
136  float getCutValue(float et, float highEt, float highEtThres, float lowEtGrad) const {
137  return highEt + std::min(0.f, et - highEtThres) * lowEtGrad;
138  }
139 
140  private:
142  std::vector<double> dRZHighEt_, dRZHighEtThres_, dRZLowEtGrad_;
143  std::vector<double> etaBins_;
144  };
145 
146 public:
147  struct Configuration {
149 
154 
155  const bool useRecoVertex;
156  const bool enableHitSkipping;
159 
160  //these two variables determine how hits we require
161  //based on how many valid layers we had
162  //right now we always need atleast two hits
163  //also highly dependent on the seeds you pass in
164  //which also require a given number of hits
165  const std::vector<unsigned int> minNrHits;
166  const std::vector<int> minNrHitsValidLayerBins;
167 
168  const std::vector<std::unique_ptr<MatchingCuts> > matchingCuts;
169  };
170 
171  explicit TrajSeedMatcher(Configuration const& cfg,
172  edm::EventSetup const& iSetup,
174  ~TrajSeedMatcher() = default;
175 
177 
178  std::vector<TrajSeedMatcher::SeedWithInfo> operator()(const TrajectorySeedCollection& seeds,
179  const GlobalPoint& candPos,
180  const GlobalPoint& vprim,
181  const float energy);
182 
183 private:
184  std::vector<SCHitMatch> processSeed(const TrajectorySeed& seed,
185  const GlobalPoint& candPos,
186  const GlobalPoint& vprim,
187  const float energy,
188  const TrajectoryStateOnSurface& initialTrajState);
189 
190  static float getZVtxFromExtrapolation(const GlobalPoint& primeVtxPos,
191  const GlobalPoint& hitPos,
192  const GlobalPoint& candPos);
193 
195  const TrajectoryStateOnSurface& initialState,
197 
199  const FreeTrajectoryState& initialState,
200  const GlobalPoint& point,
202 
204  const GlobalPoint& vtx,
205  const float energy,
206  const int charge) const;
207  void clearCache();
208 
209  bool passesMatchSel(const SCHitMatch& hit, const size_t hitNr) const;
210 
211  int getNrValidLayersAlongTraj(const SCHitMatch& hit1,
212  const SCHitMatch& hit2,
213  const GlobalPoint& candPos,
214  const GlobalPoint& vprim,
215  const float energy,
216  const int charge);
217 
218  int getNrValidLayersAlongTraj(const DetId& hitId, const TrajectoryStateOnSurface& hitTrajState) const;
219 
220  bool layerHasValidHits(const DetLayer& layer,
221  const TrajectoryStateOnSurface& hitSurState,
222  const Propagator& propToLayerFromState) const;
223 
224  size_t getNrHitsRequired(const int nrValidLayers) const;
225 
226  //parameterised b-fields may not be valid for entire detector, just tracker volume
227  //however need we ecal so we auto select based on the position
230  }
231 
232 private:
233  static constexpr float kElectronMass_ = 0.000511;
234 
236 
242 
245 
246  std::unordered_map<int, TrajectoryStateOnSurface> trajStateFromVtxPosChargeCache_;
247  std::unordered_map<int, TrajectoryStateOnSurface> trajStateFromVtxNegChargeCache_;
248 
251 };
252 
253 #endif
TrajSeedMatcher::MatchingCutsV2::getBinNr
size_t getBinNr(float eta) const
Definition: TrajSeedMatcher.cc:468
TrajectoryStateOnSurface.h
TrajSeedMatcher::SeedWithInfo::matches
const std::vector< MatchInfo > & matches() const
Definition: TrajSeedMatcher.h:92
TrajSeedMatcher::MatchInfo
Definition: TrajSeedMatcher.h:67
TrajSeedMatcher::getZVtxFromExtrapolation
static float getZVtxFromExtrapolation(const GlobalPoint &primeVtxPos, const GlobalPoint &hitPos, const GlobalPoint &candPos)
Definition: TrajSeedMatcher.cc:225
TrajSeedMatcher::layerHasValidHits
bool layerHasValidHits(const DetLayer &layer, const TrajectoryStateOnSurface &hitSurState, const Propagator &propToLayerFromState) const
Definition: TrajSeedMatcher.cc:341
TrajSeedMatcher::clearCache
void clearCache()
Definition: TrajSeedMatcher.cc:281
TrajSeedMatcher::MatchingCuts
Definition: TrajSeedMatcher.h:106
MeasurementTrackerEvent.h
TrajSeedMatcher::SeedWithInfo
Definition: TrajSeedMatcher.h:77
TrajectorySeedCollection
std::vector< TrajectorySeed > TrajectorySeedCollection
Definition: TrajectorySeedCollection.h:6
TrajSeedMatcher::detLayerGeom_
DetLayerGeometry const & detLayerGeom_
Definition: TrajSeedMatcher.h:241
ESHandle.h
TrajSeedMatcher::passesMatchSel
bool passesMatchSel(const SCHitMatch &hit, const size_t hitNr) const
Definition: TrajSeedMatcher.cc:288
TrajSeedMatcher::MatchingCutsV2::getCutValue
float getCutValue(float et, float highEt, float highEtThres, float lowEtGrad) const
Definition: TrajSeedMatcher.h:136
DetLayer
Definition: DetLayer.h:21
TrajSeedMatcher::trajStateFromVtxPosChargeCache_
std::unordered_map< int, TrajectoryStateOnSurface > trajStateFromVtxPosChargeCache_
Definition: TrajSeedMatcher.h:246
TrajSeedMatcher::MatchingCutsV2::dRZHighEtThres_
std::vector< double > dRZHighEtThres_
Definition: TrajSeedMatcher.h:142
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
min
T min(T a, T b)
Definition: MathUtil.h:58
TrajSeedMatcher::Configuration::requireExactMatchCount
const bool requireExactMatchCount
Definition: TrajSeedMatcher.h:157
TrajSeedMatcher::MatchInfo::detId
DetId detId
Definition: TrajSeedMatcher.h:69
TrajSeedMatcher::MatchingCutsV1::dRZMaxLowEtThres_
const double dRZMaxLowEtThres_
Definition: TrajSeedMatcher.h:124
edm
HLT enums.
Definition: AlignableModifier.h:19
MagneticField::isDefined
virtual bool isDefined(const GlobalPoint &) const
True if the point is within the region where the concrete field.
Definition: MagneticField.h:40
pos
Definition: PixelAliasList.h:18
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TrajSeedMatcher::SeedWithInfo::detId
DetId detId(size_t hitNr) const
Definition: TrajSeedMatcher.h:90
TrajSeedMatcher::SeedWithInfo::dPhiPos
float dPhiPos(size_t hitNr) const
Definition: TrajSeedMatcher.h:88
TrajSeedMatcher::Configuration::useRecoVertex
const bool useRecoVertex
Definition: TrajSeedMatcher.h:155
TrajSeedMatcher::MatchingCutsV1::dRZMax_
const double dRZMax_
Definition: TrajSeedMatcher.h:123
TrajSeedMatcher::MatchingCutsV2::etaBins_
std::vector< double > etaBins_
Definition: TrajSeedMatcher.h:143
TrajSeedMatcher::makePSetDescription
static edm::ParameterSetDescription makePSetDescription()
Definition: TrajSeedMatcher.cc:92
TrajSeedMatcher::getNrHitsRequired
size_t getNrHitsRequired(const int nrValidLayers) const
Definition: TrajSeedMatcher.cc:363
TrajSeedMatcher::backwardPropagator_
PropagatorWithMaterial backwardPropagator_
Definition: TrajSeedMatcher.h:244
TrajSeedMatcher::MatchingCutsV2::dPhiHighEtThres_
std::vector< double > dPhiHighEtThres_
Definition: TrajSeedMatcher.h:141
NavigationSchool
Definition: NavigationSchool.h:18
TrajSeedMatcher::SeedWithInfo::nrMatchedHits
size_t nrMatchedHits() const
Definition: TrajSeedMatcher.h:91
TrajSeedMatcher::MatchingCutsV2::MatchingCutsV2
MatchingCutsV2(const edm::ParameterSet &pset)
Definition: TrajSeedMatcher.cc:432
TrajSeedMatcher::magField_
MagneticField const & magField_
Definition: TrajSeedMatcher.h:237
gedPhotons_cfi.highEt
highEt
Definition: gedPhotons_cfi.py:50
TrajSeedMatcher::SCHitMatch::hit
const TrackingRecHit & hit
Definition: TrajSeedMatcher.h:59
TrajSeedMatcher::SeedWithInfo::dPhiNeg
float dPhiNeg(size_t hitNr) const
Definition: TrajSeedMatcher.h:89
TrajSeedMatcher::trajStateFromPointNegChargeCache_
IntGlobalPointPairUnorderedMap< TrajectoryStateOnSurface > trajStateFromPointNegChargeCache_
Definition: TrajSeedMatcher.h:250
TrajSeedMatcher::SCHitMatch::hitPos
const GlobalPoint hitPos
Definition: TrajSeedMatcher.h:56
TrajSeedMatcher::getTrajStateFromVtx
const TrajectoryStateOnSurface & getTrajStateFromVtx(const TrackingRecHit &hit, const TrajectoryStateOnSurface &initialState, const PropagatorWithMaterial &propagator)
Definition: TrajSeedMatcher.cc:237
TrajSeedMatcher::Configuration::useParamMagFieldIfDefined
const bool useParamMagFieldIfDefined
Definition: TrajSeedMatcher.h:158
TrajSeedMatcher::Configuration
Definition: TrajSeedMatcher.h:147
Propagator
Definition: Propagator.h:44
DetId
Definition: DetId.h:17
TrajSeedMatcher::measTkEvt_
MeasurementTrackerEvent const & measTkEvt_
Definition: TrajSeedMatcher.h:239
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
PropagatorWithMaterial
Definition: PropagatorWithMaterial.h:25
TrajSeedMatcher::MatchingCutsV1::operator()
bool operator()(const SCHitMatch &scHitMatch) const override
Definition: TrajSeedMatcher.cc:408
TrajSeedMatcher::magFieldParam_
MagneticField const & magFieldParam_
Definition: TrajSeedMatcher.h:238
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
TrajSeedMatcher::SeedWithInfo::nrValidLayers_
int nrValidLayers_
Definition: TrajSeedMatcher.h:103
TrajSeedMatcher::Configuration::paramMagFieldToken
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > paramMagFieldToken
Definition: TrajSeedMatcher.h:151
utils.h
TrajSeedMatcher::SCHitMatch::dRZ
const float dRZ
Definition: TrajSeedMatcher.h:57
TrajSeedMatcher::SCHitMatch::detId
const DetId detId
Definition: TrajSeedMatcher.h:55
TrajSeedMatcher::SeedWithInfo::dRZNeg
float dRZNeg(size_t hitNr) const
Definition: TrajSeedMatcher.h:87
TrajSeedMatcher::cfg_
Configuration const & cfg_
Definition: TrajSeedMatcher.h:235
TrajSeedMatcher::MatchingCutsV2::dPhiLowEtGrad_
std::vector< double > dPhiLowEtGrad_
Definition: TrajSeedMatcher.h:141
PVValHelper::eta
Definition: PVValidationHelpers.h:69
TrajSeedMatcher::MatchingCutsV1
Definition: TrajSeedMatcher.h:113
TrajSeedMatcher::MatchingCutsV2::dPhiHighEt_
std::vector< double > dPhiHighEt_
Definition: TrajSeedMatcher.h:141
IdealMagneticFieldRecord.h
TrajSeedMatcher::Configuration::matchingCuts
const std::vector< std::unique_ptr< MatchingCuts > > matchingCuts
Definition: TrajSeedMatcher.h:168
TrajSeedMatcher::MatchInfo::dRZNeg
float dRZNeg
Definition: TrajSeedMatcher.h:70
TrajSeedMatcher::TrajSeedMatcher
TrajSeedMatcher(Configuration const &cfg, edm::EventSetup const &iSetup, MeasurementTrackerEvent const &measTkEvt)
Definition: TrajSeedMatcher.cc:80
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
HLT_2018_cff.measTkEvt
measTkEvt
Definition: HLT_2018_cff.py:13898
TrajSeedMatcher::SCHitMatch::eta
const float eta
Definition: TrajSeedMatcher.h:61
TrajSeedMatcher::MatchingCuts::MatchingCuts
MatchingCuts()
Definition: TrajSeedMatcher.h:108
TrajSeedMatcher::MatchingCuts::operator()
virtual bool operator()(const SCHitMatch &scHitMatch) const =0
Point3DBase< float, GlobalTag >
TrajSeedMatcher::Configuration::minNrHits
const std::vector< unsigned int > minNrHits
Definition: TrajSeedMatcher.h:165
TrajSeedMatcher::MatchingCutsV2::dRZHighEt_
std::vector< double > dRZHighEt_
Definition: TrajSeedMatcher.h:142
TrajSeedMatcher::trajStateFromPointPosChargeCache_
IntGlobalPointPairUnorderedMap< TrajectoryStateOnSurface > trajStateFromPointPosChargeCache_
Definition: TrajSeedMatcher.h:249
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
TrajSeedMatcher::SeedWithInfo::seed
const TrajectorySeed & seed() const
Definition: TrajSeedMatcher.h:85
TrajSeedMatcher::MatchInfo::dPhiNeg
float dPhiNeg
Definition: TrajSeedMatcher.h:71
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
InitialStep_cff.seeds
seeds
Definition: InitialStep_cff.py:232
MeasurementTrackerEvent
Definition: MeasurementTrackerEvent.h:15
edm::ParameterSet
Definition: ParameterSet.h:36
TrajSeedMatcher
Definition: TrajSeedMatcher.h:52
TrajSeedMatcher::~TrajSeedMatcher
~TrajSeedMatcher()=default
TrajSeedMatcher::getNrValidLayersAlongTraj
int getNrValidLayersAlongTraj(const SCHitMatch &hit1, const SCHitMatch &hit2, const GlobalPoint &candPos, const GlobalPoint &vprim, const float energy, const int charge)
Definition: TrajSeedMatcher.cc:297
ParameterSet
Definition: Functions.h:16
TrajSeedMatcher::Configuration::magFieldToken
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken
Definition: TrajSeedMatcher.h:150
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
PropagatorWithMaterial.h
TrajSeedMatcher::SeedWithInfo::nrValidLayers
int nrValidLayers() const
Definition: TrajSeedMatcher.h:93
RecoGeometryRecord.h
TrajSeedMatcher::MatchingCutsV1::getDRZCutValue
float getDRZCutValue(const float scEt, const float scEta) const
Definition: TrajSeedMatcher.cc:419
DetLayerGeometry
Definition: DetLayerGeometry.h:18
TrajSeedMatcher::MatchingCutsV1::dRZMaxLowEtEtaBins_
const std::vector< double > dRZMaxLowEtEtaBins_
Definition: TrajSeedMatcher.h:125
TrajSeedMatcher::Configuration::enableHitSkipping
const bool enableHitSkipping
Definition: TrajSeedMatcher.h:156
TrajSeedMatcher::MatchingCutsV2
Definition: TrajSeedMatcher.h:129
TrajSeedMatcher::SeedWithInfo::dRZPos
float dRZPos(size_t hitNr) const
Definition: TrajSeedMatcher.h:86
TrajSeedMatcher::SeedWithInfo::seed_
const TrajectorySeed & seed_
Definition: TrajSeedMatcher.h:101
TrajSeedMatcher::kElectronMass_
static constexpr float kElectronMass_
Definition: TrajSeedMatcher.h:233
IntGlobalPointPairUnorderedMap
std::unordered_map< std::pair< int, GlobalPoint >, T, HashIntGlobalPointPair > IntGlobalPointPairUnorderedMap
Definition: utils.h:20
TrajSeedMatcher::getMagField
const MagneticField & getMagField(const GlobalPoint &point) const
Definition: TrajSeedMatcher.h:228
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
TrajSeedMatcher::SeedWithInfo::SeedWithInfo
SeedWithInfo(const TrajectorySeed &seed, const std::vector< SCHitMatch > &posCharge, const std::vector< SCHitMatch > &negCharge, int nrValidLayers)
Definition: TrajSeedMatcher.cc:371
TrajSeedMatcher::MatchInfo::dRZPos
float dRZPos
Definition: TrajSeedMatcher.h:70
MagneticField.h
edm::EventSetup
Definition: EventSetup.h:57
cc
TrajectorySeedCollection.h
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord >
GlobalDetLayerGeometry.h
looper.cfg
cfg
Definition: looper.py:297
TrajSeedMatcher::MatchingCutsV1::MatchingCutsV1
MatchingCutsV1(const edm::ParameterSet &pset)
Definition: TrajSeedMatcher.cc:396
TrackingRecHit
Definition: TrackingRecHit.h:21
TrajSeedMatcher::MatchingCuts::~MatchingCuts
virtual ~MatchingCuts()
Definition: TrajSeedMatcher.h:109
TrajSeedMatcher::SCHitMatch::et
const float et
Definition: TrajSeedMatcher.h:60
TrajSeedMatcher::getTrajStateFromPoint
const TrajectoryStateOnSurface & getTrajStateFromPoint(const TrackingRecHit &hit, const FreeTrajectoryState &initialState, const GlobalPoint &point, const PropagatorWithMaterial &propagator)
Definition: TrajSeedMatcher.cc:254
TrajSeedMatcher::MatchingCutsV2::dRZLowEtGrad_
std::vector< double > dRZLowEtGrad_
Definition: TrajSeedMatcher.h:142
TrajSeedMatcher::MatchInfo::MatchInfo
MatchInfo(const DetId &iDetId, float iDRZPos, float iDRZNeg, float iDPhiPos, float iDPhiNeg)
Definition: TrajSeedMatcher.h:73
TrajSeedMatcher::Configuration::minNrHitsValidLayerBins
const std::vector< int > minNrHitsValidLayerBins
Definition: TrajSeedMatcher.h:166
heppy_batch.val
val
Definition: heppy_batch.py:351
ConfigurationDescriptions
TrajSeedMatcher::Configuration::Configuration
Configuration(const edm::ParameterSet &pset, edm::ConsumesCollector &&cc)
Definition: TrajSeedMatcher.cc:58
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TrajSeedMatcher::MatchingCutsV1::dRZMaxLowEt_
const std::vector< double > dRZMaxLowEt_
Definition: TrajSeedMatcher.h:126
TrajSeedMatcher::MatchingCutsV2::operator()
bool operator()(const SCHitMatch &scHitMatch) const override
Definition: TrajSeedMatcher.cc:455
DetId.h
TrajSeedMatcher::SeedWithInfo::getVal
float getVal(size_t hitNr, float MatchInfo::*val) const
Definition: TrajSeedMatcher.h:96
TrajSeedMatcher::SCHitMatch
Definition: TrajSeedMatcher.h:54
TrajSeedMatcher::SCHitMatch::dPhi
const float dPhi
Definition: TrajSeedMatcher.h:58
TrajSeedMatcher::makeTrajStateOnSurface
TrajectoryStateOnSurface makeTrajStateOnSurface(const GlobalPoint &pos, const GlobalPoint &vtx, const float energy, const int charge) const
Definition: TrajSeedMatcher.cc:272
TrajSeedMatcher::SeedWithInfo::matchInfo_
std::vector< MatchInfo > matchInfo_
Definition: TrajSeedMatcher.h:102
TrajSeedMatcher::SCHitMatch::phi
const float phi
Definition: TrajSeedMatcher.h:62
TrajSeedMatcher::SCHitMatch::nrClus
const int nrClus
Definition: TrajSeedMatcher.h:64
ParameterSetDescription
TrajectorySeed
Definition: TrajectorySeed.h:17
TrajSeedMatcher::MatchingCutsV1::dPhiMax_
const double dPhiMax_
Definition: TrajSeedMatcher.h:122
TrajSeedMatcher::Configuration::navSchoolToken
const edm::ESGetToken< NavigationSchool, NavigationSchoolRecord > navSchoolToken
Definition: TrajSeedMatcher.h:152
TrajSeedMatcher::MatchInfo::dPhiPos
float dPhiPos
Definition: TrajSeedMatcher.h:71
TrajSeedMatcher::SeedWithInfo::~SeedWithInfo
~SeedWithInfo()=default
TrajSeedMatcher::Configuration::detLayerGeomToken
const edm::ESGetToken< DetLayerGeometry, RecoGeometryRecord > detLayerGeomToken
Definition: TrajSeedMatcher.h:153
EventSetup
NavigationSchool.h
TrajSeedMatcher::SCHitMatch::charge
const int charge
Definition: TrajSeedMatcher.h:63
NavigationSchoolRecord.h
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
MagneticField
Definition: MagneticField.h:19
GlobalPoint.h
TrajSeedMatcher::operator()
std::vector< TrajSeedMatcher::SeedWithInfo > operator()(const TrajectorySeedCollection &seeds, const GlobalPoint &candPos, const GlobalPoint &vprim, const float energy)
Definition: TrajSeedMatcher.cc:130
TrajSeedMatcher::forwardPropagator_
PropagatorWithMaterial forwardPropagator_
Definition: TrajSeedMatcher.h:243
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
TrajSeedMatcher::trajStateFromVtxNegChargeCache_
std::unordered_map< int, TrajectoryStateOnSurface > trajStateFromVtxNegChargeCache_
Definition: TrajSeedMatcher.h:247
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
hit
Definition: SiStripHitEffFromCalibTree.cc:88
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
TrajSeedMatcher::navSchool_
NavigationSchool const & navSchool_
Definition: TrajSeedMatcher.h:240
TrajSeedMatcher::processSeed
std::vector< SCHitMatch > processSeed(const TrajectorySeed &seed, const GlobalPoint &candPos, const GlobalPoint &vprim, const float energy, const TrajectoryStateOnSurface &initialTrajState)
Definition: TrajSeedMatcher.cc:172