CMS 3D CMS Logo

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

#include <HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h>

Public Types

typedef SeedingLayerSetsHits::SeedingLayer Layer
 
typedef LayerHitMapCache LayerCacheType
 
typedef SeedingLayerSetsHits::SeedingLayerSet Layers
 

Public Member Functions

void bubbleSortVsR (int n, double *ax, double *ay, double *aey)
 
bool failCheckRZCompatibility (const RecHitsSortedInPhi::Hit &hit, const DetLayer &layer, const HitRZCompatibility *checkRZ, const TrackingRegion &region)
 
bool failCheckSegmentZCompatibility (double &rInn, double &zInnMin, double &zInnMax, double &rInt, double &zIntMin, double &zIntMax, double &rOut, double &zOutMin, double &zOutMax)
 
bool failCheckSlopeTest (const RecHitsSortedInPhi::Hit &ohit, const RecHitsSortedInPhi::Hit &nohit, const RecHitsSortedInPhi::Hit &ihit, const RecHitsSortedInPhi::Hit &nihit, const TrackingRegion &region)
 
double getEffectiveErrorOnZ (const RecHitsSortedInPhi::Hit &hit, const TrackingRegion &region)
 
double getSqrEffectiveErrorOnZ (const RecHitsSortedInPhi::Hit &hit, const TrackingRegion &region)
 
double getZAtR (double &rInn, double &zInn, double &r, double &rOut, double &zOut)
 
void hitPairs (const TrackingRegion &reg, OrderedHitPairs &prs, const Layers &layers, const edm::Event &ev, const edm::EventSetup &es)
 
 HitQuadrupletGeneratorFromLayerPairForPhotonConversion (unsigned int inner, unsigned int outer, LayerCacheType *layerCache, unsigned int max=0)
 
double verySimpleFit (int size, double *ax, double *ay, double *e2y, double &p0, double &e2p0, double &p1)
 
 ~HitQuadrupletGeneratorFromLayerPairForPhotonConversion ()
 

Private Attributes

std::stringstream * ss
 
const unsigned int theInnerLayer
 
LayerCacheTypetheLayerCache
 
const unsigned int theMaxElement
 
const unsigned int theOuterLayer
 

Detailed Description

Definition at line 13 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h.

Member Typedef Documentation

◆ Layer

◆ LayerCacheType

◆ Layers

Constructor & Destructor Documentation

◆ HitQuadrupletGeneratorFromLayerPairForPhotonConversion()

HitQuadrupletGeneratorFromLayerPairForPhotonConversion::HitQuadrupletGeneratorFromLayerPairForPhotonConversion ( unsigned int  inner,
unsigned int  outer,
LayerCacheType layerCache,
unsigned int  max = 0 
)

Definition at line 36 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

39  ss = new std::stringstream;
40 }

References ss.

◆ ~HitQuadrupletGeneratorFromLayerPairForPhotonConversion()

HitQuadrupletGeneratorFromLayerPairForPhotonConversion::~HitQuadrupletGeneratorFromLayerPairForPhotonConversion ( )
inline

Member Function Documentation

◆ bubbleSortVsR()

void HitQuadrupletGeneratorFromLayerPairForPhotonConversion::bubbleSortVsR ( int  n,
double *  ax,
double *  ay,
double *  aey 
)

Definition at line 365 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

365  {
366  bool swapped = true;
367  int j = 0;
368  double tmpr, tmpz, tmpez;
369  while (swapped) {
370  swapped = false;
371  j++;
372  for (int i = 0; i < n - j; i++) {
373  if (ar[i] > ar[i + 1]) {
374  tmpr = ar[i];
375  ar[i] = ar[i + 1];
376  ar[i + 1] = tmpr;
377  tmpz = az[i];
378  az[i] = az[i + 1];
379  az[i + 1] = tmpz;
380  tmpez = aez[i];
381  aez[i] = aez[i + 1];
382  aez[i + 1] = tmpez;
383  swapped = true;
384  }
385  }
386  }
387 }

References mps_fire::i, dqmiolumiharvest::j, and dqmiodumpmetadata::n.

Referenced by failCheckSlopeTest().

◆ failCheckRZCompatibility()

bool HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility ( const RecHitsSortedInPhi::Hit hit,
const DetLayer layer,
const HitRZCompatibility checkRZ,
const TrackingRegion region 
)

Definition at line 209 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

212  {
213  if (!checkRZ) {
214 #ifdef mydebug_QSeed
215  (*ss) << "*******\nNo valid checkRZ\n*******" << std::endl;
216 #endif
217  return true;
218  }
219 
220  static const float nSigmaRZ = std::sqrt(12.f);
221  float r_reduced = std::sqrt(sqr(hit->globalPosition().x() - region.origin().x()) +
222  sqr(hit->globalPosition().y() - region.origin().y()));
223  Range allowed;
224  Range hitRZ;
225  if (layer.location() == barrel) {
226  allowed = checkRZ->range(r_reduced);
227  float zErr = nSigmaRZ * hit->errorGlobalZ();
228  hitRZ = Range(hit->globalPosition().z() - zErr, hit->globalPosition().z() + zErr);
229  } else {
230  allowed = checkRZ->range(hit->globalPosition().z());
231  float rErr = nSigmaRZ * hit->errorGlobalR();
232  hitRZ = Range(r_reduced - rErr, r_reduced + rErr);
233  }
234  Range crossRange = allowed.intersection(hitRZ);
235 
236 #ifdef mydebug_QSeed
237  (*ss) << "\n\t\t allowed Range " << allowed.min() << " \t, " << allowed.max() << "\n\t\t hitRz Range "
238  << hitRZ.min() << " \t, " << hitRZ.max() << "\n\t\t Cross Range " << crossRange.min() << " \t, "
239  << crossRange.max() << std::endl;
240  if (!crossRange.empty())
241  (*ss) << "\n\t\t !!!!ACCEPTED!!! \n\n";
242 #endif
243 
244  return crossRange.empty();
245 }

References Reference_intrackfit_cff::barrel, f, PixelRecoRange< T >::intersection(), DetLayer::location(), PixelRecoRange< T >::min(), nSigmaRZ, HitRZCompatibility::range(), HLT_2018_cff::region, sqr(), mathSSE::sqrt(), ss, hit::x, hit::y, and hit::z.

Referenced by hitPairs().

◆ failCheckSegmentZCompatibility()

bool HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckSegmentZCompatibility ( double &  rInn,
double &  zInnMin,
double &  zInnMax,
double &  rInt,
double &  zIntMin,
double &  zIntMax,
double &  rOut,
double &  zOutMin,
double &  zOutMax 
)

Definition at line 389 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

397  {
398  //
399  // Check the compatibility in z of an INTermediate segment between an INNer segment and an OUTer segment;
400  // when true is returned zIntMin and zIntMax are replaced with allowed range values
401 
402  //Left side
403  double zLeft = getZAtR(rInn, zInnMin, rInt, rOut, zOutMin);
404  if (zIntMax < zLeft)
405  return true;
406  //Right side
407  double zRight = getZAtR(rInn, zInnMax, rInt, rOut, zOutMax);
408  if (zIntMin > zRight)
409  return true;
410  if (zIntMin < zLeft && zIntMax < zRight) {
411  zIntMax = zLeft;
412  return false;
413  }
414  if (zIntMin > zLeft && zIntMax > zRight) {
415  zIntMax = zRight;
416  return false;
417  }
418 
419  //Segment is fully contained
420  return false;
421 }

References getZAtR().

Referenced by failCheckSlopeTest().

◆ failCheckSlopeTest()

bool HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckSlopeTest ( const RecHitsSortedInPhi::Hit ohit,
const RecHitsSortedInPhi::Hit nohit,
const RecHitsSortedInPhi::Hit ihit,
const RecHitsSortedInPhi::Hit nihit,
const TrackingRegion region 
)

Definition at line 247 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

251  {
252  double r[5], z[5], ez[5];
253  // double pr[2], pz[2], e2pz[2], mr[2], mz[2], e2mz[2];
254 
255  //
256  //Hits
257  r[0] = ohit->globalPosition().perp();
258  z[0] = ohit->globalPosition().z();
259  ez[0] = getEffectiveErrorOnZ(ohit, region);
260  //
261  r[1] = nohit->globalPosition().perp();
262  z[1] = nohit->globalPosition().z();
263  ez[1] = getEffectiveErrorOnZ(nohit, region);
264  //
265  r[2] = nihit->globalPosition().perp();
266  z[2] = nihit->globalPosition().z();
267  ez[2] = getEffectiveErrorOnZ(nihit, region);
268  //
269  r[3] = ihit->globalPosition().perp();
270  z[3] = ihit->globalPosition().z();
271  ez[3] = getEffectiveErrorOnZ(ihit, region);
272  //
273  //R (r) ordering of the 4 hit arrays
274  bubbleSortVsR(4, r, z, ez);
275  //
276  //Vertex
277  r[4] = region.origin().perp();
278  z[4] = region.origin().z();
279  double vError = region.originZBound();
280  if (vError > 15.)
281  vError = 1.;
282  ez[4] = 3. * vError;
283 
284  //
285  //Sequence of checks
286  //
287  //Inner segment == vertex
288  double rInn = r[4];
289  double zInnMin = z[4] - ez[4];
290  double zInnMax = z[4] + ez[4];
291  //
292  // Int == 2, Out == 3
293  double rOut = r[3];
294  double zOutMin = z[3] - ez[3];
295  double zOutMax = z[3] + ez[3];
296  double rInt = r[2];
297  double zIntMin = z[2] - ez[2];
298  double zIntMax = z[2] + ez[2];
299  if (failCheckSegmentZCompatibility(rInn, zInnMin, zInnMax, rInt, zIntMin, zIntMax, rOut, zOutMin, zOutMax))
300  return true;
301  //
302  // Int == 1, Out == 2 (with updated limits)
303  rOut = rInt;
304  zOutMin = zIntMin;
305  zOutMax = zIntMax;
306  rInt = r[1];
307  zIntMin = z[1] - ez[1];
308  zIntMax = z[1] + ez[1];
309  if (failCheckSegmentZCompatibility(rInn, zInnMin, zInnMax, rInt, zIntMin, zIntMax, rOut, zOutMin, zOutMax))
310  return true;
311  //
312  // Int == 0, Out == 1 (with updated limits)
313  rOut = rInt;
314  zOutMin = zIntMin;
315  zOutMax = zIntMax;
316  rInt = r[0];
317  zIntMin = z[0] - ez[0];
318  zIntMax = z[0] + ez[0];
319  if (failCheckSegmentZCompatibility(rInn, zInnMin, zInnMax, rInt, zIntMin, zIntMax, rOut, zOutMin, zOutMax))
320  return true;
321 
322  //
323  // Test is ok!!!
324  return false;
325 }

References bubbleSortVsR(), failCheckSegmentZCompatibility(), getEffectiveErrorOnZ(), alignCSCRings::r, HLT_2018_cff::region, and z.

Referenced by hitPairs().

◆ getEffectiveErrorOnZ()

double HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getEffectiveErrorOnZ ( const RecHitsSortedInPhi::Hit hit,
const TrackingRegion region 
)

Definition at line 344 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

345  {
346  //
347  //Fit-wise the effective error on Z is approximately the sum in quadrature of the error on Z
348  //and the error on R correctly projected by using hit-vertex direction
349  double sqrProjFactor =
350  sqr((hit->globalPosition().z() - region.origin().z()) / (hit->globalPosition().perp() - region.origin().perp()));
351  double effErr =
352  sqrt(hit->globalPositionError().czz() + sqrProjFactor * hit->globalPositionError().rerr(hit->globalPosition()));
353  if (effErr > 2.) {
354  effErr *= 1.8; //Single Side error is strip length * sqrt( 12.) = 3.46
355  //empirically found that the error on ss hits value it is already twice as large (two sigmas)!
356  //Multiply by sqrt(12.)/2.=1.73 to have effErr equal to the strip lenght (1.8 to allow for some margin)
357  //effErr*=2.5; //Used in some tests
358  } else {
359  effErr *= 2.; //Tight //Double side... allowing for 2 sigma variation
360  //effErr*=5.; //Loose //Double side... allowing for 2 sigma variation
361  }
362  return effErr;
363 }

References HLT_2018_cff::region, sqr(), mathSSE::sqrt(), and hit::z.

Referenced by failCheckSlopeTest().

◆ getSqrEffectiveErrorOnZ()

double HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getSqrEffectiveErrorOnZ ( const RecHitsSortedInPhi::Hit hit,
const TrackingRegion region 
)

Definition at line 333 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

334  {
335  //
336  //Fit-wise the effective error on Z is approximately the sum in quadrature of the error on Z
337  //and the error on R correctly projected by using hit-vertex direction
338 
339  double sqrProjFactor =
340  sqr((hit->globalPosition().z() - region.origin().z()) / (hit->globalPosition().perp() - region.origin().perp()));
341  return (hit->globalPositionError().czz() + sqrProjFactor * hit->globalPositionError().rerr(hit->globalPosition()));
342 }

References HLT_2018_cff::region, sqr(), and hit::z.

◆ getZAtR()

double HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getZAtR ( double &  rInn,
double &  zInn,
double &  r,
double &  rOut,
double &  zOut 
)

Definition at line 423 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

424  {
425  // z - zInn r - rInn r - rInn
426  // ----------- = ----------- ==> z = zInn + (zOut - zInn) * -----------
427  // zOut - zInn rOut - rInn rOut - rInn
428 
429  return zInn + (zOut - zInn) * (r - rInn) / (rOut - rInn);
430 }

References alignCSCRings::r.

Referenced by failCheckSegmentZCompatibility().

◆ hitPairs()

void HitQuadrupletGeneratorFromLayerPairForPhotonConversion::hitPairs ( const TrackingRegion reg,
OrderedHitPairs prs,
const Layers layers,
const edm::Event ev,
const edm::EventSetup es 
)

Definition at line 42 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

46  {
47  ss->str("");
48 
49  typedef OrderedHitPair::InnerRecHit InnerHit;
50  typedef OrderedHitPair::OuterRecHit OuterHit;
52 
53  Layer innerLayerObj = layers[theInnerLayer];
54  Layer outerLayerObj = layers[theOuterLayer];
55 
56  size_t totCountP2 = 0, totCountP1 = 0, totCountM2 = 0, totCountM1 = 0, selCount = 0;
57 #ifdef mydebug_QSeed
58  (*ss) << "In " << innerLayerObj.name() << " Out " << theOuterLayer.name() << std::endl;
59 #endif
60 
61  /*get hit sorted in phi for each layer: NB: doesn't apply any region cut*/
62  const RecHitsSortedInPhi &innerHitsMap = theLayerCache(innerLayerObj, region, es);
63  if (innerHitsMap.empty())
64  return;
65 
66  const RecHitsSortedInPhi &outerHitsMap = theLayerCache(outerLayerObj, region, es);
67  if (outerHitsMap.empty())
68  return;
69  /*----------------*/
70 
71  /*This object will check the compatibility of the his in phi among the two layers. */
72  //InnerDeltaPhi deltaPhi(*innerLayerObj.detLayer(), region, es);
73 
74  vector<RecHitsSortedInPhi::Hit> innerHits;
75  // float outerPhimin, outerPhimax;
76  float innerPhimin, innerPhimax;
77  float maxDeltaPhi = 1.; //sguazz
78  //float maxDeltaPhi=1.;
79 
80  RecHitsSortedInPhi::Range outerHits = outerHitsMap.all();
81 
83  for (RecHitsSortedInPhi::HitIter oh = outerHits.first; oh != outerHits.second; ++oh) {
84  RecHitsSortedInPhi::Hit ohit = (*oh).hit();
85  GlobalPoint oPos = ohit->globalPosition();
86 
87  totCountP2++;
88  std::unique_ptr<const HitRZCompatibility> checkRZ = region.checkRZ(outerLayerObj.detLayer(), ohit, es);
89  for (nextoh = oh + 1; nextoh != outerHits.second; ++nextoh) {
90  RecHitsSortedInPhi::Hit nohit = (*nextoh).hit();
91  GlobalPoint noPos = nohit->globalPosition();
92 
93 #ifdef mydebug_QSeed
94  (*ss) << "\toPos " << oPos << " r " << oPos.perp() << " phi " << oPos.phi() << " cotTheta "
95  << oPos.z() / oPos.perp() << std::endl;
96  (*ss) << "\tnoPos " << noPos << " r " << noPos.perp() << " phi " << noPos.phi() << " cotTheta "
97  << noPos.z() / noPos.perp() << std::endl;
98  (*ss) << "\tDeltaPhi " << reco::deltaPhi(noPos.barePhi(), oPos.barePhi()) << std::endl;
99 #endif
100 
101  if (fabs(reco::deltaPhi(noPos.barePhi(), oPos.barePhi())) > maxDeltaPhi)
102  break;
103 
104  totCountM2++;
105 
106  /*Check the compatibility of the ohit with the eta of the seeding track*/
107  if (failCheckRZCompatibility(nohit, *outerLayerObj.detLayer(), checkRZ.get(), region))
108  continue;
109 
110  /*
111  //Do I need this? it uses a compatibility that probably I wouldn't
112  //Removing for the time being
113 
114  PixelRecoRange<float> phiRange = deltaPhi( oPos.perp(), oPos.phi(), oPos.z(), nSigmaPhi*(ohit->errorGlobalRPhi()));
115  if (phiRange.empty()) continue;
116  */
117 
118  /*Get only the inner hits compatible with the conversion region*/
119  innerPhimin = ohit->globalPosition().phi();
120  innerPhimax = nohit->globalPosition().phi();
121  // checkPhiRange(innerPhimin,innerPhimax);
122 
123  innerHits.clear();
124  innerHitsMap.hits(innerPhimin, innerPhimax, innerHits);
125 
126 #ifdef mydebug_QSeed
127  (*ss) << "\tiphimin, iphimax " << innerPhimin << " " << innerPhimax << std::endl;
128 #endif
129 
130  std::unique_ptr<const HitRZCompatibility> checkRZb = region.checkRZ(innerLayerObj.detLayer(), ohit, es);
131  std::unique_ptr<const HitRZCompatibility> checkRZc = region.checkRZ(innerLayerObj.detLayer(), nohit, es);
132 
133  /*Loop on inner hits*/
134  vector<RecHitsSortedInPhi::Hit>::const_iterator ieh = innerHits.end();
135  for (vector<RecHitsSortedInPhi::Hit>::const_iterator ih = innerHits.begin(); ih < ieh; ++ih) {
136  RecHitsSortedInPhi::Hit ihit = *ih;
137 
138 #ifdef mydebug_QSeed
139  GlobalPoint innPos = (*ih)->globalPosition();
140  (*ss) << "\toPos " << oPos << " r " << oPos.perp() << " phi " << oPos.phi() << " cotTheta "
141  << oPos.z() / oPos.perp() << std::endl;
142  (*ss) << "\tnoPos " << noPos << " r " << noPos.perp() << " phi " << noPos.phi() << " cotTheta "
143  << noPos.z() / noPos.perp() << std::endl;
144  (*ss) << "\tinnPos " << innPos << " r " << innPos.perp() << " phi " << innPos.phi() << " cotTheta "
145  << innPos.z() / innPos.perp() << std::endl;
146 #endif
147 
148  totCountP1++;
149 
150  /*Check the compatibility of the ihit with the two outer hits*/
151  if (failCheckRZCompatibility(ihit, *innerLayerObj.detLayer(), checkRZb.get(), region) ||
152  failCheckRZCompatibility(ihit, *innerLayerObj.detLayer(), checkRZc.get(), region))
153  continue;
154 
155  for (vector<RecHitsSortedInPhi::Hit>::const_iterator nextih = ih + 1; nextih != ieh; ++nextih) {
156  RecHitsSortedInPhi::Hit nihit = *nextih;
157 
158 #ifdef mydebug_QSeed
159  GlobalPoint ninnPos = (*nextih)->globalPosition();
160  (*ss) << "\toPos " << oPos << " r " << oPos.perp() << " phi " << oPos.phi() << " cotTheta "
161  << oPos.z() / oPos.perp() << std::endl;
162  (*ss) << "\tnoPos " << noPos << " r " << noPos.perp() << " phi " << noPos.phi() << " cotTheta "
163  << noPos.z() / noPos.perp() << std::endl;
164  (*ss) << "\tinnPos " << innPos << " r " << innPos.perp() << " phi " << innPos.phi() << " cotTheta "
165  << innPos.z() / innPos.perp() << std::endl;
166  (*ss) << "\tninnPos " << ninnPos << " r " << ninnPos.perp() << " phi " << ninnPos.phi() << " cotTheta "
167  << ninnPos.z() / ninnPos.perp() << std::endl;
168 #endif
169 
170  totCountM1++;
171 
172  /*Check the compatibility of the nihit with the two outer hits*/
173  if (failCheckRZCompatibility(nihit, *innerLayerObj.detLayer(), checkRZb.get(), region) ||
174  failCheckRZCompatibility(nihit, *innerLayerObj.detLayer(), checkRZc.get(), region))
175  continue;
176 
177  /*Sguazz modifica qui*/
178  if (failCheckSlopeTest(ohit, nohit, ihit, nihit, region))
179  continue;
180 
181  if (theMaxElement != 0 && result.size() >= theMaxElement) {
182  result.clear();
183  edm::LogError("TooManyQuads") << "number of Quad combinations exceed maximum, no quads produced";
184 #ifdef mydebug_QSeed
185  (*ss) << "In " << innerLayerObj.name() << " Out " << outerLayerObj.name() << "\tP2 " << totCountP2
186  << "\tM2 " << totCountM2 << "\tP1 " << totCountP1 << "\tM1 " << totCountM1 << "\tsel " << selCount
187  << std::endl;
188  std::cout << (*ss).str();
189 #endif
190  return;
191  }
192  selCount++;
193  result.push_back(OrderedHitPair(ihit, ohit));
194  result.push_back(OrderedHitPair(nihit, nohit));
195  //#ifdef mydebug_QSeed
196  //(*ss) << "sizeOfresul " << result.size() << std::endl;
197  //#endif
198  }
199  }
200  }
201  }
202 #ifdef mydebug_QSeed
203  (*ss) << "In " << innerLayerObj.name() << " Out " << outerLayerObj.name() << "\tP2 " << totCountP2 << "\tM2 "
204  << totCountM2 << "\tP1 " << totCountP1 << "\tM1 " << totCountM1 << "\tsel " << selCount << std::endl;
205  std::cout << (*ss).str();
206 #endif
207 }

References RecHitsSortedInPhi::all(), PV3DBase< T, PVType, FrameType >::barePhi(), gather_cfg::cout, reco::deltaPhi(), SeedingLayerSetsHits::SeedingLayer::detLayer(), RecHitsSortedInPhi::empty(), failCheckRZCompatibility(), failCheckSlopeTest(), RecHitsSortedInPhi::hits(), hgcalTopologyTester_cfi::layers, CommPDSkim_cfg::maxDeltaPhi, SeedingLayerSetsHits::SeedingLayer::name(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), HLT_2018_cff::region, mps_fire::result, ss, theInnerLayer, theLayerCache, theMaxElement, theOuterLayer, and PV3DBase< T, PVType, FrameType >::z().

◆ verySimpleFit()

double HitQuadrupletGeneratorFromLayerPairForPhotonConversion::verySimpleFit ( int  size,
double *  ax,
double *  ay,
double *  e2y,
double &  p0,
double &  e2p0,
double &  p1 
)

Definition at line 327 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc.

328  {
329  //#include "verySimpleFit.icc"
330  return 0;
331 }

Member Data Documentation

◆ ss

std::stringstream* HitQuadrupletGeneratorFromLayerPairForPhotonConversion::ss
private

◆ theInnerLayer

const unsigned int HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theInnerLayer
private

Definition at line 61 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h.

Referenced by hitPairs().

◆ theLayerCache

LayerCacheType& HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theLayerCache
private

Definition at line 59 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h.

Referenced by hitPairs().

◆ theMaxElement

const unsigned int HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theMaxElement
private

Definition at line 62 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h.

Referenced by hitPairs().

◆ theOuterLayer

const unsigned int HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theOuterLayer
private

Definition at line 60 of file HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h.

Referenced by hitPairs().

nSigmaRZ
constexpr double nSigmaRZ
Definition: PixelTripletLargeTipGenerator.cc:43
mps_fire.i
i
Definition: mps_fire.py:355
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckSegmentZCompatibility
bool failCheckSegmentZCompatibility(double &rInn, double &zInnMin, double &zInnMax, double &rInt, double &zIntMin, double &zIntMax, double &rOut, double &zOutMin, double &zOutMax)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:389
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::ss
std::stringstream * ss
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:64
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
RecHitsSortedInPhi::all
Range all() const
Definition: RecHitsSortedInPhi.h:84
hit::y
double y
Definition: SiStripHitEffFromCalibTree.cc:90
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::Layer
SeedingLayerSetsHits::SeedingLayer Layer
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:17
OrderedHitPair::OuterRecHit
SeedingHitSet::ConstRecHitPointer OuterRecHit
Definition: OrderedHitPair.h:8
Range
PixelRecoRange< float > Range
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:23
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getEffectiveErrorOnZ
double getEffectiveErrorOnZ(const RecHitsSortedInPhi::Hit &hit, const TrackingRegion &region)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:344
PixelRecoRange::min
T min() const
Definition: PixelRecoRange.h:25
hit::x
double x
Definition: SiStripHitEffFromCalibTree.cc:89
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theInnerLayer
const unsigned int theInnerLayer
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:61
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theOuterLayer
const unsigned int theOuterLayer
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:60
DetLayer::location
virtual Location location() const =0
Which part of the detector (barrel, endcap)
SurfaceOrientation::inner
Definition: Surface.h:19
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDAxes::z
RecHitsSortedInPhi::Hit
BaseTrackerRecHit const * Hit
Definition: RecHitsSortedInPhi.h:19
Point3DBase< float, GlobalTag >
PixelRecoRange::intersection
PixelRecoRange< T > intersection(const PixelRecoRange< T > &r) const
Definition: PixelRecoRange.h:40
hit::z
double z
Definition: SiStripHitEffFromCalibTree.cc:91
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckSlopeTest
bool failCheckSlopeTest(const RecHitsSortedInPhi::Hit &ohit, const RecHitsSortedInPhi::Hit &nohit, const RecHitsSortedInPhi::Hit &ihit, const RecHitsSortedInPhi::Hit &nihit, const TrackingRegion &region)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:247
sqr
T sqr(T t)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:25
RecHitsSortedInPhi
Definition: RecHitsSortedInPhi.h:17
edm::LogError
Definition: MessageLogger.h:183
PV3DBase::barePhi
T barePhi() const
Definition: PV3DBase.h:65
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
RecHitsSortedInPhi::empty
bool empty() const
Definition: RecHitsSortedInPhi.h:45
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getZAtR
double getZAtR(double &rInn, double &zInn, double &r, double &rOut, double &zOut)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:423
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility
bool failCheckRZCompatibility(const RecHitsSortedInPhi::Hit &hit, const DetLayer &layer, const HitRZCompatibility *checkRZ, const TrackingRegion &region)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:209
alignCSCRings.r
r
Definition: alignCSCRings.py:93
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theLayerCache
LayerCacheType & theLayerCache
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:59
RecHitsSortedInPhi::hits
std::vector< Hit > hits(float phiMin, float phiMax) const
Definition: RecHitsSortedInPhi.cc:93
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
OrderedHitPair::InnerRecHit
SeedingHitSet::ConstRecHitPointer InnerRecHit
Definition: OrderedHitPair.h:9
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::theMaxElement
const unsigned int theMaxElement
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.h:62
HitRZCompatibility::range
virtual Range range(const float &rORz) const =0
mps_fire.result
result
Definition: mps_fire.py:303
RecHitsSortedInPhi::HitIter
std::vector< HitWithPhi >::const_iterator HitIter
Definition: RecHitsSortedInPhi.h:38
SurfaceOrientation::outer
Definition: Surface.h:19
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
OrderedHitPair
Definition: OrderedHitPair.h:6
HitQuadrupletGeneratorFromLayerPairForPhotonConversion::bubbleSortVsR
void bubbleSortVsR(int n, double *ax, double *ay, double *aey)
Definition: HitQuadrupletGeneratorFromLayerPairForPhotonConversion.cc:365
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
hit
Definition: SiStripHitEffFromCalibTree.cc:88
Hit
SeedingHitSet::ConstRecHitPointer Hit
Definition: SeedGeneratorFromProtoTracksEDProducer.cc:34
RecHitsSortedInPhi::Range
std::pair< HitIter, HitIter > Range
Definition: RecHitsSortedInPhi.h:39