CMS 3D CMS Logo

Classes | Typedefs | Functions | Variables
gpuVertexFinder Namespace Reference

Classes

class  Producer
 
struct  WorkSpace
 

Typedefs

using Hist = cms::cuda::HistoContainer< uint8_t, 256, 16000, 8, uint16_t >
 
using TkSoA = pixelTrack::TrackSoA
 
using ZVertices = ZVertexSoA
 

Functions

__device__ __attribute__ ((always_inline)) void clusterTracksByDensity(gpuVertexFinder
 
 __syncthreads ()
 
 assert (foundClusters< ZVertices::MAXVTX)
 
 assert (hist.size()==nt)
 
 assert (nt<=hist.capacity())
 
 assert (nvFinal<=nvIntermediate)
 
 assert (pdata)
 
 assert (soa)
 
 assert (zt)
 
size d for d tracks hist hist capacity ()
 
hist finalize (hws)
 
 for (auto j=threadIdx.x;j< Hist::totbins();j+=blockDim.x) = float(nn[i]) / chi2[i]
 
 for (int idx=first, nt=TkSoA::stride();idx< nt;idx+=gridDim.x *blockDim.x)
 
 if (1==nvFinal)
 
 if (threadIdx.x< 32) hws[threadIdx.x]=0
 
 if (verbose &&0==threadIdx.x) printf("params %d %f %f %f\n"
 
pws init ()
 
size d for d tracks hist nbins ()
 
 while (__syncthreads_or(more))
 

Variables

float *__restrict__ chi2 = data.chi2
 
__device__ WorkSpace float chi2Max
 
WorkSpace int float float float chi2max
 
auto &__restrict__ data = *pdata
 
WorkSpace int float eps
 
auto er2mx = errmax * errmax
 
WorkSpace int float float errmax
 
float const *__restrict__ ezt2 = ws.ezt2
 
auto first = blockIdx.x * blockDim.x + threadIdx.x
 
auto const & fit = tracks.stateAtBS
 
__shared__ unsigned int foundClusters = 0
 
__shared__ Hist hist
 
__shared__ Hist::Counter hws [32]
 
int32_t *__restrict__ iv = ws.iv
 
uint8_t *__restrict__ izt = ws.izt
 
__device__ WorkSpace float maxChi2
 
constexpr float maxChi2ForFinalFit = 5000.f
 
constexpr float maxChi2ForFirstFit = 50.f
 
constexpr float maxChi2ForSplit = 9.f
 
WorkSpace int minT
 
bool more = true
 
size d for d tracks n
 
__shared__ int nloops = 0
 
int32_t *__restrict__ nn = data.ndof
 
__shared__ int noise
 
auto nt = ws.ntrks
 
uint32_t & nvFinal = data.nvFinal
 
uint32_t & nvIntermediate = ws.nvIntermediate
 
ZVertexSoA WorkSpace float ptMin
 
float const *__restrict__ ptt2 = ws.ptt2
 
float *__restrict__ ptv2 = data.ptv2
 
WorkSpacepws
 
auto const * quality = tracks.qualityData()
 
ZVertexSoAsoa
 
uint16_t *__restrict__ sortInd = data.sortInd
 
auto const & tracks = *ptracks
 
auto &__restrict__ ws = *pws
 
float *__restrict__ wv = data.wv
 
float const *__restrict__ zt = ws.zt
 
float *__restrict__ zv = data.zv
 

Typedef Documentation

◆ Hist

typedef cms::cuda::HistoContainer< uint8_t, 256, 16000, 8, uint16_t > gpuVertexFinder::Hist

Definition at line 47 of file gpuClusterTracksDBSCAN.h.

◆ TkSoA

Definition at line 12 of file gpuVertexFinder.h.

◆ ZVertices

Definition at line 11 of file gpuVertexFinder.h.

Function Documentation

◆ __attribute__()

gpuVertexFinder::__attribute__ ( (always_inline)  )
inline

Definition at line 20 of file gpuClusterTracksByDensity.h.

26  {
27  using namespace gpuVertexFinder;
28  constexpr bool verbose = false; // in principle the compiler should optmize out if false
29 
30  if (verbose && 0 == threadIdx.x)
31  printf("params %d %f %f %f\n", minT, eps, errmax, chi2max);
32 
33  auto er2mx = errmax * errmax;
34 
35  auto& __restrict__ data = *pdata;
36  auto& __restrict__ ws = *pws;
37  auto nt = ws.ntrks;
38  float const* __restrict__ zt = ws.zt;
39  float const* __restrict__ ezt2 = ws.ezt2;
40 
41  uint32_t& nvFinal = data.nvFinal;
42  uint32_t& nvIntermediate = ws.nvIntermediate;
43 
44  uint8_t* __restrict__ izt = ws.izt;
45  int32_t* __restrict__ nn = data.ndof;
46  int32_t* __restrict__ iv = ws.iv;
47 
48  assert(pdata);
49  assert(zt);
50 
52  __shared__ Hist hist;
53  __shared__ typename Hist::Counter hws[32];
54  for (auto j = threadIdx.x; j < Hist::totbins(); j += blockDim.x) {
55  hist.off[j] = 0;
56  }
57  __syncthreads();
58 
59  if (verbose && 0 == threadIdx.x)
60  printf("booked hist with %d bins, size %d for %d tracks\n", hist.nbins(), hist.capacity(), nt);
61 
62  assert(nt <= hist.capacity());
63 
64  // fill hist (bin shall be wider than "eps")
65  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
67  int iz = int(zt[i] * 10.); // valid if eps<=0.1
68  // iz = std::clamp(iz, INT8_MIN, INT8_MAX); // sorry c++17 only
69  iz = std::min(std::max(iz, INT8_MIN), INT8_MAX);
70  izt[i] = iz - INT8_MIN;
71  assert(iz - INT8_MIN >= 0);
72  assert(iz - INT8_MIN < 256);
73  hist.count(izt[i]);
74  iv[i] = i;
75  nn[i] = 0;
76  }
77  __syncthreads();
78  if (threadIdx.x < 32)
79  hws[threadIdx.x] = 0; // used by prefix scan...
80  __syncthreads();
81  hist.finalize(hws);
82  __syncthreads();
83  assert(hist.size() == nt);
84  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
85  hist.fill(izt[i], uint16_t(i));
86  }
87  __syncthreads();
88 
89  // count neighbours
90  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
91  if (ezt2[i] > er2mx)
92  continue;
93  auto loop = [&](uint32_t j) {
94  if (i == j)
95  return;
96  auto dist = std::abs(zt[i] - zt[j]);
97  if (dist > eps)
98  return;
99  if (dist * dist > chi2max * (ezt2[i] + ezt2[j]))
100  return;
101  nn[i]++;
102  };
103 
104  cms::cuda::forEachInBins(hist, izt[i], 1, loop);
105  }
106 
107  __syncthreads();
108 
109  // find closest above me .... (we ignore the possibility of two j at same distance from i)
110  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
111  float mdist = eps;
112  auto loop = [&](uint32_t j) {
113  if (nn[j] < nn[i])
114  return;
115  if (nn[j] == nn[i] && zt[j] >= zt[i])
116  return; // if equal use natural order...
117  auto dist = std::abs(zt[i] - zt[j]);
118  if (dist > mdist)
119  return;
120  if (dist * dist > chi2max * (ezt2[i] + ezt2[j]))
121  return; // (break natural order???)
122  mdist = dist;
123  iv[i] = j; // assign to cluster (better be unique??)
124  };
125  cms::cuda::forEachInBins(hist, izt[i], 1, loop);
126  }
127 
128  __syncthreads();
129 
130 #ifdef GPU_DEBUG
131  // mini verification
132  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
133  if (iv[i] != int(i))
134  assert(iv[iv[i]] != int(i));
135  }
136  __syncthreads();
137 #endif
138 
139  // consolidate graph (percolate index of seed)
140  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
141  auto m = iv[i];
142  while (m != iv[m])
143  m = iv[m];
144  iv[i] = m;
145  }
146 
147 #ifdef GPU_DEBUG
148  __syncthreads();
149  // mini verification
150  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
151  if (iv[i] != int(i))
152  assert(iv[iv[i]] != int(i));
153  }
154 #endif
155 
156 #ifdef GPU_DEBUG
157  // and verify that we did not spit any cluster...
158  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
159  auto minJ = i;
160  auto mdist = eps;
161  auto loop = [&](uint32_t j) {
162  if (nn[j] < nn[i])
163  return;
164  if (nn[j] == nn[i] && zt[j] >= zt[i])
165  return; // if equal use natural order...
166  auto dist = std::abs(zt[i] - zt[j]);
167  if (dist > mdist)
168  return;
169  if (dist * dist > chi2max * (ezt2[i] + ezt2[j]))
170  return;
171  mdist = dist;
172  minJ = j;
173  };
174  cms::cuda::forEachInBins(hist, izt[i], 1, loop);
175  // should belong to the same cluster...
176  assert(iv[i] == iv[minJ]);
177  assert(nn[i] <= nn[iv[i]]);
178  }
179  __syncthreads();
180 #endif
181 
182  __shared__ unsigned int foundClusters;
183  foundClusters = 0;
184  __syncthreads();
185 
186  // find the number of different clusters, identified by a tracks with clus[i] == i and density larger than threshold;
187  // mark these tracks with a negative id.
188  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
189  if (iv[i] == int(i)) {
190  if (nn[i] >= minT) {
191  auto old = atomicInc(&foundClusters, 0xffffffff);
192  iv[i] = -(old + 1);
193  } else { // noise
194  iv[i] = -9998;
195  }
196  }
197  }
198  __syncthreads();
199 
201 
202  // propagate the negative id to all the tracks in the cluster.
203  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
204  if (iv[i] >= 0) {
205  // mark each track in a cluster with the same id as the first one
206  iv[i] = iv[iv[i]];
207  }
208  }
209  __syncthreads();
210 
211  // adjust the cluster id to be a positive value starting from 0
212  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
213  iv[i] = -iv[i] - 1;
214  }
215 
217 
218  if (verbose && 0 == threadIdx.x)
219  printf("found %d proto vertices\n", foundClusters);
220  }

References __syncthreads(), funct::abs(), assert(), cms::cudacompat::atomicInc(), cms::cudacompat::blockDim, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::capacity(), chi2max, data, eps, er2mx, errmax, ezt2, foundClusters, hist, hws, mps_fire::i, createfilelist::int, iv, izt, dqmiolumiharvest::j, heppy_loop::loop, visualization-live-secondInstance_cfg::m, SiStripPI::max, ZVertexSoA::MAXTRACKS, ZVertexSoA::MAXVTX, min(), minT, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::nbins(), nn, nt, nvFinal, nvIntermediate, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::off, pws, cms::cudacompat::threadIdx, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::totbins(), verbose, ws, and zt.

◆ __syncthreads()

gpuVertexFinder::__syncthreads ( )
inline

Definition at line 77 of file cudaCompat.h.

77 {}

Referenced by gpuPixelRecHits::__attribute__(), __attribute__(), gpuClustering::for(), and for().

◆ assert() [1/7]

gpuVertexFinder::assert ( )

◆ assert() [2/7]

gpuVertexFinder::assert ( hist.  size() = =nt)

◆ assert() [3/7]

gpuVertexFinder::assert ( nt<=hist.  capacity())

◆ assert() [4/7]

gpuVertexFinder::assert ( nvFinal<=  nvIntermediate)

◆ assert() [5/7]

gpuVertexFinder::assert ( pdata  )

◆ assert() [6/7]

gpuVertexFinder::assert ( soa  )

◆ assert() [7/7]

gpuVertexFinder::assert ( zt  )

◆ capacity()

size d for d tracks hist hist gpuVertexFinder::capacity ( )

◆ finalize()

hist gpuVertexFinder::finalize ( hws  )

◆ for() [1/2]

gpuVertexFinder::for ( ) = float(nn[i]) / chi2[i]

Definition at line 50 of file gpuClusterTracksDBSCAN.h.

50  {
51  hist.off[j] = 0;
52  }

References hist, dqmiolumiharvest::j, and cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::off.

◆ for() [2/2]

gpuVertexFinder::for ( int  idx = first)

Definition at line 32 of file gpuVertexFinder.cc.

32  {
33  auto nHits = tracks.nHits(idx);
34  if (nHits == 0)
35  break; // this is a guard: maybe we need to move to nTracks...
36 
37  // initialize soa...
38  soa->idv[idx] = -1;
39 
40  if (nHits < 4)
41  continue; // no triplets
43  continue;
44 
45  auto pt = tracks.pt(idx);
46 
47  if (pt < ptMin)
48  continue;
49 
50  auto& data = *pws;
51  auto it = atomicAdd(&data.ntrks, 1);
52  data.itrk[it] = idx;
53  data.zt[it] = tracks.zip(idx);
54  data.ezt2[it] = fit.covariance(idx)(14);
55  data.ptt2[it] = pt * pt;
56  }

References cms::cudacompat::atomicAdd(), data, ZVertexSoA::idv, heavyIonCSV_trainingSettings::idx, pixelTrack::loose, nHits, DiDispStaMuonMonitor_cfi::pt, ptMin, pws, quality, soa, and tracks.

◆ if() [1/3]

gpuVertexFinder::if ( = nvFinal)

Definition at line 53 of file gpuSortByPt2.h.

53  {
54  if (threadIdx.x == 0)
55  sortInd[0] = 0;
56  return;
57  }

References sortInd, and cms::cudacompat::threadIdx.

◆ if() [2/3]

gpuVertexFinder::if ( )
pure virtual

◆ if() [3/3]

gpuVertexFinder::if ( verbose &&  0 = = threadIdx.x)

◆ init()

pws gpuVertexFinder::init ( )

◆ nbins()

size d for d tracks hist gpuVertexFinder::nbins ( )

◆ while()

gpuVertexFinder::while ( __syncthreads_or(more )

Definition at line 109 of file gpuClusterTracksIterative.h.

109  {
110  if (1 == nloops % 2) {
111  for (auto i = threadIdx.x; i < nt; i += blockDim.x) {
112  auto m = iv[i];
113  while (m != iv[m])
114  m = iv[m];
115  iv[i] = m;
116  }
117  } else {
118  more = false;
119  for (auto k = threadIdx.x; k < hist.size(); k += blockDim.x) {
120  auto p = hist.begin() + k;
121  auto i = (*p);
122  auto be = std::min(Hist::bin(izt[i]) + 1, int(hist.nbins() - 1));
123  if (nn[i] < minT)
124  continue; // DBSCAN core rule
125  auto loop = [&](uint32_t j) {
126  assert(i != j);
127  if (nn[j] < minT)
128  return; // DBSCAN core rule
129  auto dist = std::abs(zt[i] - zt[j]);
130  if (dist > eps)
131  return;
132  if (dist * dist > chi2max * (ezt2[i] + ezt2[j]))
133  return;
134  auto old = atomicMin(&iv[j], iv[i]);
135  if (old != iv[i]) {
136  // end the loop only if no changes were applied
137  more = true;
138  }
139  atomicMin(&iv[i], old);
140  };
141  ++p;
142  for (; p < hist.end(be); ++p)
143  loop(*p);
144  } // for i
145  }
146  if (threadIdx.x == 0)
147  ++nloops;
148  } // while

References funct::abs(), assert(), cms::cudacompat::atomicMin(), cms::cuda::be, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::bin(), cms::cudacompat::blockDim, chi2max, eps, ezt2, hist, mps_fire::i, iv, izt, dqmiolumiharvest::j, dqmdumpme::k, heppy_loop::loop, visualization-live-secondInstance_cfg::m, min(), minT, more, cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >::nbins(), nloops, nn, nt, AlCaHLTBitMon_ParallelJobs::p, cms::cudacompat::threadIdx, and zt.

Referenced by ThreeThresholdAlgorithm::addToCandidate(), EcalSimParametersFromDD::build(), cppFunctionSkipper::delLines(), cppFunctionSkipper::filterFile(), commentSkipper.buildFileCommentSkipper::filterMultilineComment(), dqm_interfaces.DQMcommunicator::get_runs_list(), and histoStyle::savePlots().

Variable Documentation

◆ chi2

float const *__restrict__ gpuVertexFinder::chi2 = data.chi2

Definition at line 28 of file gpuFitVertices.h.

◆ chi2Max

WorkSpace float gpuVertexFinder::chi2Max
Initial value:
{
constexpr bool verbose = false

Definition at line 18 of file gpuFitVertices.h.

◆ chi2max

WorkSpace int float float float gpuVertexFinder::chi2max
Initial value:
{
constexpr bool verbose = false

Definition at line 23 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), DTSegmentExtendedCand::good(), and while().

◆ data

auto &__restrict__ gpuVertexFinder::data = *pdata

Definition at line 31 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and for().

◆ eps

WorkSpace int float gpuVertexFinder::eps

◆ er2mx

auto gpuVertexFinder::er2mx = errmax * errmax

Definition at line 29 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ errmax

WorkSpace int float float gpuVertexFinder::errmax

Definition at line 18 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ ezt2

float const *__restrict__ gpuVertexFinder::ezt2 = ws.ezt2

Definition at line 35 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and while().

◆ first

auto gpuVertexFinder::first = blockIdx.x * blockDim.x + threadIdx.x

Definition at line 31 of file gpuVertexFinder.cc.

◆ fit

auto const& gpuVertexFinder::fit = tracks.stateAtBS

Definition at line 28 of file gpuVertexFinder.cc.

◆ foundClusters

auto gpuVertexFinder::foundClusters = 0

Definition at line 199 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ hist

__shared__ Hist gpuVertexFinder::hist

Definition at line 48 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), DDSpecificsHasNamedValueFilter::accept(), DDSpecificsMatchesValueFilter::accept(), DDSpecificsFilter::accept_impl(), PVValHelper::add(), DTT0Calibration::analyze(), HGCalHitValidation::analyzeHGCalSimHit(), APVCyclePhaseMonitor::beginRun(), Book::book(), HLTDQMFilterEffHists< ProbeType >::book1D(), HLTDQMFilterEffHists< ProbeType >::book2D(), GEMBaseValidation::bookDetectorOccupancy(), L1TStage2EMTF::bookHistograms(), GEMEfficiencyAnalyzer::bookNumerator1D(), GEMEfficiencyAnalyzer::bookNumerator2D(), GEMBaseValidation::bookPIDHist(), GEMBaseValidation::bookZROccupancy(), BTagEntry::BTagEntry(), TrackerG4SimHitNumberingScheme::buildAll(), ClusMultInvestPlots(), Combined2DHisto(), CombinedHisto(), DeadTimeAPVCycle(), GEMEfficiencyHarvester::doResolution(), examples::TrackAnalysisAlgorithm::draw(), fwlite::Scanner< Collection >::draw(), fwlite::Scanner< Collection >::draw2D(), fwlite::Scanner< Collection >::drawProf(), DTTMax::DTTMax(), L1TEMTFEventInfoClient::dumpContentMonitorElements(), L1TEventInfoClient::dumpContentMonitorElements(), EcalPedHists::endJob(), EcalURecHitHists::endJob(), EcalCosmicsHists::endJob(), DQMHistNormalizer::endRun(), ExpressionHisto< T >::fill(), DigiCollectionProfiler< T >::fill(), TrigObjTnPHistColl::HistColl::fill(), GEMDQMBase::MEMapInfT< M, K >::Fill(), helper::ScannerBase::fill1D(), helper::ScannerBase::fill2D(), GEMDQMBase::MEMapInfT< M, K >::FillBits(), HLTDQMFilterEffHists< ProbeType >::fillHists(), edm::Principal::fillPrincipal(), helper::ScannerBase::fillProf(), LA_Filler_Fitter::find_rebin(), SplitVertexResolution::fitResiduals(), TrackerOfflineValidationSummary::fitResiduals(), PVValHelper::fitResiduals(), TrackerOfflineValidation::fitResiduals(), SplitVertexResolution::fitResiduals_v0(), for(), TrackerOfflineValidation::Fwhm(), EgHLTOfflineSummaryClient::getEgHLTSumHist_(), MuonGEMBaseHarvestor::getElement(), HcalObjRepresent::HcalDataContainer< Items, Item >::GetProjection(), HcalObjRepresent::HcalDataContainer< Items, Item >::GetRange(), fwlite::Scanner< Collection >::getSameH1(), fwlite::Scanner< Collection >::getSameH2(), fwlite::Scanner< Collection >::getSameProf(), SiStripSummaryCreator::getSummaryME(), hTMaxCell::GetT0Factor(), PPSAlignmentHarvester::getTH1DFromTGraphErrors(), HGCalTBMB::HGCalTBMB(), FWEveViewManager::highlightAdded(), HistoAnalyzer< C >::HistoAnalyzer(), MuonResidualsFitter::histogramChi2GaussianFit(), CTPPSCommonDQMSource::GlobalPlots::Init(), EcalDisplaysByEvent::init2DEcalHist(), EcalDisplaysByEvent::init3DEcalHist(), EcalURecHitHists::initHists(), EcalCosmicsHists::initHists(), ExpressionHisto< T >::initialize(), TopDiLeptonOffline::MonitorEnsemble::loggerBinLabels(), main(), LA_Filler_Fitter::make_and_fit_symmchi2(), SiStripSpyDisplayModule::MakeDigiHist_(), DTGeometryValidate::makeHistogram(), GEMGeometryValidate::makeHistogram(), RPCGeometryValidate::makeHistogram(), ME0GeometryValidate::makeHistogram(), CSCGeometryValidate::makeHistogram(), ValidateGeometry::makeHistogram(), Phase1PixelMaps::makeNicePlotStyle(), SiStripPI::makeNicePlotStyle(), SiPixelPI::makeNicePlotStyle(), AlignmentPI::makeNicePlotStyle(), AlignmentPI::makeNiceStats(), SiStripSpyDisplayModule::MakeProcessedRawDigiHist_(), SiStripSpyDisplayModule::MakeRawDigiHist_(), DDExpandedView::mergedSpecificsV(), DQMGenericClient::normalizeToEntries(), DQMRivetClient::normalizeToIntegral(), DQMRivetClient::normalizeToLumi(), TrigObjTnPHistColl::HistFiller::operator()(), CSCAlignmentCorrections::plot(), MuonResidualsFitter::plotsimple(), MuonResidualsFitter::plotweighted(), SymmetryFit::pol2_from_pol2(), SymmetryFit::pol2_from_pol3(), printPlot(), EcalPedHists::readEBdigis(), EcalPedHists::readEEdigis(), edm::OneLumiPoolSource::readLuminosityBlockAuxiliary_(), DQMRivetClient::scaleByFactor(), SiPixelUtility::setDrawingOption(), SiStripHistoPlotter::setDrawingOption(), DDFilteredView::setScope(), DDExpandedView::specificsV(), tfwliteselectortest::ThingsTSelector::terminate(), tfwliteselectortest::ThingsTSelector2::terminate(), __class__< T >::terminate(), th1ToFormulaBinTree(), th1ToFormulaLin(), while(), sistrip::EnsembleCalibrationLA::write_ensembles_plots(), sistrip::MeasureLA::write_report_plots(), and sistrip::EnsembleCalibrationLA::write_samples_plots().

◆ hws

__shared__ Hist::Counter gpuVertexFinder::hws

Definition at line 49 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ iv

int32_t *__restrict__ gpuVertexFinder::iv = ws.iv

Definition at line 42 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), RPCLinkSynchroStat::add(), TAPD::addEntry(), FBaseSimEvent::addSimTrack(), reco::IsoDeposit::algoWithin(), HcalRecHitsAnalyzer::analyze(), IsoTrig::analyze(), PrimaryVertexAnalyzer4PUSlimmed::analyze(), IsolatedTracksNxN::analyze(), XtalDedxAnalysis::analyzeHits(), HGCalTimingAnalyzer::analyzeSimTracks(), HGCalTBAnalyzer::analyzeSimTracks(), gen::PhotosInterface::apply(), HLTMuonDimuonL3Filter::applyDiMuonSelection(), Basic2DVector< float >::Basic2DVector(), Basic3DVector< align::Scalar >::Basic3DVector(), magneticfield::MagGeoBuilder::build(), MagGeoBuilderFromDDD::build(), PFPileUpAlgo::chargedHadronVertex(), PrimaryVertexAssignment::chargedHadronVertex(), PFIsolationEstimator::chargedHadronVertex(), IsoTrig::chgIsolation(), PileupJetIdAlgo::computeIdVariables(), MVAJetPuId::computeIdVariables(), gen::TauolappInterface::decay(), reco::IsoDeposit::depositAndCountWithin(), TMultiDimFet::EvalControl(), SiPixelActionExecutor::fillFEDErrorSummary(), SiPixelActionExecutor::fillGrandBarrelSummaryHistos(), SiPixelActionExecutor::fillGrandEndcapSummaryHistos(), GsfTrackProducerBase::fillMode(), SiPixelActionExecutor::fillSummary(), TrackingFailureFilter::filter(), PythiaDauVFilter::filter(), PythiaAllDauVFilter::filter(), PythiaDauVFilterMatchID::filter(), FFTJetPFPileupCleaner::findSomeVertexWFakes(), DivisiveVertexFinder::findVertexesAlt(), CaloTowerGeometry::getSummary(), CaloSubdetectorGeometry::getSummary(), HcalGeometry::getSummary(), HGCalTypes::getUnpackedV(), edm::OneToMany< std::vector< Trajectory >, std::vector< TrajectorySeed >, unsigned int >::insert(), edm::OneToOneGeneric< std::vector< TrackCandidate >, std::vector< Trajectory >, unsigned int >::insert(), edm::OneToManyWithQualityGeneric< TrackingParticleCollection, edm::View< reco::Track >, double >::insert(), FFTJetPFPileupCleaner::isAcceptableVtx(), edm::isTransientEqual(), G4SimEvent::load(), TMultiDimFet::MakeCandidates(), JetPlusTrackCorrector::matchTracks(), multiTrajectoryStateMode::momentumFromModeLocal(), reco::IsoDeposit::nearestDR(), HGCalTypes::packTypeUV(), HitParentTest::parentSimTrack(), spr::parentSimTrack(), multiTrajectoryStateMode::positionFromModeLocal(), DDHGCalMixLayer::positionMix(), HGCalMixLayer::positionMix(), DDHGCalEEAlgo::positionSensitive(), DDHGCalEEFileAlgo::positionSensitive(), DDHGCalSiliconModule::positionSensitive(), DDHGCalHEAlgo::positionSensitive(), DDHGCalHEFileAlgo::positionSensitive(), HGCalEEFileAlgo::positionSensitive(), HGCalSiliconModule::positionSensitive(), HGCalEEAlgo::PositionSensitive(), HGCalHEFileAlgo::positionSensitive(), HGCalHEAlgo::positionSensitive(), JetTracksAssociationDRVertexAssigned::produce(), SeedGeneratorFromProtoTracksEDProducer::produce(), PFV0Producer::produce(), FFTJetVertexAdder::produce(), PrimaryVertexProducer::produce(), ConvBremSeedProducer::produce(), LmfSource::readEventWithinFile(), ZdcSimpleRecAlgoImpl::reco2(), rpcrawtodigi::RecordCD::RecordCD(), PointSeededTrackingRegionsProducer::regions(), PATPrimaryVertexSelector::select(), MultiTrackSelector::select(), HIMultiTrackSelector::select(), EMShower::setIntervals(), CaloNumberingScheme::setVerbosity(), ZdcNumberingScheme::setVerbosity(), spr::simTrackAtOrigin(), edm::OneToMany< std::vector< Trajectory >, std::vector< TrajectorySeed >, unsigned int >::val(), edm::OneToOneGeneric< std::vector< TrackCandidate >, std::vector< Trajectory >, unsigned int >::val(), edm::OneToManyWithQualityGeneric< TrackingParticleCollection, edm::View< reco::Track >, double >::val(), HitParentTest::validSimTrack(), spr::validSimTrack(), ConfigurableTrimmedVertexFinder::vertexCandidates(), HGCalWaferIndex::waferV(), while(), and ZdcNumberingScheme::ZdcNumberingScheme().

◆ izt

uint8_t *__restrict__ gpuVertexFinder::izt = ws.izt

Definition at line 40 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and while().

◆ maxChi2

WorkSpace float gpuVertexFinder::maxChi2
Initial value:
{
constexpr bool verbose = false

Definition at line 15 of file gpuSplitVertices.h.

◆ maxChi2ForFinalFit

constexpr float gpuVertexFinder::maxChi2ForFinalFit = 5000.f
constexpr

Definition at line 19 of file gpuVertexFinder.cc.

Referenced by gpuVertexFinder::Producer::make().

◆ maxChi2ForFirstFit

constexpr float gpuVertexFinder::maxChi2ForFirstFit = 50.f
constexpr

Definition at line 18 of file gpuVertexFinder.cc.

Referenced by gpuVertexFinder::Producer::make().

◆ maxChi2ForSplit

constexpr float gpuVertexFinder::maxChi2ForSplit = 9.f
constexpr

Definition at line 22 of file gpuVertexFinder.cc.

Referenced by gpuVertexFinder::Producer::make().

◆ minT

WorkSpace int gpuVertexFinder::minT

◆ more

bool gpuVertexFinder::more = true

◆ n

size d for d tracks gpuVertexFinder::n

Definition at line 56 of file gpuClusterTracksDBSCAN.h.

◆ nloops

gpuVertexFinder::nloops = 0

Definition at line 102 of file gpuClusterTracksIterative.h.

Referenced by while().

◆ nn

int32_t const *__restrict__ gpuVertexFinder::nn = data.ndof

Definition at line 41 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and while().

◆ noise

gpuVertexFinder::noise

Definition at line 50 of file gpuFitVertices.h.

Referenced by Phase2TrackerDigitizerAlgorithm::add_noise(), SiPixelDigitizerAlgorithm::add_noise(), GaussNoiseFP420::addNoise(), RPGaussianTailNoiseAdder::addNoise(), HcalAmplifier::addPedestals(), CastorAmplifier::amplify(), SiStripNoisesBuilder::analyze(), SiStripNoiseNormalizedWithApvGainBuilder::analyze(), SiStripMonitorCluster::analyze(), SiStripNoisesFromDBMiscalibrator::analyze(), DTnoiseDBValidation::beginRun(), SiStripAPVRestorer::cleaner_LocalMinimumAdder(), SiStripMonitorTrack::clusterInfos(), TShapeAnalysis::computeShape(), HPDIonFeedbackSim::correctPE(), TT6ApvMask::defineNoisy(), PulseFitWithShape::doFit(), DTNoiseAnalysisTest::dqmEndLuminosityBlock(), EgammaSCEnergyCorrectionAlgo::EgammaSCEnergyCorrectionAlgo(), DaqScopeModeSummaryFactory::extract(), PedestalsSummaryFactory::extract(), NoiseSummaryFactory::extract(), PedsFullNoiseSummaryFactory::extract(), PedsOnlySummaryFactory::extract(), popcon::SiStripPopConHandlerUnitTest< T >::fillObject(), popcon::SiStripPopConHandlerUnitTestNoise< T >::fillObject(), SiStripFedZeroSuppression::fillThresholds_(), LASPeakFinder::FindPeakIn(), GaussNoiseProducerFP420::generate(), GaussianTailNoiseGenerator::generate(), HPDIonFeedbackSim::getIonFeedback(), SiStripNoisesFromDBMiscalibrator::getNewObject(), SiStripNoisesFromDBMiscalibrator::getNewObject_withDefaults(), ApvAnalysisFactory::getNoise(), HFNoisyHitsFilter::getNoiseBits(), ApvAnalysisFactory::getRawNoise(), HGCalVFESummationImpl::HGCalVFESummationImpl(), SiStripNoiseBuilderFromDb::makeNoise(), muonisolation::CaloExtractor::noiseEcal(), muonisolation::CaloExtractorByAssociator::noiseEcal(), muonisolation::CaloExtractor::noiseHcal(), muonisolation::CaloExtractorByAssociator::noiseHcal(), muonisolation::CaloExtractorByAssociator::noiseHOcal(), muonisolation::CaloExtractorByAssociator::noiseRecHit(), HcalDeterministicFit::phase1Apply(), SiStripNoiseNormalizedWithApvGainBuilder::printLog(), SiStripNoiseESSource::produce(), RPCPerformanceESSource::produce(), ShallowClustersProducer::produce(), SiStripNoisesFakeESSource::produce(), SiStripFineDelayHit::produceNoTracking(), ZdcSimpleRecAlgoImpl::reco2(), FP420ClusterMain::run(), HGCDigitizerBase::runSimple(), HGCalSciNoiseMap::scaleByDose(), TShapeAnalysis::set_const(), ClusterNoiseFP420::ElectrodData::setData(), DeDxTools::shapeSelection(), sistrip::FEDEmulator::subtractPedestals(), PedestalsTask::update(), DaqScopeModeTask::update(), ApvAnalysis::updateCalibration(), CSCXonStrip_MatchGatti::xfError_Noise(), and ZeroSuppressFP420::ZeroSuppressFP420().

◆ nt

auto gpuVertexFinder::nt = ws.ntrks

Definition at line 33 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and while().

◆ nvFinal

uint32_t & gpuVertexFinder::nvFinal = data.nvFinal

Definition at line 37 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ nvIntermediate

uint32_t & gpuVertexFinder::nvIntermediate = ws.nvIntermediate

Definition at line 38 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__().

◆ ptMin

ZVertexSoA WorkSpace float gpuVertexFinder::ptMin
Initial value:

Definition at line 24 of file gpuVertexFinder.cc.

Referenced by for(), and gpuVertexFinder::Producer::make().

◆ ptt2

float const* __restrict__ gpuVertexFinder::ptt2 = ws.ptt2

Definition at line 22 of file gpuSortByPt2.h.

◆ ptv2

float* __restrict__ gpuVertexFinder::ptv2 = data.ptv2

Definition at line 26 of file gpuSortByPt2.h.

◆ pws

WorkSpace * gpuVertexFinder::pws
Initial value:
{
auto& __restrict__ data = *pdata

Definition at line 18 of file gpuClusterTracksDBSCAN.h.

Referenced by __attribute__(), and for().

◆ quality

auto const* gpuVertexFinder::quality = tracks.qualityData()

Definition at line 29 of file gpuVertexFinder.cc.

Referenced by for().

◆ soa

ZVertexSoA* gpuVertexFinder::soa

◆ sortInd

uint16_t* __restrict__ gpuVertexFinder::sortInd = data.sortInd

Definition at line 27 of file gpuSortByPt2.h.

Referenced by if().

◆ tracks

auto const& gpuVertexFinder::tracks = *ptracks

Definition at line 27 of file gpuVertexFinder.cc.

Referenced by for().

◆ ws

auto &__restrict__ gpuVertexFinder::ws = *pws

◆ wv

float *__restrict__ gpuVertexFinder::wv = data.wv

◆ zt

float const *__restrict__ gpuVertexFinder::zt = ws.zt

◆ zv

float *__restrict__ gpuVertexFinder::zv = data.zv
cms::cuda::HistoContainer::off
off[c.m]
Definition: HistoContainer.h:239
mps_fire.i
i
Definition: mps_fire.py:428
ZVertexSoA::MAXVTX
static constexpr uint32_t MAXVTX
Definition: ZVertexSoA.h:12
nt
int nt
Definition: AMPTWrapper.h:42
gpuVertexFinder::assert
assert(pdata)
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
min
T min(T a, T b)
Definition: MathUtil.h:58
cms::cuda::HistoContainer::capacity
static constexpr uint32_t capacity()
Definition: HistoContainer.h:179
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gpuVertexFinder::iv
int32_t *__restrict__ iv
Definition: gpuClusterTracksDBSCAN.h:42
gpuVertexFinder::eps
WorkSpace int float eps
Definition: gpuClusterTracksDBSCAN.h:18
ptMin
constexpr float ptMin
Definition: PhotonIDValueMapProducer.cc:155
gpuVertexFinder
Definition: gpuClusterTracksByDensity.h:13
cms::cuda::assert
assert(be >=bs)
amptDefault_cfi.izt
izt
Definition: amptDefault_cfi.py:18
gpuVertexFinder::soa
ZVertexSoA * soa
Definition: gpuVertexFinder.cc:24
gpuVertexFinder::nloops
__shared__ int nloops
Definition: gpuClusterTracksIterative.h:102
gpuVertexFinder::ws
auto &__restrict__ ws
Definition: gpuClusterTracksDBSCAN.h:32
ptracks
const HitContainer *__restrict__ const TkSoA *__restrict__ ptracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:477
gpuVertexFinder::zt
float const *__restrict__ zt
Definition: gpuClusterTracksDBSCAN.h:34
gpuVertexFinder::data
auto &__restrict__ data
Definition: gpuClusterTracksDBSCAN.h:31
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
quality
const uint32_t *__restrict__ Quality * quality
Definition: CAHitNtupletGeneratorKernelsImpl.h:109
gpuVertexFinder::nvFinal
uint32_t & nvFinal
Definition: gpuClusterTracksDBSCAN.h:37
gpuVertexFinder::more
bool more
Definition: gpuClusterTracksIterative.h:108
nHits
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t nHits
Definition: BrokenLineFitOnGPU.h:27
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
gpuVertexFinder::izt
uint8_t *__restrict__ izt
Definition: gpuClusterTracksDBSCAN.h:40
cms::cudacompat::atomicAdd
T1 atomicAdd(T1 *a, T2 b)
Definition: cudaCompat.h:51
verbose
static constexpr int verbose
Definition: HLTExoticaSubAnalysis.cc:25
dqmdumpme.k
k
Definition: dqmdumpme.py:60
cms::cuda::HistoContainer::Counter
uint32_t Counter
Definition: HistoContainer.h:154
gpuVertexFinder::nt
auto nt
Definition: gpuClusterTracksDBSCAN.h:33
gpuVertexFinder::errmax
WorkSpace int float float errmax
Definition: gpuClusterTracksDBSCAN.h:18
cms::cudacompat::blockDim
const dim3 blockDim
Definition: cudaCompat.h:30
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
gpuVertexFinder::hist
__shared__ Hist hist
Definition: gpuClusterTracksDBSCAN.h:48
heppy_loop.loop
loop
Definition: heppy_loop.py:28
gpuVertexFinder::hws
__shared__ Hist::Counter hws[32]
Definition: gpuClusterTracksDBSCAN.h:49
createfilelist.int
int
Definition: createfilelist.py:10
gpuVertexFinder::chi2max
WorkSpace int float float float chi2max
Definition: gpuClusterTracksDBSCAN.h:23
ZVertexSoA::idv
int16_t idv[MAXTRACKS]
Definition: ZVertexSoA.h:14
gpuVertexFinder::pws
WorkSpace * pws
Definition: gpuClusterTracksDBSCAN.h:18
gpuVertexFinder::minT
WorkSpace int minT
Definition: gpuClusterTracksDBSCAN.h:18
cms::cudacompat::threadIdx
const dim3 threadIdx
Definition: cudaCompat.h:29
ZVertexSoA::MAXTRACKS
static constexpr uint32_t MAXTRACKS
Definition: ZVertexSoA.h:11
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
groupFilesInBlocks.nn
nn
Definition: groupFilesInBlocks.py:150
cms::cuda::HistoContainer::nbins
static constexpr uint32_t nbins()
Definition: HistoContainer.h:175
gpuVertexFinder::ezt2
float const *__restrict__ ezt2
Definition: gpuClusterTracksDBSCAN.h:35
gpuVertexFinder::er2mx
auto er2mx
Definition: gpuClusterTracksDBSCAN.h:29
cms::cudacompat::atomicMin
T1 atomicMin(T1 *a, T2 b)
Definition: cudaCompat.h:65
gpuVertexFinder::sortInd
uint16_t *__restrict__ sortInd
Definition: gpuSortByPt2.h:27
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
gpuVertexFinder::foundClusters
__shared__ unsigned int foundClusters
Definition: gpuClusterTracksDBSCAN.h:199
cms::cuda::be
int be
Definition: HistoContainer.h:126
cms::cuda::HistoContainer
Definition: HistoContainer.h:152
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
cms::cuda::HistoContainer::totbins
static constexpr uint32_t totbins()
Definition: HistoContainer.h:177
gpuVertexFinder::__syncthreads
__syncthreads()
Definition: cudaCompat.h:77
pixelTrack::Quality::loose
gpuVertexFinder::nn
int32_t *__restrict__ nn
Definition: gpuClusterTracksDBSCAN.h:41
fit
Definition: CombinedChiSquaredLikelihood.h:6
gpuVertexFinder::nvIntermediate
uint32_t & nvIntermediate
Definition: gpuClusterTracksDBSCAN.h:38
gpuVertexFinder::assert
assert(soa)
cms::cudacompat::atomicInc
T1 atomicInc(T1 *a, T2 b)
Definition: cudaCompat.h:43