CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes
PixelTripletHLTGenerator Class Reference

#include <PixelTripletHLTGenerator.h>

Inheritance diagram for PixelTripletHLTGenerator:
HitTripletGeneratorFromPairAndLayers

Public Member Functions

void hitTriplets (const TrackingRegion &region, OrderedHitTriplets &result, const edm::EventSetup &es, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer * > &thirdLayerDetLayer, const int nThirdLayers) override
 
void hitTriplets (const TrackingRegion &region, OrderedHitTriplets &result, const edm::EventSetup &es, const HitDoublets &doublets, const RecHitsSortedInPhi **thirdHitMap, const std::vector< const DetLayer * > &thirdLayerDetLayer, const int nThirdLayers, std::vector< int > *tripletLastLayerIndex)
 
void hitTriplets (const TrackingRegion &region, OrderedHitTriplets &trs, const edm::Event &ev, const edm::EventSetup &es, const HitDoublets &doublets, const std::vector< SeedingLayerSetsHits::SeedingLayer > &thirdLayers, std::vector< int > *tripletLastLayerIndex, LayerCacheType &layerCache)
 
void hitTriplets (const TrackingRegion &region, OrderedHitTriplets &trs, const edm::Event &ev, const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayerSet &pairLayers, const std::vector< SeedingLayerSetsHits::SeedingLayer > &thirdLayers) override
 
 PixelTripletHLTGenerator (const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
 
 PixelTripletHLTGenerator (const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
 
 ~PixelTripletHLTGenerator () override
 
- Public Member Functions inherited from HitTripletGeneratorFromPairAndLayers
 HitTripletGeneratorFromPairAndLayers (const edm::ParameterSet &pset)
 
 HitTripletGeneratorFromPairAndLayers (unsigned int maxElement=0)
 
void init (std::unique_ptr< HitPairGeneratorFromLayerPair > &&pairs, LayerCacheType *layerCache)
 
const HitPairGeneratorFromLayerPairpairGenerator () const
 
virtual ~HitTripletGeneratorFromPairAndLayers ()
 

Static Public Member Functions

static void fillDescriptions (edm::ParameterSetDescription &desc)
 
static const char * fillDescriptionsLabel ()
 
- Static Public Member Functions inherited from HitTripletGeneratorFromPairAndLayers
static void fillDescriptions (edm::ParameterSetDescription &desc)
 

Private Types

typedef CombinedHitTripletGenerator::LayerCacheType LayerCacheType
 

Private Attributes

const float dphi
 
const float extraHitRPhitolerance
 
const float extraHitRZtolerance
 
std::unique_ptr< SeedComparitortheComparitor
 
const bool useBend
 
const bool useFixedPreFiltering
 
const bool useMScat
 

Additional Inherited Members

- Public Types inherited from HitTripletGeneratorFromPairAndLayers
typedef LayerHitMapCache LayerCacheType
 
- Protected Attributes inherited from HitTripletGeneratorFromPairAndLayers
LayerCacheTypetheLayerCache
 
const unsigned int theMaxElement
 
std::unique_ptr< HitPairGeneratorFromLayerPairthePairGenerator
 

Detailed Description

Definition at line 20 of file PixelTripletHLTGenerator.h.

Member Typedef Documentation

◆ LayerCacheType

Definition at line 21 of file PixelTripletHLTGenerator.h.

Constructor & Destructor Documentation

◆ PixelTripletHLTGenerator() [1/2]

PixelTripletHLTGenerator::PixelTripletHLTGenerator ( const edm::ParameterSet cfg,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 24 of file PixelTripletHLTGenerator.h.

◆ PixelTripletHLTGenerator() [2/2]

PixelTripletHLTGenerator::PixelTripletHLTGenerator ( const edm::ParameterSet cfg,
edm::ConsumesCollector iC 
)

Definition at line 35 of file PixelTripletHLTGenerator.cc.

37  useFixedPreFiltering(cfg.getParameter<bool>("useFixedPreFiltering")),
38  extraHitRZtolerance(cfg.getParameter<double>("extraHitRZtolerance")),
39  extraHitRPhitolerance(cfg.getParameter<double>("extraHitRPhitolerance")),
40  useMScat(cfg.getParameter<bool>("useMultScattering")),
41  useBend(cfg.getParameter<bool>("useBending")),
42  dphi(useFixedPreFiltering ? cfg.getParameter<double>("phiPreFiltering") : 0) {
43  edm::ParameterSet comparitorPSet = cfg.getParameter<edm::ParameterSet>("SeedComparitorPSet");
44  std::string comparitorName = comparitorPSet.getParameter<std::string>("ComponentName");
45  if (comparitorName != "none") {
46  theComparitor = SeedComparitorFactory::get()->create(comparitorName, comparitorPSet, iC);
47  }
48 }

References looper::cfg, get, edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, and theComparitor.

◆ ~PixelTripletHLTGenerator()

PixelTripletHLTGenerator::~PixelTripletHLTGenerator ( )
override

Definition at line 50 of file PixelTripletHLTGenerator.cc.

50 {}

Member Function Documentation

◆ fillDescriptions()

void PixelTripletHLTGenerator::fillDescriptions ( edm::ParameterSetDescription desc)
static

Definition at line 52 of file PixelTripletHLTGenerator.cc.

52  {
54  desc.add<double>("extraHitRPhitolerance", 0.032);
55  desc.add<double>("extraHitRZtolerance", 0.037);
56  desc.add<bool>("useMultScattering", true);
57  desc.add<bool>("useBending", true);
58  desc.add<bool>("useFixedPreFiltering", false);
59  desc.add<double>("phiPreFiltering", 0.3);
60 
61  edm::ParameterSetDescription descComparitor;
62  descComparitor.add<std::string>("ComponentName", "none");
63  descComparitor.setAllowAnything(); // until we have moved SeedComparitor too to EDProducers
64  desc.add<edm::ParameterSetDescription>("SeedComparitorPSet", descComparitor);
65 }

References edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HitTripletGeneratorFromPairAndLayers::fillDescriptions(), edm::ParameterSetDescription::setAllowAnything(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillDescriptionsLabel()

static const char* PixelTripletHLTGenerator::fillDescriptionsLabel ( )
inlinestatic

Definition at line 31 of file PixelTripletHLTGenerator.h.

31 { return "pixelTripletHLT"; }

◆ hitTriplets() [1/4]

void PixelTripletHLTGenerator::hitTriplets ( const TrackingRegion region,
OrderedHitTriplets result,
const edm::EventSetup es,
const HitDoublets doublets,
const RecHitsSortedInPhi **  thirdHitMap,
const std::vector< const DetLayer * > &  thirdLayerDetLayer,
const int  nThirdLayers 
)
overridevirtual

Implements HitTripletGeneratorFromPairAndLayers.

Definition at line 102 of file PixelTripletHLTGenerator.cc.

108  {
109  hitTriplets(region, result, es, doublets, thirdHitMap, thirdLayerDetLayer, nThirdLayers, nullptr);
110 }

References HLT_FULL_cff::doublets, hitTriplets(), HLT_FULL_cff::region, and mps_fire::result.

◆ hitTriplets() [2/4]

void PixelTripletHLTGenerator::hitTriplets ( const TrackingRegion region,
OrderedHitTriplets result,
const edm::EventSetup es,
const HitDoublets doublets,
const RecHitsSortedInPhi **  thirdHitMap,
const std::vector< const DetLayer * > &  thirdLayerDetLayer,
const int  nThirdLayers,
std::vector< int > *  tripletLastLayerIndex 
)

Definition at line 112 of file PixelTripletHLTGenerator.cc.

119  {
120  auto outSeq = doublets.detLayer(HitDoublets::outer)->seqNum();
121 
122  float regOffset = region.origin().perp(); //try to take account of non-centrality (?)
123 
125  declareDynArray(ThirdHitCorrection, nThirdLayers, corrections);
126 
128 
129  using NodeInfo = KDTreeNodeInfo<unsigned int, 2>;
130  std::vector<NodeInfo> layerTree; // re-used throughout
131  std::vector<unsigned int> foundNodes; // re-used thoughout
132  foundNodes.reserve(100);
133 
134  declareDynArray(KDTreeLinkerAlgo<unsigned int>, nThirdLayers, hitTree);
135  float rzError[nThirdLayers]; //save maximum errors
136 
137  const float maxDelphi = region.ptMin() < 0.3f ? float(M_PI) / 4.f : float(M_PI) / 8.f; // FIXME move to config??
138  const float maxphi = M_PI + maxDelphi, minphi = -maxphi; // increase to cater for any range
139  const float safePhi = M_PI - maxDelphi; // sideband
140 
141  // fill the prediction vector
142  for (int il = 0; il < nThirdLayers; ++il) {
143  auto const& hits = *thirdHitMap[il];
144  ThirdHitRZPrediction<PixelRecoLineRZ>& pred = preds[il];
145  pred.initLayer(thirdLayerDetLayer[il]);
147 
148  corrections[il].init(es,
149  region.ptMin(),
150  *doublets.detLayer(HitDoublets::inner),
151  *doublets.detLayer(HitDoublets::outer),
152  *thirdLayerDetLayer[il],
153  useMScat,
154  useBend);
155 
156  layerTree.clear();
157  float minv = 999999.0f, maxv = -minv; // Initialise to extreme values in case no hits
158  float maxErr = 0.0f;
159  for (unsigned int i = 0; i != hits.size(); ++i) {
160  auto angle = hits.phi(i);
161  auto v = hits.gv(i);
162  //use (phi,r) for endcaps rather than (phi,z)
163  minv = std::min(minv, v);
164  maxv = std::max(maxv, v);
165  float myerr = hits.dv[i];
166  maxErr = std::max(maxErr, myerr);
167  layerTree.emplace_back(i, angle, v); // save it
168  // populate side-bands
169  if (angle > safePhi)
170  layerTree.emplace_back(i, angle - Geom::ftwoPi(), v);
171  else if (angle < -safePhi)
172  layerTree.emplace_back(i, angle + Geom::ftwoPi(), v);
173  }
174  KDTreeBox phiZ(minphi, maxphi, minv - 0.01f, maxv + 0.01f); // declare our bounds
175  //add fudge factors in case only one hit and also for floating-point inaccuracy
176  hitTree[il].build(layerTree, phiZ); // make KDtree
177  rzError[il] = maxErr; //save error
178  // std::cout << "layer " << thirdLayerDetLayer[il]->seqNum() << " " << layerTree.size() << std::endl;
179  }
180 
181  float imppar = region.originRBound();
182  float imppartmp = region.originRBound() + region.origin().perp();
183  float curv = PixelRecoUtilities::curvature(1.f / region.ptMin(), es);
184 
185  for (std::size_t ip = 0; ip != doublets.size(); ip++) {
186  auto xi = doublets.x(ip, HitDoublets::inner);
187  auto yi = doublets.y(ip, HitDoublets::inner);
188  auto zi = doublets.z(ip, HitDoublets::inner);
189  auto rvi = doublets.rv(ip, HitDoublets::inner);
190  auto xo = doublets.x(ip, HitDoublets::outer);
191  auto yo = doublets.y(ip, HitDoublets::outer);
192  auto zo = doublets.z(ip, HitDoublets::outer);
193  auto rvo = doublets.rv(ip, HitDoublets::outer);
194 
195  auto toPos = std::signbit(zo - zi);
196 
197  PixelRecoPointRZ point1(rvi, zi);
198  PixelRecoPointRZ point2(rvo, zo);
199  PixelRecoLineRZ line(point1, point2);
200  ThirdHitPredictionFromInvParabola predictionRPhi(xi - region.origin().x(),
201  yi - region.origin().y(),
202  xo - region.origin().x(),
203  yo - region.origin().y(),
204  imppar,
205  curv,
207 
208  ThirdHitPredictionFromInvParabola predictionRPhitmp(xi, yi, xo, yo, imppartmp, curv, extraHitRPhitolerance);
209 
210  // printf("++Constr %f %f %f %f %f %f %f\n",xi,yi,xo,yo,imppartmp,curv,extraHitRPhitolerance);
211 
212  // std::cout << ip << ": " << point1.r() << ","<< point1.z() << " "
213  // << point2.r() << ","<< point2.z() <<std::endl;
214 
215  for (int il = 0; il != nThirdLayers; ++il) {
216  const DetLayer* layer = thirdLayerDetLayer[il];
217  auto barrelLayer = layer->isBarrel();
218 
219  if ((!barrelLayer) & (toPos != std::signbit(layer->position().z())))
220  continue;
221 
222  if (hitTree[il].empty())
223  continue; // Don't bother if no hits
224 
225  auto const& hits = *thirdHitMap[il];
226 
227  auto& correction = corrections[il];
228 
229  correction.init(line, point2, outSeq);
230 
231  auto& predictionRZ = preds[il];
232 
233  predictionRZ.initPropagator(&line);
234  Range rzRange = predictionRZ();
235  correction.correctRZRange(rzRange);
236 
237  Range phiRange;
238  if (useFixedPreFiltering) {
239  float phi0 = doublets.phi(ip, HitDoublets::outer);
240  phiRange = Range(phi0 - dphi, phi0 + dphi);
241  } else {
242  Range radius;
243  if (barrelLayer) {
244  radius = predictionRZ.detRange();
245  } else {
246  radius =
247  Range(max(rzRange.min(), predictionRZ.detSize().min()), min(rzRange.max(), predictionRZ.detSize().max()));
248  }
249  if (radius.empty())
250  continue;
251 
252  // std::cout << "++R " << radius.min() << " " << radius.max() << std::endl;
253 
254  auto rPhi1 = predictionRPhitmp(radius.max());
255  bool ok1 = !rPhi1.empty();
256  if (ok1) {
257  correction.correctRPhiRange(rPhi1);
258  rPhi1.first /= radius.max();
259  rPhi1.second /= radius.max();
260  }
261  auto rPhi2 = predictionRPhitmp(radius.min());
262  bool ok2 = !rPhi2.empty();
263  if (ok2) {
264  correction.correctRPhiRange(rPhi2);
265  rPhi2.first /= radius.min();
266  rPhi2.second /= radius.min();
267  }
268 
269  if (ok1) {
270  rPhi1.first = normalizedPhi(rPhi1.first);
271  rPhi1.second = proxim(rPhi1.second, rPhi1.first);
272  if (ok2) {
273  rPhi2.first = proxim(rPhi2.first, rPhi1.first);
274  rPhi2.second = proxim(rPhi2.second, rPhi1.first);
275  phiRange = rPhi1.sum(rPhi2);
276  } else
277  phiRange = rPhi1;
278  } else if (ok2) {
279  rPhi2.first = normalizedPhi(rPhi2.first);
280  rPhi2.second = proxim(rPhi2.second, rPhi2.first);
281  phiRange = rPhi2;
282  } else
283  continue;
284  }
285 
286  constexpr float nSigmaRZ = 3.46410161514f; // std::sqrt(12.f); // ...and continue as before
287  constexpr float nSigmaPhi = 3.f;
288 
289  foundNodes.clear(); // Now recover hits in bounding box...
290  float prmin = phiRange.min(), prmax = phiRange.max();
291 
292  if (prmax - prmin > maxDelphi) {
293  auto prm = phiRange.mean();
294  prmin = prm - 0.5f * maxDelphi;
295  prmax = prm + 0.5f * maxDelphi;
296  }
297 
298  if (barrelLayer) {
299  Range regMax = predictionRZ.detRange();
300  Range regMin = predictionRZ(regMax.min() - regOffset);
301  regMax = predictionRZ(regMax.max() + regOffset);
302  correction.correctRZRange(regMin);
303  correction.correctRZRange(regMax);
304  if (regMax.min() < regMin.min()) {
305  swap(regMax, regMin);
306  }
307  KDTreeBox phiZ(prmin, prmax, regMin.min() - nSigmaRZ * rzError[il], regMax.max() + nSigmaRZ * rzError[il]);
308  hitTree[il].search(phiZ, foundNodes);
309  } else {
310  KDTreeBox phiZ(prmin,
311  prmax,
312  rzRange.min() - regOffset - nSigmaRZ * rzError[il],
313  rzRange.max() + regOffset + nSigmaRZ * rzError[il]);
314  hitTree[il].search(phiZ, foundNodes);
315  }
316 
317  // std::cout << ip << ": " << thirdLayerDetLayer[il]->seqNum() << " " << foundNodes.size() << " " << prmin << " " << prmax << std::endl;
318 
319  // int kk=0;
320  for (auto KDdata : foundNodes) {
321  if (theMaxElement != 0 && result.size() >= theMaxElement) {
322  result.clear();
323  if (tripletLastLayerIndex)
324  tripletLastLayerIndex->clear();
325  edm::LogError("TooManyTriplets") << " number of triples exceeds maximum. no triplets produced.";
326  return;
327  }
328 
329  float p3_u = hits.u[KDdata];
330  float p3_v = hits.v[KDdata];
331  float p3_phi = hits.lphi[KDdata];
332 
333  //if ((kk++)%100==0)
334  //std::cout << kk << ": " << p3_u << " " << p3_v << " " << p3_phi << std::endl;
335 
336  Range allowed = predictionRZ(p3_u);
337  correction.correctRZRange(allowed);
338  float vErr = nSigmaRZ * hits.dv[KDdata];
339  Range hitRange(p3_v - vErr, p3_v + vErr);
340  Range crossingRange = allowed.intersection(hitRange);
341  if (crossingRange.empty())
342  continue;
343 
344  float ir = 1.f / hits.rv(KDdata);
345  // limit error to 90 degree
346  constexpr float maxPhiErr = 0.5 * M_PI;
347  float phiErr = nSigmaPhi * hits.drphi[KDdata] * ir;
348  phiErr = std::min(maxPhiErr, phiErr);
349  bool nook = true;
350  for (int icharge = -1; icharge <= 1; icharge += 2) {
351  Range rangeRPhi = predictionRPhi(hits.rv(KDdata), icharge);
352  if (rangeRPhi.first > rangeRPhi.second)
353  continue; // range is empty
354  correction.correctRPhiRange(rangeRPhi);
355  if (checkPhiInRange(p3_phi, rangeRPhi.first * ir - phiErr, rangeRPhi.second * ir + phiErr, maxPhiErr)) {
356  // insert here check with comparitor
357  OrderedHitTriplet hittriplet(
358  doublets.hit(ip, HitDoublets::inner), doublets.hit(ip, HitDoublets::outer), hits.theHits[KDdata].hit());
359  if (!theComparitor || theComparitor->compatible(hittriplet)) {
360  result.push_back(hittriplet);
361  // to bookkeep the triplets and 3rd layers in triplet EDProducer
362  if (tripletLastLayerIndex)
363  tripletLastLayerIndex->push_back(il);
364  } else {
365  LogDebug("RejectedTriplet") << "rejected triplet from comparitor ";
366  }
367  nook = false;
368  break;
369  }
370  }
371  if (nook)
372  LogDebug("RejectedTriplet") << "rejected triplet from second phicheck " << p3_phi;
373  }
374  }
375  }
376  // std::cout << "triplets " << result.size() << std::endl;
377 }

References angle(), checkPhiInRange(), pfMETCorrectionType0_cfi::correction, PixelRecoUtilities::curvature(), declareDynArray, HLT_FULL_cff::doublets, dphi, relativeConstraints::empty, extraHitRPhitolerance, extraHitRZtolerance, f, dqmMemoryStats::float, Geom::ftwoPi(), hfClusterShapes_cfi::hits, mps_fire::i, ThirdHitRZPredictionBase::initLayer(), ThirdHitRZPredictionBase::initTolerance(), HitDoublets::inner, PixelRecoRange< T >::intersection(), phase1PixelTopology::layer, mps_splice::line, LogDebug, M_PI, SiStripPI::max, min(), normalizedPhi(), nSigmaPhi, nSigmaRZ, HitDoublets::outer, proxim(), CosmicsPD_Skims::radius, HLT_FULL_cff::region, mps_fire::result, edm::swap(), theComparitor, HitTripletGeneratorFromPairAndLayers::theMaxElement, useBend, useFixedPreFiltering, useMScat, findQualityFiles::v, and protons_cff::xi.

◆ hitTriplets() [3/4]

void PixelTripletHLTGenerator::hitTriplets ( const TrackingRegion region,
OrderedHitTriplets trs,
const edm::Event ev,
const edm::EventSetup es,
const HitDoublets doublets,
const std::vector< SeedingLayerSetsHits::SeedingLayer > &  thirdLayers,
std::vector< int > *  tripletLastLayerIndex,
LayerCacheType layerCache 
)

Definition at line 81 of file PixelTripletHLTGenerator.cc.

88  {
89  if (theComparitor)
90  theComparitor->init(ev, es);
91 
92  int size = thirdLayers.size();
93  const RecHitsSortedInPhi* thirdHitMap[size];
94  vector<const DetLayer*> thirdLayerDetLayer(size, nullptr);
95  for (int il = 0; il < size; ++il) {
96  thirdHitMap[il] = &layerCache(thirdLayers[il], region, es);
97  thirdLayerDetLayer[il] = thirdLayers[il].detLayer();
98  }
99  hitTriplets(region, result, es, doublets, thirdHitMap, thirdLayerDetLayer, size, tripletLastLayerIndex);
100 }

References HLT_FULL_cff::doublets, ev, hitTriplets(), HLT_FULL_cff::region, mps_fire::result, findQualityFiles::size, and theComparitor.

◆ hitTriplets() [4/4]

void PixelTripletHLTGenerator::hitTriplets ( const TrackingRegion region,
OrderedHitTriplets trs,
const edm::Event ev,
const edm::EventSetup es,
const SeedingLayerSetsHits::SeedingLayerSet pairLayers,
const std::vector< SeedingLayerSetsHits::SeedingLayer > &  thirdLayers 
)
overridevirtual

Member Data Documentation

◆ dphi

const float PixelTripletHLTGenerator::dphi
private

Definition at line 72 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

◆ extraHitRPhitolerance

const float PixelTripletHLTGenerator::extraHitRPhitolerance
private

Definition at line 69 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

◆ extraHitRZtolerance

const float PixelTripletHLTGenerator::extraHitRZtolerance
private

Definition at line 68 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

◆ theComparitor

std::unique_ptr<SeedComparitor> PixelTripletHLTGenerator::theComparitor
private

Definition at line 73 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets(), and PixelTripletHLTGenerator().

◆ useBend

const bool PixelTripletHLTGenerator::useBend
private

Definition at line 71 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

◆ useFixedPreFiltering

const bool PixelTripletHLTGenerator::useFixedPreFiltering
private

Definition at line 67 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

◆ useMScat

const bool PixelTripletHLTGenerator::useMScat
private

Definition at line 70 of file PixelTripletHLTGenerator.h.

Referenced by hitTriplets().

nSigmaRZ
constexpr double nSigmaRZ
Definition: PixelTripletLargeTipGenerator.cc:43
HitTripletGeneratorFromPairAndLayers::fillDescriptions
static void fillDescriptions(edm::ParameterSetDescription &desc)
Definition: HitTripletGeneratorFromPairAndLayers.cc:14
checkPhiInRange
constexpr bool checkPhiInRange(T phi, T phi1, T phi2, float maxDphi=float(M_PI))
Definition: normalizedPhi.h:33
nSigmaPhi
constexpr float nSigmaPhi
Definition: PixelTripletLargeTipGenerator.cc:44
mps_fire.i
i
Definition: mps_fire.py:428
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
PixelTripletHLTGenerator::extraHitRZtolerance
const float extraHitRZtolerance
Definition: PixelTripletHLTGenerator.h:68
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
DetLayer
Definition: DetLayer.h:21
ThirdHitRZPredictionBase::initLayer
void initLayer(const DetLayer *layer)
Definition: ThirdHitRZPredictionBase.cc:17
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
Range
PixelRecoRange< float > Range
Definition: PixelTripletHLTGenerator.cc:31
HitDoublets::outer
Definition: RecHitsSortedInPhi.h:126
ThirdHitCorrection
Definition: ThirdHitCorrection.h:16
min
T min(T a, T b)
Definition: MathUtil.h:58
PixelTripletHLTGenerator::extraHitRPhitolerance
const float extraHitRPhitolerance
Definition: PixelTripletHLTGenerator.h:69
edm::swap
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:117
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
PixelTripletHLTGenerator::hitTriplets
void hitTriplets(const TrackingRegion &region, OrderedHitTriplets &trs, const edm::Event &ev, const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayerSet &pairLayers, const std::vector< SeedingLayerSetsHits::SeedingLayer > &thirdLayers) override
Definition: PixelTripletHLTGenerator.cc:67
cms::cuda::assert
assert(be >=bs)
proxim
constexpr T proxim(T b, T a)
Definition: normalizedPhi.h:14
PixelTripletHLTGenerator::useFixedPreFiltering
const bool useFixedPreFiltering
Definition: PixelTripletHLTGenerator.h:67
HLT_FULL_cff.doublets
doublets
Definition: HLT_FULL_cff.py:9872
findQualityFiles.v
v
Definition: findQualityFiles.py:179
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
PixelTripletHLTGenerator::useBend
const bool useBend
Definition: PixelTripletHLTGenerator.h:71
PixelTripletHLTGenerator::PixelTripletHLTGenerator
PixelTripletHLTGenerator(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
Definition: PixelTripletHLTGenerator.h:24
ThirdHitRZPrediction
Definition: ThirdHitRZPrediction.h:14
HitTripletGeneratorFromPairAndLayers::thePairGenerator
std::unique_ptr< HitPairGeneratorFromLayerPair > thePairGenerator
Definition: HitTripletGeneratorFromPairAndLayers.h:55
normalizedPhi
constexpr T normalizedPhi(T phi)
Definition: normalizedPhi.h:8
KDTreeBox
Definition: KDTreeLinkerAlgo.h:14
declareDynArray
#define declareDynArray(T, n, x)
Definition: DynArray.h:91
KDTreeLinkerAlgo
Definition: KDTreeLinkerAlgo.h:102
RecHitsSortedInPhi::Hit
BaseTrackerRecHit const * Hit
Definition: RecHitsSortedInPhi.h:19
PixelRecoRange::intersection
PixelRecoRange< T > intersection(const PixelRecoRange< T > &r) const
Definition: PixelRecoRange.h:40
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
PixelTripletHLTGenerator::dphi
const float dphi
Definition: PixelTripletHLTGenerator.h:72
RecHitsSortedInPhi
Definition: RecHitsSortedInPhi.h:17
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
pfMETCorrectionType0_cfi.correction
correction
Definition: pfMETCorrectionType0_cfi.py:39
HitTripletGeneratorFromPairAndLayers::HitTripletGeneratorFromPairAndLayers
HitTripletGeneratorFromPairAndLayers(unsigned int maxElement=0)
Definition: HitTripletGeneratorFromPairAndLayers.cc:6
HLT_FULL_cff.region
region
Definition: HLT_FULL_cff.py:88286
PixelRecoLineRZ
Definition: PixelRecoLineRZ.h:12
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
edm::ParameterSetDescription::setAllowAnything
void setAllowAnything()
allow any parameter label/value pairs
Definition: ParameterSetDescription.cc:37
KDTreeNodeInfo
Definition: KDTreeLinkerAlgo.h:34
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PixelRecoPointRZ
Definition: PixelRecoPointRZ.h:6
looper.cfg
cfg
Definition: looper.py:296
HitTripletGeneratorFromPairAndLayers::theLayerCache
LayerCacheType * theLayerCache
Definition: HitTripletGeneratorFromPairAndLayers.h:56
protons_cff.xi
xi
Definition: protons_cff.py:31
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HitTripletGeneratorFromPairAndLayers::theMaxElement
const unsigned int theMaxElement
Definition: HitTripletGeneratorFromPairAndLayers.h:57
PixelTripletHLTGenerator::theComparitor
std::unique_ptr< SeedComparitor > theComparitor
Definition: PixelTripletHLTGenerator.h:73
Geom::ftwoPi
constexpr float ftwoPi()
Definition: Pi.h:36
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
ev
bool ev
Definition: Hydjet2Hadronizer.cc:97
HitDoublets::inner
Definition: RecHitsSortedInPhi.h:126
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
OrderedHitTriplet
Definition: OrderedHitTriplet.h:11
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PixelTripletHLTGenerator::useMScat
const bool useMScat
Definition: PixelTripletHLTGenerator.h:70
ThirdHitPredictionFromInvParabola
Definition: ThirdHitPredictionFromInvParabola.h:33
mps_fire.result
result
Definition: mps_fire.py:311
mps_splice.line
line
Definition: mps_splice.py:76
Hit
SeedingHitSet::ConstRecHitPointer Hit
Definition: SeedGeneratorFromProtoTracksEDProducer.cc:34
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
ThirdHitRZPredictionBase::initTolerance
void initTolerance(float tolerance)
Definition: ThirdHitRZPredictionBase.h:29