CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
gpuPixelDoublets::CellCutsT< TrackerTraits > Struct Template Reference

#include <gpuPixelDoubletsAlgos.h>

Public Types

using H = HitsConstView< TrackerTraits >
 
using T = TrackerTraits
 

Public Member Functions

__device__ __attribute__ ((always_inline)) bool zSizeCut(H hh
 
 CellCutsT ()=default
 
 CellCutsT (const bool doClusterCut, const bool doZ0Cut, const bool doPtCut, const bool idealConditions, const float z0Cut, const float ptCut, const std::vector< int > &phiCutsV)
 
 if (mes< 0) return false
 
 if (not innerBarrel and not onlyBarrel) return false
 
 if (!innerB1orB2) return false
 

Public Attributes

__device__ int int o const
 
return onlyBarrel so &&std::abs(so - mes) > dy __device__ int i const
 
bool doClusterCut_
 
bool doPtCut_
 
bool doZ0Cut_
 
auto dr = hh[i].rGlobal() - hh[o].rGlobal()
 
auto dy = innerB1 ? T::maxDYsize12 : T::maxDYsize
 
auto dz = hh[i].zGlobal() - hh[o].zGlobal()
 
if(innerB2) if(mes > 0 &&mes< T return false
 
__device__ int i
 
bool idealConditions_
 
bool innerB1 = mi < T::last_bpix1_detIndex
 
bool innerB1orB2 = mi < T::last_bpix2_detIndex
 
if(innerB1) if(mes > 0 &&mes< T bool innerB2 = (mi >= T::last_bpix1_detIndex) && (mi < T::last_bpix2_detIndex)
 
auto innerBarrel = mi < T::last_barrel_detIndex
 
bool isOuterLadder = idealConditions_ ? true : 0 == (mi / 8) % 2
 
auto mes = (!innerB1) || isOuterLadder ? hh[i].clusterSizeY() : -1
 
const uint32_t mo = hh[o].detectorIndex()
 
auto onlyBarrel = mo < T::last_barrel_detIndex
 
int phiCuts [T::nPairs]
 
float ptCut_
 
auto so = hh[o].clusterSizeY()
 
float z0Cut_
 

Detailed Description

template<typename TrackerTraits>
struct gpuPixelDoublets::CellCutsT< TrackerTraits >

Definition at line 38 of file gpuPixelDoubletsAlgos.h.

Member Typedef Documentation

◆ H

template<typename TrackerTraits>
using gpuPixelDoublets::CellCutsT< TrackerTraits >::H = HitsConstView<TrackerTraits>

Definition at line 39 of file gpuPixelDoubletsAlgos.h.

◆ T

template<typename TrackerTraits>
using gpuPixelDoublets::CellCutsT< TrackerTraits >::T = TrackerTraits

Definition at line 40 of file gpuPixelDoubletsAlgos.h.

Constructor & Destructor Documentation

◆ CellCutsT() [1/2]

template<typename TrackerTraits>
gpuPixelDoublets::CellCutsT< TrackerTraits >::CellCutsT ( )
default

◆ CellCutsT() [2/2]

template<typename TrackerTraits>
gpuPixelDoublets::CellCutsT< TrackerTraits >::CellCutsT ( const bool  doClusterCut,
const bool  doZ0Cut,
const bool  doPtCut,
const bool  idealConditions,
const float  z0Cut,
const float  ptCut,
const std::vector< int > &  phiCutsV 
)
inline

Definition at line 44 of file gpuPixelDoubletsAlgos.h.

References gpuPixelDoublets::assert(), filterCSVwithJSON::copy, phase1PixelTopology::nPairs, and gpuPixelDoublets::CellCutsT< TrackerTraits >::phiCuts.

55  z0Cut_(z0Cut),
56  ptCut_(ptCut) {
57  assert(phiCutsV.size() == TrackerTraits::nPairs);
58  std::copy(phiCutsV.begin(), phiCutsV.end(), &phiCuts[0]);
59  }

Member Function Documentation

◆ __attribute__()

template<typename TrackerTraits>
__device__ gpuPixelDoublets::CellCutsT< TrackerTraits >::__attribute__ ( (always_inline)  )
inline

◆ if() [1/3]

template<typename TrackerTraits>
gpuPixelDoublets::CellCutsT< TrackerTraits >::if ( )

◆ if() [2/3]

template<typename TrackerTraits>
gpuPixelDoublets::CellCutsT< TrackerTraits >::if ( not innerBarrel and not  onlyBarrel)

◆ if() [3/3]

template<typename TrackerTraits>
gpuPixelDoublets::CellCutsT< TrackerTraits >::if ( innerB1orB2)

Member Data Documentation

◆ const [1/2]

template<typename TrackerTraits>
__device__ int int o gpuPixelDoublets::CellCutsT< TrackerTraits >::const
Initial value:
{
const uint32_t mi = hh[i].detectorIndex()

Definition at line 71 of file gpuPixelDoubletsAlgos.h.

◆ const [2/2]

template<typename TrackerTraits>
return onlyBarrel so&& std::abs (so - mes) > dy __device__ int i gpuPixelDoublets::CellCutsT< TrackerTraits >::const
Initial value:
{
const uint32_t mi = hh[i].detectorIndex()

Definition at line 98 of file gpuPixelDoubletsAlgos.h.

◆ doClusterCut_

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::doClusterCut_

Definition at line 61 of file gpuPixelDoubletsAlgos.h.

◆ doPtCut_

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::doPtCut_

Definition at line 63 of file gpuPixelDoubletsAlgos.h.

◆ doZ0Cut_

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::doZ0Cut_

Definition at line 62 of file gpuPixelDoubletsAlgos.h.

◆ dr

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::dr = hh[i].rGlobal() - hh[o].rGlobal()

Definition at line 85 of file gpuPixelDoubletsAlgos.h.

◆ dy

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::dy = innerB1 ? T::maxDYsize12 : T::maxDYsize

Definition at line 92 of file gpuPixelDoubletsAlgos.h.

◆ dz

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::dz = hh[i].zGlobal() - hh[o].zGlobal()

◆ false

template<typename TrackerTraits>
if (innerB2) if (mes > 0 && mes < T return gpuPixelDoublets::CellCutsT< TrackerTraits >::false

Definition at line 113 of file gpuPixelDoubletsAlgos.h.

◆ i

template<typename TrackerTraits>
__device__ int gpuPixelDoublets::CellCutsT< TrackerTraits >::i

Definition at line 71 of file gpuPixelDoubletsAlgos.h.

◆ idealConditions_

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::idealConditions_

Definition at line 64 of file gpuPixelDoubletsAlgos.h.

◆ innerB1

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::innerB1 = mi < T::last_bpix1_detIndex

Definition at line 74 of file gpuPixelDoubletsAlgos.h.

◆ innerB1orB2

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::innerB1orB2 = mi < T::last_bpix2_detIndex

Definition at line 100 of file gpuPixelDoubletsAlgos.h.

◆ innerB2

template<typename TrackerTraits>
if (innerB1) if (mes > 0 && mes < T bool gpuPixelDoublets::CellCutsT< TrackerTraits >::innerB2 = (mi >= T::last_bpix1_detIndex) && (mi < T::last_bpix2_detIndex)

Definition at line 112 of file gpuPixelDoubletsAlgos.h.

◆ innerBarrel

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::innerBarrel = mi < T::last_barrel_detIndex

Definition at line 87 of file gpuPixelDoubletsAlgos.h.

◆ isOuterLadder

template<typename TrackerTraits>
bool gpuPixelDoublets::CellCutsT< TrackerTraits >::isOuterLadder = idealConditions_ ? true : 0 == (mi / 8) % 2

Definition at line 75 of file gpuPixelDoubletsAlgos.h.

◆ mes

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::mes = (!innerB1) || isOuterLadder ? hh[i].clusterSizeY() : -1

Definition at line 76 of file gpuPixelDoubletsAlgos.h.

◆ mo

template<typename TrackerTraits>
const uint32_t gpuPixelDoublets::CellCutsT< TrackerTraits >::mo = hh[o].detectorIndex()

Definition at line 81 of file gpuPixelDoubletsAlgos.h.

◆ onlyBarrel

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::onlyBarrel = mo < T::last_barrel_detIndex

Definition at line 88 of file gpuPixelDoubletsAlgos.h.

◆ phiCuts

template<typename TrackerTraits>
int gpuPixelDoublets::CellCutsT< TrackerTraits >::phiCuts[T::nPairs]

◆ ptCut_

template<typename TrackerTraits>
float gpuPixelDoublets::CellCutsT< TrackerTraits >::ptCut_

Definition at line 67 of file gpuPixelDoubletsAlgos.h.

◆ so

template<typename TrackerTraits>
auto gpuPixelDoublets::CellCutsT< TrackerTraits >::so = hh[o].clusterSizeY()

Definition at line 82 of file gpuPixelDoubletsAlgos.h.

◆ z0Cut_

template<typename TrackerTraits>
float gpuPixelDoublets::CellCutsT< TrackerTraits >::z0Cut_

Definition at line 66 of file gpuPixelDoubletsAlgos.h.