![]() |
Project
|
#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 | setPropagateTrack (const bool propagate) |
void | setDebug (const bool debug) |
void | setFieldNominalGPUBz (const float field) |
void | setMaxMissingCl (int maxMissingCl) |
void | setMinChargeTotThreshold (float minChargeTotThreshold) |
void | setMinChargeMaxThreshold (float minChargeMaxThreshold) |
void | setStreamer (const char *debugRootFile) |
set the debug streamer | |
void | setSCStreamer (const char *debugRootFile="debug_sc_corrections.root") |
set the debug streamer of the space-charge dedx correction | |
float | getFieldNominalGPUBz () |
int | getMaxMissingCl () |
float | getMinChargeTotThreshold () |
float | getMinChargeMaxThreshold () |
void | fillMissingClusters (int missingClusters[4], float minChargeTot, float minChargeMax, int method, std::array< std::vector< float >, 5 > &chargeTotROC, std::array< std::vector< float >, 5 > &chargeMaxROC) |
fill missing clusters with minimum charge (method=0) or minimum charge/2 (method=1) or Landau (method=2) | |
void | calculatedEdx (TrackTPC &track, dEdxInfo &output, float low=0.015f, float high=0.6f, CorrectionFlags correctionMask=CorrectionFlags::TopologyPol|CorrectionFlags::dEdxResidual, ClusterFlags clusterMask=ClusterFlags::None, int subthresholdMethod=0, const char *debugRootFile="dEdxDebug.root") |
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 |
void | loadCalibsFromCCDB (long runNumberOrTimeStamp, const bool isMC=false) |
void | loadCalibsFromLocalCCDBFolder (const char *localCCDBFolder) |
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 | setLumi (const float lumi) |
auto & | getSCCorrection () |
unsigned int | getOccupancy (const o2::tpc::ClusterNative &cl) const |
Definition at line 80 of file CalculatedEdx.h.
CalculatedEdx::CalculatedEdx | ( | ) |
Definition at line 33 of file CalculatedEdx.cxx.
|
default |
void CalculatedEdx::calculatedEdx | ( | TrackTPC & | track, |
dEdxInfo & | output, | ||
float | low = 0.015f , |
||
float | high = 0.6f , |
||
CorrectionFlags | correctionMask = CorrectionFlags::TopologyPol | CorrectionFlags::dEdxResidual , |
||
ClusterFlags | clusterMask = ClusterFlags::None , |
||
int | subthresholdMethod = 0 , |
||
const char * | debugRootFile = "dEdxDebug.root" |
||
) |
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
track | input track |
output | output dEdxInfo |
low | lower cluster cut |
high | higher cluster cut |
mask | to 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 |
Definition at line 77 of file CalculatedEdx.cxx.
void CalculatedEdx::fillMissingClusters | ( | int | missingClusters[4], |
float | minChargeTot, | ||
float | minChargeMax, | ||
int | method, | ||
std::array< std::vector< float >, 5 > & | chargeTotROC, | ||
std::array< std::vector< float >, 5 > & | chargeMaxROC | ||
) |
fill missing clusters with minimum charge (method=0) or minimum charge/2 (method=1) or Landau (method=2)
Definition at line 56 of file CalculatedEdx.cxx.
|
inline |
Definition at line 121 of file CalculatedEdx.h.
|
inline |
Definition at line 124 of file CalculatedEdx.h.
|
inline |
Definition at line 130 of file CalculatedEdx.h.
|
inline |
Definition at line 127 of file CalculatedEdx.h.
unsigned int CalculatedEdx::getOccupancy | ( | const o2::tpc::ClusterNative & | cl | ) | const |
Definition at line 676 of file CalculatedEdx.cxx.
|
inline |
Definition at line 222 of file CalculatedEdx.h.
float CalculatedEdx::getTrackTopologyCorrection | ( | const o2::tpc::TrackTPC & | track, |
const unsigned int | region | ||
) | const |
get effective track length using simple analytical topology correction
track | input track |
region | pad region |
Definition at line 503 of file CalculatedEdx.cxx.
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
track | input track |
cl | cluster |
region | pad region |
charge | total or maximum charge of the cluster, cl |
chargeType | total or maximum |
threshold | zero supression threshold |
Definition at line 515 of file CalculatedEdx.cxx.
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
charge | input vector |
low | lower cluster cut (e.g. 0.015) |
high | higher cluster cut (e.g. 0.6) |
Definition at line 481 of file CalculatedEdx.cxx.
load calibration objects from CCDB
runNumberOrTimeStamp | run number or time stamp |
isMC | set if dEdx space-charge corrections will be loaded for MC or real data |
Definition at line 533 of file CalculatedEdx.cxx.
load calibration objects from local CCDB folder
localCCDBFolder | local CCDB folder |
Definition at line 594 of file CalculatedEdx.cxx.
|
inline |
debug | use debug streamer and set debug vectors |
Definition at line 100 of file CalculatedEdx.h.
|
inline |
field | magnetic field in kG, used for track propagation |
Definition at line 103 of file CalculatedEdx.h.
void CalculatedEdx::setGainMapFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load gain map from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 612 of file CalculatedEdx.cxx.
void CalculatedEdx::setGainMapResidualFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load gain map residual from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 622 of file CalculatedEdx.cxx.
|
inline |
lumi | set luminosity for space-charge correction map scaling |
Definition at line 219 of file CalculatedEdx.h.
void CalculatedEdx::setMagneticFieldFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load magnetic field from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 652 of file CalculatedEdx.cxx.
maxMissingCl | maximum number of missing clusters for subthreshold check |
Definition at line 106 of file CalculatedEdx.h.
void CalculatedEdx::setMembers | ( | std::vector< o2::tpc::TPCClRefElem > * | tpcTrackClIdxVecInput, |
const o2::tpc::ClusterNativeAccess & | clIndex, | ||
std::vector< o2::tpc::TrackTPC > * | vTPCTracksArrayInp | ||
) |
set the member variables
tpcTrackClIdxVecInput | TPCClRefElem member variable |
clIndex | ClusterNativeAccess member variable |
vTPCTracksArrayInp | vector of tpc tracks |
Definition at line 39 of file CalculatedEdx.cxx.
|
inline |
minChargeMaxThreshold | upper limit for the possible minimum charge max in subthreshold treatment |
Definition at line 112 of file CalculatedEdx.h.
|
inline |
minChargeTotThreshold | upper limit for the possible minimum charge tot in subthreshold treatment |
Definition at line 109 of file CalculatedEdx.h.
|
inline |
propagate | propagate the tracks to extract the track parameters instead of performing a refit |
Definition at line 97 of file CalculatedEdx.h.
void CalculatedEdx::setPropagatorFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load propagator from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 665 of file CalculatedEdx.cxx.
set the refitter
Definition at line 46 of file CalculatedEdx.cxx.
void CalculatedEdx::setResidualCorrectionFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load dEdx residual correction from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 632 of file CalculatedEdx.cxx.
|
inline |
set the debug streamer of the space-charge dedx correction
Definition at line 118 of file CalculatedEdx.h.
set the debug streamer
Definition at line 115 of file CalculatedEdx.h.
void CalculatedEdx::setTrackTopologyCorrectionFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load track topology correction from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 605 of file CalculatedEdx.cxx.
void CalculatedEdx::setZeroSuppressionThresholdFromFile | ( | const char * | folder, |
const char * | file, | ||
const char * | object | ||
) |
load zero suppression threshold from a local file
folder | folder path without a trailing / |
file | file path starting with / |
object | name of the object to load |
Definition at line 642 of file CalculatedEdx.cxx.