![]() |
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 | TrackParams |
| 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 |
Public Member Functions | |
| TrackInterpolation ()=default | |
| Default constructor. | |
| TrackInterpolation (const TrackInterpolation &)=delete | |
| TrackInterpolation & | operator= (const TrackInterpolation &)=delete |
| 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) |
| bool | validateTrack (const TrackData &trk, TrackParams ¶ms, const std::vector< TPCClusterResiduals > &clsRes) const |
| bool | outlierFiltering (const TrackData &trk, TrackParams ¶ms, const std::vector< TPCClusterResiduals > &clsRes) const |
| float | checkResiduals (const TrackData &trk, TrackParams ¶ms, const std::vector< TPCClusterResiduals > &clsRes) const |
| bool | compareToHelix (const TrackData &trk, TrackParams ¶ms, const std::vector< TPCClusterResiduals > &clsRes) const |
| void | diffToLocLine (const int np, int idxOffset, const std::array< float, param::NPadRows > &x, const std::array< float, param::NPadRows > &y, std::array< float, param::NPadRows > &diffY) const |
| 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) const |
| For a given set of points, calculate their deviation from the moving average (build from the neighbourhood +- nMALong points) | |
| 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) |
| std::vector< UnbinnedResid > & | getClusterResiduals () |
| std::vector< TrackDataCompact > & | getTrackDataCompact () |
| std::vector< TrackDataExtended > & | getTrackDataExtended () |
| std::vector< TrackData > & | getReferenceTracks () |
| std::vector< TPCClusterResiduals > & | getClusterResidualsUnfiltered () |
| std::vector< TrackData > & | getReferenceTracksUnfiltered () |
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 163 of file TrackInterpolation.h.
Definition at line 166 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 176 of file TrackInterpolation.h.
|
default |
Default constructor.
|
delete |
| float TrackInterpolation::checkResiduals | ( | const TrackData & | trk, |
| TrackParams & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) | const |
Is called from outlierFiltering() and does the actual calculations (moving average filter etc.)
Definition at line 1262 of file TrackInterpolation.cxx.
| bool TrackInterpolation::compareToHelix | ( | const TrackData & | trk, |
| TrackParams & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) | const |
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 1099 of file TrackInterpolation.cxx.
| void TrackInterpolation::diffToLocLine | ( | const int | np, |
| int | idxOffset, | ||
| const std::array< float, param::NPadRows > & | x, | ||
| const std::array< float, param::NPadRows > & | y, | ||
| std::array< float, param::NPadRows > & | diffY | ||
| ) | const |
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 1358 of file TrackInterpolation.cxx.
| void TrackInterpolation::diffToMA | ( | const int | np, |
| const std::array< float, param::NPadRows > & | y, | ||
| std::array< float, param::NPadRows > & | diffMA | ||
| ) | const |
For a given set of points, calculate their deviation from the moving average (build from the neighbourhood +- nMALong points)
Definition at line 1414 of file TrackInterpolation.cxx.
Extrapolate ITS-only track through TPC and store residuals to TPC clusters along the way
| seed | index |
Definition at line 833 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 191 of file TrackInterpolation.cxx.
|
inline |
Definition at line 302 of file TrackInterpolation.h.
|
inline |
Definition at line 306 of file TrackInterpolation.h.
|
inline |
Definition at line 305 of file TrackInterpolation.h.
|
inline |
Definition at line 307 of file TrackInterpolation.h.
|
inline |
Definition at line 303 of file TrackInterpolation.h.
|
inline |
Definition at line 304 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 109 of file TrackInterpolation.cxx.
Interpolate ITS-TRD-TOF track inside TPC and store residuals to TPC clusters along the way
| seed | index |
Definition at line 434 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 144 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 300 of file TrackInterpolation.cxx.
|
delete |
| bool TrackInterpolation::outlierFiltering | ( | const TrackData & | trk, |
| TrackParams & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) | const |
Filter out individual outliers from all cluster residuals of given track
Definition at line 1244 of file TrackInterpolation.cxx.
| void TrackInterpolation::prepareInputTrackSample | ( | const o2::globaltracking::RecoContainer & | inp | ) |
Prepare input track sample (not relying on CreateTracksVariadic functionality)
Definition at line 213 of file TrackInterpolation.cxx.
| void TrackInterpolation::process | ( | ) |
Main processing function.
Definition at line 309 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 |
||
| ) |
Definition at line 787 of file TrackInterpolation.cxx.
| bool TrackInterpolation::refITSTrack | ( | o2::dataformats::GlobalTrackID | gid, |
| int | iSeed | ||
| ) |
Definition at line 1475 of file TrackInterpolation.cxx.
| void TrackInterpolation::reset | ( | ) |
Reset cache and output vectors.
Definition at line 1442 of file TrackInterpolation.cxx.
In addition to mMaxTracksPerTF up to the set number of additional tracks can be processed.
Definition at line 280 of file TrackInterpolation.h.
|
inline |
Enable full output.
Definition at line 283 of file TrackInterpolation.h.
|
inline |
Definition at line 297 of file TrackInterpolation.h.
|
inline |
Allow setting the ITS cluster dictionary from outside.
Definition at line 286 of file TrackInterpolation.h.
|
inline |
Sets the flag if material correction should be applied when extrapolating the tracks.
Definition at line 274 of file TrackInterpolation.h.
Sets the maximum number of tracks to be processed (successfully) per TF.
Definition at line 277 of file TrackInterpolation.h.
|
inline |
Enable ITS-TPC only processing.
Definition at line 292 of file TrackInterpolation.h.
|
inline |
Enable processing of seeds.
Definition at line 289 of file TrackInterpolation.h.
|
inline |
Set the centre of mass energy required for pT downsampling Tsalis function.
Definition at line 295 of file TrackInterpolation.h.
| void TrackInterpolation::setTPCVDrift | ( | const o2::tpc::VDriftCorrFact & | v | ) |
Definition at line 1463 of file TrackInterpolation.cxx.
| bool TrackInterpolation::validateTrack | ( | const TrackData & | trk, |
| TrackParams & | params, | ||
| const std::vector< TPCClusterResiduals > & | clsRes | ||
| ) | const |
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 1076 of file TrackInterpolation.cxx.