CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SeedingLayerSetsBuilder.cc
Go to the documentation of this file.
10 
14 
17 
19 
20 #include "HitExtractorPIX.h"
21 #include "HitExtractorSTRP.h"
22 
23 #include <iostream>
24 #include <sstream>
25 #include <ostream>
26 #include <fstream>
27 #include <map>
28 
29 using namespace ctfseeding;
30 using namespace std;
31 
35  int idLayer = 0;
36 
37  size_t index;
38  //
39  // BPIX
40  //
41  if ((index = name.find("BPix")) != string::npos) {
44  idLayer = atoi(name.substr(index + 4, 1).c_str());
45  }
46  //
47  // FPIX
48  //
49  else if ((index = name.find("FPix")) != string::npos) {
51  idLayer = atoi(name.substr(index + 4).c_str());
52  if (name.find("pos") != string::npos) {
54  } else {
56  }
57  }
58  //
59  // TIB
60  //
61  else if ((index = name.find("TIB")) != string::npos) {
62  subdet = GeomDetEnumerators::TIB;
64  idLayer = atoi(name.substr(index + 3, 1).c_str());
65  }
66  //
67  // TID
68  //
69  else if ((index = name.find("TID")) != string::npos) {
70  subdet = GeomDetEnumerators::TID;
71  idLayer = atoi(name.substr(index + 3, 1).c_str());
72  if (name.find("pos") != string::npos) {
74  } else {
76  }
77  }
78  //
79  // TOB
80  //
81  else if ((index = name.find("TOB")) != string::npos) {
82  subdet = GeomDetEnumerators::TOB;
84  idLayer = atoi(name.substr(index + 3, 1).c_str());
85  }
86  //
87  // TEC
88  //
89  else if ((index = name.find("TEC")) != string::npos) {
90  subdet = GeomDetEnumerators::TEC;
91  idLayer = atoi(name.substr(index + 3, 1).c_str());
92  if (name.find("pos") != string::npos) {
94  } else {
96  }
97  }
98  return std::make_tuple(subdet, side, idLayer);
99 }
100 
102  const std::string& layerName,
103  const edm::ParameterSet& cfgLayer,
105  : nameIndex(index), hitBuilder(cfgLayer.getParameter<string>("TTRHBuilder")) {
106  usePixelHitProducer = false;
107  if (cfgLayer.exists("HitProducer")) {
108  pixelHitProducer = cfgLayer.getParameter<string>("HitProducer");
109  usePixelHitProducer = true;
110  }
111 
112  bool skipClusters = cfgLayer.exists("skipClusters");
113  if (skipClusters) {
114  LogDebug("SeedingLayerSetsBuilder") << layerName << " ready for skipping";
115  } else {
116  LogDebug("SeedingLayerSetsBuilder") << layerName << " not skipping ";
117  }
118 
119  auto subdetData = nameToEnumId(layerName);
120  subdet = std::get<0>(subdetData);
121  side = std::get<1>(subdetData);
122  idLayer = std::get<2>(subdetData);
124  extractor = std::make_unique<HitExtractorPIX>(side, idLayer, pixelHitProducer, iC);
125  } else if (subdet != GeomDetEnumerators::invalidDet) { // strip
126  auto extr = std::make_unique<HitExtractorSTRP>(subdet, side, idLayer, clusterChargeCut(cfgLayer));
127  if (cfgLayer.exists("matchedRecHits")) {
128  extr->useMatchedHits(cfgLayer.getParameter<edm::InputTag>("matchedRecHits"), iC);
129  }
130  if (cfgLayer.exists("rphiRecHits")) {
131  extr->useRPhiHits(cfgLayer.getParameter<edm::InputTag>("rphiRecHits"), iC);
132  }
133  if (cfgLayer.exists("stereoRecHits")) {
134  extr->useStereoHits(cfgLayer.getParameter<edm::InputTag>("stereoRecHits"), iC);
135  }
136  if (cfgLayer.exists("vectorRecHits")) {
137  extr->useVectorHits(cfgLayer.getParameter<edm::InputTag>("vectorRecHits"), iC);
138  }
139  if (cfgLayer.exists("useRingSlector") && cfgLayer.getParameter<bool>("useRingSlector")) {
140  extr->useRingSelector(cfgLayer.getParameter<int>("minRing"), cfgLayer.getParameter<int>("maxRing"));
141  }
143  cfgLayer.exists("useSimpleRphiHitsCleaner") ? cfgLayer.getParameter<bool>("useSimpleRphiHitsCleaner") : true;
144  extr->useSimpleRphiHitsCleaner(useSimpleRphiHitsCleaner);
145 
146  double minAbsZ = cfgLayer.exists("MinAbsZ") ? cfgLayer.getParameter<double>("MinAbsZ") : 0.;
147  if (minAbsZ > 0.) {
148  extr->setMinAbsZ(minAbsZ);
149  }
150  if (skipClusters) {
151  bool useProjection = cfgLayer.exists("useProjection") ? cfgLayer.getParameter<bool>("useProjection") : false;
152  if (useProjection) {
153  LogDebug("SeedingLayerSetsBuilder") << layerName << " will project partially masked matched rechit";
154  } else {
155  extr->setNoProjection();
156  }
157  }
158  extractor = std::move(extr);
159  }
160  if (extractor && skipClusters) {
161  extractor->useSkipClusters(cfgLayer.getParameter<edm::InputTag>("skipClusters"), iC);
162  }
163 }
164 
165 std::string SeedingLayerSetsBuilder::LayerSpec::print(const std::vector<std::string>& names) const {
166  std::ostringstream str;
167  str << "Layer=" << names[nameIndex] << ", hitBldr: " << hitBuilder;
168 
169  str << ", useRingSelector: ";
170  HitExtractorSTRP* ext = nullptr;
171  if ((ext = dynamic_cast<HitExtractorSTRP*>(extractor.get())) && ext->useRingSelector()) {
172  auto minMaxRing = ext->getMinMaxRing();
173  str << "true,"
174  << " Rings: (" << std::get<0>(minMaxRing) << "," << std::get<1>(minMaxRing) << ")";
175  } else
176  str << "false";
177 
178  return str.str();
179 }
180 //FastSim specific constructor
183  const edm::InputTag& fastsimHitTag)
186 }
188  : SeedingLayerSetsBuilder(cfg, iC) {}
190  std::vector<std::string> namesPset = cfg.getParameter<std::vector<std::string> >("layerList");
191  std::vector<std::vector<std::string> > layerNamesInSets = this->layerNamesInSets(namesPset);
192  // debug printout of layers
193  typedef std::vector<std::string>::const_iterator IS;
194  typedef std::vector<std::vector<std::string> >::const_iterator IT;
195  std::ostringstream str;
196  // The following should not be set to cout
197  // for (IT it = layerNamesInSets.begin(); it != layerNamesInSets.end(); it++) {
198  // str << "SET: ";
199  // for (IS is = it->begin(); is != it->end(); is++) str << *is <<" ";
200  // str << std::endl;
201  // }
202  // std::cout << str.str() << std::endl;
203  if (layerNamesInSets.empty())
205  else
207 
208  for (IT it = layerNamesInSets.begin(); it != layerNamesInSets.end(); it++) {
209  if (it->size() != theNumberOfLayersInSet)
210  throw cms::Exception("Configuration")
211  << "Assuming all SeedingLayerSets to have same number of layers. LayerSet " << (it - layerNamesInSets.begin())
212  << " has " << it->size() << " while 0th has " << theNumberOfLayersInSet;
213  for (const std::string& layerName : *it) {
214  auto found = std::find(theLayerNames.begin(), theLayerNames.end(), layerName);
215  unsigned short layerIndex = 0;
216  if (found != theLayerNames.end()) {
217  layerIndex = found - theLayerNames.begin();
218  } else {
220  throw cms::Exception("Assert")
221  << "Too many layers in " << __FILE__ << ":" << __LINE__
222  << ", we may have to enlarge the index type from unsigned short to unsigned int";
223  }
224 
225  layerIndex = theLayers.size();
226  theLayers.emplace_back(theLayerNames.size(), layerName, layerConfig(layerName, cfg), iC);
227  theLayerNames.push_back(layerName);
228  }
229  theLayerSetIndices.push_back(layerIndex);
230  }
231  }
232  theLayerDets.resize(theLayers.size());
233  theTTRHBuilders.resize(theLayers.size());
234 
235  // debug printout
236  // The following should not be set to cout
237  //for(const LayerSpec& layer: theLayers) {
238  // std::cout << layer.print(theLayerNames) << std::endl;
239  //}
240 }
241 
243 
246  empty.setAllowAnything(); // for now accept any parameter in the PSets, consider improving later
247 
248  desc.add<std::vector<std::string> >("layerList", {});
259 }
260 
262  const edm::ParameterSet& cfg) const {
264 
265  for (string::size_type iEnd = nameLayer.size(); iEnd > 0; --iEnd) {
266  string name = nameLayer.substr(0, iEnd);
267  if (cfg.exists(name))
268  return cfg.getParameter<edm::ParameterSet>(name);
269  }
270  edm::LogError("SeedingLayerSetsBuilder")
271  << "configuration for layer: " << nameLayer << " not found, job will probably crash!";
272  return result;
273 }
274 
275 vector<vector<string> > SeedingLayerSetsBuilder::layerNamesInSets(const vector<string>& namesPSet) {
276  std::vector<std::vector<std::string> > result;
277  for (std::vector<std::string>::const_iterator is = namesPSet.begin(); is < namesPSet.end(); ++is) {
278  vector<std::string> layersInSet;
279  string line = *is;
281  while (pos != string::npos) {
282  pos = line.find('+');
283  string layer = line.substr(0, pos);
284  layersInSet.push_back(layer);
285  line = line.substr(pos + 1, string::npos);
286  }
287  result.push_back(layersInSet);
288  }
289  return result;
290 }
291 
293  // We want to evaluate both in the first invocation (to properly
294  // initialize ESWatcher), and this way we avoid one branch compared
295  // to || (should be tiny effect)
296  if (!(geometryWatcher_.check(es) | trhWatcher_.check(es)))
297  return;
298 
300  es.get<TrackerRecoGeometryRecord>().get(htracker);
301  const GeometricSearchTracker& tracker = *htracker;
302 
303  const std::vector<BarrelDetLayer const*>& bpx = tracker.barrelLayers();
304  const std::vector<BarrelDetLayer const*>& tib = tracker.tibLayers();
305  const std::vector<BarrelDetLayer const*>& tob = tracker.tobLayers();
306 
307  const std::vector<ForwardDetLayer const*>& fpx_pos = tracker.posForwardLayers();
308  const std::vector<ForwardDetLayer const*>& tid_pos = tracker.posTidLayers();
309  const std::vector<ForwardDetLayer const*>& tec_pos = tracker.posTecLayers();
310 
311  const std::vector<ForwardDetLayer const*>& fpx_neg = tracker.negForwardLayers();
312  const std::vector<ForwardDetLayer const*>& tid_neg = tracker.negTidLayers();
313  const std::vector<ForwardDetLayer const*>& tec_neg = tracker.negTecLayers();
314 
315  for (const auto& layer : theLayers) {
316  const DetLayer* detLayer = nullptr;
317  int index = layer.idLayer - 1;
318 
319  if (layer.subdet == GeomDetEnumerators::PixelBarrel) {
320  detLayer = bpx[index];
321  } else if (layer.subdet == GeomDetEnumerators::PixelEndcap) {
322  if (layer.side == TrackerDetSide::PosEndcap) {
323  detLayer = fpx_pos[index];
324  } else {
325  detLayer = fpx_neg[index];
326  }
327  } else if (layer.subdet == GeomDetEnumerators::TIB) {
328  detLayer = tib[index];
329  } else if (layer.subdet == GeomDetEnumerators::TID) {
330  if (layer.side == TrackerDetSide::PosEndcap) {
331  detLayer = tid_pos[index];
332  } else {
333  detLayer = tid_neg[index];
334  }
335  } else if (layer.subdet == GeomDetEnumerators::TOB) {
336  detLayer = tob[index];
337  } else if (layer.subdet == GeomDetEnumerators::TEC) {
338  if (layer.side == TrackerDetSide::PosEndcap) {
339  detLayer = tec_pos[index];
340  } else {
341  detLayer = tec_neg[index];
342  }
343  } else {
344  throw cms::Exception("Configuration") << "Did not find DetLayer for layer " << theLayerNames[layer.nameIndex];
345  }
346 
348  es.get<TransientRecHitRecord>().get(layer.hitBuilder, builder);
349 
350  theLayerDets[layer.nameIndex] = detLayer;
351  theTTRHBuilders[layer.nameIndex] = builder.product();
352  }
353 }
354 
355 std::vector<SeedingLayerSetsBuilder::SeedingLayerId> SeedingLayerSetsBuilder::layers() const {
356  std::vector<SeedingLayerId> ret;
357  ret.reserve(numberOfLayers());
358  for (const auto& layer : theLayers) {
359  ret.emplace_back(layer.subdet, layer.side, layer.idLayer);
360  }
361  return ret;
362 }
363 
364 std::unique_ptr<SeedingLayerSetsHits> SeedingLayerSetsBuilder::hits(const edm::Event& ev, const edm::EventSetup& es) {
365  updateEventSetup(es);
366 
367  auto ret = std::make_unique<SeedingLayerSetsHits>(
369 
370  for (auto& layer : theLayers) {
371  ret->addHits(
372  layer.nameIndex,
373  layer.extractor->hits((const TkTransientTrackingRecHitBuilder&)(*theTTRHBuilders[layer.nameIndex]), ev, es));
374  }
375  ret->shrink_to_fit();
376  return ret;
377 }
378 //new function for FastSim only
380  const edm::Event& ev, const edm::EventSetup& es) {
381  updateEventSetup(es);
382 
384  ev.getByToken(fastSimrecHitsToken_, fastSimrechits_); //using FastSim RecHits
385  edm::ESHandle<TrackerTopology> trackerTopology;
386  es.get<TrackerTopologyRcd>().get(trackerTopology);
387  const TrackerTopology* const tTopo = trackerTopology.product();
389 
390  auto ret = std::make_unique<SeedingLayerSetsHits>(
392 
393  for (auto& layer : theLayers) {
394  layerhits_.clear();
395  for (auto& rh : *fastSimrechits_) {
398  int idLayer = 0;
399  if ((rh.det()->geographicalId()).subdetId() == PixelSubdetector::PixelBarrel) {
401  side = TrackerDetSide::Barrel;
402  idLayer = tTopo->pxbLayer(rh.det()->geographicalId());
403  } else if ((rh.det()->geographicalId()).subdetId() == PixelSubdetector::PixelEndcap) {
405  idLayer = tTopo->pxfDisk(rh.det()->geographicalId());
406  if (tTopo->pxfSide(rh.det()->geographicalId()) == 1)
408  else
410  }
411 
412  if (layer.subdet == subdet && layer.side == side && layer.idLayer == idLayer) {
413  BaseTrackerRecHit const& b(rh);
414  auto ptrHit = (BaseTrackerRecHit*)(b.clone());
415  layerhits_.emplace_back(ptrHit);
416  } else
417  continue;
418  }
419  ret->addHits(layer.nameIndex, std::move(layerhits_));
420  }
421  ret->shrink_to_fit();
422  return ret;
423 }
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:373
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
ext
Definition: memstream.h:15
SeedingLayerSetsBuilder::theLayers
std::vector< LayerSpec > theLayers
Definition: SeedingLayerSetsBuilder.h:98
PixelSubdetector.h
SeedingLayerSetsBuilder::geometryWatcher_
edm::ESWatcher< TrackerRecoGeometryRecord > geometryWatcher_
Definition: SeedingLayerSetsBuilder.h:68
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
GeomDetEnumerators::TID
Definition: GeomDetEnumerators.h:15
ESHandle.h
SeedingLayerSetsBuilder::theLayerDets
std::vector< const DetLayer * > theLayerDets
Definition: SeedingLayerSetsBuilder.h:96
DetLayer
Definition: DetLayer.h:21
HitExtractorPIX.h
TrackerTopology::pxfSide
unsigned int pxfSide(const DetId &id) const
Definition: TrackerTopology.h:192
GeomDetEnumerators::invalidDet
Definition: GeomDetEnumerators.h:31
SeedingLayerSetsBuilder::makeSeedingLayerSetsHitsforFastSim
std::unique_ptr< SeedingLayerSetsHits > makeSeedingLayerSetsHitsforFastSim(const edm::Event &ev, const edm::EventSetup &es)
Definition: SeedingLayerSetsBuilder.cc:379
TrackerTopology
Definition: TrackerTopology.h:16
TransientRecHitRecord.h
SeedingLayerSetsBuilder::LayerSpec::side
TrackerDetSide side
Definition: SeedingLayerSetsBuilder.h:87
pos
Definition: PixelAliasList.h:18
GeomDetEnumerators::TIB
Definition: GeomDetEnumerators.h:13
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TransientRecHitRecord
Definition: TransientRecHitRecord.h:14
SeedingLayerSetsBuilder::~SeedingLayerSetsBuilder
~SeedingLayerSetsBuilder()
Definition: SeedingLayerSetsBuilder.cc:242
TrackerRecoGeometryRecord.h
GeomDetEnumerators::TOB
Definition: GeomDetEnumerators.h:14
TransientTrackingRecHit.h
TrackerRecoGeometryRecord
Definition: TrackerRecoGeometryRecord.h:11
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::Handle
Definition: AssociativeIterator.h:50
SeedingLayerSetsBuilder::SeedingLayerSetsBuilder
SeedingLayerSetsBuilder()=default
SeedingLayerSetsBuilder::LayerSpec::LayerSpec
LayerSpec(unsigned short index, const std::string &layerName, const edm::ParameterSet &cfgLayer, edm::ConsumesCollector &iC)
Definition: SeedingLayerSetsBuilder.cc:101
SeedingLayerSetsBuilder::fastSimrecHitsToken_
edm::EDGetTokenT< FastTrackerRecHitCollection > fastSimrecHitsToken_
Definition: SeedingLayerSetsBuilder.h:70
TkTransientTrackingRecHitBuilder.h
TkTransientTrackingRecHitBuilder
Definition: TkTransientTrackingRecHitBuilder.h:15
TrackerTopology::pxbLayer
unsigned int pxbLayer(const DetId &id) const
Definition: TrackerTopology.h:144
SeedingLayerSetsBuilder::theLayerNames
std::vector< std::string > theLayerNames
Definition: SeedingLayerSetsBuilder.h:95
GeometricSearchTracker.h
GeomDetEnumerators::PixelBarrel
Definition: GeomDetEnumerators.h:11
SeedingLayerSetsBuilder::LayerSpec::subdet
GeomDetEnumerators::SubDetector subdet
Definition: SeedingLayerSetsBuilder.h:86
TrackerDetSide::Barrel
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
SeedingLayerSetsBuilder::hits
std::unique_ptr< SeedingLayerSetsHits > hits(const edm::Event &ev, const edm::EventSetup &es)
Definition: SeedingLayerSetsBuilder.cc:364
TrackerTopologyRcd.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
SeedingLayerSetsBuilder::theLayerSetIndices
std::vector< SeedingLayerSetsHits::LayerSetIndex > theLayerSetIndices
Definition: SeedingLayerSetsBuilder.h:94
HLTSiStripMonitoring_cff.skipClusters
skipClusters
Definition: HLTSiStripMonitoring_cff.py:177
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:124
BaseTrackerRecHit
Definition: BaseTrackerRecHit.h:15
SeedingLayerSetsBuilder.h
SeedingLayerSetsBuilder::updateEventSetup
void updateEventSetup(const edm::EventSetup &es)
Definition: SeedingLayerSetsBuilder.cc:292
str
#define str(s)
Definition: TestProcessor.cc:51
edm::ESHandle< GeometricSearchTracker >
TrackerDetSide
TrackerDetSide
Definition: TrackerDetSide.h:4
TrackerDetSide::NegEndcap
SeedingLayerSetsBuilder::SeedingLayerId
std::tuple< GeomDetEnumerators::SubDetector, TrackerDetSide, int > SeedingLayerId
Definition: SeedingLayerSetsBuilder.h:33
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
b
double b
Definition: hdecay.h:118
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ctfseeding::HitExtractorSTRP
Definition: HitExtractorSTRP.h:24
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:681
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
GeomDetEnumerators::TEC
Definition: GeomDetEnumerators.h:16
HitExtractorSTRP.h
SeedingLayerSetsBuilder::LayerSpec::pixelHitProducer
std::string pixelHitProducer
Definition: SeedingLayerSetsBuilder.h:82
TrackerTopology::pxfDisk
unsigned int pxfDisk(const DetId &id) const
Definition: TrackerTopology.h:446
BarrelDetLayer.h
edm::EventSetup
Definition: EventSetup.h:57
SeedingLayerSetsBuilder::trhWatcher_
edm::ESWatcher< TransientRecHitRecord > trhWatcher_
Definition: SeedingLayerSetsBuilder.h:69
ctfseeding
Definition: SeedingLayerSetsBuilder.h:23
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
IT
std::vector< LinkConnSpec >::const_iterator IT
Definition: TriggerBoardSpec.cc:5
SeedingLayerSetsBuilder::nameToEnumId
static SeedingLayerId nameToEnumId(const std::string &name)
Definition: SeedingLayerSetsBuilder.cc:32
looper.cfg
cfg
Definition: looper.py:297
TrackerDetSide::PosEndcap
SeedingLayerSetsBuilder::fillDescriptions
static void fillDescriptions(edm::ParameterSetDescription &desc)
Definition: SeedingLayerSetsBuilder.cc:244
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
SeedingLayerSetsHits::OwnedHits
std::vector< HitPointer > OwnedHits
Definition: SeedingLayerSetsHits.h:23
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
SeedingLayerSetsBuilder::LayerSpec::extractor
std::unique_ptr< ctfseeding::HitExtractor > extractor
Definition: SeedingLayerSetsBuilder.h:89
SeedingLayerSetsBuilder::theTTRHBuilders
std::vector< const TransientTrackingRecHitBuilder * > theTTRHBuilders
Definition: SeedingLayerSetsBuilder.h:97
SeedingLayerSetsBuilder::LayerSpec::idLayer
int idLayer
Definition: SeedingLayerSetsBuilder.h:88
SeedingLayerSetsBuilder::LayerSpec::usePixelHitProducer
bool usePixelHitProducer
Definition: SeedingLayerSetsBuilder.h:83
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
SeedingLayerSetsBuilder
Definition: SeedingLayerSetsBuilder.h:31
ForwardDetLayer.h
Exception
Definition: hltDiff.cc:246
GeometricSearchTracker
Definition: GeometricSearchTracker.h:14
SeedingLayerSetsBuilder::numberOfLayers
unsigned short numberOfLayers() const
Definition: SeedingLayerSetsBuilder.h:45
SeedingLayerSetsBuilder::LayerSpec::print
std::string print(const std::vector< std::string > &names) const
Definition: SeedingLayerSetsBuilder.cc:165
SeedingLayerSetsBuilder::layerNamesInSets
static std::vector< std::vector< std::string > > layerNamesInSets(const std::vector< std::string > &namesPSet)
Definition: SeedingLayerSetsBuilder.cc:275
SeedingLayerSetsBuilder::layers
std::vector< SeedingLayerId > layers() const
Definition: SeedingLayerSetsBuilder.cc:355
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
mps_fire.result
result
Definition: mps_fire.py:311
cms::Exception
Definition: Exception.h:70
ClusterChargeCut.h
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
SeedingLayerSetsBuilder::layerConfig
edm::ParameterSet layerConfig(const std::string &nameLayer, const edm::ParameterSet &cfg) const
Definition: SeedingLayerSetsBuilder.cc:261
clusterChargeCut
float clusterChargeCut(const edm::ParameterSet &conf, const char *name="clusterChargeCut")
Definition: ClusterChargeCut.h:7
SeedingLayerSetsBuilder::theNumberOfLayersInSet
unsigned short theNumberOfLayersInSet
Definition: SeedingLayerSetsBuilder.h:93
edm::Event
Definition: Event.h:73
mps_splice.line
line
Definition: mps_splice.py:76
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
ConversionStep2_cff.useSimpleRphiHitsCleaner
useSimpleRphiHitsCleaner
Definition: ConversionStep2_cff.py:121
edm::OwnVector
Definition: OwnVector.h:24