Project
Loading...
Searching...
No Matches
o2::strangeness_tracking::StrangenessTracker Class Reference

#include <StrangenessTracker.h>

Public Types

using StrangeTrack = o2::dataformats::StrangeTrack
 
using PID = o2::track::PID
 
using TrackITS = o2::its::TrackITS
 
using ITSCluster = o2::BaseCluster< float >
 
using V0 = o2::dataformats::V0
 
using V0Index = o2::dataformats::V0Index
 
using Cascade = o2::dataformats::Cascade
 
using CascadeIndex = o2::dataformats::CascadeIndex
 
using Decay3Body = o2::dataformats::Decay3Body
 
using Decay3BodyIndex = o2::dataformats::Decay3BodyIndex
 
using GIndex = o2::dataformats::VtxTrackIndex
 
using DCAFitter2 = o2::vertexing::DCAFitterN< 2 >
 
using DCAFitter3 = o2::vertexing::DCAFitterN< 3 >
 
using DCAFitter4 = o2::vertexing::DCAFitterN< 4 >
 
using MCLabContCl = o2::dataformats::MCTruthContainer< o2::MCCompLabel >
 
using MCLabSpan = gsl::span< const o2::MCCompLabel >
 
using VBracket = o2::math_utils::Bracket< int >
 

Public Member Functions

 StrangenessTracker ()=default
 
 ~StrangenessTracker ()=default
 
bool loadData (const o2::globaltracking::RecoContainer &recoData)
 
bool matchDecayToITStrack (float decayR, StrangeTrack &strangeTrack, ClusAttachments &structClus, const TrackITS &itsTrack, std::vector< o2::track::TrackParCovF > &daughterTracks, int iThread=0)
 
void prepareITStracks ()
 
void process ()
 
void processV0 (int iv0, const V0 &v0, const V0Index &v0Idx, int iThread=0)
 
void processCascade (int icasc, const Cascade &casc, const CascadeIndex &cascIdx, const V0 &cascV0, int iThread=0)
 
void process3Body (int i3body, const Decay3Body &dec3body, const Decay3BodyIndex &dec3bodyIdx, int iThread=0)
 
bool updateTrack (const ITSCluster &clus, o2::track::TrackParCov &track)
 
std::vector< ClusAttachments > & getClusAttachments (int iThread=0)
 
std::vector< StrangeTrack > & getStrangeTrackVec (int iThread=0)
 
std::vector< o2::MCCompLabel > & getStrangeTrackLabels (int iThread=0)
 
size_t getNTracks (int ithread=0) const
 
float getBz () const
 
void setBz (float d)
 
void setClusterDictionaryITS (const o2::itsmft::TopologyDictionary *d)
 
void setCorrType (const o2::base::PropagatorImpl< float >::MatCorrType &type)
 
void setConfigParams (const StrangenessTrackingParamConfig *params)
 
void setMCTruthOn (bool v)
 
bool getMCTruthOn () const
 
void clear ()
 
void setupThreads (int nThreads=1)
 
void setupFitters ()
 
double calcV0alpha (const V0 &v0)
 
double calcMotherMass (const std::array< float, 3 > &pDauFirst, const std::array< float, 3 > &pDauSecond, PID pidDauFirst, PID pidDauSecond)
 
double calcMotherMass3body (const std::array< float, 3 > &pDauFirst, const std::array< float, 3 > &pDauSecond, const std::array< float, 3 > &pDauThird, PID pidDauFirst, PID pidDauSecond, PID pidDauThird)
 
bool recreateV0 (const o2::track::TrackParCov &posTrack, const o2::track::TrackParCov &negTrack, V0 &newV0, int iThread=0)
 
std::vector< ITSClustergetTrackClusters (const TrackITS &itsTrack)
 
std::vector< intgetTrackClusterSizes (const TrackITS &itsTrack)
 
void getClusterSizesITS (std::vector< int > &clusSizeVec, const gsl::span< const o2::itsmft::CompClusterExt > ITSclus, gsl::span< const unsigned char >::iterator &pattIt, const o2::itsmft::TopologyDictionary *mdict)
 
float getMatchingChi2 (o2::track::TrackParCovF v0, const TrackITS &itsTrack)
 
o2::MCCompLabel getStrangeTrackLabel (const TrackITS &itsTrack, const StrangeTrack &strangeTrack, const ClusAttachments &structClus)
 

Protected Member Functions

 ClassDefNV (StrangenessTracker, 1)
 

Protected Attributes

bool mMCTruthON = false
 
int mNThreads = 1
 flag availability of MC truth
 
gsl::span< const TrackITSmInputITStracks
 number of threads (externally driven)
 
std::vector< VBracketmITSvtxBrackets
 
std::vector< intmTracksIdxTable
 
std::vector< intmInputClusterSizes
 
std::vector< ITSClustermInputITSclusters
 
gsl::span< const intmInputITSidxs
 
gsl::span< const V0mInputV0tracks
 
gsl::span< const V0IndexmInputV0Indices
 
gsl::span< const CascademInputCascadeTracks
 
gsl::span< const CascadeIndexmInputCascadeIndices
 
gsl::span< const Decay3BodymInput3BodyTracks
 
gsl::span< const Decay3BodyIndexmInput3BodyIndices
 
const MCLabContClmITSClsLabels = nullptr
 
MCLabSpan mITSTrkLabels
 input ITS Cluster MC labels
 
std::vector< o2::its::TrackITSmSortedITStracks
 input ITS Track MC labels
 
std::vector< intmSortedITSindexes
 
IndexTableUtils mUtils
 
std::vector< std::vector< StrangeTrack > > mStrangeTrackVec
 
std::vector< std::vector< ClusAttachments > > mClusAttachments
 
std::vector< std::vector< o2::MCCompLabel > > mStrangeTrackLabels
 
const StrangenessTrackingParamConfigmStrParams = nullptr
 
float mBz = -5
 
const o2::itsmft::TopologyDictionarymITSDict = nullptr
 
std::vector< DCAFitter2mFitterV0
 
std::vector< DCAFitter3mFitter3Body
 
std::vector< DCAFitter4mFitter4Body
 
o2::base::PropagatorImpl< float >::MatCorrType mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE
 
std::vector< std::vector< o2::track::TrackParCovF > > mDaughterTracks
 
ClusAttachments mStructClus
 

Detailed Description

Definition at line 62 of file StrangenessTracker.h.

Member Typedef Documentation

◆ Cascade

◆ CascadeIndex

◆ DCAFitter2

◆ DCAFitter3

◆ DCAFitter4

◆ Decay3Body

◆ Decay3BodyIndex

◆ GIndex

◆ ITSCluster

◆ MCLabContCl

◆ MCLabSpan

◆ PID

◆ StrangeTrack

◆ TrackITS

◆ V0

◆ V0Index

◆ VBracket

Constructor & Destructor Documentation

◆ StrangenessTracker()

o2::strangeness_tracking::StrangenessTracker::StrangenessTracker ( )
default

◆ ~StrangenessTracker()

o2::strangeness_tracking::StrangenessTracker::~StrangenessTracker ( )
default

Member Function Documentation

◆ calcMotherMass()

double o2::strangeness_tracking::StrangenessTracker::calcMotherMass ( const std::array< float, 3 > &  pDauFirst,
const std::array< float, 3 > &  pDauSecond,
PID  pidDauFirst,
PID  pidDauSecond 
)
inline

Definition at line 172 of file StrangenessTracker.h.

◆ calcMotherMass3body()

double o2::strangeness_tracking::StrangenessTracker::calcMotherMass3body ( const std::array< float, 3 > &  pDauFirst,
const std::array< float, 3 > &  pDauSecond,
const std::array< float, 3 > &  pDauThird,
PID  pidDauFirst,
PID  pidDauSecond,
PID  pidDauThird 
)
inline

Definition at line 188 of file StrangenessTracker.h.

◆ calcV0alpha()

double o2::strangeness_tracking::StrangenessTracker::calcV0alpha ( const V0 v0)
inline

Definition at line 161 of file StrangenessTracker.h.

◆ ClassDefNV()

o2::strangeness_tracking::StrangenessTracker::ClassDefNV ( StrangenessTracker  ,
 
)
protected

◆ clear()

void o2::strangeness_tracking::StrangenessTracker::clear ( )
inline

Definition at line 115 of file StrangenessTracker.h.

◆ getBz()

float o2::strangeness_tracking::StrangenessTracker::getBz ( ) const
inline

Definition at line 100 of file StrangenessTracker.h.

◆ getClusAttachments()

std::vector< ClusAttachments > & o2::strangeness_tracking::StrangenessTracker::getClusAttachments ( int  iThread = 0)
inline

Definition at line 95 of file StrangenessTracker.h.

◆ getClusterSizesITS()

void o2::strangeness_tracking::StrangenessTracker::getClusterSizesITS ( std::vector< int > &  clusSizeVec,
const gsl::span< const o2::itsmft::CompClusterExt ITSclus,
gsl::span< const unsigned char >::iterator &  pattIt,
const o2::itsmft::TopologyDictionary mdict 
)
inline

Definition at line 255 of file StrangenessTracker.h.

◆ getMatchingChi2()

float o2::strangeness_tracking::StrangenessTracker::getMatchingChi2 ( o2::track::TrackParCovF  v0,
const TrackITS itsTrack 
)
inline

Definition at line 299 of file StrangenessTracker.h.

◆ getMCTruthOn()

bool o2::strangeness_tracking::StrangenessTracker::getMCTruthOn ( ) const
inline

Definition at line 106 of file StrangenessTracker.h.

◆ getNTracks()

size_t o2::strangeness_tracking::StrangenessTracker::getNTracks ( int  ithread = 0) const
inline

Definition at line 98 of file StrangenessTracker.h.

◆ getStrangeTrackLabel()

o2::MCCompLabel o2::strangeness_tracking::StrangenessTracker::getStrangeTrackLabel ( const TrackITS itsTrack,
const StrangeTrack strangeTrack,
const ClusAttachments structClus 
)
inline

Definition at line 307 of file StrangenessTracker.h.

◆ getStrangeTrackLabels()

std::vector< o2::MCCompLabel > & o2::strangeness_tracking::StrangenessTracker::getStrangeTrackLabels ( int  iThread = 0)
inline

Definition at line 97 of file StrangenessTracker.h.

◆ getStrangeTrackVec()

std::vector< StrangeTrack > & o2::strangeness_tracking::StrangenessTracker::getStrangeTrackVec ( int  iThread = 0)
inline

Definition at line 96 of file StrangenessTracker.h.

◆ getTrackClusters()

std::vector< ITSCluster > o2::strangeness_tracking::StrangenessTracker::getTrackClusters ( const TrackITS itsTrack)
inline

Definition at line 231 of file StrangenessTracker.h.

◆ getTrackClusterSizes()

std::vector< int > o2::strangeness_tracking::StrangenessTracker::getTrackClusterSizes ( const TrackITS itsTrack)
inline

Definition at line 243 of file StrangenessTracker.h.

◆ loadData()

bool o2::strangeness_tracking::StrangenessTracker::loadData ( const o2::globaltracking::RecoContainer recoData)

Definition at line 28 of file StrangenessTracker.cxx.

◆ matchDecayToITStrack()

bool o2::strangeness_tracking::StrangenessTracker::matchDecayToITStrack ( float  decayR,
StrangeTrack strangeTrack,
ClusAttachments structClus,
const TrackITS itsTrack,
std::vector< o2::track::TrackParCovF > &  daughterTracks,
int  iThread = 0 
)

Definition at line 342 of file StrangenessTracker.cxx.

◆ prepareITStracks()

void o2::strangeness_tracking::StrangenessTracker::prepareITStracks ( )

Definition at line 109 of file StrangenessTracker.cxx.

◆ process()

void o2::strangeness_tracking::StrangenessTracker::process ( )

Definition at line 319 of file StrangenessTracker.cxx.

◆ process3Body()

void o2::strangeness_tracking::StrangenessTracker::process3Body ( int  i3body,
const Decay3Body dec3body,
const Decay3BodyIndex dec3bodyIdx,
int  iThread = 0 
)

TODO: indices of daughters...

TODO: mother mass

Definition at line 258 of file StrangenessTracker.cxx.

◆ processCascade()

void o2::strangeness_tracking::StrangenessTracker::processCascade ( int  icasc,
const Cascade casc,
const CascadeIndex cascIdx,
const V0 cascV0,
int  iThread = 0 
)

Definition at line 203 of file StrangenessTracker.cxx.

◆ processV0()

void o2::strangeness_tracking::StrangenessTracker::processV0 ( int  iv0,
const V0 v0,
const V0Index v0Idx,
int  iThread = 0 
)

Definition at line 131 of file StrangenessTracker.cxx.

◆ recreateV0()

bool o2::strangeness_tracking::StrangenessTracker::recreateV0 ( const o2::track::TrackParCov posTrack,
const o2::track::TrackParCov negTrack,
V0 newV0,
int  iThread = 0 
)
inline

Definition at line 206 of file StrangenessTracker.h.

◆ setBz()

void o2::strangeness_tracking::StrangenessTracker::setBz ( float  d)
inline

Definition at line 101 of file StrangenessTracker.h.

◆ setClusterDictionaryITS()

void o2::strangeness_tracking::StrangenessTracker::setClusterDictionaryITS ( const o2::itsmft::TopologyDictionary d)
inline

Definition at line 102 of file StrangenessTracker.h.

◆ setConfigParams()

void o2::strangeness_tracking::StrangenessTracker::setConfigParams ( const StrangenessTrackingParamConfig params)
inline

Definition at line 104 of file StrangenessTracker.h.

◆ setCorrType()

void o2::strangeness_tracking::StrangenessTracker::setCorrType ( const o2::base::PropagatorImpl< float >::MatCorrType type)
inline

Definition at line 103 of file StrangenessTracker.h.

◆ setMCTruthOn()

void o2::strangeness_tracking::StrangenessTracker::setMCTruthOn ( bool  v)
inline

Definition at line 105 of file StrangenessTracker.h.

◆ setupFitters()

void o2::strangeness_tracking::StrangenessTracker::setupFitters ( )
inline

Definition at line 145 of file StrangenessTracker.h.

◆ setupThreads()

void o2::strangeness_tracking::StrangenessTracker::setupThreads ( int  nThreads = 1)
inline

Definition at line 133 of file StrangenessTracker.h.

◆ updateTrack()

bool o2::strangeness_tracking::StrangenessTracker::updateTrack ( const ITSCluster clus,
o2::track::TrackParCov track 
)

Definition at line 487 of file StrangenessTracker.cxx.

Member Data Documentation

◆ mBz

float o2::strangeness_tracking::StrangenessTracker::mBz = -5
protected

Definition at line 348 of file StrangenessTracker.h.

◆ mClusAttachments

std::vector<std::vector<ClusAttachments> > o2::strangeness_tracking::StrangenessTracker::mClusAttachments
protected

Definition at line 344 of file StrangenessTracker.h.

◆ mCorrType

o2::base::PropagatorImpl<float>::MatCorrType o2::strangeness_tracking::StrangenessTracker::mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE
protected

Definition at line 358 of file StrangenessTracker.h.

◆ mDaughterTracks

std::vector<std::vector<o2::track::TrackParCovF> > o2::strangeness_tracking::StrangenessTracker::mDaughterTracks
protected

Definition at line 360 of file StrangenessTracker.h.

◆ mFitter3Body

std::vector<DCAFitter3> o2::strangeness_tracking::StrangenessTracker::mFitter3Body
protected

Definition at line 355 of file StrangenessTracker.h.

◆ mFitter4Body

std::vector<DCAFitter4> o2::strangeness_tracking::StrangenessTracker::mFitter4Body
protected

Definition at line 356 of file StrangenessTracker.h.

◆ mFitterV0

std::vector<DCAFitter2> o2::strangeness_tracking::StrangenessTracker::mFitterV0
protected

Definition at line 354 of file StrangenessTracker.h.

◆ mInput3BodyIndices

gsl::span<const Decay3BodyIndex> o2::strangeness_tracking::StrangenessTracker::mInput3BodyIndices
protected

Definition at line 335 of file StrangenessTracker.h.

◆ mInput3BodyTracks

gsl::span<const Decay3Body> o2::strangeness_tracking::StrangenessTracker::mInput3BodyTracks
protected

Definition at line 334 of file StrangenessTracker.h.

◆ mInputCascadeIndices

gsl::span<const CascadeIndex> o2::strangeness_tracking::StrangenessTracker::mInputCascadeIndices
protected

Definition at line 333 of file StrangenessTracker.h.

◆ mInputCascadeTracks

gsl::span<const Cascade> o2::strangeness_tracking::StrangenessTracker::mInputCascadeTracks
protected

Definition at line 332 of file StrangenessTracker.h.

◆ mInputClusterSizes

std::vector<int> o2::strangeness_tracking::StrangenessTracker::mInputClusterSizes
protected

Definition at line 327 of file StrangenessTracker.h.

◆ mInputITSclusters

std::vector<ITSCluster> o2::strangeness_tracking::StrangenessTracker::mInputITSclusters
protected

Definition at line 328 of file StrangenessTracker.h.

◆ mInputITSidxs

gsl::span<const int> o2::strangeness_tracking::StrangenessTracker::mInputITSidxs
protected

Definition at line 329 of file StrangenessTracker.h.

◆ mInputITStracks

gsl::span<const TrackITS> o2::strangeness_tracking::StrangenessTracker::mInputITStracks
protected

number of threads (externally driven)

Definition at line 324 of file StrangenessTracker.h.

◆ mInputV0Indices

gsl::span<const V0Index> o2::strangeness_tracking::StrangenessTracker::mInputV0Indices
protected

Definition at line 331 of file StrangenessTracker.h.

◆ mInputV0tracks

gsl::span<const V0> o2::strangeness_tracking::StrangenessTracker::mInputV0tracks
protected

Definition at line 330 of file StrangenessTracker.h.

◆ mITSClsLabels

const MCLabContCl* o2::strangeness_tracking::StrangenessTracker::mITSClsLabels = nullptr
protected

Definition at line 336 of file StrangenessTracker.h.

◆ mITSDict

const o2::itsmft::TopologyDictionary* o2::strangeness_tracking::StrangenessTracker::mITSDict = nullptr
protected

Definition at line 349 of file StrangenessTracker.h.

◆ mITSTrkLabels

MCLabSpan o2::strangeness_tracking::StrangenessTracker::mITSTrkLabels
protected

input ITS Cluster MC labels

Definition at line 337 of file StrangenessTracker.h.

◆ mITSvtxBrackets

std::vector<VBracket> o2::strangeness_tracking::StrangenessTracker::mITSvtxBrackets
protected

Definition at line 325 of file StrangenessTracker.h.

◆ mMCTruthON

bool o2::strangeness_tracking::StrangenessTracker::mMCTruthON = false
protected

Definition at line 322 of file StrangenessTracker.h.

◆ mNThreads

int o2::strangeness_tracking::StrangenessTracker::mNThreads = 1
protected

flag availability of MC truth

Definition at line 323 of file StrangenessTracker.h.

◆ mSortedITSindexes

std::vector<int> o2::strangeness_tracking::StrangenessTracker::mSortedITSindexes
protected

Definition at line 340 of file StrangenessTracker.h.

◆ mSortedITStracks

std::vector<o2::its::TrackITS> o2::strangeness_tracking::StrangenessTracker::mSortedITStracks
protected

input ITS Track MC labels

Definition at line 339 of file StrangenessTracker.h.

◆ mStrangeTrackLabels

std::vector<std::vector<o2::MCCompLabel> > o2::strangeness_tracking::StrangenessTracker::mStrangeTrackLabels
protected

Definition at line 345 of file StrangenessTracker.h.

◆ mStrangeTrackVec

std::vector<std::vector<StrangeTrack> > o2::strangeness_tracking::StrangenessTracker::mStrangeTrackVec
protected

Definition at line 343 of file StrangenessTracker.h.

◆ mStrParams

const StrangenessTrackingParamConfig* o2::strangeness_tracking::StrangenessTracker::mStrParams = nullptr
protected

Definition at line 347 of file StrangenessTracker.h.

◆ mStructClus

ClusAttachments o2::strangeness_tracking::StrangenessTracker::mStructClus
protected

Definition at line 361 of file StrangenessTracker.h.

◆ mTracksIdxTable

std::vector<int> o2::strangeness_tracking::StrangenessTracker::mTracksIdxTable
protected

Definition at line 326 of file StrangenessTracker.h.

◆ mUtils

IndexTableUtils o2::strangeness_tracking::StrangenessTracker::mUtils
protected

Definition at line 341 of file StrangenessTracker.h.


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