CbmRoot
Loading...
Searching...
No Matches
CbmL1 Class Reference

#include <CbmL1.h>

Inheritance diagram for CbmL1:
[legend]
Collaboration diagram for CbmL1:
[legend]

Classes

struct  TH1FParameters
 

Public Types

enum class  EInitMode { Full , Param }
 
using DFSET = std::set<std::pair<int, int>>
 

Public Member Functions

 CbmL1 ()
 Default constructor.
 
 CbmL1 (const char *name, Int_t verbose=1, Int_t performance=0)
 
 CbmL1 (const CbmL1 &)=delete
 Copy constructor.
 
 CbmL1 (CbmL1 &&)=delete
 Move constructor.
 
CbmL1operator= (const CbmL1 &)=delete
 Copy assignment operator.
 
CbmL1operator= (CbmL1 &&)=delete
 Move assignment operator.
 
 ~CbmL1 ()
 Destructor.
 
virtual InitStatus Init ()
 Defines action in the beginning of the run (initialization)
 
virtual InitStatus ReInit ()
 Reruns the initialization.
 
void Finish ()
 Defines action in the end of the run (saves results)
 
const cbm::ca::tools::MCDataGetMCData () const
 Gets reference to MC data object.
 
void DisableTrackingStation (ca::EDetectorID detID, int iSt)
 Disables tracking station for a given detector subsystem.
 
void SetInitMode (EInitMode mode)
 Sets initialization mode.
 
void SetSafeMaterialInitialization (bool val=true)
 
void SetMaterialBudgetNbins (int nBinsPerDimension)
 Sets material budget binning.
 
void SetMaterialBudgetNrays (int nRaysPerDimension)
 Sets material budget n rays per dimansion in each bin.
 
void SetMaterialBudgetPitch (double pitchCm)
 Sets material budget minimal bin size in cm.
 
void SetMaterialBudgetParallelProjection ()
 
void SetConfigUser (const char *path)
 Sets user configuration filename.
 
void SetInputSearchWindowFilename (const char *filename)
 Sets a name for the input search window file If the filename is not defined, a default track finder with Kalman filter is used. Otherwise, an experimental version of track finder with estimated hit search windows is utilised.
 
void SetOutputConfigName (const char *filename)
 Sets a name for the output configuration file.
 
void SetParameterFilename (const char *filename)
 Sets a name for the ca-parameter file.
 
void SetOutputMcTripletsTreeFilename (const char *filename)
 Sets output file for MC triplets tree If the filename is empty string, tree is not filled.
 
const auto & GetQaHits () const
 
void SetExtrapolateToTheEndOfSTS (bool b)
 
void SetStsOnlyMode ()
 
void SetMcbmMode ()
 
void SetGlobalMode ()
 
void Reconstruct (CbmEvent *event=nullptr)
 
void SetMvdMaterialBudgetFileName (const TString &)
 Obsolete setters to be removed.
 
void SetStsMaterialBudgetFileName (const TString &)
 Sets material budget file name for STS.
 
void SetMuchMaterialBudgetFileName (const TString &)
 Sets material budget file name for MuCh.
 
void SetTrdMaterialBudgetFileName (const TString &)
 Sets material budget file name for TRD.
 
void SetTofMaterialBudgetFileName (const TString &)
 Sets material budget file name for TOF.
 

Static Public Member Functions

static CbmL1Instance ()
 Pointer to CbmL1 instance.
 
static constexpr const char * GetDetectorName (ca::EDetectorID detectorID)
 Utility to map the L1DetectorID items into detector names.
 
static double boundedGaus (double sigma)
 

Public Attributes

ca::TrackingMonitor fMonitor {}
 Tracking monitor.
 
ca::FrameworkfpAlgo = nullptr
 Pointer to the L1 track finder algorithm.
 
ca::TrackingMode fTrackingMode = ca::TrackingMode::kSts
 Tracking mode.
 
ca::Vector< CbmL1TrackfvRecoTracks = {"CbmL1::fvRecoTracks"}
 Reconstructed tracks container.
 
ca::Vector< CbmL1HitIdfvExternalHits = {"CbmL1::fvExternalHits"}
 Array of hits.
 

Private Member Functions

void IdealTrackFinder ()
 Runs ideal track finder: copies all MC-tracks into reconstructed tracks.
 
void Fill_vMCTracks ()
 Fills the fvMCTracks vector and the fmMCTracksMap.
 
template<ca::EDetectorID DetId>
std::tuple< int, std::vector< int > > MatchHitWithMc (int iHit) const
 Matches hit with MC point.
 
void FieldApproxCheck ()
 
void FieldIntegralCheck ()
 
void TimeHist ()
 
void SetRandomSeed (unsigned int seed)
 Sets random seed to CA internal random generator.
 
void EfficienciesPerformance (bool doFinish=kFALSE)
 Calculates tracking efficiencies (counters)
 
void TrackFitPerformance ()
 
void FillFitHistos (cbm::algo::kf::TrackParamV &tr, const cbm::ca::tools::MCPoint &mc, bool isTimeFitted, TH1F *h[])
 
void HistoPerformance ()
 Fills performance histograms.
 
void DumpMCTripletsToTree ()
 
void DefineSTAPNames (const char *dirName)
 Defines names for output in STAP mode.
 
void WriteSTAPParamObject ()
 Writes initialized L1Parameters object to file "".
 
void WriteSTAPAlgoInputData (int iJob=0)
 
void WriteSTAPPerfInputData ()
 
void ReadSTAPParamObject ()
 
void ReadSTAPAlgoInputData (int iJob=0)
 
void ReadSTAPPerfInputData ()
 
ca::InitManagerGetInitManager ()
 Gets a pointer to L1InitManager (for an access in run_reco.C)
 
void WriteHistosCurFile (TObject *obj)
 
void DumpMaterialToFile (TString fileName)
 
 ClassDef (CbmL1, 0)
 

Static Private Member Functions

static std::istream & eatwhite (std::istream &is)
 
static void writedir2current (TObject *obj)
 

Private Attributes

std::string fInputDataFilename = ""
 File name to read/write input hits.
 
std::string fsInputSearchWindowsFilename = ""
 File name to read search windows.
 
std::unique_ptr< cbm::ca::TimeSliceReaderfpTSReader = nullptr
 event/TS reader
 
std::unique_ptr< cbm::ca::MCModulefpMCModule = nullptr
 MC module.
 
cbm::ca::tools::MCData fMCData
 MC Data object.
 
ca::InitManager fInitManager
 Tracking parameters data manager.
 
std::shared_ptr< ca::DataManagerfpIODataManager = nullptr
 Input-output data manager.
 
bool fDoSafeMaterialInitialization {false}
 
double fTargetX {1.e10}
 target position X
 
double fTargetY {1.e10}
 target position Y
 
double fTargetZ {1.e10}
 target position Z
 
int fNStations = 0
 number of total active detector stations
 
Int_t fPerformance = 0
 performance mode: 0 - w\o perf. 1 - L1-Efficiency definition. 2 - QA-Eff.definition
 
double fTrackingTime = 0.
 time of track finding procedure
 
int fSTAPDataMode = 4
 Option to work with files for the standalone mode.
 
TString fSTAPDataDir = "."
 Name of input/output directory for running in a STAP mode.
 
TString fSTAPDataPrefix = "test"
 Name of input/output file prefix. The prefix is defined by output TTree file.
 
TString fSTAPParamFile = ""
 Name of the parameter file (generated automatically, if not provided manually)
 
Int_t fTrackingLevel = 2
 
Double_t fMomentumCutOff = 0.1
 
int fEventNo = 0
 Current number of event/TS.
 
int fNofRecoTracks = 0
 Total number of reconstructed tracks.
 
ca::Vector< CbmL1HitDebugInfofvHitDebugInfo
 Container of hits with extended information.
 
cbm::ca::DetIdArr_t< std::set< int > > fvmDisabledStationIDs
 
TFile * fPerfFile {nullptr}
 Array of local indices of disabled tracking stations.
 
TDirectory * fHistoDir {nullptr}
 
TDirectory * fTableDir {nullptr}
 
TH1F * fTimeHisto [fNTimeHistos] {nullptr}
 
TH1F * fGhostHisto [fNGhostHistos] {nullptr}
 
TFile * fpMcTripletsOutFile = nullptr
 File to save MC-triplets tree.
 
TTree * fpMcTripletsTree = nullptr
 Tree to save MC-triplets.
 
std::string fsMcTripletsOutputFilename = ""
 Name of file to save MC-triplets tree.
 
int fMatBudgetNbins {100}
 n bins in mat budget maps (fMatBudgetNbins x fMatBudgetNbins)
 
int fMatBudgetNrays {3}
 material budget n rays per dimansion in each bin
 
double fMatBudgetPitch {0.1}
 material budget minimal bin size in cm
 
EInitMode fInitMode = EInitMode::Full
 Initialization mode.
 
bool fMatBudgetParallelProjection {false}
 
bool fExtrapolateToTheEndOfSTS {false}
 
std::vector< cbm::algo::kf::MaterialMonitorfMaterialMonitor {}
 Material monitors for each material budget map.
 

Static Private Attributes

static CbmL1fpInstance = nullptr
 Instance of CbmL1.
 
static constexpr std::string_view kSTAPParamSuffix = "ca.par"
 Extension for IO of the L1Parameters object.
 
static constexpr std::string_view kSTAPSetupSuffix = "kf.setup"
 
static constexpr std::string_view kSTAPAlgoIDataSuffix = "job%d.ca.input.dat"
 
static constexpr std::string_view kSTAPAlgoIDataDir = "input_hits"
 Name of subdirectory for handling ca::InputData objects.
 
static const int fNTimeHistos = 22
 
static const int fNGhostHistos = 9
 

Friends

class L1AlgoDraw
 
class L1AlgoPulls
 
template<int NHits>
class L1AlgoEfficiencyPerformance
 
class CbmL1MCTrack
 
class CbmL1PFFitter
 

Detailed Description

ca::Framework runtime constants modification can be performed in run_reco.C. Example:

l1->GetInitManager()->GetParameters()->SetMaxDoubletsPerSinglet(149); TODO: L1InitManager - main interface of communication between cbmroot/bmnroot and ca::Framework (S.Zharko)

Definition at line 109 of file CbmL1.h.

Member Typedef Documentation

◆ DFSET

using CbmL1::DFSET = std::set<std::pair<int, int>>

Definition at line 115 of file CbmL1.h.

Member Enumeration Documentation

◆ EInitMode

enum class CbmL1::EInitMode
strong
Enumerator
Full 

Full initialization (default)

Param 

Parameter initialization (when algorithm execution is not required)

Definition at line 130 of file CbmL1.h.

Constructor & Destructor Documentation

◆ CbmL1() [1/4]

CbmL1::CbmL1 ( )

Default constructor.

Definition at line 87 of file CbmL1.cxx.

◆ CbmL1() [2/4]

CbmL1::CbmL1 ( const char * name,
Int_t verbose = 1,
Int_t performance = 0 )

Constructor from parameters

Parameters
nameName of the task
verboseVerbosity level
performancePerformance run flag:
  • #0 run without performance measurement
  • #1 require 4 consecutive hits on reconstructible mc track
  • #2 require 4 hits on reconstructible mc track
  • #3 require 4 consecutive mc points on reconstructible mc track

Definition at line 91 of file CbmL1.cxx.

References DefineSTAPNames(), fpInstance, fpIODataManager, fSTAPDataMode, and CbmTrackingDetectorInterfaceInit::Instance().

◆ CbmL1() [3/4]

CbmL1::CbmL1 ( const CbmL1 & )
delete

Copy constructor.

◆ CbmL1() [4/4]

CbmL1::CbmL1 ( CbmL1 && )
delete

Move constructor.

◆ ~CbmL1()

CbmL1::~CbmL1 ( )

Destructor.

Definition at line 114 of file CbmL1.cxx.

References fpInstance.

Member Function Documentation

◆ boundedGaus()

static double CbmL1::boundedGaus ( double sigma)
static

◆ ClassDef()

CbmL1::ClassDef ( CbmL1 ,
0  )
private

◆ DefineSTAPNames()

void CbmL1::DefineSTAPNames ( const char * dirName)
private

Defines names for output in STAP mode.

--— STandAlone Package service-functions --------------------------—

Parameters
dirNameName of output directory for STAP data

Defines the name of input/output directory [dir] and prefix of the files [pref], which is used to define input and output data trees in the reconstruction macro. If the output TTree file has name /path/to/[pref].reco.root, the data files will be: [dir]/input_hits/[pref].job[No].ca.input.dat - hits input files, containing serialized ca::InputData objects, stored for each job (each call of CbmL1::ReadEvent function) [dir]/[pref].ca.par - parameters input files, containing serialized L1Parameters object

Definition at line 826 of file CbmL1.cxx.

References fSTAPDataDir, fSTAPDataMode, and fSTAPDataPrefix.

Referenced by CbmL1().

◆ DisableTrackingStation()

void CbmL1::DisableTrackingStation ( ca::EDetectorID detID,
int iSt )

Disables tracking station for a given detector subsystem.

Parameters
detIDDetector ID
iStIndex of station in tracking station interface

Possible entries of Detector ID are listed in CbmL1DetectorID.h.

Definition at line 121 of file CbmL1.cxx.

References fvmDisabledStationIDs.

◆ DumpMaterialToFile()

void CbmL1::DumpMaterialToFile ( TString fileName)
private

◆ DumpMCTripletsToTree()

void CbmL1::DumpMCTripletsToTree ( )
private

Writes MC triplets to tree

Note
Executed only if the filename for MC tracks ntuple output is defined

< mother ID of track

< PDG code of track

< process ID (see ROOT::TMCProcessID)

< abs. momentum of track [GeV/c]

< charge of track [e]

< z-component of the MC track vertex [cm]

< global index of the left MC point station

< x-component of the left MC point in a triplet [cm]

< y-component of the left MC point in a triplet [cm]

< z-component of the left MC point in a triplet [cm]

< x-component of the middle MC point in a triplet [cm]

< y-component of the middle MC point in a triplet [cm]

< z-component of the middle MC point in a triplet [cm]

< x-component of the right MC point in a triplet [cm]

< y-component of the right MC point in a triplet [cm]

< z-component of the right MC point in a triplet [cm]

< global active index of tracking station

< x-component of point position [cm]

< y-component of point position [cm]

< z-component of point position [cm]

Definition at line 1745 of file CbmL1Performance.cxx.

References fMCData, fpMcTripletsOutFile, fpMcTripletsTree, fsMcTripletsOutputFilename, cbm::ca::tools::MCData::GetPoint(), cbm::ca::tools::MCData::GetTrackContainer(), x, and y.

Referenced by Reconstruct().

◆ eatwhite()

static std::istream & CbmL1::eatwhite ( std::istream & is)
staticprivate

◆ EfficienciesPerformance()

◆ FieldApproxCheck()

◆ FieldIntegralCheck()

void CbmL1::FieldIntegralCheck ( )
private

Definition at line 1678 of file CbmL1Performance.cxx.

References sqrt(), x, and y.

◆ Fill_vMCTracks()

void CbmL1::Fill_vMCTracks ( )
private

Fills the fvMCTracks vector and the fmMCTracksMap.

◆ FillFitHistos()

void CbmL1::FillFitHistos ( cbm::algo::kf::TrackParamV & tr,
const cbm::ca::tools::MCPoint & mc,
bool isTimeFitted,
TH1F * h[] )
private

Definition at line 1523 of file CbmL1Performance.cxx.

References cbm::algo::kf::TrackParamBase< T >::C00(), cbm::algo::kf::TrackParamBase< T >::C11(), cbm::algo::kf::TrackParamBase< T >::C22(), cbm::algo::kf::TrackParamBase< T >::C33(), cbm::algo::kf::TrackParamBase< T >::C44(), cbm::algo::kf::TrackParamBase< T >::C55(), cbm::algo::kf::TrackParamBase< T >::C66(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), cbm::algo::kf::GlobalField::fgOriginalField, fpAlgo, cbm::algo::ca::Framework::GetDefaultParticleMass(), cbm::ca::tools::MCPoint::GetInvSpeed(), cbm::ca::tools::MCPoint::GetP(), cbm::algo::kf::TrackParamBase< T >::GetQp(), cbm::ca::tools::MCPoint::GetQp(), cbm::algo::kf::TrackParamBase< T >::GetTime(), cbm::ca::tools::MCPoint::GetTime(), cbm::algo::kf::TrackParamBase< T >::GetTx(), cbm::ca::tools::MCPoint::GetTxOut(), cbm::algo::kf::TrackParamBase< T >::GetTy(), cbm::ca::tools::MCPoint::GetTyOut(), cbm::algo::kf::TrackParamBase< T >::GetVi(), cbm::algo::kf::TrackParamBase< T >::GetX(), cbm::ca::tools::MCPoint::GetXOut(), cbm::algo::kf::TrackParamBase< T >::GetY(), cbm::ca::tools::MCPoint::GetYOut(), cbm::ca::tools::MCPoint::GetZOut(), cbm::algo::kf::fmask::One(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetDoFitVelocity(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetParticleMass(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetTrack(), cbm::algo::ca::constants::phys::SpeedOfLightD, sqrt(), and cbm::algo::kf::TrackKalmanFilter< DataT >::Tr().

Referenced by TrackFitPerformance().

◆ Finish()

◆ GetDetectorName()

static constexpr const char * CbmL1::GetDetectorName ( ca::EDetectorID detectorID)
inlinestaticconstexpr

Utility to map the L1DetectorID items into detector names.

Definition at line 245 of file CbmL1.h.

Referenced by cbm::ca::TimeSliceReader::ReadHitsForDetector().

◆ GetInitManager()

ca::InitManager * CbmL1::GetInitManager ( )
inlineprivate

Gets a pointer to L1InitManager (for an access in run_reco.C)

Definition at line 398 of file CbmL1.h.

References fInitManager.

◆ GetMCData()

const cbm::ca::tools::MCData & CbmL1::GetMCData ( ) const
inline

Gets reference to MC data object.

Definition at line 185 of file CbmL1.h.

References fMCData.

Referenced by CbmL1MCTrack::CalculateIsReconstructable(), CbmL1MCTrack::CalculateMaxNStaMC(), CbmL1MCTrack::CalculateMCCont(), and CbmL1MCTrack::Init().

◆ GetQaHits()

const auto & CbmL1::GetQaHits ( ) const
inline

Gets vector of the extended QA hits TODO: It is a temporary function, do not rely on it

Definition at line 242 of file CbmL1.h.

References fvHitDebugInfo.

◆ HistoPerformance()

◆ IdealTrackFinder()

◆ Init()

InitStatus CbmL1::Init ( )
virtual

Defines action in the beginning of the run (initialization)

TMP, move to parameters!

Definition at line 138 of file CbmL1.cxx.

References cbm::algo::ca::InitManager::AddStation(), cbm::algo::ca::InitManager::DevSetIsParSearchWUsed(), DumpMaterialToFile(), fHistoDir, fInitManager, fInitMode, fMaterialMonitor, fMCData, fMonitor, fNStations, cbm::algo::ca::InitManager::FormParametersContainer(), fpAlgo, fPerformance, fpIODataManager, fpMCModule, fpTSReader, fsInputSearchWindowsFilename, fSTAPDataDir, fSTAPDataMode, fSTAPDataPrefix, fTableDir, fTargetX, fTargetY, fTargetZ, fTrackingMode, fvExternalHits, fvHitDebugInfo, fvmDisabledStationIDs, fvRecoTracks, cbm::algo::ca::Framework::Init(), cbm::algo::ca::InitManager::InitStationLayout(), cbm::algo::ca::InitManager::InitTargetField(), cbm::kf::Target::Instance(), cbm::kf::TrackingSetupBuilder::Instance(), CbmMuchTrackingInterface::Instance(), CbmMvdTrackingInterface::Instance(), CbmStsTrackingInterface::Instance(), CbmTofTrackingInterface::Instance(), CbmTrdTrackingInterface::Instance(), cbm::algo::kf::Intrpl, cbm::algo::ca::InitManager::IsActive(), cbm::ca::kDetName, kSTAPSetupSuffix, Param, cbm::algo::ca::InitManager::ReadInputConfigs(), cbm::algo::ca::InitManager::ReadSearchWindows(), ReadSTAPParamObject(), cbm::algo::ca::Framework::ReceiveParameters(), cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::Reset(), cbm::algo::ca::InitManager::SetConfigMain(), cbm::algo::ca::InitManager::SetDetectorNames(), cbm::algo::ca::InitManager::SetFieldFunction(), cbm::algo::ca::InitManager::SetGeometrySetup(), cbm::ca::tools::SetOriginalCbmField(), cbm::algo::ca::InitManager::SetTargetPosition(), cbm::algo::kf::SetupBuilder::Store(), cbm::algo::ca::InitManager::TakeParameters(), WriteSTAPParamObject(), and y.

Referenced by ReInit().

◆ Instance()

◆ MatchHitWithMc()

template<ca::EDetectorID DetId>
std::tuple< int, std::vector< int > > CbmL1::MatchHitWithMc ( int iHit) const
private

Matches hit with MC point.

Template Parameters
DetIdDetector ID
Parameters
iHitExternal index of hit
Returns
MC-point index in fvMCPoints array

◆ operator=() [1/2]

CbmL1 & CbmL1::operator= ( CbmL1 && )
delete

Move assignment operator.

◆ operator=() [2/2]

CbmL1 & CbmL1::operator= ( const CbmL1 & )
delete

Copy assignment operator.

◆ ReadSTAPAlgoInputData()

void CbmL1::ReadSTAPAlgoInputData ( int iJob = 0)
private

◆ ReadSTAPParamObject()

void CbmL1::ReadSTAPParamObject ( )
private

Reads a sample of an ca::InputData object from defined directory fSTAPDataDir

Parameters
iJobNumber of job, usually is defined by the nCalls of executing function
Note
Reads from a file fSTAPDataDir + "/" + fSTAPDataPrefix + "." + TString::Format(kSTAPAlgoIDataSuffix, iJob)

Definition at line 904 of file CbmL1.cxx.

References fInitManager, fSTAPDataDir, fSTAPDataPrefix, kSTAPParamSuffix, and cbm::algo::ca::InitManager::ReadParametersObject().

Referenced by Init().

◆ ReadSTAPPerfInputData()

void CbmL1::ReadSTAPPerfInputData ( )
private

Definition at line 923 of file CbmL1.cxx.

◆ Reconstruct()

◆ ReInit()

InitStatus CbmL1::ReInit ( )
virtual

Reruns the initialization.

Definition at line 130 of file CbmL1.cxx.

References Init().

◆ SetConfigUser()

void CbmL1::SetConfigUser ( const char * path)
inline

Sets user configuration filename.

Parameters
pathPath to the config

Definition at line 219 of file CbmL1.h.

References fInitManager, and cbm::algo::ca::InitManager::SetConfigUser().

◆ SetExtrapolateToTheEndOfSTS()

void CbmL1::SetExtrapolateToTheEndOfSTS ( bool b)
inline

Definition at line 258 of file CbmL1.h.

References fExtrapolateToTheEndOfSTS.

◆ SetGlobalMode()

void CbmL1::SetGlobalMode ( )
inline

Definition at line 261 of file CbmL1.h.

References fTrackingMode.

◆ SetInitMode()

void CbmL1::SetInitMode ( EInitMode mode)
inline

Sets initialization mode.

Parameters
modeA CbmL1::EInitMode enumeration entry

Definition at line 198 of file CbmL1.h.

References fInitMode.

◆ SetInputSearchWindowFilename()

void CbmL1::SetInputSearchWindowFilename ( const char * filename)
inline

Sets a name for the input search window file If the filename is not defined, a default track finder with Kalman filter is used. Otherwise, an experimental version of track finder with estimated hit search windows is utilised.

Parameters
filenameName of the input search window file

Definition at line 225 of file CbmL1.h.

References fsInputSearchWindowsFilename.

◆ SetMaterialBudgetNbins()

void CbmL1::SetMaterialBudgetNbins ( int nBinsPerDimension)
inline

Sets material budget binning.

Definition at line 205 of file CbmL1.h.

References fMatBudgetNbins.

◆ SetMaterialBudgetNrays()

void CbmL1::SetMaterialBudgetNrays ( int nRaysPerDimension)
inline

Sets material budget n rays per dimansion in each bin.

Definition at line 208 of file CbmL1.h.

References fMatBudgetNrays.

◆ SetMaterialBudgetParallelProjection()

void CbmL1::SetMaterialBudgetParallelProjection ( )
inline

Calculate material budget with rays, parallel to Z axis Only needed in debug mode to produce detailed picture of the material

Definition at line 215 of file CbmL1.h.

References fMatBudgetParallelProjection.

◆ SetMaterialBudgetPitch()

void CbmL1::SetMaterialBudgetPitch ( double pitchCm)
inline

Sets material budget minimal bin size in cm.

Definition at line 211 of file CbmL1.h.

References fMatBudgetPitch.

◆ SetMcbmMode()

void CbmL1::SetMcbmMode ( )
inline

Definition at line 260 of file CbmL1.h.

References fTrackingMode.

◆ SetMuchMaterialBudgetFileName()

void CbmL1::SetMuchMaterialBudgetFileName ( const TString & )
inline

Sets material budget file name for MuCh.

Definition at line 292 of file CbmL1.h.

◆ SetMvdMaterialBudgetFileName()

void CbmL1::SetMvdMaterialBudgetFileName ( const TString & )
inline

Obsolete setters to be removed.

Sets material budget file name for MVD

Definition at line 278 of file CbmL1.h.

◆ SetOutputConfigName()

void CbmL1::SetOutputConfigName ( const char * filename)
inline

Sets a name for the output configuration file.

Parameters
filenameName of the input tracking configuration file

Definition at line 229 of file CbmL1.h.

References fInitManager, and cbm::algo::ca::InitManager::SetOutputConfigName().

◆ SetOutputMcTripletsTreeFilename()

void CbmL1::SetOutputMcTripletsTreeFilename ( const char * filename)
inline

Sets output file for MC triplets tree If the filename is empty string, tree is not filled.

Parameters
filenameName of the output file name

Definition at line 238 of file CbmL1.h.

References fsMcTripletsOutputFilename.

◆ SetParameterFilename()

void CbmL1::SetParameterFilename ( const char * filename)
inline

Sets a name for the ca-parameter file.

Parameters
filenameName of the parameter file

Definition at line 233 of file CbmL1.h.

References fSTAPParamFile.

◆ SetRandomSeed()

void CbmL1::SetRandomSeed ( unsigned int seed)
inlineprivate

Sets random seed to CA internal random generator.

Parameters
seedRandom seed

Definition at line 346 of file CbmL1.h.

References fInitManager, and cbm::algo::ca::InitManager::SetRandomSeed().

◆ SetSafeMaterialInitialization()

void CbmL1::SetSafeMaterialInitialization ( bool val = true)
inline

Sets safe but slow material initialisation to get around potential problems in TGeoVoxelFinder (use it only in case of a crash at the initialisation of material maps)

Definition at line 202 of file CbmL1.h.

References fDoSafeMaterialInitialization.

◆ SetStsMaterialBudgetFileName()

void CbmL1::SetStsMaterialBudgetFileName ( const TString & )
inline

Sets material budget file name for STS.

Definition at line 285 of file CbmL1.h.

◆ SetStsOnlyMode()

void CbmL1::SetStsOnlyMode ( )
inline

Definition at line 259 of file CbmL1.h.

References fTrackingMode.

◆ SetTofMaterialBudgetFileName()

void CbmL1::SetTofMaterialBudgetFileName ( const TString & )
inline

Sets material budget file name for TOF.

Definition at line 306 of file CbmL1.h.

◆ SetTrdMaterialBudgetFileName()

void CbmL1::SetTrdMaterialBudgetFileName ( const TString & )
inline

Sets material budget file name for TRD.

Definition at line 299 of file CbmL1.h.

◆ TimeHist()

void CbmL1::TimeHist ( )
private

◆ TrackFitPerformance()

void CbmL1::TrackFitPerformance ( )
private

Builds pulls and residuals

Note
Should be called only after CbmL1::Performance()

Definition at line 1073 of file CbmL1Performance.cxx.

References cbm::algo::kf::TrackParamBase< T >::C00(), cbm::algo::kf::TrackParamBase< T >::C11(), cbm::algo::kf::TrackParamBase< T >::C22(), cbm::algo::kf::TrackParamBase< T >::C33(), cbm::algo::kf::TrackParamBase< T >::C44(), cbm::algo::kf::TrackParamBase< T >::C55(), cbm::algo::kf::TrackParamBase< T >::C66(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), cbm::algo::kf::GlobalField::fgOriginalField, cbm::algo::kf::GlobalField::fgOriginalFieldType, fHistoDir, FillFitHistos(), fMCData, fNStations, fpAlgo, fvHitDebugInfo, fvRecoTracks, cbm::algo::ca::Framework::GetDefaultParticleMass(), cbm::algo::ca::Framework::GetParameters(), cbm::ca::tools::MCData::GetPoint(), cbm::algo::kf::TrackParamBase< T >::GetQp(), cbm::algo::kf::TrackParamBase< T >::GetTime(), cbm::ca::tools::MCData::GetTrack(), cbm::algo::ca::Framework::GetTrackingMode(), cbm::algo::kf::TrackParamBase< T >::GetTx(), cbm::algo::kf::TrackParamBase< T >::GetTy(), cbm::algo::kf::TrackParamBase< T >::GetVi(), cbm::algo::kf::TrackParamBase< T >::GetX(), cbm::algo::kf::TrackParamBase< T >::GetY(), cbm::algo::kf::TrackParamBase< T >::GetZ(), cbm::algo::kf::TrackKalmanFilter< DataT >::MultipleScattering(), cbm::algo::kf::fmask::One(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetDoFitVelocity(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetParticleMass(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetTrack(), cbm::algo::ca::constants::phys::SpeedOfLightD, cbm::algo::ca::constants::phys::SpeedOfLightInvD, sqrt(), and cbm::algo::kf::TrackKalmanFilter< DataT >::Tr().

Referenced by Reconstruct().

◆ writedir2current()

void CbmL1::writedir2current ( TObject * obj)
staticprivate

Definition at line 752 of file CbmL1.cxx.

References writedir2current().

Referenced by Finish(), and writedir2current().

◆ WriteHistosCurFile()

void CbmL1::WriteHistosCurFile ( TObject * obj)
private

◆ WriteSTAPAlgoInputData()

void CbmL1::WriteSTAPAlgoInputData ( int iJob = 0)
private

Writes a sample of an ca::InputData object to defined directory fSTAPDataDir

Parameters
iJobNumber of job, usually is defined by the nCalls of executing function
Note
Creates a file fSTAPDataDir + "/" + fSTAPDataPrefix + "." + TString::Format(kSTAPAlgoIDataSuffix, iJob)

Definition at line 886 of file CbmL1.cxx.

References fpIODataManager, fSTAPDataDir, fSTAPDataPrefix, and kSTAPAlgoIDataSuffix.

◆ WriteSTAPParamObject()

void CbmL1::WriteSTAPParamObject ( )
private

Writes initialized L1Parameters object to file "".

Definition at line 876 of file CbmL1.cxx.

References fInitManager, fSTAPDataDir, fSTAPDataPrefix, fSTAPParamFile, kSTAPParamSuffix, and cbm::algo::ca::InitManager::WriteParametersObject().

Referenced by Init().

◆ WriteSTAPPerfInputData()

void CbmL1::WriteSTAPPerfInputData ( )
private

Definition at line 897 of file CbmL1.cxx.

Friends And Related Symbol Documentation

◆ CbmL1MCTrack

friend class CbmL1MCTrack
friend

Definition at line 127 of file CbmL1.h.

◆ CbmL1PFFitter

friend class CbmL1PFFitter
friend

Definition at line 128 of file CbmL1.h.

◆ L1AlgoDraw

friend class L1AlgoDraw
friend

Definition at line 121 of file CbmL1.h.

◆ L1AlgoEfficiencyPerformance

template<int NHits>
friend class L1AlgoEfficiencyPerformance
friend

Definition at line 125 of file CbmL1.h.

◆ L1AlgoPulls

friend class L1AlgoPulls
friend

Definition at line 122 of file CbmL1.h.

Member Data Documentation

◆ fDoSafeMaterialInitialization

bool CbmL1::fDoSafeMaterialInitialization {false}
private

Definition at line 434 of file CbmL1.h.

Referenced by SetSafeMaterialInitialization().

◆ fEventNo

int CbmL1::fEventNo = 0
private

Current number of event/TS.

Definition at line 478 of file CbmL1.h.

Referenced by Reconstruct().

◆ fExtrapolateToTheEndOfSTS

bool CbmL1::fExtrapolateToTheEndOfSTS {false}
private

Definition at line 522 of file CbmL1.h.

Referenced by SetExtrapolateToTheEndOfSTS().

◆ fGhostHisto

TH1F* CbmL1::fGhostHisto[fNGhostHistos] {nullptr}
private

Definition at line 507 of file CbmL1.h.

◆ fHistoDir

TDirectory* CbmL1::fHistoDir {nullptr}
private

Definition at line 500 of file CbmL1.h.

Referenced by Finish(), HistoPerformance(), Init(), and TrackFitPerformance().

◆ fInitManager

ca::InitManager CbmL1::fInitManager
private

Tracking parameters data manager.

Definition at line 419 of file CbmL1.h.

Referenced by GetInitManager(), Init(), ReadSTAPParamObject(), SetConfigUser(), SetOutputConfigName(), SetRandomSeed(), and WriteSTAPParamObject().

◆ fInitMode

EInitMode CbmL1::fInitMode = EInitMode::Full
private

Initialization mode.

Definition at line 517 of file CbmL1.h.

Referenced by Init(), and SetInitMode().

◆ fInputDataFilename

std::string CbmL1::fInputDataFilename = ""
private

File name to read/write input hits.

Definition at line 412 of file CbmL1.h.

◆ fMatBudgetNbins

int CbmL1::fMatBudgetNbins {100}
private

n bins in mat budget maps (fMatBudgetNbins x fMatBudgetNbins)

Definition at line 513 of file CbmL1.h.

Referenced by SetMaterialBudgetNbins().

◆ fMatBudgetNrays

int CbmL1::fMatBudgetNrays {3}
private

material budget n rays per dimansion in each bin

Definition at line 514 of file CbmL1.h.

Referenced by SetMaterialBudgetNrays().

◆ fMatBudgetParallelProjection

bool CbmL1::fMatBudgetParallelProjection {false}
private

Calculate material budget with rays, parallel to Z axis Only needed in debug mode to produce detailed picture of the material

Definition at line 519 of file CbmL1.h.

Referenced by DumpMaterialToFile(), and SetMaterialBudgetParallelProjection().

◆ fMatBudgetPitch

double CbmL1::fMatBudgetPitch {0.1}
private

material budget minimal bin size in cm

Definition at line 515 of file CbmL1.h.

Referenced by SetMaterialBudgetPitch().

◆ fMaterialMonitor

std::vector<cbm::algo::kf::MaterialMonitor> CbmL1::fMaterialMonitor {}
private

Material monitors for each material budget map.

Definition at line 524 of file CbmL1.h.

Referenced by Finish(), Init(), and Reconstruct().

◆ fMCData

cbm::ca::tools::MCData CbmL1::fMCData
private

◆ fMomentumCutOff

Double_t CbmL1::fMomentumCutOff = 0.1
private

Definition at line 476 of file CbmL1.h.

◆ fMonitor

ca::TrackingMonitor CbmL1::fMonitor {}

Tracking monitor.

Definition at line 263 of file CbmL1.h.

Referenced by Finish(), Init(), and Reconstruct().

◆ fNGhostHistos

const int CbmL1::fNGhostHistos = 9
staticprivate

Definition at line 506 of file CbmL1.h.

◆ fNofRecoTracks

int CbmL1::fNofRecoTracks = 0
private

Total number of reconstructed tracks.

Definition at line 479 of file CbmL1.h.

◆ fNStations

int CbmL1::fNStations = 0
private

number of total active detector stations

Definition at line 441 of file CbmL1.h.

Referenced by EfficienciesPerformance(), Init(), and TrackFitPerformance().

◆ fNTimeHistos

const int CbmL1::fNTimeHistos = 22
staticprivate

Definition at line 503 of file CbmL1.h.

◆ fpAlgo

◆ fPerfFile

TFile* CbmL1::fPerfFile {nullptr}
private

Array of local indices of disabled tracking stations.

Definition at line 499 of file CbmL1.h.

◆ fPerformance

Int_t CbmL1::fPerformance = 0
private

performance mode: 0 - w\o perf. 1 - L1-Efficiency definition. 2 - QA-Eff.definition

Definition at line 443 of file CbmL1.h.

Referenced by CbmL1MCTrack::CalculateIsReconstructable(), Finish(), Init(), and Reconstruct().

◆ fpInstance

CbmL1 * CbmL1::fpInstance = nullptr
staticprivate

Instance of CbmL1.

Definition at line 432 of file CbmL1.h.

Referenced by CbmL1(), Instance(), and ~CbmL1().

◆ fpIODataManager

std::shared_ptr<ca::DataManager> CbmL1::fpIODataManager = nullptr
private

Input-output data manager.

Definition at line 420 of file CbmL1.h.

Referenced by CbmL1(), Init(), ReadSTAPAlgoInputData(), Reconstruct(), and WriteSTAPAlgoInputData().

◆ fpMCModule

std::unique_ptr<cbm::ca::MCModule> CbmL1::fpMCModule = nullptr
private

MC module.

Definition at line 416 of file CbmL1.h.

Referenced by Init(), and Reconstruct().

◆ fpMcTripletsOutFile

TFile* CbmL1::fpMcTripletsOutFile = nullptr
private

File to save MC-triplets tree.

Definition at line 509 of file CbmL1.h.

Referenced by DumpMCTripletsToTree(), and Finish().

◆ fpMcTripletsTree

TTree* CbmL1::fpMcTripletsTree = nullptr
private

Tree to save MC-triplets.

Definition at line 510 of file CbmL1.h.

Referenced by DumpMCTripletsToTree(), and Finish().

◆ fpTSReader

std::unique_ptr<cbm::ca::TimeSliceReader> CbmL1::fpTSReader = nullptr
private

event/TS reader

Definition at line 415 of file CbmL1.h.

Referenced by Init(), and Reconstruct().

◆ fsInputSearchWindowsFilename

std::string CbmL1::fsInputSearchWindowsFilename = ""
private

File name to read search windows.

Definition at line 413 of file CbmL1.h.

Referenced by Init(), and SetInputSearchWindowFilename().

◆ fsMcTripletsOutputFilename

std::string CbmL1::fsMcTripletsOutputFilename = ""
private

Name of file to save MC-triplets tree.

Definition at line 511 of file CbmL1.h.

Referenced by DumpMCTripletsToTree(), Reconstruct(), and SetOutputMcTripletsTreeFilename().

◆ fSTAPDataDir

TString CbmL1::fSTAPDataDir = "."
private

Name of input/output directory for running in a STAP mode.

Definition at line 455 of file CbmL1.h.

Referenced by DefineSTAPNames(), Init(), ReadSTAPAlgoInputData(), ReadSTAPParamObject(), WriteSTAPAlgoInputData(), and WriteSTAPParamObject().

◆ fSTAPDataMode

int CbmL1::fSTAPDataMode = 4
private

Option to work with files for the standalone mode.

Option to work with files for the standalone mode

  • #0 standalone mode is not used
  • #1 data for standalone mode is written to configuration file (currently does not work)
  • #2 tracking runs in standalone mode using configuration file (currently does not work)
  • #3 data is written and read (currently does not work)
  • #4 parameter file is saved, but the data does not

Definition at line 453 of file CbmL1.h.

Referenced by CbmL1(), DefineSTAPNames(), and Init().

◆ fSTAPDataPrefix

TString CbmL1::fSTAPDataPrefix = "test"
private

Name of input/output file prefix. The prefix is defined by output TTree file.

Definition at line 456 of file CbmL1.h.

Referenced by DefineSTAPNames(), Init(), ReadSTAPAlgoInputData(), ReadSTAPParamObject(), WriteSTAPAlgoInputData(), and WriteSTAPParamObject().

◆ fSTAPParamFile

TString CbmL1::fSTAPParamFile = ""
private

Name of the parameter file (generated automatically, if not provided manually)

Definition at line 457 of file CbmL1.h.

Referenced by SetParameterFilename(), and WriteSTAPParamObject().

◆ fTableDir

TDirectory* CbmL1::fTableDir {nullptr}
private

Definition at line 501 of file CbmL1.h.

Referenced by EfficienciesPerformance(), Finish(), and Init().

◆ fTargetX

double CbmL1::fTargetX {1.e10}
private

target position X

Do safe but slow material initialisation to get around potential problems in TGeoVoxelFinder

Definition at line 437 of file CbmL1.h.

Referenced by Init().

◆ fTargetY

double CbmL1::fTargetY {1.e10}
private

target position Y

Definition at line 438 of file CbmL1.h.

Referenced by Init().

◆ fTargetZ

double CbmL1::fTargetZ {1.e10}
private

target position Z

Definition at line 439 of file CbmL1.h.

Referenced by Init().

◆ fTimeHisto

TH1F* CbmL1::fTimeHisto[fNTimeHistos] {nullptr}
private

Definition at line 504 of file CbmL1.h.

◆ fTrackingLevel

Int_t CbmL1::fTrackingLevel = 2
private

Definition at line 475 of file CbmL1.h.

◆ fTrackingMode

ca::TrackingMode CbmL1::fTrackingMode = ca::TrackingMode::kSts

Tracking mode.

Definition at line 427 of file CbmL1.h.

Referenced by Init(), SetGlobalMode(), SetMcbmMode(), and SetStsOnlyMode().

◆ fTrackingTime

double CbmL1::fTrackingTime = 0.
private

time of track finding procedure

Definition at line 444 of file CbmL1.h.

Referenced by EfficienciesPerformance(), HistoPerformance(), and Reconstruct().

◆ fvExternalHits

◆ fvHitDebugInfo

ca::Vector<CbmL1HitDebugInfo> CbmL1::fvHitDebugInfo
private
Initial value:
= {
"CbmL1::fvHitDebugInfo"}

Container of hits with extended information.

Definition at line 487 of file CbmL1.h.

Referenced by CbmL1MCTrack::CountHitStations(), EfficienciesPerformance(), GetQaHits(), HistoPerformance(), IdealTrackFinder(), Init(), and TrackFitPerformance().

◆ fvmDisabledStationIDs

cbm::ca::DetIdArr_t<std::set<int> > CbmL1::fvmDisabledStationIDs
private

Definition at line 493 of file CbmL1.h.

Referenced by DisableTrackingStation(), and Init().

◆ fvRecoTracks

ca::Vector<CbmL1Track> CbmL1::fvRecoTracks = {"CbmL1::fvRecoTracks"}

◆ kSTAPAlgoIDataDir

std::string_view CbmL1::kSTAPAlgoIDataDir = "input_hits"
staticconstexprprivate

Name of subdirectory for handling ca::InputData objects.

Definition at line 472 of file CbmL1.h.

Referenced by ReadSTAPAlgoInputData().

◆ kSTAPAlgoIDataSuffix

std::string_view CbmL1::kSTAPAlgoIDataSuffix = "job%d.ca.input.dat"
staticconstexprprivate

Definition at line 469 of file CbmL1.h.

Referenced by ReadSTAPAlgoInputData(), and WriteSTAPAlgoInputData().

◆ kSTAPParamSuffix

std::string_view CbmL1::kSTAPParamSuffix = "ca.par"
staticconstexprprivate

Extension for IO of the L1Parameters object.

Definition at line 460 of file CbmL1.h.

Referenced by ReadSTAPParamObject(), and WriteSTAPParamObject().

◆ kSTAPSetupSuffix

std::string_view CbmL1::kSTAPSetupSuffix = "kf.setup"
staticconstexprprivate

Definition at line 461 of file CbmL1.h.

Referenced by Init().


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