Project
Loading...
Searching...
No Matches
o2::trd::PIDBase Class Referenceabstract

#include <PIDBase.h>

Inherited by o2::trd::Dummy, o2::trd::LQND< nDim >, and o2::trd::ML.

Public Member Functions

virtual ~PIDBase ()=default
 
 PIDBase (PIDPolicy policy)
 
virtual void init (o2::framework::ProcessingContext &pc)=0
 Initialize the policy.
 
virtual float process (const TrackTRD &trk, const o2::globaltracking::RecoContainer &input, bool isTPCTRD) const =0
 Calculate a PID for a given track.
 
void setLocalGainFactors (const LocalGainFactor *localGain)
 Set krypton calibration.
 

Protected Member Functions

std::array< float, constants::NCHARGESgetCharges (const Tracklet64 &tracklet, const int layer, const TrackTRD &trk, const o2::globaltracking::RecoContainer &input, float snp, float tgl) const noexcept
 

Protected Attributes

const TRDPIDParamsmParams {TRDPIDParams::Instance()}
 parameters
 
const PIDPolicy mPolicy
 policy
 

Detailed Description

This is the PID Base class which defines the interface all other models must provide.

A 'policy' describes how a PID value (float) should be calculated. For the classical algorithms there is no initialization needed since these work off LUTs. However, for ML models some initialization is needed, e.g. creating the ONNXRuntime Session.

Afterwards, a PID value can be calculated via the given policy for each TrackTRD.

Definition at line 48 of file PIDBase.h.

Constructor & Destructor Documentation

◆ ~PIDBase()

virtual o2::trd::PIDBase::~PIDBase ( )
virtualdefault

◆ PIDBase()

o2::trd::PIDBase::PIDBase ( PIDPolicy  policy)
inline

Definition at line 52 of file PIDBase.h.

Member Function Documentation

◆ getCharges()

std::array< float, constants::NCHARGES > o2::trd::PIDBase::getCharges ( const Tracklet64 tracklet,
const int  layer,
const TrackTRD trk,
const o2::globaltracking::RecoContainer input,
float  snp,
float  tgl 
) const
protectednoexcept

Getter for pid information, applies Z-Row merging of tracklets and gain correction. Some tracklets due to their inclination cross over two pads in z-row, where MCMs do not share ADC lanes. This can be recovered in software, by taking the attached tracklets and looking for nearby tracklets. Only modifies the tracklet if the flag is set.

Definition at line 30 of file PIDBase.cxx.

◆ init()

virtual void o2::trd::PIDBase::init ( o2::framework::ProcessingContext pc)
pure virtual

Initialize the policy.

Implemented in o2::trd::Dummy, o2::trd::LQND< nDim >, and o2::trd::ML.

◆ process()

virtual float o2::trd::PIDBase::process ( const TrackTRD trk,
const o2::globaltracking::RecoContainer input,
bool  isTPCTRD 
) const
pure virtual

Calculate a PID for a given track.

Implemented in o2::trd::Dummy, o2::trd::ML, and o2::trd::LQND< nDim >.

◆ setLocalGainFactors()

void o2::trd::PIDBase::setLocalGainFactors ( const LocalGainFactor localGain)
inline

Set krypton calibration.

Definition at line 61 of file PIDBase.h.

Member Data Documentation

◆ mParams

const TRDPIDParams& o2::trd::PIDBase::mParams {TRDPIDParams::Instance()}
protected

parameters

Definition at line 70 of file PIDBase.h.

◆ mPolicy

const PIDPolicy o2::trd::PIDBase::mPolicy
protected

policy

Definition at line 71 of file PIDBase.h.


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