Project
Loading...
Searching...
No Matches
o2::gpu::propagatorInterface< GPUTPCGMPropagator > Class Reference

#include <GPUTRDInterfaces.h>

Inherits o2::gpu::GPUTPCGMPropagator.

Public Types

typedef GPUTPCGMPolynomialField propagatorParam
 
- Public Types inherited from o2::gpu::GPUTPCGMPropagator
enum  FieldRegion { TPC = 0 , ITS = 1 , TRD = 2 }
 Enumeration of field regions. More...
 
enum  UpdateRetVal {
  updateErrorFitFailed = -1 , updateErrorClusterRejected = 2 , updateErrorClusterRejectedDistance = 2 , updateErrorClusterRejectedInInterpolation = 3 ,
  updateErrorClusterRejectedInUpdate = 4 , updateErrorClusterRejectedEdge = 5
}
 
enum  RejectChi2Mode { rejectDirect = 1 , rejectInterFill = 2 , rejectInterReject = 3 }
 

Public Member Functions

 GPUd () propagatorInterface(const propagatorParam *pField)
 
 propagatorInterface (const propagatorInterface< GPUTPCGMPropagator > &)=delete
 
propagatorInterface & operator= (const propagatorInterface< GPUTPCGMPropagator > &)=delete
 
 GPUd () void setTrack(trackInterface< GPUTPCGMTrackParam > *trk)
 
 GPUd () bool propagateToX(float x
 
 GPUd () int32_t getPropagatedYZ(float x
 
 GPUd () void setFitInProjections(bool flag)
 
 GPUd () bool rotate(float alpha)
 
 GPUd () bool update(const float p[2]
 
 GPUd () float getAlpha()
 
 GPUd () float getPredictedChi2(const float p[2]
 
- Public Member Functions inherited from o2::gpu::GPUTPCGMPropagator
 GPUdDefault () GPUTPCGMPropagator()=default
 
 GPUd () void SetMaterial(float radLen
 
 GPUd () void SetMaterialTPC()
 
 GPUd () void UpdateMaterial(const GPUTPCGMPhysicalTrackModel &GPUrestrict() t0e)
 
GPUd() o2 GPUd () void SetPolynomialField(const GPUTPCGMPolynomialField *field)
 
 GPUd () void SelectFieldRegion(FieldRegion region)
 
 GPUd () void SetFitInProjections(bool Flag)
 
 GPUd () void SetPropagateBzOnly(bool Flag)
 
 GPUd () void SetSeedingErrors(bool Flag)
 
 GPUd () void SetMatLUT(const o2
 
 GPUd () void SetMaxSinPhi(float maxSinPhi)
 
 GPUd () void SetTrack(GPUTPCGMTrackParam *track
 
 GPUd () void ResetT0()
 
 GPUd () int32_t RotateToAlpha(float new Alpha)
 
 GPUd () int32_t PropagateToXAlpha(float posX
 
 GPUd () int32_t PropagateToXAlphaBz(float posX
 
 GPUd () int32_t Update(float posY
 
 GPUd () int32_t Update(float posY
 
 GPUd () int32_t Update(float posY
 
 GPUd () int32_t InterpolateReject(const GPUParam &param
 
 GPUd () float PredictChi2(float posY
 
 GPUd () float PredictChi2(float posY
 
 GPUd () static int32_t RejectCluster(float chiY
 
 GPUd () float GetBz(float X
 Bz in local coordinates rotated to mAlpha.
 
 GPUd () void GetBxByBz(float X
 Bx,By,Bz in local coordinates rotated to mAlpha.
 
 GPUd () float GetBz(float Alpha
 Bz in local coordinates rotated to Alpha.
 
 GPUd () void GetBxByBz(float Alpha
 Bx,By,Bz in local coordinates rotated to Alpha.
 
 GPUd () void GetErr2(float &err2Y
 
 GPUd () static void GetErr2(float &err2Y
 
 GPUd () float GetAlpha() const
 
 GPUd () void SetAlpha(float v)
 
 GPUd () float GetQPt0() const
 
 GPUd () float GetSinPhi0() const
 
 GPUd () float GetCosPhi0() const
 
 GPUd () void Mirror(bool inFlyDirection)
 
 GPUd () void Rotate180()
 
 GPUd () void ChangeDirection()
 
 GPUd () float GetMirroredYModel() const
 
 GPUd () float GetMirroredYTrack() const
 
 GPUd () int32_t GetPropagatedYZ(float x
 
 GPUd () bool GetFitInProjections() const
 
 GPUd () GPUTPCGMPhysicalTrackModel &Model()
 
 GPUd () void CalculateMaterialCorrection()
 

Public Attributes

float maxSnp
 
float float maxStep
 
bool ok = (retVal == 0) ? true : false
 
 ok = mTrack->CheckNumericalQuality()
 
return ok
 
float & projY
 
float float & projZ { return GetPropagatedYZ(x, projY, projZ)
 
const float cov [3]
 
const float cov[3] const { return PredictChi2(p[0], p[1], cov[0], cov[2])
 
trackInterface< GPUTPCGMTrackParam > * mTrack
 
- Public Attributes inherited from o2::gpu::GPUTPCGMPropagator
float rho
 
float Alpha
 
float posAlpha
 
float bool inFlyDirection
 
float posZ
 
float int32_t iRow
 
float int32_t const GPUParam & param
 
float int32_t const GPUParam int16_t clusterState
 
float int32_t const GPUParam int16_t int8_t rejectChi2
 
float int32_t const GPUParam int16_t int8_t bool refit
 
float int32_t const GPUParam int16_t int8_t bool int8_t sector
 
float int32_t const GPUParam int16_t int8_t bool int8_t float time
 
float int32_t const GPUParam int16_t int8_t bool int8_t float float avgInvCharge
 
float int32_t const GPUParam int16_t int8_t bool int8_t float float float invCharge
 
float int32_t const GPUParam int16_t int8_t bool float err2Y
 
float int32_t const GPUParam int16_t int8_t bool float float err2Z
 
float int16_t clusterState
 
float int16_t bool rejectChi2
 
float int16_t bool float err2Y
 
float int16_t bool float float err2Z
 
float int16_t bool float float const GPUParam * param = nullptr)
 
float posY
 
float float posZ
 
float float int16_t clusterState
 
float float int16_t int8_t rejectChi2
 
float float int16_t int8_t gputpcgmmergertypes::InterpolationErrorHit * inter
 
float float int16_t int8_t gputpcgmmergertypes::InterpolationErrorHit float err2Y
 
float float int16_t int8_t gputpcgmmergertypes::InterpolationErrorHit float float err2Z
 
float float int16_t int8_t gputpcgmmergertypes::InterpolationErrorHit float float float deltaZ
 
float int32_t const GPUParam int16_t uint8_t sector
 
float int32_t const GPUParam int16_t uint8_t float time
 
float int32_t const GPUParam int16_t uint8_t float float avgCharge
 
float int32_t const GPUParam int16_t uint8_t float float float charge const
 
float float err2Y
 
float float float err2Z const
 
float chiZ
 
float uint8_t clusterState
 
float Y
 
float float Z const
 
float float Z
 
float float float B[3] const
 
float X
 
float float Y
 
float float float Z const
 
float float float Z
 
float float float float B[3] const
 
float & err2Z
 
float const GPUParam & param
 
float const GPUParam float posZ
 
float const GPUParam float int32_t iRow
 
float const GPUParam float int32_t int16_t clusterState
 
float const GPUParam float int32_t int16_t uint8_t sector
 
float const GPUParam float int32_t int16_t uint8_t float time
 
float const GPUParam float int32_t int16_t uint8_t float float avgCharge
 
float const GPUParam float int32_t int16_t uint8_t float float float charge const
 
float const GPUParam float snp
 
float const GPUParam float float tgl
 
float const GPUParam float float float posZ
 
float const GPUParam float float float float trackX
 
float const GPUParam float float float float float trackY
 
float const GPUParam float float float float float int32_t iRow
 
float const GPUParam float float float float float int32_t int16_t clusterState
 
float const GPUParam float float float float float int32_t int16_t uint8_t sector
 
float const GPUParam float float float float float int32_t int16_t uint8_t float time
 
float const GPUParam float float float float float int32_t int16_t uint8_t float float avgCharge
 
float const GPUParam float float float float float int32_t int16_t uint8_t float float float charge
 
float const GPUParam float float float float float int32_t int16_t uint8_t float float float bool seedingErrors
 
float & projY
 
float float & projZ
 

Detailed Description

Definition at line 184 of file GPUTRDInterfaces.h.

Member Typedef Documentation

◆ propagatorParam

Definition at line 187 of file GPUTRDInterfaces.h.

Constructor & Destructor Documentation

◆ propagatorInterface()

Member Function Documentation

◆ GPUd() [1/9]

◆ GPUd() [2/9]

Definition at line 213 of file GPUTRDInterfaces.h.

◆ GPUd() [3/9]

◆ GPUd() [4/9]

Definition at line 226 of file GPUTRDInterfaces.h.

◆ GPUd() [5/9]

◆ GPUd() [6/9]

◆ GPUd() [7/9]

Definition at line 188 of file GPUTRDInterfaces.h.

◆ GPUd() [8/9]

Definition at line 212 of file GPUTRDInterfaces.h.

◆ GPUd() [9/9]

Definition at line 198 of file GPUTRDInterfaces.h.

◆ operator=()

Member Data Documentation

◆ const

const float cov [3] o2::gpu::propagatorInterface< GPUTPCGMPropagator >::const { return PredictChi2(p[0], p[1], cov[0], cov[2])

Definition at line 228 of file GPUTRDInterfaces.h.

◆ cov

Initial value:
{
return Update(p[0], p[1], 0, false, cov[0], cov[2]) == 0 ? true : false
configStandalone Reconstruction rec_tpc multiplier for the combined cluster track error during track following area in cm for the search of for z only used if decrease removal by when above this local occupancy rowx Shift of TPC revert cluster flag edge bit distance to edge exceeds this ZOffset for secondary multiple of radius max P of electron K BB bands crossing max P of electron p BB bands crossing max P of electron d BB bands crossing max P of electron t BB bands crossing min accepted dEdxMaxTPC of the track Additive extra cluster error for Y2 if edge flag set Additive extra cluster error for Y2 if single set Additive extra cluster error for Y2 if or single set Additive extra cluster error for Z2 if or single set Extra errors to add to track when crossing depending on addErrorsCECrossing Inner portion of y range in sector that is not used in searching for extrapolated track candidates factor2YS for track merging factor2K for track merging Margin in cm of Y position when rejecting edge clusters based on uncorrected track Y Max fraction of shared clusters for tracklet Except pad from cluster finding if total number of charges in a fragment is above this Except pad from cluster finding if number of consecutive charges in a fragment is above this Threshold where a timebin is considered disabling the noisy pad check for that pad Treat signal above this minimum as saturated Smoothing factor for the exponential Highly Ionising Particle tail filter Number of timebins to use for the averaging Add additional custom track errors when crossing relative as fraction of Do N fit passes in final fit of< 0:reject at max -n hits") AddOptionRTC(rejectIFCLowRadiusCluster, uint8_t, 1, "", 0, "Reject clusters that get the IFC mask error during refit") AddOptionRTC(dEdxTruncLow, uint8_t, 2, "", 0, "Low truncation threshold, fraction of 128") AddOptionRTC(dEdxTruncHigh, uint8_t, 77, "", 0, "High truncation threshold, fraction of 128") AddOptionRTC(extrapolationTracking, int8_t, 1, "", 0, "Enable Extrapolation Tracking(prolong tracks to adjacent sectors to find short segments)") AddOptionRTC(disableRefitAttachment, uint8_t, 0, "", 0, "Bitmask to disable certain attachment steps during refit(1:attachment, 2:propagation, 4:loop following, 8:mirroring)") AddOptionRTC(rejectionStrategy, uint8_t, o2::gpu::GPUSettings::RejectionStrategyA, "", 0, "Enable rejection of TPC clusters for compression(0=no, 1=strategy A, 2=strategy B)") AddOptionRTC(mergeLoopersAfterburner, uint8_t, 1, "", 0, "Run afterburner for additional looper merging") AddOptionRTC(compressionTypeMask, uint8_t, o2::gpu::GPUSettings::CompressionFull, "", 0, "TPC Compression mode bits(1=truncate charge/width LSB, 2=differences, 4=track-model)") AddOptionRTC(compressionSortOrder, uint8_t, o2::gpu::GPUSettings::SortTime, "", 0, "Sort order of TPC compression(0=time, 1=pad, 2=Z-time-pad, 3=Z-pad-time, 4=no sorting(use incoming order))") AddOptionRTC(sigBitsCharge, uint8_t, 4, "", 0, "Number of significant bits for TPC cluster charge in compression mode 1") AddOptionRTC(sigBitsWidth, uint8_t, 3, "", 0, "Number of significant bits for TPC cluster width in compression mode 1") AddOptionRTC(dropLoopers, uint8_t, 0, "", 0, "Drop looping tracks starting from second loop") AddOptionRTC(mergerInterpolateErrors, uint8_t, 1, "", 0, "Use interpolation instead of extrapolation for chi2 based cluster rejection") AddOptionRTC(mergerInterpolateRejectAlsoOnCurrentPosition, uint8_t, 1, "", 0, "When using mergerInterpolateErrors, reject based on chi2 twice computed with interpolated and current track position starting from NDF > mergerNonInterpolateRejectMinNDF Merge tracks accross the central electrode Enable PID response Add sub threshold clusters in TPC dEdx computation OR mask of TPC flags that will reject the cluster in alternative dEdx Reject edge clusters based on uncorrected track Y during track fit Increase decrease removal by when on this number of pads from the edge h configStandalone Reconstruction rec_trd Max chi2 for TRD tracklets to be matched to a track Chi2 cut for strict matching mode Number of sigmas for ITS TPC track time error estimate Addition to search road around track prolongation along Y in cm Optimal tracklet rphi resolution in maximum chi2 per attached tracklet for TRD tracks take into account the full likelihood of the slope including exponential tails Tracks with less attached tracklets are discarded after the tracking Post trigger Pile up integration time in BCs fits all iterations but the last one in projections Use material lookup table for TPC refit Apply workarounds to avoid cyclic merge should not be needed tpc dyn configStandalone Processing proc_rtc true

Definition at line 221 of file GPUTRDInterfaces.h.

◆ maxSnp

◆ maxStep

Initial value:
{
int32_t retVal = PropagateToXAlpha(x, GetAlpha(), true)
int32_t retVal
configStandalone Reconstruction rec_tpc multiplier for the combined cluster track error during track following area in cm for the search of for z only used if decrease removal by when above this local occupancy rowx Shift of TPC revert cluster flag edge bit distance to edge exceeds this ZOffset for secondary multiple of radius max P of electron K BB bands crossing max P of electron p BB bands crossing max P of electron d BB bands crossing max P of electron t BB bands crossing min accepted dEdxMaxTPC of the track Additive extra cluster error for Y2 if edge flag set Additive extra cluster error for Y2 if single set Additive extra cluster error for Y2 if or single set Additive extra cluster error for Z2 if or single set Extra errors to add to track when crossing depending on addErrorsCECrossing Inner portion of y range in sector that is not used in searching for extrapolated track candidates factor2YS for track merging factor2K for track merging Margin in cm of Y position when rejecting edge clusters based on uncorrected track Y Max fraction of shared clusters for tracklet Except pad from cluster finding if total number of charges in a fragment is above this Except pad from cluster finding if number of consecutive charges in a fragment is above this Threshold where a timebin is considered disabling the noisy pad check for that pad Treat signal above this minimum as saturated Smoothing factor for the exponential Highly Ionising Particle tail filter Number of timebins to use for the averaging Add additional custom track errors when crossing relative as fraction of Do N fit passes in final fit of< 0:reject at max -n hits") AddOptionRTC(rejectIFCLowRadiusCluster, uint8_t, 1, "", 0, "Reject clusters that get the IFC mask error during refit") AddOptionRTC(dEdxTruncLow, uint8_t, 2, "", 0, "Low truncation threshold, fraction of 128") AddOptionRTC(dEdxTruncHigh, uint8_t, 77, "", 0, "High truncation threshold, fraction of 128") AddOptionRTC(extrapolationTracking, int8_t, 1, "", 0, "Enable Extrapolation Tracking(prolong tracks to adjacent sectors to find short segments)") AddOptionRTC(disableRefitAttachment, uint8_t, 0, "", 0, "Bitmask to disable certain attachment steps during refit(1:attachment, 2:propagation, 4:loop following, 8:mirroring)") AddOptionRTC(rejectionStrategy, uint8_t, o2::gpu::GPUSettings::RejectionStrategyA, "", 0, "Enable rejection of TPC clusters for compression(0=no, 1=strategy A, 2=strategy B)") AddOptionRTC(mergeLoopersAfterburner, uint8_t, 1, "", 0, "Run afterburner for additional looper merging") AddOptionRTC(compressionTypeMask, uint8_t, o2::gpu::GPUSettings::CompressionFull, "", 0, "TPC Compression mode bits(1=truncate charge/width LSB, 2=differences, 4=track-model)") AddOptionRTC(compressionSortOrder, uint8_t, o2::gpu::GPUSettings::SortTime, "", 0, "Sort order of TPC compression(0=time, 1=pad, 2=Z-time-pad, 3=Z-pad-time, 4=no sorting(use incoming order))") AddOptionRTC(sigBitsCharge, uint8_t, 4, "", 0, "Number of significant bits for TPC cluster charge in compression mode 1") AddOptionRTC(sigBitsWidth, uint8_t, 3, "", 0, "Number of significant bits for TPC cluster width in compression mode 1") AddOptionRTC(dropLoopers, uint8_t, 0, "", 0, "Drop looping tracks starting from second loop") AddOptionRTC(mergerInterpolateErrors, uint8_t, 1, "", 0, "Use interpolation instead of extrapolation for chi2 based cluster rejection") AddOptionRTC(mergerInterpolateRejectAlsoOnCurrentPosition, uint8_t, 1, "", 0, "When using mergerInterpolateErrors, reject based on chi2 twice computed with interpolated and current track position starting from NDF > mergerNonInterpolateRejectMinNDF Merge tracks accross the central electrode Enable PID response Add sub threshold clusters in TPC dEdx computation OR mask of TPC flags that will reject the cluster in alternative dEdx Reject edge clusters based on uncorrected track Y during track fit Increase decrease removal by when on this number of pads from the edge h configStandalone Reconstruction rec_trd Max chi2 for TRD tracklets to be matched to a track Chi2 cut for strict matching mode Number of sigmas for ITS TPC track time error estimate Addition to search road around track prolongation along Y in cm Optimal tracklet rphi resolution in maximum chi2 per attached tracklet for TRD tracks take into account the full likelihood of the slope including exponential tails Tracks with less attached tracklets are discarded after the tracking Post trigger Pile up integration time in BCs fits all iterations but the last one in projections Use material lookup table for TPC refit Apply workarounds to avoid cyclic merge should not be needed tpc dyn configStandalone Processing proc_rtc Replace constant variables static by constexpr expressions Compile RTC in deterministic with NO_FAST_MATH flags and GPUCA_DETERMINISTIC_MODE define Use RTC to optimize GPU code h configStandalone Processing proc_rtctech Use a file lock to serialize access to the cache folder int32_t
GLint GLenum GLint x
Definition glcorearb.h:403

Definition at line 203 of file GPUTRDInterfaces.h.

◆ mTrack

◆ ok [1/3]

◆ ok [2/3]

o2::gpu::propagatorInterface< GPUTPCGMPropagator >::ok = mTrack->CheckNumericalQuality()

Definition at line 208 of file GPUTRDInterfaces.h.

◆ ok [3/3]

Definition at line 209 of file GPUTRDInterfaces.h.

◆ projY

◆ projZ

float float& o2::gpu::propagatorInterface< GPUTPCGMPropagator >::projZ { return GetPropagatedYZ(x, projY, projZ)

Definition at line 211 of file GPUTRDInterfaces.h.


The documentation for this class was generated from the following file: