CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SeedFinderSelector Class Reference

#include <SeedFinderSelector.h>

Public Member Functions

void initEvent (const edm::Event &ev, const edm::EventSetup &es)
 
SeedingLayerSetsBuilder::SeedingLayerId Layer_tuple (const FastTrackerRecHit *hit) const
 
bool pass (const std::vector< const FastTrackerRecHit * > &hits) const
 
 SeedFinderSelector (const edm::ParameterSet &cfg, edm::ConsumesCollector &&consumesCollector)
 
void setTrackingRegion (const TrackingRegion *trackingRegion)
 
 ~SeedFinderSelector ()
 

Private Attributes

std::unique_ptr< CAHitQuadrupletGeneratorCAHitQuadGenerator_
 
std::unique_ptr< CAHitTripletGeneratorCAHitTriplGenerator_
 
const edm::EventSetupeventSetup_
 
std::vector< unsigned > layerPairs_
 
const MeasurementTrackermeasurementTracker_
 
const std::string measurementTrackerLabel_
 
std::unique_ptr< MultiHitGeneratorFromPairAndLayersmultiHitGenerator_
 
std::unique_ptr< HitTripletGeneratorFromPairAndLayerspixelTripletGenerator_
 
std::unique_ptr< SeedingLayerSetsHitsseedingLayer
 
std::vector< SeedingLayerSetsBuilder::SeedingLayerIdseedingLayerIds
 
std::unique_ptr< SeedingLayerSetsBuilderseedingLayers_
 
edm::ESHandle< TrackerTopologytrackerTopology
 
const TrackingRegiontrackingRegion_
 

Detailed Description

Definition at line 28 of file SeedFinderSelector.h.

Constructor & Destructor Documentation

SeedFinderSelector::SeedFinderSelector ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  consumesCollector 
)

Definition at line 24 of file SeedFinderSelector.cc.

References CAHitQuadGenerator_, CAHitTriplGenerator_, looper::cfg, Exception, edm::ParameterSet::exists(), timingPdfMaker::get, edm::ParameterSet::getParameter(), HLT_2018_cff::InputTag, layerPairs_, multiHitGenerator_, pixelTripletGenerator_, seedingLayers_, and AlCaHLTBitMon_QueryRunRegistry::string.

25  : trackingRegion_(nullptr),
26  eventSetup_(nullptr),
27  measurementTracker_(nullptr),
28  measurementTrackerLabel_(cfg.getParameter<std::string>("measurementTracker")) {
29  if (cfg.exists("pixelTripletGeneratorFactory")) {
30  const edm::ParameterSet &tripletConfig = cfg.getParameter<edm::ParameterSet>("pixelTripletGeneratorFactory");
32  tripletConfig.getParameter<std::string>("ComponentName"), tripletConfig, consumesCollector);
33  }
34 
35  if (cfg.exists("MultiHitGeneratorFactory")) {
36  const edm::ParameterSet &tripletConfig = cfg.getParameter<edm::ParameterSet>("MultiHitGeneratorFactory");
38  tripletConfig.getParameter<std::string>("ComponentName"), tripletConfig);
39  }
40 
41  if (cfg.exists("CAHitTripletGeneratorFactory")) {
42  const edm::ParameterSet &tripletConfig = cfg.getParameter<edm::ParameterSet>("CAHitTripletGeneratorFactory");
43  CAHitTriplGenerator_ = std::make_unique<CAHitTripletGenerator>(tripletConfig, consumesCollector);
44  seedingLayers_ = std::make_unique<SeedingLayerSetsBuilder>(
45  cfg,
46  consumesCollector,
47  //calling the new FastSim specific constructor to make SeedingLayerSetsHits pointer for triplet iterations
48  edm::InputTag("fastTrackerRecHits"));
49  layerPairs_ = cfg.getParameter<std::vector<unsigned>>("layerPairs"); //allowed layer pairs for CA triplets
50  }
51 
52  if (cfg.exists("CAHitQuadrupletGeneratorFactory")) {
53  const edm::ParameterSet &quadrupletConfig = cfg.getParameter<edm::ParameterSet>("CAHitQuadrupletGeneratorFactory");
54  CAHitQuadGenerator_ = std::make_unique<CAHitQuadrupletGenerator>(quadrupletConfig, consumesCollector);
55  //calling the new FastSim specific constructor to make SeedingLayerSetsHits pointer for quadruplet iterations
57  std::make_unique<SeedingLayerSetsBuilder>(cfg, consumesCollector, edm::InputTag("fastTrackerRecHits"));
58  layerPairs_ = cfg.getParameter<std::vector<unsigned>>("layerPairs"); //allowed layer pairs for CA quadruplets
59  }
60 
61  if ((pixelTripletGenerator_ && multiHitGenerator_) || (CAHitTriplGenerator_ && pixelTripletGenerator_) ||
62  (CAHitTriplGenerator_ && multiHitGenerator_)) {
63  throw cms::Exception("FastSimTracking")
64  << "It is forbidden to specify together 'pixelTripletGeneratorFactory', 'CAHitTripletGeneratorFactory' and "
65  "'MultiHitGeneratorFactory' in configuration of SeedFinderSelection";
66  }
67  if ((pixelTripletGenerator_ && CAHitQuadGenerator_) || (CAHitTriplGenerator_ && CAHitQuadGenerator_) ||
68  (multiHitGenerator_ && CAHitQuadGenerator_)) {
69  throw cms::Exception("FastSimTracking")
70  << "It is forbidden to specify 'CAHitQuadrupletGeneratorFactory' together with 'pixelTripletGeneratorFactory', "
71  "'CAHitTripletGeneratorFactory' or 'MultiHitGeneratorFactory' in configuration of SeedFinderSelection";
72  }
73 }
T getParameter(std::string const &) const
std::unique_ptr< CAHitQuadrupletGenerator > CAHitQuadGenerator_
const edm::EventSetup * eventSetup_
bool exists(std::string const &parameterName) const
checks if a parameter exists
std::unique_ptr< HitTripletGeneratorFromPairAndLayers > pixelTripletGenerator_
std::vector< unsigned > layerPairs_
const TrackingRegion * trackingRegion_
std::unique_ptr< SeedingLayerSetsBuilder > seedingLayers_
const MeasurementTracker * measurementTracker_
const std::string measurementTrackerLabel_
std::unique_ptr< CAHitTripletGenerator > CAHitTriplGenerator_
std::unique_ptr< MultiHitGeneratorFromPairAndLayers > multiHitGenerator_
SeedFinderSelector::~SeedFinderSelector ( )

Definition at line 75 of file SeedFinderSelector.cc.

75 { ; }

Member Function Documentation

void SeedFinderSelector::initEvent ( const edm::Event ev,
const edm::EventSetup es 
)

Definition at line 77 of file SeedFinderSelector.cc.

References CAHitQuadGenerator_, CAHitTriplGenerator_, eventSetup_, edm::EventSetup::get(), measurementTracker_, measurementTrackerLabel_, multiHitGenerator_, seedingLayer, seedingLayerIds, seedingLayers_, and trackerTopology.

77  {
78  eventSetup_ = &es;
79 
80  edm::ESHandle<MeasurementTracker> measurementTrackerHandle;
81  es.get<CkfComponentsRecord>().get(measurementTrackerLabel_, measurementTrackerHandle);
83  measurementTracker_ = &(*measurementTrackerHandle);
84 
85  if (multiHitGenerator_) {
86  multiHitGenerator_->initES(es);
87  }
88 
89  //for CA triplet iterations
91  seedingLayer = seedingLayers_->makeSeedingLayerSetsHitsforFastSim(ev, es);
92  seedingLayerIds = seedingLayers_->layers();
93  CAHitTriplGenerator_->initEvent(ev, es);
94  }
95  //for CA quadruplet iterations
96  if (CAHitQuadGenerator_) {
97  seedingLayer = seedingLayers_->makeSeedingLayerSetsHitsforFastSim(ev, es);
98  seedingLayerIds = seedingLayers_->layers();
99  CAHitQuadGenerator_->initEvent(ev, es);
100  }
101 }
std::unique_ptr< CAHitQuadrupletGenerator > CAHitQuadGenerator_
const edm::EventSetup * eventSetup_
std::unique_ptr< SeedingLayerSetsHits > seedingLayer
std::vector< SeedingLayerSetsBuilder::SeedingLayerId > seedingLayerIds
edm::ESHandle< TrackerTopology > trackerTopology
std::unique_ptr< SeedingLayerSetsBuilder > seedingLayers_
T get() const
Definition: EventSetup.h:73
const MeasurementTracker * measurementTracker_
const std::string measurementTrackerLabel_
std::unique_ptr< CAHitTripletGenerator > CAHitTriplGenerator_
std::unique_ptr< MultiHitGeneratorFromPairAndLayers > multiHitGenerator_
SeedingLayerSetsBuilder::SeedingLayerId SeedFinderSelector::Layer_tuple ( const FastTrackerRecHit hit) const

Definition at line 322 of file SeedFinderSelector.cc.

References Barrel, TrackingRecHit::det(), GeomDet::geographicalId(), GeomDetEnumerators::invalidDet, NegEndcap, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, PosEndcap, edm::ESHandle< T >::product(), TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfSide(), and trackerTopology.

Referenced by pass().

322  {
323  const TrackerTopology *const tTopo = trackerTopology.product();
326  int idLayer = 0;
327 
328  if ((hit->det()->geographicalId()).subdetId() == PixelSubdetector::PixelBarrel) {
330  side = TrackerDetSide::Barrel;
331  idLayer = tTopo->pxbLayer(hit->det()->geographicalId());
332  } else if ((hit->det()->geographicalId()).subdetId() == PixelSubdetector::PixelEndcap) {
334  idLayer = tTopo->pxfDisk(hit->det()->geographicalId());
335  if (tTopo->pxfSide(hit->det()->geographicalId()) == 1) {
337  } else {
339  }
340  }
341  return std::make_tuple(subdet, side, idLayer);
342 }
unsigned int pxfDisk(const DetId &id) const
TrackerDetSide
Definition: TrackerDetSide.h:4
const GeomDet * det() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
edm::ESHandle< TrackerTopology > trackerTopology
unsigned int pxbLayer(const DetId &id) const
unsigned int pxfSide(const DetId &id) const
T const * product() const
Definition: ESHandle.h:86
bool SeedFinderSelector::pass ( const std::vector< const FastTrackerRecHit * > &  hits) const

Definition at line 103 of file SeedFinderSelector.cc.

References IntermediateHitDoublets::beginRegion(), CAHitQuadGenerator_, CAHitTriplGenerator_, GeometricSearchTracker::detLayer(), HitPairGeneratorFromLayerPair::doublets(), eventSetup_, Exception, trigObjTnPSource_cfi::filler, MeasurementTracker::geometricSearchTracker(), Layer_tuple(), layerPairs_, hgcalTopologyTester_cfi::layers, eostools::ls(), measurementTracker_, eostools::move(), multiHitGenerator_, TrackingRegion::origin(), AlCaHLTBitMon_ParallelJobs::p, pixelTripletGenerator_, IntermediateHitDoublets::regionSize(), mps_fire::result, seedingLayer, seedingLayerIds, and trackingRegion_.

103  {
104  if (!measurementTracker_ || !eventSetup_) {
105  throw cms::Exception("FastSimTracking") << "ERROR: event not initialized";
106  }
107  if (!trackingRegion_) {
108  throw cms::Exception("FastSimTracking") << "ERROR: trackingRegion not set";
109  }
110 
111  // check the inner 2 hits
112  if (hits.size() < 2) {
113  throw cms::Exception("FastSimTracking") << "SeedFinderSelector::pass requires at least 2 hits";
114  }
115  const DetLayer *firstLayer =
116  measurementTracker_->geometricSearchTracker()->detLayer(hits[0]->det()->geographicalId());
117  const DetLayer *secondLayer =
118  measurementTracker_->geometricSearchTracker()->detLayer(hits[1]->det()->geographicalId());
119 
120  std::vector<BaseTrackerRecHit const *> firstHits{hits[0]};
121  std::vector<BaseTrackerRecHit const *> secondHits{hits[1]};
122 
123  const RecHitsSortedInPhi fhm(firstHits, trackingRegion_->origin(), firstLayer);
124  const RecHitsSortedInPhi shm(secondHits, trackingRegion_->origin(), secondLayer);
125 
126  HitDoublets result(fhm, shm);
128  *trackingRegion_, *firstLayer, *secondLayer, fhm, shm, *eventSetup_, 0, result);
129 
130  if (result.empty()) {
131  return false;
132  }
133 
134  // check the inner 3 hits
136  if (hits.size() < 3) {
137  throw cms::Exception("FastSimTracking")
138  << "For the given configuration, SeedFinderSelector::pass requires at least 3 hits";
139  }
140  const DetLayer *thirdLayer =
141  measurementTracker_->geometricSearchTracker()->detLayer(hits[2]->det()->geographicalId());
142  std::vector<const DetLayer *> thirdLayerDetLayer(1, thirdLayer);
143  std::vector<BaseTrackerRecHit const *> thirdHits{hits[2]};
144  const RecHitsSortedInPhi thm(thirdHits, trackingRegion_->origin(), thirdLayer);
145  const RecHitsSortedInPhi *thmp = &thm;
146 
148  OrderedHitTriplets tripletresult;
149  pixelTripletGenerator_->hitTriplets(
150  *trackingRegion_, tripletresult, *eventSetup_, result, &thmp, thirdLayerDetLayer, 1);
151  return !tripletresult.empty();
152  } else if (multiHitGenerator_) {
153  OrderedMultiHits tripletresult;
154  multiHitGenerator_->hitTriplets(
155  *trackingRegion_, tripletresult, *eventSetup_, result, &thmp, thirdLayerDetLayer, 1);
156  return !tripletresult.empty();
157  }
158  //new for Phase1
159  else if (CAHitTriplGenerator_) {
160  if (!seedingLayer)
161  throw cms::Exception("FastSimTracking") << "ERROR: SeedingLayers pointer not set for CATripletGenerator";
162 
164  //constructing IntermediateHitDoublets to be passed onto CAHitTripletGenerator::hitNtuplets()
165  IntermediateHitDoublets ihd(&layers);
166  const TrackingRegion &tr_ = *trackingRegion_;
167  auto filler = ihd.beginRegion(&tr_);
168 
169  //forming the SeedingLayerId of the hits
170  std::array<SeedingLayerSetsBuilder::SeedingLayerId, 3> hitPair;
171  hitPair[0] = Layer_tuple(hits[0]);
172  hitPair[1] = Layer_tuple(hits[1]);
173  hitPair[2] = Layer_tuple(hits[2]);
174 
175  //extracting the DetLayer of the hits
176  const DetLayer *fLayer =
177  measurementTracker_->geometricSearchTracker()->detLayer(hits[0]->det()->geographicalId());
178  const DetLayer *sLayer =
179  measurementTracker_->geometricSearchTracker()->detLayer(hits[1]->det()->geographicalId());
180  const DetLayer *tLayer =
181  measurementTracker_->geometricSearchTracker()->detLayer(hits[2]->det()->geographicalId());
182 
183  //converting FastTrackerRecHit hits to BaseTrackerRecHit
184  std::vector<BaseTrackerRecHit const *> fHits{hits[0]};
185  std::vector<BaseTrackerRecHit const *> sHits{hits[1]};
186  std::vector<BaseTrackerRecHit const *> tHits{hits[2]};
187 
188  //forming the SeedingLayerSet for the hit doublets
189  SeedingLayerSetsHits::SeedingLayerSet pairCandidate1, pairCandidate2;
192  for (const auto p : layerPairs_) {
193  pairCandidate = ls.slice(p, p + 2);
194  if (p == 0 && hitPair[0] == seedingLayerIds[pairCandidate[0].index()] &&
195  hitPair[1] == seedingLayerIds[pairCandidate[1].index()])
196  pairCandidate1 = pairCandidate;
197  if (p == 1 && hitPair[1] == seedingLayerIds[pairCandidate[0].index()] &&
198  hitPair[2] == seedingLayerIds[pairCandidate[1].index()])
199  pairCandidate2 = pairCandidate;
200  }
201  }
202 
203  //Important: hits of the layer to be added to LayerHitMapCache
204  auto &layerCache = filler.layerHitMapCache();
205 
206  //doublets for CA triplets from the allowed layer pair combinations:(0,1),(1,2) and storing in filler
207  const RecHitsSortedInPhi &firsthm = *layerCache.add(
208  pairCandidate1[0], std::make_unique<RecHitsSortedInPhi>(fHits, trackingRegion_->origin(), fLayer));
209  const RecHitsSortedInPhi &secondhm = *layerCache.add(
210  pairCandidate1[1], std::make_unique<RecHitsSortedInPhi>(sHits, trackingRegion_->origin(), sLayer));
211  HitDoublets res1(firsthm, secondhm);
213  *trackingRegion_, *fLayer, *sLayer, firsthm, secondhm, *eventSetup_, 0, res1);
214  filler.addDoublets(pairCandidate1, std::move(res1));
215  const RecHitsSortedInPhi &thirdhm = *layerCache.add(
216  pairCandidate2[1], std::make_unique<RecHitsSortedInPhi>(tHits, trackingRegion_->origin(), tLayer));
217  HitDoublets res2(secondhm, thirdhm);
219  *trackingRegion_, *sLayer, *tLayer, secondhm, thirdhm, *eventSetup_, 0, res2);
220  filler.addDoublets(pairCandidate2, std::move(res2));
221 
222  std::vector<OrderedHitSeeds> tripletresult;
223  tripletresult.resize(ihd.regionSize());
224  for (auto &ntuplet : tripletresult)
225  ntuplet.reserve(3);
226  //calling the function from the class, modifies tripletresult
227  CAHitTriplGenerator_->hitNtuplets(ihd, tripletresult, *eventSetup_, *seedingLayer);
228  return !tripletresult[0].empty();
229  }
230  }
231  //new for Phase1
232  if (CAHitQuadGenerator_) {
233  if (hits.size() < 4) {
234  throw cms::Exception("FastSimTracking")
235  << "For the given configuration, SeedFinderSelector::pass requires at least 4 hits";
236  }
237 
238  if (!seedingLayer)
239  throw cms::Exception("FastSimTracking") << "ERROR: SeedingLayers pointer not set for CAHitQuadrupletGenerator";
240 
242  //constructing IntermediateHitDoublets to be passed onto CAHitQuadrupletGenerator::hitNtuplets()
243  IntermediateHitDoublets ihd(&layers);
244  const TrackingRegion &tr_ = *trackingRegion_;
245  auto filler = ihd.beginRegion(&tr_);
246 
247  //forming the SeedingLayerId of the hits
248  std::array<SeedingLayerSetsBuilder::SeedingLayerId, 4> hitPair;
249  hitPair[0] = Layer_tuple(hits[0]);
250  hitPair[1] = Layer_tuple(hits[1]);
251  hitPair[2] = Layer_tuple(hits[2]);
252  hitPair[3] = Layer_tuple(hits[3]);
253 
254  //extracting the DetLayer of the hits
255  const DetLayer *fLayer = measurementTracker_->geometricSearchTracker()->detLayer(hits[0]->det()->geographicalId());
256  const DetLayer *sLayer = measurementTracker_->geometricSearchTracker()->detLayer(hits[1]->det()->geographicalId());
257  const DetLayer *tLayer = measurementTracker_->geometricSearchTracker()->detLayer(hits[2]->det()->geographicalId());
258  const DetLayer *frLayer = measurementTracker_->geometricSearchTracker()->detLayer(hits[3]->det()->geographicalId());
259 
260  //converting FastTrackerRecHit hits to BaseTrackerRecHit
261  std::vector<BaseTrackerRecHit const *> fHits{hits[0]};
262  std::vector<BaseTrackerRecHit const *> sHits{hits[1]};
263  std::vector<BaseTrackerRecHit const *> tHits{hits[2]};
264  std::vector<BaseTrackerRecHit const *> frHits{hits[3]};
265 
266  //forming the SeedingLayerSet for the hit doublets
267  SeedingLayerSetsHits::SeedingLayerSet pairCandidate1, pairCandidate2, pairCandidate3;
268  for (SeedingLayerSetsHits::SeedingLayerSet ls : *seedingLayer) {
270  for (const auto p : layerPairs_) {
271  pairCandidate = ls.slice(p, p + 2);
272  if (p == 0 && hitPair[0] == seedingLayerIds[pairCandidate[0].index()] &&
273  hitPair[1] == seedingLayerIds[pairCandidate[1].index()])
274  pairCandidate1 = pairCandidate;
275  if (p == 1 && hitPair[1] == seedingLayerIds[pairCandidate[0].index()] &&
276  hitPair[2] == seedingLayerIds[pairCandidate[1].index()])
277  pairCandidate2 = pairCandidate;
278  if (p == 2 && hitPair[2] == seedingLayerIds[pairCandidate[0].index()] &&
279  hitPair[3] == seedingLayerIds[pairCandidate[1].index()])
280  pairCandidate3 = pairCandidate;
281  }
282  }
283 
284  //Important: hits of the layer to be added to LayerHitMapCache
285  auto &layerCache = filler.layerHitMapCache();
286 
287  //doublets for CA quadruplets from the allowed layer pair combinations:(0,1),(1,2),(2,3) and storing in filler
288  const RecHitsSortedInPhi &firsthm = *layerCache.add(
289  pairCandidate1[0], std::make_unique<RecHitsSortedInPhi>(fHits, trackingRegion_->origin(), fLayer));
290  const RecHitsSortedInPhi &secondhm = *layerCache.add(
291  pairCandidate1[1], std::make_unique<RecHitsSortedInPhi>(sHits, trackingRegion_->origin(), sLayer));
292  HitDoublets res1(firsthm, secondhm);
294  *trackingRegion_, *fLayer, *sLayer, firsthm, secondhm, *eventSetup_, 0, res1);
295  filler.addDoublets(pairCandidate1, std::move(res1));
296  const RecHitsSortedInPhi &thirdhm = *layerCache.add(
297  pairCandidate2[1], std::make_unique<RecHitsSortedInPhi>(tHits, trackingRegion_->origin(), tLayer));
298  HitDoublets res2(secondhm, thirdhm);
300  *trackingRegion_, *sLayer, *tLayer, secondhm, thirdhm, *eventSetup_, 0, res2);
301  filler.addDoublets(pairCandidate2, std::move(res2));
302  const RecHitsSortedInPhi &fourthhm = *layerCache.add(
303  pairCandidate3[1], std::make_unique<RecHitsSortedInPhi>(frHits, trackingRegion_->origin(), frLayer));
304  HitDoublets res3(thirdhm, fourthhm);
306  *trackingRegion_, *tLayer, *frLayer, thirdhm, fourthhm, *eventSetup_, 0, res3);
307  filler.addDoublets(pairCandidate3, std::move(res3));
308 
309  std::vector<OrderedHitSeeds> quadrupletresult;
310  quadrupletresult.resize(ihd.regionSize());
311  for (auto &ntuplet : quadrupletresult)
312  ntuplet.reserve(4);
313  //calling the function from the class, modifies quadrupletresult
314  CAHitQuadGenerator_->hitNtuplets(ihd, quadrupletresult, *eventSetup_, *seedingLayer);
315  return !quadrupletresult[0].empty();
316  }
317 
318  return true;
319 }
std::unique_ptr< CAHitQuadrupletGenerator > CAHitQuadGenerator_
const edm::EventSetup * eventSetup_
GlobalPoint const & origin() const
std::unique_ptr< SeedingLayerSetsHits > seedingLayer
std::unique_ptr< HitTripletGeneratorFromPairAndLayers > pixelTripletGenerator_
std::vector< SeedingLayerSetsBuilder::SeedingLayerId > seedingLayerIds
SeedingLayerSetsBuilder::SeedingLayerId Layer_tuple(const FastTrackerRecHit *hit) const
std::vector< unsigned > layerPairs_
const TrackingRegion * trackingRegion_
const DetLayer * detLayer(const DetId &id) const
obsolete method. Use idToLayer() instead.
HitDoublets doublets(const TrackingRegion &reg, const edm::Event &ev, const edm::EventSetup &es, Layers layers)
def ls(path, rec=False)
Definition: eostools.py:349
const MeasurementTracker * measurementTracker_
const GeometricSearchTracker * geometricSearchTracker() const
std::unique_ptr< CAHitTripletGenerator > CAHitTriplGenerator_
def move(src, dest)
Definition: eostools.py:511
std::unique_ptr< MultiHitGeneratorFromPairAndLayers > multiHitGenerator_
void SeedFinderSelector::setTrackingRegion ( const TrackingRegion trackingRegion)
inline

Definition at line 36 of file SeedFinderSelector.h.

References hfClusterShapes_cfi::hits.

36 { trackingRegion_ = trackingRegion; }
const TrackingRegion * trackingRegion_

Member Data Documentation

std::unique_ptr<CAHitQuadrupletGenerator> SeedFinderSelector::CAHitQuadGenerator_
private

Definition at line 50 of file SeedFinderSelector.h.

Referenced by initEvent(), pass(), and SeedFinderSelector().

std::unique_ptr<CAHitTripletGenerator> SeedFinderSelector::CAHitTriplGenerator_
private

Definition at line 49 of file SeedFinderSelector.h.

Referenced by initEvent(), pass(), and SeedFinderSelector().

const edm::EventSetup* SeedFinderSelector::eventSetup_
private

Definition at line 46 of file SeedFinderSelector.h.

Referenced by initEvent(), and pass().

std::vector<unsigned> SeedFinderSelector::layerPairs_
private

Definition at line 53 of file SeedFinderSelector.h.

Referenced by pass(), and SeedFinderSelector().

const MeasurementTracker* SeedFinderSelector::measurementTracker_
private

Definition at line 47 of file SeedFinderSelector.h.

Referenced by initEvent(), and pass().

const std::string SeedFinderSelector::measurementTrackerLabel_
private

Definition at line 48 of file SeedFinderSelector.h.

Referenced by initEvent().

std::unique_ptr<MultiHitGeneratorFromPairAndLayers> SeedFinderSelector::multiHitGenerator_
private

Definition at line 44 of file SeedFinderSelector.h.

Referenced by initEvent(), pass(), and SeedFinderSelector().

std::unique_ptr<HitTripletGeneratorFromPairAndLayers> SeedFinderSelector::pixelTripletGenerator_
private

Definition at line 43 of file SeedFinderSelector.h.

Referenced by pass(), and SeedFinderSelector().

std::unique_ptr<SeedingLayerSetsHits> SeedFinderSelector::seedingLayer
private

Definition at line 52 of file SeedFinderSelector.h.

Referenced by initEvent(), and pass().

std::vector<SeedingLayerSetsBuilder::SeedingLayerId> SeedFinderSelector::seedingLayerIds
private

Definition at line 55 of file SeedFinderSelector.h.

Referenced by initEvent(), and pass().

std::unique_ptr<SeedingLayerSetsBuilder> SeedFinderSelector::seedingLayers_
private

Definition at line 51 of file SeedFinderSelector.h.

Referenced by initEvent(), and SeedFinderSelector().

edm::ESHandle<TrackerTopology> SeedFinderSelector::trackerTopology
private

Definition at line 54 of file SeedFinderSelector.h.

Referenced by initEvent(), and Layer_tuple().

const TrackingRegion* SeedFinderSelector::trackingRegion_
private

Definition at line 45 of file SeedFinderSelector.h.

Referenced by pass().