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 ITSClusters = o2::itsmft::ClustersPerLayer< ITSCluster >
 
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< ITSCluster > getTrackClusters (const TrackITS &itsTrack)
 
std::vector< int > getTrackClusterSizes (const TrackITS &itsTrack)
 
void getClusterSizesITS (std::vector< int > &clusSizeVec, int offs, 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
 
float mGlobalChi2 = -1
 number of threads (externally driven)
 
gsl::span< const TrackITS > mInputITStracks
 global topology matching chi2
 
std::vector< VBracket > mITSvtxBrackets
 
std::vector< int > mTracksIdxTable
 
std::vector< int > mInputClusterSizes
 
ITSClusters mInputITSclusters
 
gsl::span< const int > mInputITSidxs
 
gsl::span< const V0 > mInputV0tracks
 
gsl::span< const V0Index > mInputV0Indices
 
gsl::span< const Cascade > mInputCascadeTracks
 
gsl::span< const CascadeIndex > mInputCascadeIndices
 
gsl::span< const Decay3Body > mInput3BodyTracks
 
gsl::span< const Decay3BodyIndex > mInput3BodyIndices
 
const MCLabContCl * mITSClsLabels = nullptr
 
MCLabSpan mITSTrkLabels
 input ITS Cluster MC labels
 
std::vector< o2::its::TrackITS > mSortedITStracks
 input ITS Track MC labels
 
std::vector< int > mSortedITSindexes
 
IndexTableUtils mUtils
 
std::vector< std::vector< StrangeTrack > > mStrangeTrackVec
 
std::vector< std::vector< ClusAttachments > > mClusAttachments
 
std::vector< std::vector< o2::MCCompLabel > > mStrangeTrackLabels
 
const StrangenessTrackingParamConfig * mStrParams = nullptr
 
float mBz = -5
 
const o2::itsmft::TopologyDictionary * mITSDict = nullptr
 
std::vector< DCAFitter2 > mFitterV0
 
std::vector< DCAFitter3 > mFitter3Body
 
std::vector< DCAFitter4 > mFitter4Body
 
o2::base::PropagatorImpl< float >::MatCorrType mCorrType = o2::base::PropagatorImpl<float>::MatCorrType::USEMatCorrNONE
 
std::vector< std::vector< o2::track::TrackParCovF > > mDaughterTracks
 

Detailed Description

Definition at line 63 of file StrangenessTracker.h.

Member Typedef Documentation

◆ Cascade

◆ CascadeIndex

◆ DCAFitter2

◆ DCAFitter3

◆ DCAFitter4

◆ Decay3Body

◆ Decay3BodyIndex

◆ GIndex

◆ ITSCluster

◆ ITSClusters

◆ 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 174 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 190 of file StrangenessTracker.h.

◆ calcV0alpha()

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

Definition at line 163 of file StrangenessTracker.h.

◆ ClassDefNV()

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

◆ clear()

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

Definition at line 117 of file StrangenessTracker.h.

◆ getBz()

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

Definition at line 102 of file StrangenessTracker.h.

◆ getClusAttachments()

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

Definition at line 97 of file StrangenessTracker.h.

◆ getClusterSizesITS()

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

Definition at line 257 of file StrangenessTracker.h.

◆ getMatchingChi2()

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

Definition at line 301 of file StrangenessTracker.h.

◆ getMCTruthOn()

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

Definition at line 108 of file StrangenessTracker.h.

◆ getNTracks()

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

Definition at line 100 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 309 of file StrangenessTracker.h.

◆ getStrangeTrackLabels()

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

Definition at line 99 of file StrangenessTracker.h.

◆ getStrangeTrackVec()

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

Definition at line 98 of file StrangenessTracker.h.

◆ getTrackClusters()

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

Definition at line 233 of file StrangenessTracker.h.

◆ getTrackClusterSizes()

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

Definition at line 245 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 350 of file StrangenessTracker.cxx.

◆ prepareITStracks()

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

Definition at line 117 of file StrangenessTracker.cxx.

◆ process()

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

Definition at line 327 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 266 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 211 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 139 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 208 of file StrangenessTracker.h.

◆ setBz()

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

Definition at line 103 of file StrangenessTracker.h.

◆ setClusterDictionaryITS()

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

Definition at line 104 of file StrangenessTracker.h.

◆ setConfigParams()

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

Definition at line 106 of file StrangenessTracker.h.

◆ setCorrType()

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

Definition at line 105 of file StrangenessTracker.h.

◆ setMCTruthOn()

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

Definition at line 107 of file StrangenessTracker.h.

◆ setupFitters()

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

Definition at line 147 of file StrangenessTracker.h.

◆ setupThreads()

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

Definition at line 135 of file StrangenessTracker.h.

◆ updateTrack()

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

Definition at line 495 of file StrangenessTracker.cxx.

Member Data Documentation

◆ mBz

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

Definition at line 351 of file StrangenessTracker.h.

◆ mClusAttachments

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

Definition at line 347 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 361 of file StrangenessTracker.h.

◆ mDaughterTracks

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

Definition at line 362 of file StrangenessTracker.h.

◆ mFitter3Body

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

Definition at line 358 of file StrangenessTracker.h.

◆ mFitter4Body

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

Definition at line 359 of file StrangenessTracker.h.

◆ mFitterV0

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

Definition at line 357 of file StrangenessTracker.h.

◆ mGlobalChi2

float o2::strangeness_tracking::StrangenessTracker::mGlobalChi2 = -1
protected

number of threads (externally driven)

Definition at line 326 of file StrangenessTracker.h.

◆ mInput3BodyIndices

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

Definition at line 338 of file StrangenessTracker.h.

◆ mInput3BodyTracks

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

Definition at line 337 of file StrangenessTracker.h.

◆ mInputCascadeIndices

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

Definition at line 336 of file StrangenessTracker.h.

◆ mInputCascadeTracks

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

Definition at line 335 of file StrangenessTracker.h.

◆ mInputClusterSizes

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

Definition at line 330 of file StrangenessTracker.h.

◆ mInputITSclusters

ITSClusters o2::strangeness_tracking::StrangenessTracker::mInputITSclusters
protected

Definition at line 331 of file StrangenessTracker.h.

◆ mInputITSidxs

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

Definition at line 332 of file StrangenessTracker.h.

◆ mInputITStracks

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

global topology matching chi2

Definition at line 327 of file StrangenessTracker.h.

◆ mInputV0Indices

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

Definition at line 334 of file StrangenessTracker.h.

◆ mInputV0tracks

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

Definition at line 333 of file StrangenessTracker.h.

◆ mITSClsLabels

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

Definition at line 339 of file StrangenessTracker.h.

◆ mITSDict

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

Definition at line 352 of file StrangenessTracker.h.

◆ mITSTrkLabels

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

input ITS Cluster MC labels

Definition at line 340 of file StrangenessTracker.h.

◆ mITSvtxBrackets

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

Definition at line 328 of file StrangenessTracker.h.

◆ mMCTruthON

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

Definition at line 324 of file StrangenessTracker.h.

◆ mNThreads

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

flag availability of MC truth

Definition at line 325 of file StrangenessTracker.h.

◆ mSortedITSindexes

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

Definition at line 343 of file StrangenessTracker.h.

◆ mSortedITStracks

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

input ITS Track MC labels

Definition at line 342 of file StrangenessTracker.h.

◆ mStrangeTrackLabels

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

Definition at line 348 of file StrangenessTracker.h.

◆ mStrangeTrackVec

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

Definition at line 346 of file StrangenessTracker.h.

◆ mStrParams

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

Definition at line 350 of file StrangenessTracker.h.

◆ mTracksIdxTable

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

Definition at line 329 of file StrangenessTracker.h.

◆ mUtils

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

Definition at line 344 of file StrangenessTracker.h.


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