CMS 3D CMS Logo

pixelCPEforGPU.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiPixelRecHits_pixelCPEforGPU_h
2 #define RecoLocalTracker_SiPixelRecHits_pixelCPEforGPU_h
3 
4 #include <cassert>
5 #include <cmath>
6 #include <cstdint>
7 #include <iterator>
8 
14 
15 namespace pixelCPEforGPU {
16 
20 
21  // all modules are identical!
22  struct CommonParams {
25  float thePitchX;
26  float thePitchY;
27  };
28 
29  struct DetParams {
30  bool isBarrel;
31  bool isPosZ;
32  uint16_t layer;
33  uint16_t index;
34  uint32_t rawId;
35 
36  float shiftX;
37  float shiftY;
38  float chargeWidthX;
39  float chargeWidthY;
40  uint16_t pixmx; // max pix charge
41 
42  float x0, y0, z0; // the vertex in the local coord of the detector
43 
44  float apeXX, apeYY; // ape^2
45  uint8_t sx2, sy1, sy2;
46  uint8_t sigmax[16], sigmax1[16], sigmay[16]; // in micron
47  float xfact[5], yfact[5];
48  int minCh[5];
49 
51  };
52 
54 
55  struct LayerGeometry {
58  };
59 
60  struct ParamsOnGPU {
65 
66  constexpr CommonParams const& __restrict__ commonParams() const {
67  CommonParams const* __restrict__ l = m_commonParams;
68  return *l;
69  }
70  constexpr DetParams const& __restrict__ detParams(int i) const {
71  DetParams const* __restrict__ l = m_detParams;
72  return l[i];
73  }
74  constexpr LayerGeometry const& __restrict__ layerGeometry() const { return *m_layerGeometry; }
75  constexpr AverageGeometry const& __restrict__ averageGeometry() const { return *m_averageGeometry; }
76 
77  __device__ uint8_t layer(uint16_t id) const {
79  };
80  };
81 
82  // SOA (on device)
83  template <uint32_t N>
84  struct ClusParamsT {
85  uint32_t minRow[N];
86  uint32_t maxRow[N];
87  uint32_t minCol[N];
88  uint32_t maxCol[N];
89 
90  int32_t q_f_X[N];
91  int32_t q_l_X[N];
92  int32_t q_f_Y[N];
93  int32_t q_l_Y[N];
94 
95  int32_t charge[N];
96 
97  float xpos[N];
98  float ypos[N];
99 
100  float xerr[N];
101  float yerr[N];
102 
103  int16_t xsize[N]; // (*8) clipped at 127 if negative is edge....
104  int16_t ysize[N];
105 
107  };
108 
111 
112  constexpr inline void computeAnglesFromDet(
113  DetParams const& __restrict__ detParams, float const x, float const y, float& cotalpha, float& cotbeta) {
114  // x,y local position on det
115  auto gvx = x - detParams.x0;
116  auto gvy = y - detParams.y0;
117  auto gvz = -1.f / detParams.z0;
118  // normalization not required as only ratio used...
119  // calculate angles
120  cotalpha = gvx * gvz;
121  cotbeta = gvy * gvz;
122  }
123 
124  constexpr inline float correction(int sizeM1,
125  int q_f,
126  int q_l,
127  uint16_t upper_edge_first_pix,
128  uint16_t lower_edge_last_pix,
129  float lorentz_shift,
130  float theThickness, //detector thickness
131  float cot_angle,
132  float pitch,
133  bool first_is_big,
134  bool last_is_big)
135  {
136  if (0 == sizeM1) // size 1
137  return 0;
138 
139  float w_eff = 0;
140  bool simple = true;
141  if (1 == sizeM1) { // size 2
142  //--- Width of the clusters minus the edge (first and last) pixels.
143  //--- In the note, they are denoted x_F and x_L (and y_F and y_L)
144  // assert(lower_edge_last_pix >= upper_edge_first_pix);
145  auto w_inner = pitch * float(lower_edge_last_pix - upper_edge_first_pix); // in cm
146 
147  //--- Predicted charge width from geometry
148  auto w_pred = theThickness * cot_angle // geometric correction (in cm)
149  - lorentz_shift; // (in cm) &&& check fpix!
150 
151  w_eff = std::abs(w_pred) - w_inner;
152 
153  //--- If the observed charge width is inconsistent with the expectations
154  //--- based on the track, do *not* use w_pred-w_inner. Instead, replace
155  //--- it with an *average* effective charge width, which is the average
156  //--- length of the edge pixels.
157 
158  // this can produce "large" regressions for very small numeric differences
159  simple = (w_eff < 0.0f) | (w_eff > pitch);
160  }
161 
162  if (simple) {
163  //--- Total length of the two edge pixels (first+last)
164  float sum_of_edge = 2.0f;
165  if (first_is_big)
166  sum_of_edge += 1.0f;
167  if (last_is_big)
168  sum_of_edge += 1.0f;
169  w_eff = pitch * 0.5f * sum_of_edge; // ave. length of edge pixels (first+last) (cm)
170  }
171 
172  //--- Finally, compute the position in this projection
173  float qdiff = q_l - q_f;
174  float qsum = q_l + q_f;
175 
176  //--- Temporary fix for clusters with both first and last pixel with charge = 0
177  if (qsum == 0)
178  qsum = 1.0f;
179 
180  return 0.5f * (qdiff / qsum) * w_eff;
181  }
182 
183  constexpr inline void position(CommonParams const& __restrict__ comParams,
184  DetParams const& __restrict__ detParams,
185  ClusParams& cp,
186  uint32_t ic) {
187  //--- Upper Right corner of Lower Left pixel -- in measurement frame
188  uint16_t llx = cp.minRow[ic] + 1;
189  uint16_t lly = cp.minCol[ic] + 1;
190 
191  //--- Lower Left corner of Upper Right pixel -- in measurement frame
192  uint16_t urx = cp.maxRow[ic];
193  uint16_t ury = cp.maxCol[ic];
194 
195  auto llxl = phase1PixelTopology::localX(llx);
196  auto llyl = phase1PixelTopology::localY(lly);
197  auto urxl = phase1PixelTopology::localX(urx);
198  auto uryl = phase1PixelTopology::localY(ury);
199 
200  auto mx = llxl + urxl;
201  auto my = llyl + uryl;
202 
203  auto xsize = int(urxl) + 2 - int(llxl);
204  auto ysize = int(uryl) + 2 - int(llyl);
205  assert(xsize >= 0); // 0 if bixpix...
206  assert(ysize >= 0);
207 
208  if (phase1PixelTopology::isBigPixX(cp.minRow[ic]))
209  ++xsize;
210  if (phase1PixelTopology::isBigPixX(cp.maxRow[ic]))
211  ++xsize;
212  if (phase1PixelTopology::isBigPixY(cp.minCol[ic]))
213  ++ysize;
214  if (phase1PixelTopology::isBigPixY(cp.maxCol[ic]))
215  ++ysize;
216 
217  int unbalanceX = 8.f * std::abs(float(cp.q_f_X[ic] - cp.q_l_X[ic])) / float(cp.q_f_X[ic] + cp.q_l_X[ic]);
218  int unbalanceY = 8.f * std::abs(float(cp.q_f_Y[ic] - cp.q_l_Y[ic])) / float(cp.q_f_Y[ic] + cp.q_l_Y[ic]);
219  xsize = 8 * xsize - unbalanceX;
220  ysize = 8 * ysize - unbalanceY;
221 
222  cp.xsize[ic] = std::min(xsize, 1023);
223  cp.ysize[ic] = std::min(ysize, 1023);
224 
225  if (cp.minRow[ic] == 0 || cp.maxRow[ic] == phase1PixelTopology::lastRowInModule)
226  cp.xsize[ic] = -cp.xsize[ic];
227  if (cp.minCol[ic] == 0 || cp.maxCol[ic] == phase1PixelTopology::lastColInModule)
228  cp.ysize[ic] = -cp.ysize[ic];
229 
230  // apply the lorentz offset correction
231  auto xPos = detParams.shiftX + comParams.thePitchX * (0.5f * float(mx) + float(phase1PixelTopology::xOffset));
232  auto yPos = detParams.shiftY + comParams.thePitchY * (0.5f * float(my) + float(phase1PixelTopology::yOffset));
233 
234  float cotalpha = 0, cotbeta = 0;
235 
236  computeAnglesFromDet(detParams, xPos, yPos, cotalpha, cotbeta);
237 
238  auto thickness = detParams.isBarrel ? comParams.theThicknessB : comParams.theThicknessE;
239 
240  auto xcorr = correction(cp.maxRow[ic] - cp.minRow[ic],
241  cp.q_f_X[ic],
242  cp.q_l_X[ic],
243  llxl,
244  urxl,
245  detParams.chargeWidthX, // lorentz shift in cm
246  thickness,
247  cotalpha,
248  comParams.thePitchX,
250  phase1PixelTopology::isBigPixX(cp.maxRow[ic]));
251 
252  auto ycorr = correction(cp.maxCol[ic] - cp.minCol[ic],
253  cp.q_f_Y[ic],
254  cp.q_l_Y[ic],
255  llyl,
256  uryl,
257  detParams.chargeWidthY, // lorentz shift in cm
258  thickness,
259  cotbeta,
260  comParams.thePitchY,
262  phase1PixelTopology::isBigPixY(cp.maxCol[ic]));
263 
264  cp.xpos[ic] = xPos + xcorr;
265  cp.ypos[ic] = yPos + ycorr;
266  }
267 
268  constexpr inline void errorFromSize(CommonParams const& __restrict__ comParams,
269  DetParams const& __restrict__ detParams,
270  ClusParams& cp,
271  uint32_t ic) {
272  // Edge cluster errors
273  cp.xerr[ic] = 0.0050;
274  cp.yerr[ic] = 0.0085;
275 
276  // FIXME these are errors form Run1
277  constexpr float xerr_barrel_l1[] = {0.00115, 0.00120, 0.00088};
278  constexpr float xerr_barrel_l1_def = 0.00200; // 0.01030;
279  constexpr float yerr_barrel_l1[] = {
280  0.00375, 0.00230, 0.00250, 0.00250, 0.00230, 0.00230, 0.00210, 0.00210, 0.00240};
281  constexpr float yerr_barrel_l1_def = 0.00210;
282  constexpr float xerr_barrel_ln[] = {0.00115, 0.00120, 0.00088};
283  constexpr float xerr_barrel_ln_def = 0.00200; // 0.01030;
284  constexpr float yerr_barrel_ln[] = {
285  0.00375, 0.00230, 0.00250, 0.00250, 0.00230, 0.00230, 0.00210, 0.00210, 0.00240};
286  constexpr float yerr_barrel_ln_def = 0.00210;
287  constexpr float xerr_endcap[] = {0.0020, 0.0020};
288  constexpr float xerr_endcap_def = 0.0020;
289  constexpr float yerr_endcap[] = {0.00210};
290  constexpr float yerr_endcap_def = 0.00210;
291 
292  auto sx = cp.maxRow[ic] - cp.minRow[ic];
293  auto sy = cp.maxCol[ic] - cp.minCol[ic];
294 
295  // is edgy ?
296  bool isEdgeX = cp.xsize[ic] < 1;
297  bool isEdgeY = cp.ysize[ic] < 1;
298  // is one and big?
299  bool isBig1X = (0 == sx) && phase1PixelTopology::isBigPixX(cp.minRow[ic]);
300  bool isBig1Y = (0 == sy) && phase1PixelTopology::isBigPixY(cp.minCol[ic]);
301 
302  if (!isEdgeX && !isBig1X) {
303  if (not detParams.isBarrel) {
305  } else if (detParams.layer == 1) {
307  } else {
309  }
310  }
311 
312  if (!isEdgeY && !isBig1Y) {
313  if (not detParams.isBarrel) {
315  } else if (detParams.layer == 1) {
317  } else {
319  }
320  }
321  }
322 
323  constexpr inline void errorFromDB(CommonParams const& __restrict__ comParams,
324  DetParams const& __restrict__ detParams,
325  ClusParams& cp,
326  uint32_t ic) {
327  // Edge cluster errors
328  cp.xerr[ic] = 0.0050f;
329  cp.yerr[ic] = 0.0085f;
330 
331  auto sx = cp.maxRow[ic] - cp.minRow[ic];
332  auto sy = cp.maxCol[ic] - cp.minCol[ic];
333 
334  // is edgy ? (size is set negative: see above)
335  bool isEdgeX = cp.xsize[ic] < 1;
336  bool isEdgeY = cp.ysize[ic] < 1;
337  // is one and big?
338  bool isOneX = (0 == sx);
339  bool isOneY = (0 == sy);
340  bool isBigX = phase1PixelTopology::isBigPixX(cp.minRow[ic]);
341  bool isBigY = phase1PixelTopology::isBigPixY(cp.minCol[ic]);
342 
343  auto ch = cp.charge[ic];
344  auto bin = 0;
345  for (; bin < 4; ++bin)
346  if (ch < detParams.minCh[bin + 1])
347  break;
348  assert(bin < 5);
349 
350  cp.status[ic].qBin = 4 - bin;
351  cp.status[ic].isOneX = isOneX;
352  cp.status[ic].isBigX = (isOneX & isBigX) | isEdgeX;
353  cp.status[ic].isOneY = isOneY;
354  cp.status[ic].isBigY = (isOneY & isBigY) | isEdgeY;
355 
356  auto xoff = 81.f * comParams.thePitchX;
357  int jx = std::min(15, std::max(0, int(16.f * (cp.xpos[ic] + xoff) / (2 * xoff))));
358 
359  auto toCM = [](uint8_t x) { return float(x) * 1.e-4; };
360 
361  if (not isEdgeX) {
362  cp.xerr[ic] = isOneX ? toCM(isBigX ? detParams.sx2 : detParams.sigmax1[jx])
363  : detParams.xfact[bin] * toCM(detParams.sigmax[jx]);
364  }
365 
366  auto ey = cp.ysize[ic] > 8 ? detParams.sigmay[std::min(cp.ysize[ic] - 9, 15)] : detParams.sy1;
367  if (not isEdgeY) {
368  cp.yerr[ic] = isOneY ? toCM(isBigY ? detParams.sy2 : detParams.sy1) : detParams.yfact[bin] * toCM(ey);
369  }
370  }
371 
372 } // namespace pixelCPEforGPU
373 
374 #endif // RecoLocalTracker_SiPixelRecHits_pixelCPEforGPU_h
HLT_FULL_cff.xerr_endcap
xerr_endcap
Definition: HLT_FULL_cff.py:7593
pixelCPEforGPU::ClusParamsT::ypos
float ypos[N]
Definition: pixelCPEforGPU.h:98
mps_fire.i
i
Definition: mps_fire.py:428
SOARotation.h
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
pixelCPEforGPU::ParamsOnGPU::detParams
constexpr DetParams const &__restrict__ detParams(int i) const
Definition: pixelCPEforGPU.h:70
pixelCPEforGPU::DetParams::isPosZ
bool isPosZ
Definition: pixelCPEforGPU.h:31
pixelCPEforGPU::LayerGeometry::layer
uint8_t layer[phase1PixelTopology::layerIndexSize]
Definition: pixelCPEforGPU.h:57
pixelCPEforGPU::DetParams::shiftY
float shiftY
Definition: pixelCPEforGPU.h:37
HLT_FULL_cff.xerr_barrel_ln_def
xerr_barrel_ln_def
Definition: HLT_FULL_cff.py:7597
phase1PixelTopology::localY
constexpr uint16_t localY(uint16_t py)
Definition: phase1PixelTopology.h:151
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
pixelCPEforGPU::CommonParams::thePitchX
float thePitchX
Definition: pixelCPEforGPU.h:25
phase1PixelTopology::lastColInModule
constexpr uint16_t lastColInModule
Definition: phase1PixelTopology.h:17
phase1PixelTopology::numberOfLayers
constexpr uint32_t numberOfLayers
Definition: phase1PixelTopology.h:25
SiPixelHitStatus
Definition: SiPixelHitStatus.h:7
min
T min(T a, T b)
Definition: MathUtil.h:58
pixelCPEforGPU::correction
constexpr float correction(int sizeM1, int q_f, int q_l, uint16_t upper_edge_first_pix, uint16_t lower_edge_last_pix, float lorentz_shift, float theThickness, float cot_angle, float pitch, bool first_is_big, bool last_is_big)
Definition: pixelCPEforGPU.h:124
cms::cuda::assert
assert(be >=bs)
ysize
const Int_t ysize
Definition: trackSplitPlot.h:43
phase1PixelTopology::layerIndexSize
constexpr uint32_t layerIndexSize
Definition: phase1PixelTopology.h:98
pixelCPEforGPU::DetParams::minCh
int minCh[5]
Definition: pixelCPEforGPU.h:48
phase1PixelTopology::lastRowInModule
constexpr uint16_t lastRowInModule
Definition: phase1PixelTopology.h:16
pixelCPEforGPU
Definition: TrackingRecHit2DSOAView.h:12
hgcal_conditions::parameters
Definition: HGCConditions.h:86
HLT_FULL_cff.xerr_barrel_ln
xerr_barrel_ln
Definition: HLT_FULL_cff.py:7591
xsize
const Int_t xsize
Definition: trackSplitPlot.h:42
pixelCPEforGPU::ClusParamsT::q_f_X
int32_t q_f_X[N]
Definition: pixelCPEforGPU.h:90
pixelCPEforGPU::ParamsOnGPU::m_commonParams
CommonParams const * m_commonParams
Definition: pixelCPEforGPU.h:61
HLT_FULL_cff.yerr_barrel_ln_def
yerr_barrel_ln_def
Definition: HLT_FULL_cff.py:7598
pixelCPEforGPU::DetParams::apeXX
float apeXX
Definition: pixelCPEforGPU.h:44
HLT_FULL_cff.yerr_barrel_l1_def
yerr_barrel_l1_def
Definition: HLT_FULL_cff.py:7596
pixelCPEforGPU::ClusParamsT::q_f_Y
int32_t q_f_Y[N]
Definition: pixelCPEforGPU.h:92
pixelCPEforGPU::DetParams::layer
uint16_t layer
Definition: pixelCPEforGPU.h:32
pixelCPEforGPU::DetParams::yfact
float yfact[5]
Definition: pixelCPEforGPU.h:47
pixelCPEforGPU::MaxHitsInIter
constexpr int32_t MaxHitsInIter
Definition: pixelCPEforGPU.h:109
HLT_FULL_cff.yerr_barrel_ln
yerr_barrel_ln
Definition: HLT_FULL_cff.py:7592
pixelCPEforGPU::DetParams::isBarrel
bool isBarrel
Definition: pixelCPEforGPU.h:30
pixelCPEforGPU::ClusParamsT::minRow
uint32_t minRow[N]
Definition: pixelCPEforGPU.h:85
Calorimetry_cff.thickness
thickness
Definition: Calorimetry_cff.py:115
pixelCPEforGPU::DetParams::sigmay
uint8_t sigmay[16]
Definition: pixelCPEforGPU.h:46
N
#define N
Definition: blowfish.cc:9
pixelCPEforGPU::DetParams::xfact
float xfact[5]
Definition: pixelCPEforGPU.h:47
pixelCPEforGPU::ClusParamsT::xpos
float xpos[N]
Definition: pixelCPEforGPU.h:97
HLT_FULL_cff.xerr_endcap_def
xerr_endcap_def
Definition: HLT_FULL_cff.py:7599
pixelCPEforGPU::DetParams::apeYY
float apeYY
Definition: pixelCPEforGPU.h:44
pixelCPEforGPU::DetParams::sy1
uint8_t sy1
Definition: pixelCPEforGPU.h:45
pixelCPEforGPU::LayerGeometry::layerStart
uint32_t layerStart[phase1PixelTopology::numberOfLayers+1]
Definition: pixelCPEforGPU.h:56
pixelCPEforGPU::ParamsOnGPU::layer
__device__ uint8_t layer(uint16_t id) const
Definition: pixelCPEforGPU.h:77
gpuClustering::maxHitsInIter
constexpr uint32_t maxHitsInIter()
Definition: gpuClusteringConstants.h:14
phase1PixelTopology::isEdgeY
constexpr bool isEdgeY(uint16_t py)
Definition: phase1PixelTopology.h:126
pixelCPEforGPU::ClusParamsT::xerr
float xerr[N]
Definition: pixelCPEforGPU.h:100
pixelCPEforGPU::DetParams::pixmx
uint16_t pixmx
Definition: pixelCPEforGPU.h:40
phase1PixelTopology::localX
constexpr uint16_t localX(uint16_t px)
Definition: phase1PixelTopology.h:142
pixelCPEforGPU::computeAnglesFromDet
constexpr void computeAnglesFromDet(DetParams const &__restrict__ detParams, float const x, float const y, float &cotalpha, float &cotbeta)
Definition: pixelCPEforGPU.h:112
pixelCPEforGPU::DetParams::chargeWidthX
float chargeWidthX
Definition: pixelCPEforGPU.h:38
pixelCPEforGPU::LayerGeometry
Definition: pixelCPEforGPU.h:55
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
SOARotation< float >
pixelCPEforGPU::DetParams::z0
float z0
Definition: pixelCPEforGPU.h:42
createfilelist.int
int
Definition: createfilelist.py:10
gpuClusteringConstants.h
HLT_FULL_cff.yerr_endcap_def
yerr_endcap_def
Definition: HLT_FULL_cff.py:7600
phase1PixelTopology::xOffset
constexpr int16_t xOffset
Definition: phase1PixelTopology.h:19
fftjetcommon_cfi.sy
sy
Definition: fftjetcommon_cfi.py:203
pixelCPEforGPU::ParamsOnGPU::m_averageGeometry
AverageGeometry const * m_averageGeometry
Definition: pixelCPEforGPU.h:64
__device__
#define __device__
Definition: SiPixelGainForHLTonGPU.h:15
pixelCPEforGPU::position
constexpr void position(CommonParams const &__restrict__ comParams, DetParams const &__restrict__ detParams, ClusParams &cp, uint32_t ic)
Definition: pixelCPEforGPU.h:183
pixelCPEforGPU::ClusParamsT::status
Status status[N]
Definition: pixelCPEforGPU.h:106
pixelCPEforGPU::ClusParamsT::ysize
int16_t ysize[N]
Definition: pixelCPEforGPU.h:104
pixelCPEforGPU::DetParams::sigmax1
uint8_t sigmax1[16]
Definition: pixelCPEforGPU.h:46
pixelCPEforGPU::DetParams::frame
Frame frame
Definition: pixelCPEforGPU.h:50
pixelCPEforGPU::ClusParamsT::yerr
float yerr[N]
Definition: pixelCPEforGPU.h:101
pixelCPEforGPU::ClusParamsT::xsize
int16_t xsize[N]
Definition: pixelCPEforGPU.h:103
SOAFrame< float >
pixelCPEforGPU::CommonParams::theThicknessE
float theThicknessE
Definition: pixelCPEforGPU.h:24
pixelCPEforGPU::CommonParams
Definition: pixelCPEforGPU.h:22
phase1PixelTopology::maxModuleStride
constexpr uint32_t maxModuleStride
Definition: phase1PixelTopology.h:81
phase1PixelTopology::AverageGeometry
Definition: phase1PixelTopology.h:161
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
pixelCPEforGPU::DetParams::rawId
uint32_t rawId
Definition: pixelCPEforGPU.h:34
pixelCPEforGPU::DetParams::y0
float y0
Definition: pixelCPEforGPU.h:42
pixelCPEforGPU::ParamsOnGPU
Definition: pixelCPEforGPU.h:60
phase1PixelTopology::isBigPixY
constexpr bool isBigPixY(uint16_t py)
Definition: phase1PixelTopology.h:137
pixelCPEforGPU::DetParams::sy2
uint8_t sy2
Definition: pixelCPEforGPU.h:45
pixelCPEforGPU::ParamsOnGPU::m_layerGeometry
LayerGeometry const * m_layerGeometry
Definition: pixelCPEforGPU.h:63
pixelCPEforGPU::DetParams::shiftX
float shiftX
Definition: pixelCPEforGPU.h:36
SiPixelHitStatus.h
phase1PixelTopology::isEdgeX
constexpr bool isEdgeX(uint16_t px)
Definition: phase1PixelTopology.h:124
pixelCPEforGPU::errorFromDB
constexpr void errorFromDB(CommonParams const &__restrict__ comParams, DetParams const &__restrict__ detParams, ClusParams &cp, uint32_t ic)
Definition: pixelCPEforGPU.h:323
phase1PixelTopology::yOffset
constexpr int16_t yOffset
Definition: phase1PixelTopology.h:20
pixelCPEforGPU::errorFromSize
constexpr void errorFromSize(CommonParams const &__restrict__ comParams, DetParams const &__restrict__ detParams, ClusParams &cp, uint32_t ic)
Definition: pixelCPEforGPU.h:268
pixelCPEforGPU::ParamsOnGPU::m_detParams
DetParams const * m_detParams
Definition: pixelCPEforGPU.h:62
pixelCPEforGPU::ParamsOnGPU::commonParams
constexpr CommonParams const &__restrict__ commonParams() const
Definition: pixelCPEforGPU.h:66
HLT_FULL_cff.xerr_barrel_l1
xerr_barrel_l1
Definition: HLT_FULL_cff.py:7589
pixelCPEforGPU::DetParams::chargeWidthY
float chargeWidthY
Definition: pixelCPEforGPU.h:39
pixelCPEforGPU::DetParams::sigmax
uint8_t sigmax[16]
Definition: pixelCPEforGPU.h:46
HLT_FULL_cff.xerr_barrel_l1_def
xerr_barrel_l1_def
Definition: HLT_FULL_cff.py:7595
phase1PixelTopology::isBigPixX
constexpr bool isBigPixX(uint16_t px)
Definition: phase1PixelTopology.h:135
pixelCPEforGPU::ClusParamsT::charge
int32_t charge[N]
Definition: pixelCPEforGPU.h:95
cudaCompat.h
pixelCPEforGPU::DetParams::sx2
uint8_t sx2
Definition: pixelCPEforGPU.h:45
pixelCPEforGPU::ParamsOnGPU::layerGeometry
constexpr LayerGeometry const &__restrict__ layerGeometry() const
Definition: pixelCPEforGPU.h:74
pixelCPEforGPU::DetParams::x0
float x0
Definition: pixelCPEforGPU.h:42
HLT_FULL_cff.yerr_endcap
yerr_endcap
Definition: HLT_FULL_cff.py:7594
pixelCPEforGPU::ClusParamsT::maxRow
uint32_t maxRow[N]
Definition: pixelCPEforGPU.h:86
HLT_FULL_cff.yerr_barrel_l1
yerr_barrel_l1
Definition: HLT_FULL_cff.py:7590
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
pixelCPEforGPU::ClusParamsT::q_l_Y
int32_t q_l_Y[N]
Definition: pixelCPEforGPU.h:93
pixelCPEforGPU::ClusParamsT
Definition: pixelCPEforGPU.h:84
pixelCPEforGPU::ClusParamsT::maxCol
uint32_t maxCol[N]
Definition: pixelCPEforGPU.h:88
cms::cudacompat::__ldg
T __ldg(T const *x)
Definition: cudaCompat.h:113
pixelCPEforGPU::ParamsOnGPU::averageGeometry
constexpr AverageGeometry const &__restrict__ averageGeometry() const
Definition: pixelCPEforGPU.h:75
pixelCPEforGPU::DetParams
Definition: pixelCPEforGPU.h:29
pixelCPEforGPU::DetParams::index
uint16_t index
Definition: pixelCPEforGPU.h:33
pixelCPEforGPU::ClusParamsT::minCol
uint32_t minCol[N]
Definition: pixelCPEforGPU.h:87
phase1PixelTopology.h
pixelCPEforGPU::CommonParams::theThicknessB
float theThicknessB
Definition: pixelCPEforGPU.h:23
pixelCPEforGPU::CommonParams::thePitchY
float thePitchY
Definition: pixelCPEforGPU.h:26
pixelCPEforGPU::ClusParamsT::q_l_X
int32_t q_l_X[N]
Definition: pixelCPEforGPU.h:91
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
fftjetcommon_cfi.sx
sx
Definition: fftjetcommon_cfi.py:202