![]() |
Project
|
#include <TrackInterpolation.h>
Classes | |
| struct | CacheStruct |
| Structure for caching positions, covariances and angles for extrapolations from ITS and TRD/TOF and for interpolation. More... | |
| struct | TrackValidationData |
| struct | ValidationPoint |
| Structure for on-the-fly re-calculated track parameters at the validation stage. More... | |
Public Types | |
| enum | { ExtOut = 0 , ExtIn , Int , NIndices } |
| Enumeration for indexing the arrays of the CacheStruct. More... | |
| using | MatCorrType = o2::base::Propagator::MatCorrType |
| using | ITSClusters = o2::itsmft::ClustersPerLayer< o2::BaseCluster< float > > |
Public Member Functions | |
| TrackInterpolation ()=default | |
| Default constructor. | |
| TrackInterpolation (const TrackInterpolation &)=delete | |
| TrackInterpolation & | operator= (const TrackInterpolation &)=delete |
| ~TrackInterpolation () | |
| void | init (o2::dataformats::GlobalTrackID::mask_t src, o2::dataformats::GlobalTrackID::mask_t srcMap) |
| Initialize everything, set the requested track sources. | |
| bool | isInputTrackAccepted (const o2::dataformats::GlobalTrackID &gid, const o2::globaltracking::RecoContainer::GlobalIDSet &gidTable, const o2::dataformats::PrimaryVertex &pv) const |
| Check if input track passes configured cuts. | |
| o2::dataformats::GlobalTrackID::Source | findValidSource (const o2::dataformats::GlobalTrackID::mask_t mask, const o2::dataformats::GlobalTrackID::Source src) const |
| For given vertex track source which is not in mSourcesConfigured find the seeding source which is enabled. | |
| void | prepareInputTrackSample (const o2::globaltracking::RecoContainer &inp) |
| Prepare input track sample (not relying on CreateTracksVariadic functionality) | |
| bool | isTrackSelected (const o2::track::TrackParCov &trk) const |
| Given the defined downsampling factor tsalisThreshold check if track is selected. | |
| void | process () |
| Main processing function. | |
| void | extrapolateTrack (int iSeed) |
| void | interpolateTrack (int iSeed) |
| void | reset () |
| Reset cache and output vectors. | |
| bool | refITSTrack (o2::dataformats::GlobalTrackID, int iSeed) |
| int8_t | validateTrack (const TrackData &trk, TrackValidationData ¶ms, const std::vector< TPCClusterResiduals > &clsRes, bool interpol) |
| bool | outlierFiltering (const TrackData &trk, TrackValidationData ¶ms, const std::vector< TPCClusterResiduals > &clsRes) |
| float | checkResiduals (const TrackData &trk, TrackValidationData ¶ms, const std::vector< TPCClusterResiduals > &clsRes) |
| bool | compareToHelix (const TrackData &trk, TrackValidationData ¶ms, const std::vector< TPCClusterResiduals > &clsRes) |
| void | diffToLocLine (TrackValidationData ¶ms, int start, int np) |
| For a given set of points, calculate the differences from each point to the fitted lines from all other points in their neighbourhoods (+- nMAShort points) | |
| void | diffToMA (const int np, const std::array< float, param::NPadRows > &y, std::array< float, param::NPadRows > &diffMA) |
| For a given set of points, calculate their deviation from the moving average (build from the neighbourhood +- nMALong points) | |
| void | setNHBPerTF (int n) |
| void | setTPCVDrift (const o2::tpc::VDriftCorrFact &v) |
| void | setMatCorr (MatCorrType matCorr) |
| Sets the flag if material correction should be applied when extrapolating the tracks. | |
| void | setMaxTracksPerTF (int n) |
| Sets the maximum number of tracks to be processed (successfully) per TF. | |
| void | setAddTracksForMapPerTF (int n) |
| In addition to mMaxTracksPerTF up to the set number of additional tracks can be processed. | |
| void | setDumpTrackPoints () |
| Enable full output. | |
| void | setITSClusterDictionary (const o2::itsmft::TopologyDictionary *dict) |
| Allow setting the ITS cluster dictionary from outside. | |
| void | setProcessSeeds () |
| Enable processing of seeds. | |
| void | setProcessITSTPConly () |
| Enable ITS-TPC only processing. | |
| void | setSqrtS (float s) |
| Set the centre of mass energy required for pT downsampling Tsalis function. | |
| void | setExtDetResid (bool v) |
| int | processTRDLayer (const o2::trd::TrackTRD &trkTRD, int iLayer, o2::track::TrackParCov &trkWork, std::array< float, 2 > *trkltTRDYZ=nullptr, std::array< float, 3 > *trkltTRDCov=nullptr, TrackData *trkData=nullptr, o2::trd::Tracklet64 *trk64=nullptr, o2::trd::CalibratedTracklet *trkCalib=nullptr) |
| std::vector< UnbinnedResid > & | getClusterResiduals () |
| std::vector< DetInfoResid > & | getClusterResidualsDetInfo () |
| std::vector< TrackDataCompact > & | getTrackDataCompact () |
| std::vector< TrackDataExtended > & | getTrackDataExtended () |
| std::vector< TrackData > & | getReferenceTracks () |
| const std::vector< o2::dataformats::GlobalTrackID > & | getTRDGIDsSuccess () const |
| ITS-TPC-TRD track whose tracklets gave the TRD residuals of each stored track (not set if none), aligned with getReferenceTracks() | |
| void | setLane (int lID, int nL) |
| void | finalize () |
This class is retrieving the TPC space point residuals by interpolating ITS/TRD/TOF tracks. The residuals are stored in the specified vectors of TPCClusterResiduals It has been ported from the AliTPCcalibAlignInterpolation class from AliRoot.
Definition at line 290 of file TrackInterpolation.h.
| using o2::tpc::TrackInterpolation::ITSClusters = o2::itsmft::ClustersPerLayer<o2::BaseCluster<float> > |
Definition at line 294 of file TrackInterpolation.h.
Definition at line 293 of file TrackInterpolation.h.
| anonymous enum |
Enumeration for indexing the arrays of the CacheStruct.
| Enumerator | |
|---|---|
| ExtOut | extrapolation outwards of ITS track |
| ExtIn | extrapolation inwards of TRD/TOF track |
| Int | interpolation (mean positions of both extrapolations) |
| NIndices | total number of indices (3) |
Definition at line 306 of file TrackInterpolation.h.
|
default |
Default constructor.
|
delete |
| TrackInterpolation::~TrackInterpolation | ( | ) |
Definition at line 114 of file TrackInterpolation.cxx.
| float TrackInterpolation::checkResiduals | ( | const TrackData & | trk, |
| TrackValidationData & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) |
Is called from outlierFiltering() and does the actual calculations (moving average filter etc.)
Definition at line 1523 of file TrackInterpolation.cxx.
| bool TrackInterpolation::compareToHelix | ( | const TrackData & | trk, |
| TrackValidationData & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) |
Calculates the differences in Y and Z for a given set of clusters to a fitted helix. First a circular fit in the azimuthal plane is performed and subsequently a linear fit in the transversal plane
Definition at line 1380 of file TrackInterpolation.cxx.
| void TrackInterpolation::diffToLocLine | ( | TrackValidationData & | params, |
| int | start, | ||
| int | np | ||
| ) |
For a given set of points, calculate the differences from each point to the fitted lines from all other points in their neighbourhoods (+- nMAShort points)
Definition at line 1625 of file TrackInterpolation.cxx.
| void TrackInterpolation::diffToMA | ( | const int | np, |
| const std::array< float, param::NPadRows > & | y, | ||
| std::array< float, param::NPadRows > & | diffMA | ||
| ) |
For a given set of points, calculate their deviation from the moving average (build from the neighbourhood +- nMALong points)
Definition at line 1675 of file TrackInterpolation.cxx.
| void TrackInterpolation::extrapolateTrack | ( | int | iSeed | ) |
Extrapolate ITS-only track through TPC and store residuals to TPC clusters along the way
| seed | index |
Definition at line 1000 of file TrackInterpolation.cxx.
| void TrackInterpolation::finalize | ( | ) |
Definition at line 119 of file TrackInterpolation.cxx.
| GTrackID::Source TrackInterpolation::findValidSource | ( | const o2::dataformats::GlobalTrackID::mask_t | mask, |
| const o2::dataformats::GlobalTrackID::Source | src | ||
| ) | const |
For given vertex track source which is not in mSourcesConfigured find the seeding source which is enabled.
Definition at line 215 of file TrackInterpolation.cxx.
|
inline |
Definition at line 461 of file TrackInterpolation.h.
|
inline |
Definition at line 462 of file TrackInterpolation.h.
|
inline |
Definition at line 465 of file TrackInterpolation.h.
|
inline |
Definition at line 463 of file TrackInterpolation.h.
|
inline |
Definition at line 464 of file TrackInterpolation.h.
|
inline |
ITS-TPC-TRD track whose tracklets gave the TRD residuals of each stored track (not set if none), aligned with getReferenceTracks()
Definition at line 467 of file TrackInterpolation.h.
| void TrackInterpolation::init | ( | o2::dataformats::GlobalTrackID::mask_t | src, |
| o2::dataformats::GlobalTrackID::mask_t | srcMap | ||
| ) |
Initialize everything, set the requested track sources.
Definition at line 127 of file TrackInterpolation.cxx.
| void TrackInterpolation::interpolateTrack | ( | int | iSeed | ) |
Interpolate ITS-TRD-TOF track inside TPC and store residuals to TPC clusters along the way
| seed | index |
Definition at line 488 of file TrackInterpolation.cxx.
| bool TrackInterpolation::isInputTrackAccepted | ( | const o2::dataformats::GlobalTrackID & | gid, |
| const o2::globaltracking::RecoContainer::GlobalIDSet & | gidTable, | ||
| const o2::dataformats::PrimaryVertex & | pv | ||
| ) | const |
Check if input track passes configured cuts.
Definition at line 168 of file TrackInterpolation.cxx.
| bool TrackInterpolation::isTrackSelected | ( | const o2::track::TrackParCov & | trk | ) | const |
Given the defined downsampling factor tsalisThreshold check if track is selected.
Definition at line 324 of file TrackInterpolation.cxx.
|
delete |
| bool TrackInterpolation::outlierFiltering | ( | const TrackData & | trk, |
| TrackValidationData & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) |
Filter out individual outliers from all cluster residuals of given track
Definition at line 1505 of file TrackInterpolation.cxx.
| void TrackInterpolation::prepareInputTrackSample | ( | const o2::globaltracking::RecoContainer & | inp | ) |
Prepare input track sample (not relying on CreateTracksVariadic functionality)
Definition at line 237 of file TrackInterpolation.cxx.
| void TrackInterpolation::process | ( | ) |
Main processing function.
Definition at line 333 of file TrackInterpolation.cxx.
| int TrackInterpolation::processTRDLayer | ( | const o2::trd::TrackTRD & | trkTRD, |
| int | iLayer, | ||
| o2::track::TrackParCov & | trkWork, | ||
| std::array< float, 2 > * | trkltTRDYZ = nullptr, |
||
| std::array< float, 3 > * | trkltTRDCov = nullptr, |
||
| TrackData * | trkData = nullptr, |
||
| o2::trd::Tracklet64 * | trk64 = nullptr, |
||
| o2::trd::CalibratedTracklet * | trkCalib = nullptr |
||
| ) |
Definition at line 947 of file TrackInterpolation.cxx.
| bool TrackInterpolation::refITSTrack | ( | o2::dataformats::GlobalTrackID | gid, |
| int | iSeed | ||
| ) |
Definition at line 1728 of file TrackInterpolation.cxx.
| void TrackInterpolation::reset | ( | ) |
Reset cache and output vectors.
Definition at line 1695 of file TrackInterpolation.cxx.
|
inline |
In addition to mMaxTracksPerTF up to the set number of additional tracks can be processed.
Definition at line 437 of file TrackInterpolation.h.
|
inline |
Enable full output.
Definition at line 440 of file TrackInterpolation.h.
|
inline |
Definition at line 454 of file TrackInterpolation.h.
|
inline |
Allow setting the ITS cluster dictionary from outside.
Definition at line 443 of file TrackInterpolation.h.
|
inline |
Definition at line 469 of file TrackInterpolation.h.
|
inline |
Sets the flag if material correction should be applied when extrapolating the tracks.
Definition at line 431 of file TrackInterpolation.h.
|
inline |
Sets the maximum number of tracks to be processed (successfully) per TF.
Definition at line 434 of file TrackInterpolation.h.
|
inline |
Definition at line 426 of file TrackInterpolation.h.
|
inline |
Enable ITS-TPC only processing.
Definition at line 449 of file TrackInterpolation.h.
|
inline |
Enable processing of seeds.
Definition at line 446 of file TrackInterpolation.h.
|
inline |
Set the centre of mass energy required for pT downsampling Tsalis function.
Definition at line 452 of file TrackInterpolation.h.
| void TrackInterpolation::setTPCVDrift | ( | const o2::tpc::VDriftCorrFact & | v | ) |
Definition at line 1716 of file TrackInterpolation.cxx.
| int8_t TrackInterpolation::validateTrack | ( | const TrackData & | trk, |
| TrackValidationData & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes, | ||
| bool | interpol | ||
| ) |
Validates the given input track and its residuals
| trk | The track parameters, e.g. q/pT, eta, ... |
| params | Structure with per pad information recalculated on the fly |
Definition at line 1341 of file TrackInterpolation.cxx.