Project
Loading...
Searching...
No Matches
o2::tpc::CalculatedEdx Class Reference

#include <CalculatedEdx.h>

Public Member Functions

 CalculatedEdx ()
 
 ~CalculatedEdx ()=default
 
void setMembers (std::vector< o2::tpc::TPCClRefElem > *tpcTrackClIdxVecInput, const o2::tpc::ClusterNativeAccess &clIndex, std::vector< o2::tpc::TrackTPC > *vTPCTracksArrayInp)
 
void setRefit (const unsigned int nHbfPerTf=32)
 set the refitter
 
void setTPCCorrMap (const o2::gpu::TPCFastTransform &corrMap, const o2::gpu::TPCFastTransform *corrMapRef=nullptr, float lumiScale=-1.f)
 
void setTPCVDrift (const o2::tpc::VDriftCorrFact &v)
 
void setPropagateTrack (const bool propagate)
 
void setPropagateParams (const bool propagate)
 
void setPropagateToClusterX (const bool propagate)
 
void setDebug (const bool debug)
 
void setFieldNominalGPUBz (const float field)
 
void setMaxMissingCl (int maxMissingCl)
 
void setSubThreshEdgeRows (int n)
 
void setSameRowMaxPadDiff (float d)
 
void setSameRowMaxTimeDiff (float d)
 
void setStreamer (const char *debugRootFile)
 
void setSCStreamer (const char *debugRootFile="debug_sc_corrections.root")
 set the debug streamer of the space-charge dedx correction
 
void setLumi (const float lumi)
 
float getFieldNominalGPUBz ()
 
int getMaxMissingCl ()
 
int getSubThreshEdgeRows () const
 
float getSameRowMaxPadDiff () const
 
float getSameRowMaxTimeDiff () const
 
long getNPropagationFailed () const
 
long getNRefitFallback () const
 
long getNRowsProcessed () const
 
const std::vector< long > & getNSubThresholdFilledPerSettings () const
 
void resetDebugCounters ()
 reset the running counters returned by getNPropagationFailed()/getNRefitFallback()/getNRowsProcessed()/getNSubThresholdFilledPerSettings()
 
void fillMissingClusters (int missingClusters[4], const float minChargeTot[4], const float minChargeMax[4], int method, std::array< std::vector< float >, 5 > &chargeTotROC, std::array< std::vector< float >, 5 > &chargeMaxROC)
 
void handleSameRowClusters (o2::tpc::TrackTPC &track, std::vector< std::pair< unsigned char, unsigned char > > &rowOrder, std::map< std::pair< unsigned char, unsigned char >, std::vector< int > > &clustersByRow, std::set< std::pair< unsigned char, unsigned char > > &mergeableRows, std::map< int, std::tuple< unsigned char, unsigned char, unsigned int > > &clusterReferencesByIndex)
 
void handleSameRowClusters (const std::vector< o2::tpc::ClusterNative > &clusters, const ClInfoVec &clusterInfos, std::vector< std::pair< unsigned char, unsigned char > > &rowOrder, std::map< std::pair< unsigned char, unsigned char >, std::vector< int > > &clustersByRow, std::set< std::pair< unsigned char, unsigned char > > &mergeableRows)
 
void calculatedEdx (TrackTPC &track, dEdxInfo &output, AverageOccupancy &averageOcc, float low=2.f/128.f, float high=77.f/128.f, CorrectionFlags correctionMask=CorrectionFlags::TopologyPol|CorrectionFlags::dEdxResidual, ClusterFlags clusterMask=ClusterFlags::None, int subthresholdMethod=0, int stackBoundaryMethod=0, const char *debugRootFile="dEdxDebug.root", float maxSubthresholdChargeTot=100000.f, float maxSubthresholdChargeMax=100000.f, int sameRowClusterMethod=2)
 
void calculatedEdxMultipleSettings (TrackTPC &track, std::vector< dEdxInfo > &outputs, AverageOccupancy &averageOcc, const std::vector< dEdxSettings > &settingsList, const MCCompLabel *mcLabel=nullptr)
 
void calculatedEdx (TrackTPC &track, const std::vector< o2::tpc::ClusterNative > &clusters, const ClInfoVec &clusterInfos, dEdxInfo &output, AverageOccupancy &averageOcc, float low=2.f/128.f, float high=77.f/128.f, CorrectionFlags correctionMask=CorrectionFlags::TopologyPol|CorrectionFlags::dEdxResidual, ClusterFlags clusterMask=ClusterFlags::None, int subthresholdMethod=0, int stackBoundaryMethod=0, const char *debugRootFile="dEdxDebug.root", float maxSubthresholdChargeTot=100000.f, float maxSubthresholdChargeMax=100000.f, int sameRowClusterMethod=2)
 
void calculatedEdxMultipleSettings (TrackTPC &track, const std::vector< o2::tpc::ClusterNative > &clusters, const ClInfoVec &clusterInfos, std::vector< dEdxInfo > &outputs, AverageOccupancy &averageOcc, const std::vector< dEdxSettings > &settingsList, const MCCompLabel *mcLabel=nullptr)
 
float getTruncMean (std::vector< float > &charge, float low, float high) const
 
float getTrackTopologyCorrection (const o2::tpc::TrackTPC &track, const unsigned int region) const
 
float getTrackTopologyCorrectionPol (const o2::tpc::TrackTPC &track, const o2::tpc::ClusterNative &cl, const unsigned int region, const float charge, ChargeType chargeType, const float threshold) const
 
auto & getSCCorrection ()
 
unsigned int getOccupancy (float clTime) const
 
bool isInStackBoundaries (int stackNumber, unsigned char rowIndex, int stackBoundaryMethod)
 
void loadCalibsFromCCDB (long runNumberOrTimeStamp, const bool isMC=false, const bool loadSCCorrMap=true, const bool useSCCorrMap=true, const bool useVDrift=true, const float corrMapLumiScale=-1.f)
 
float getTPCScalerLumiScale (long timeStamp, float meanIDC) const
 
void loadCalibsFromLocalCCDBFolder (const char *localCCDBFolder, const bool useSCCorrMap=true, const bool useVDrift=true)
 
void setTrackTopologyCorrectionFromFile (const char *folder, const char *file, const char *object)
 
void setGainMapFromFile (const char *folder, const char *file, const char *object)
 
void setGainMapResidualFromFile (const char *folder, const char *file, const char *object)
 
void setResidualCorrectionFromFile (const char *folder, const char *file, const char *object)
 
void setZeroSuppressionThresholdFromFile (const char *folder, const char *file, const char *object)
 
void setMagneticFieldFromFile (const char *folder, const char *file, const char *object)
 
void setPropagatorFromFile (const char *folder, const char *file, const char *object)
 
void setTPCCorrMapFromFile (const char *folder, const char *file, const char *object)
 load the space-charge correction map for the cluster transform from a local file; without the file, no space-charge correction
 
void setVDriftFromFile (const char *folder, const char *file, const char *object)
 load the drift-velocity calibration (VDriftCorrFact) from a local file and rebuild mTPCCorrMap
 

Detailed Description

Definition at line 134 of file CalculatedEdx.h.

Constructor & Destructor Documentation

◆ CalculatedEdx()

CalculatedEdx::CalculatedEdx ( )

Definition at line 93 of file CalculatedEdx.cxx.

◆ ~CalculatedEdx()

o2::tpc::CalculatedEdx::~CalculatedEdx ( )
default

Member Function Documentation

◆ calculatedEdx() [1/2]

void CalculatedEdx::calculatedEdx ( TrackTPC &  track,
const std::vector< o2::tpc::ClusterNative > &  clusters,
const ClInfoVec &  clusterInfos,
dEdxInfo &  output,
AverageOccupancy &  averageOcc,
float  low = 2.f / 128.f,
float  high = 77.f / 128.f,
CorrectionFlags  correctionMask = CorrectionFlags::TopologyPol | CorrectionFlags::dEdxResidual,
ClusterFlags  clusterMask = ClusterFlags::None,
int  subthresholdMethod = 0,
int  stackBoundaryMethod = 0,
const char *  debugRootFile = "dEdxDebug.root",
float  maxSubthresholdChargeTot = 100000.f,
float  maxSubthresholdChargeMax = 100000.f,
int  sameRowClusterMethod = 2 
)

same as calculatedEdx() above, but takes the track's clusters and per-cluster info directly instead of extracting them from the track via mTPCTrackClIdxVecInput/mClusterIndex with setRefit(), the track is refit on the passed clusters, which must be in the track's cluster order

Parameters
clustersclusters of the track, one entry per entry in clusterInfos
clusterInfosper-cluster (sectorIndex, rowIndex, isShared), one entry per entry in clusters

Definition at line 1037 of file CalculatedEdx.cxx.

◆ calculatedEdx() [2/2]

void CalculatedEdx::calculatedEdx ( TrackTPC &  track,
dEdxInfo &  output,
AverageOccupancy &  averageOcc,
float  low = 2.f / 128.f,
float  high = 77.f / 128.f,
CorrectionFlags  correctionMask = CorrectionFlags::TopologyPol | CorrectionFlags::dEdxResidual,
ClusterFlags  clusterMask = ClusterFlags::None,
int  subthresholdMethod = 0,
int  stackBoundaryMethod = 0,
const char *  debugRootFile = "dEdxDebug.root",
float  maxSubthresholdChargeTot = 100000.f,
float  maxSubthresholdChargeMax = 100000.f,
int  sameRowClusterMethod = 2 
)

get the truncated mean for the input track with the truncation range, charge type, region and corrections the cluster charge is normalized by effective length*gain, you can turn off the normalization by setting all corrections to false

Parameters
trackinput track
outputoutput dEdxInfo
averageOccoutput average cluster occupancy of the track, per TPC region
lowlower cluster cut
highhigher cluster cut
correctionMaskto apply different corrections: TopologySimple = simple analytical topology correction, TopologyPol = topology correction from polynomials, GainFull = full gain map from calibration container, GainResidual = residuals gain map from calibration container, dEdxResidual = residual dEdx correction
maxSubthresholdChargeTotupper limit for the per-region minimum qTot used as the virtual charge of a subthreshold cluster
maxSubthresholdChargeMaxupper limit for the per-region minimum qMax used as the virtual charge of a subthreshold cluster
sameRowClusterMethodsame (sector,row) cluster group combination method: 0 = do not merge (one sample per cluster), 1 = merge and sum the qTot, 2 = merge and use the largest qTot

Definition at line 1087 of file CalculatedEdx.cxx.

◆ calculatedEdxMultipleSettings() [1/2]

void CalculatedEdx::calculatedEdxMultipleSettings ( TrackTPC &  track,
const std::vector< o2::tpc::ClusterNative > &  clusters,
const ClInfoVec &  clusterInfos,
std::vector< dEdxInfo > &  outputs,
AverageOccupancy &  averageOcc,
const std::vector< dEdxSettings > &  settingsList,
const MCCompLabel *  mcLabel = nullptr 
)

same as calculatedEdxMultipleSettings() above, but takes the track's clusters and per-cluster info directly instead of extracting them from the track via mTPCTrackClIdxVecInput/mClusterIndex with setRefit(), the track is refit on the passed clusters, which must be in the track's cluster order

Parameters
clustersclusters of the track, one entry per entry in clusterInfos
clusterInfosper-cluster (sectorIndex, rowIndex, isShared), one entry per entry in clusters

Definition at line 1063 of file CalculatedEdx.cxx.

◆ calculatedEdxMultipleSettings() [2/2]

void CalculatedEdx::calculatedEdxMultipleSettings ( TrackTPC &  track,
std::vector< dEdxInfo > &  outputs,
AverageOccupancy &  averageOcc,
const std::vector< dEdxSettings > &  settingsList,
const MCCompLabel *  mcLabel = nullptr 
)

evaluate several dEdx settings for the same track while performing the track refit/propagation to each cluster row only once

Parameters
trackinput track
outputsoutput dEdxInfo, filled with one entry per entry in settingsList, in the same order
averageOccoutput average cluster occupancy of the track, per TPC region; a single value, since occupancy does not depend on the dEdx settings and is therefore the same for every entry in settingsList
settingsListlist of dEdx settings to evaluate for this track
mcLabelif non-null and mDebug is set, written to the "dEdxDebugTrack" row of every settingsList entry so debug rows can be matched back to the true MC track

Definition at line 1013 of file CalculatedEdx.cxx.

◆ fillMissingClusters()

void CalculatedEdx::fillMissingClusters ( int  missingClusters[4],
const float  minChargeTot[4],
const float  minChargeMax[4],
int  method,
std::array< std::vector< float >, 5 > &  chargeTotROC,
std::array< std::vector< float >, 5 > &  chargeMaxROC 
)

fill missing clusters per region with that region's running minimum charge (method=0) or half of it (method=1),

Parameters
missingClustersnumber of row gaps to fill, per region (IROC, OROC1, OROC2, OROC3)
minChargeTotper-region running minimum qTot among the accepted clusters of that region
minChargeMaxper-region running minimum qMax among the accepted clusters of that region

Definition at line 166 of file CalculatedEdx.cxx.

◆ getFieldNominalGPUBz()

float o2::tpc::CalculatedEdx::getFieldNominalGPUBz ( )
inline
Returns
returns magnetic field in kG

Definition at line 205 of file CalculatedEdx.h.

◆ getMaxMissingCl()

int o2::tpc::CalculatedEdx::getMaxMissingCl ( )
inline
Returns
returns maxMissingCl for subthreshold cluster treatment

Definition at line 208 of file CalculatedEdx.h.

◆ getNPropagationFailed()

long o2::tpc::CalculatedEdx::getNPropagationFailed ( ) const
inline
Returns
returns the number of rows where refit/propagation failed (row.propagationFailed) since the last resetDebugCounters(); with setRefit(), this only counts rows where the propagation fallback was also unable to recover the row

Definition at line 220 of file CalculatedEdx.h.

◆ getNRefitFallback()

long o2::tpc::CalculatedEdx::getNRefitFallback ( ) const
inline
Returns
returns the number of rows of tracks where setRefit()'s RefitTrackAsGPU() failed and the row's track state instead came from propagating the original track since the last resetDebugCounters(); always 0 outside setRefit() mode

Definition at line 223 of file CalculatedEdx.h.

◆ getNRowsProcessed()

long o2::tpc::CalculatedEdx::getNRowsProcessed ( ) const
inline
Returns
returns the number of rows gathered by gatherRowClusterData() (processed for refit/propagation) since the last resetDebugCounters()

Definition at line 226 of file CalculatedEdx.h.

◆ getNSubThresholdFilledPerSettings()

const std::vector< long > & o2::tpc::CalculatedEdx::getNSubThresholdFilledPerSettings ( ) const
inline
Returns
returns the number of row gaps filled as subthreshold clusters by calculatedEdxFromRowData() since the last resetDebugCounters() per setting

Definition at line 229 of file CalculatedEdx.h.

◆ getOccupancy()

unsigned int CalculatedEdx::getOccupancy ( float  clTime) const
Returns
returns cluster occupancy for given cluster time; only valid (non-sentinel) when the refit method is used, since the occupancy map is only filled by setRefit()

Definition at line 1170 of file CalculatedEdx.cxx.

◆ getSameRowMaxPadDiff()

float o2::tpc::CalculatedEdx::getSameRowMaxPadDiff ( ) const
inline
Returns
returns the max pad spread for a same (sector,row) cluster group to be eligible for merging

Definition at line 214 of file CalculatedEdx.h.

◆ getSameRowMaxTimeDiff()

float o2::tpc::CalculatedEdx::getSameRowMaxTimeDiff ( ) const
inline
Returns
returns the max time spread for a same (sector,row) cluster group to be eligible for merging

Definition at line 217 of file CalculatedEdx.h.

◆ getSCCorrection()

auto & o2::tpc::CalculatedEdx::getSCCorrection ( )
inline
Returns
returns space-charge dedx correctin

Definition at line 313 of file CalculatedEdx.h.

◆ getSubThreshEdgeRows()

int o2::tpc::CalculatedEdx::getSubThreshEdgeRows ( ) const
inline
Returns
returns the outer-end row exclusion for subthreshold cluster treatment

Definition at line 211 of file CalculatedEdx.h.

◆ getTPCScalerLumiScale()

float CalculatedEdx::getTPCScalerLumiScale ( long  timeStamp,
float  meanIDC 
) const
Returns
lumi scale of the space-charge map from the TPC scaler in CCDB at timeStamp, or -1 if not available
Parameters
meanIDCmean IDC of the map

Definition at line 1320 of file CalculatedEdx.cxx.

◆ getTrackTopologyCorrection()

float CalculatedEdx::getTrackTopologyCorrection ( const o2::tpc::TrackTPC &  track,
const unsigned int  region 
) const

get effective track length using simple analytical topology correction

Parameters
trackinput track
regionpad region
Returns
returns simple analytical topology correction

Definition at line 1136 of file CalculatedEdx.cxx.

◆ getTrackTopologyCorrectionPol()

float CalculatedEdx::getTrackTopologyCorrectionPol ( const o2::tpc::TrackTPC &  track,
const o2::tpc::ClusterNative &  cl,
const unsigned int  region,
const float  charge,
ChargeType  chargeType,
const float  threshold 
) const

get effective track length using topology correction from polynomials

Parameters
trackinput track
clPadcluster pad
clTimecluster time
regionpad region
chargetotal or maximum charge of the cluster, cl
chargeTypetotal or maximum
thresholdzero supression threshold
Returns
returns topology correction from polynomials

Definition at line 1148 of file CalculatedEdx.cxx.

◆ getTruncMean()

float CalculatedEdx::getTruncMean ( std::vector< float > &  charge,
float  low,
float  high 
) const

get the truncated mean for the input charge vector and the truncation range low*nCl<nCl<high*nCl

Parameters
chargeinput vector
lowlower cluster cut (e.g. 0.015)
highhigher cluster cut (e.g. 0.6)

Definition at line 1113 of file CalculatedEdx.cxx.

◆ handleSameRowClusters() [1/2]

void CalculatedEdx::handleSameRowClusters ( const std::vector< o2::tpc::ClusterNative > &  clusters,
const ClInfoVec &  clusterInfos,
std::vector< std::pair< unsigned char, unsigned char > > &  rowOrder,
std::map< std::pair< unsigned char, unsigned char >, std::vector< int > > &  clustersByRow,
std::set< std::pair< unsigned char, unsigned char > > &  mergeableRows 
)

same as handleSameRowClusters() above, but groups externally supplied clusters instead of the track's clusters accessed via mTPCTrackClIdxVecInput/mClusterIndex

Parameters
rowOrder(sector, row) keys in the order they are first encountered while scanning clusters (0..clusters.size()-1), i.e. the order they were supplied in
mergeableRows(sector, row) keys of groups with >1 cluster that pass the setSameRowMaxPadDiff()/setSameRowMaxTimeDiff() proximity gate, i.e. are eligible for dEdxSettings::sameRowClusterMethod to merge them; a group missing from here (be it size 1, or size >1 but far apart – looper legs) is always emitted as one sample per raw cluster, regardless of sameRowClusterMethod

Definition at line 242 of file CalculatedEdx.cxx.

◆ handleSameRowClusters() [2/2]

void CalculatedEdx::handleSameRowClusters ( o2::tpc::TrackTPC &  track,
std::vector< std::pair< unsigned char, unsigned char > > &  rowOrder,
std::map< std::pair< unsigned char, unsigned char >, std::vector< int > > &  clustersByRow,
std::set< std::pair< unsigned char, unsigned char > > &  mergeableRows,
std::map< int, std::tuple< unsigned char, unsigned char, unsigned int > > &  clusterReferencesByIndex 
)
Parameters
rowOrder(sector, row) keys in the order they are first encountered while scanning the track's native cluster references (0..nClusterReferences-1), i.e. the track's true physical row-traversal order
mergeableRows(sector, row) keys of groups with >1 cluster that pass the setSameRowMaxPadDiff()/setSameRowMaxTimeDiff() proximity gate, i.e. are eligible for dEdxSettings::sameRowClusterMethod to merge them; a group missing from here (be it size 1, or size >1 but far apart – looper legs) is always emitted as one sample per raw cluster, regardless of sameRowClusterMethod

Definition at line 193 of file CalculatedEdx.cxx.

◆ isInStackBoundaries()

bool CalculatedEdx::isInStackBoundaries ( int  stackNumber,
unsigned char  rowIndex,
int  stackBoundaryMethod 
)
Returns
returns true if given row index is in a stack boundary

Definition at line 1181 of file CalculatedEdx.cxx.

◆ loadCalibsFromCCDB()

void CalculatedEdx::loadCalibsFromCCDB ( long  runNumberOrTimeStamp,
const bool  isMC = false,
const bool  loadSCCorrMap = true,
const bool  useSCCorrMap = true,
const bool  useVDrift = true,
const float  corrMapLumiScale = -1.f 
)

load calibration objects from CCDB

Parameters
runNumberOrTimeStamprun number or time stamp
isMCset if dEdx residual and space-charge corrections will be loaded for MC or real data
loadSCCorrMapfetch the space-charge avg+deriv maps for the dE/dx space-charge correction
useSCCorrMapapply the space-charge correction map in the cluster transform (refit and cluster x); without it, or if the map is missing, no space-charge correction
useVDriftapply TPC/Calib/VDriftTgl to the cluster transform; without it, or if the object is missing, nominal vDrift/t0
corrMapLumiScalelumi scale of the space-charge map for data: < 0 takes it from the TPC scaler at the timestamp; not used for MC

Definition at line 1200 of file CalculatedEdx.cxx.

◆ loadCalibsFromLocalCCDBFolder()

void CalculatedEdx::loadCalibsFromLocalCCDBFolder ( const char *  localCCDBFolder,
const bool  useSCCorrMap = true,
const bool  useVDrift = true 
)

load calibration objects from local CCDB folder

Parameters
localCCDBFolderlocal CCDB folder
useSCCorrMapapply TPC/Calib/CorrectionMapV2 in the cluster transform; without it, or if the file is missing, no space-charge correction
useVDriftapply TPC/Calib/VDriftTgl to the cluster transform; without it, or if the file is missing, nominal vDrift/t0

Definition at line 1354 of file CalculatedEdx.cxx.

◆ resetDebugCounters()

void o2::tpc::CalculatedEdx::resetDebugCounters ( )
inline

reset the running counters returned by getNPropagationFailed()/getNRefitFallback()/getNRowsProcessed()/getNSubThresholdFilledPerSettings()

Definition at line 232 of file CalculatedEdx.h.

◆ setDebug()

void o2::tpc::CalculatedEdx::setDebug ( const bool  debug)
inline
Parameters
debuguse debug streamer and set debug vectors

Definition at line 170 of file CalculatedEdx.h.

◆ setFieldNominalGPUBz()

void o2::tpc::CalculatedEdx::setFieldNominalGPUBz ( const float  field)
inline
Parameters
fieldmagnetic field in kG, used for track propagation

Definition at line 173 of file CalculatedEdx.h.

◆ setGainMapFromFile()

void CalculatedEdx::setGainMapFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load gain map from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1408 of file CalculatedEdx.cxx.

◆ setGainMapResidualFromFile()

void CalculatedEdx::setGainMapResidualFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load gain map residual from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1418 of file CalculatedEdx.cxx.

◆ setLumi()

void o2::tpc::CalculatedEdx::setLumi ( const float  lumi)
inline
Parameters
lumiset luminosity for space-charge correction map scaling

Definition at line 202 of file CalculatedEdx.h.

◆ setMagneticFieldFromFile()

void CalculatedEdx::setMagneticFieldFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load magnetic field from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1448 of file CalculatedEdx.cxx.

◆ setMaxMissingCl()

void o2::tpc::CalculatedEdx::setMaxMissingCl ( int  maxMissingCl)
inline
Parameters
maxMissingClmaximum number of missing clusters for subthreshold check

Definition at line 176 of file CalculatedEdx.h.

◆ setMembers()

void CalculatedEdx::setMembers ( std::vector< o2::tpc::TPCClRefElem > *  tpcTrackClIdxVecInput,
const o2::tpc::ClusterNativeAccess &  clIndex,
std::vector< o2::tpc::TrackTPC > *  vTPCTracksArrayInp 
)

set the member variables

Parameters
tpcTrackClIdxVecInputTPCClRefElem member variable
clIndexClusterNativeAccess member variable
vTPCTracksArrayInpvector of tpc tracks

Definition at line 140 of file CalculatedEdx.cxx.

◆ setPropagateParams()

void o2::tpc::CalculatedEdx::setPropagateParams ( const bool  propagate)
inline
Parameters
propagatepropagate only the track parameters instead of performing a refit

Definition at line 164 of file CalculatedEdx.h.

◆ setPropagateToClusterX()

void o2::tpc::CalculatedEdx::setPropagateToClusterX ( const bool  propagate)
inline
Parameters
propagatepropagate the track to the cluster's x after the space-charge and drift corrections, otherwise to the nominal pad-row x

Definition at line 167 of file CalculatedEdx.h.

◆ setPropagateTrack()

void o2::tpc::CalculatedEdx::setPropagateTrack ( const bool  propagate)
inline
Parameters
propagatepropagate the tracks to extract the track parameters instead of performing a refit (default)

Definition at line 161 of file CalculatedEdx.h.

◆ setPropagatorFromFile()

void CalculatedEdx::setPropagatorFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load propagator from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1461 of file CalculatedEdx.cxx.

◆ setRefit()

void CalculatedEdx::setRefit ( const unsigned int  nHbfPerTf = 32)

set the refitter

Definition at line 147 of file CalculatedEdx.cxx.

◆ setResidualCorrectionFromFile()

void CalculatedEdx::setResidualCorrectionFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load dEdx residual correction from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1428 of file CalculatedEdx.cxx.

◆ setSameRowMaxPadDiff()

void o2::tpc::CalculatedEdx::setSameRowMaxPadDiff ( float  d)
inline
Parameters
dmax |pad_i - pad_j| within a same (sector,row) cluster group for it to be eligible for merging; a larger spread means the group is looper legs, always kept separate

Definition at line 183 of file CalculatedEdx.h.

◆ setSameRowMaxTimeDiff()

void o2::tpc::CalculatedEdx::setSameRowMaxTimeDiff ( float  d)
inline
Parameters
dmax |time_i - time_j| (time bins) within a same (sector,row) cluster group for it to be eligible for merging; a larger spread means looper legs, always kept separate

Definition at line 186 of file CalculatedEdx.h.

◆ setSCStreamer()

void o2::tpc::CalculatedEdx::setSCStreamer ( const char *  debugRootFile = "debug_sc_corrections.root")
inline

set the debug streamer of the space-charge dedx correction

Definition at line 199 of file CalculatedEdx.h.

◆ setStreamer()

void o2::tpc::CalculatedEdx::setStreamer ( const char *  debugRootFile)
inline

set the debug streamer for a given output file; a new streamer is only created the first time a given debugRootFile is seen, so different calculatedEdx() calls using different debugRootFile names each get their own independent debug file

Definition at line 190 of file CalculatedEdx.h.

◆ setSubThreshEdgeRows()

void o2::tpc::CalculatedEdx::setSubThreshEdgeRows ( int  n)
inline
Parameters
nsubthreshold clusters are not filled within min(nRows/2, n) rows of the track's outer end, mirroring the online tracker's allowChangeClusters gate,

Definition at line 180 of file CalculatedEdx.h.

◆ setTPCCorrMap()

void CalculatedEdx::setTPCCorrMap ( const o2::gpu::TPCFastTransform &  corrMap,
const o2::gpu::TPCFastTransform *  corrMapRef = nullptr,
float  lumiScale = -1.f 
)

Should be called before setRefit(), call setTPCVDrift() after this; if called after setRefit() instead, the existing refitter (which holds a pointer into the correction map buffer being replaced here) is dropped and must be recreated with a new setRefit() call before further use

Parameters
corrMapRefwith lumiScale >= 0, the map is scaled as in the reconstruction: (corrMap - corrMapRef) * lumiScale + corrMapRef

Definition at line 108 of file CalculatedEdx.cxx.

◆ setTPCCorrMapFromFile()

void CalculatedEdx::setTPCCorrMapFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load the space-charge correction map for the cluster transform from a local file; without the file, no space-charge correction

Definition at line 1374 of file CalculatedEdx.cxx.

◆ setTPCVDrift()

void CalculatedEdx::setTPCVDrift ( const o2::tpc::VDriftCorrFact &  v)

Should be called before setRefit(), and after setTPCCorrMap() if that is used too; if called after setRefit() instead, the existing refitter is dropped and must be recreated with a new setRefit() call before further use

Definition at line 128 of file CalculatedEdx.cxx.

◆ setTrackTopologyCorrectionFromFile()

void CalculatedEdx::setTrackTopologyCorrectionFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load track topology correction from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1401 of file CalculatedEdx.cxx.

◆ setVDriftFromFile()

void CalculatedEdx::setVDriftFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load the drift-velocity calibration (VDriftCorrFact) from a local file and rebuild mTPCCorrMap

Definition at line 1388 of file CalculatedEdx.cxx.

◆ setZeroSuppressionThresholdFromFile()

void CalculatedEdx::setZeroSuppressionThresholdFromFile ( const char *  folder,
const char *  file,
const char *  object 
)

load zero suppression threshold from a local file

Parameters
folderfolder path without a trailing /
filefile path starting with /
objectname of the object to load

Definition at line 1438 of file CalculatedEdx.cxx.


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