CbmRoot
|
#include <CbmL1.h>
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. | |
CbmL1 & | operator= (const CbmL1 &)=delete |
Copy assignment operator. | |
CbmL1 & | operator= (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::MCData & | GetMCData () 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 CbmL1 * | Instance () |
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::Framework * | fpAlgo = nullptr |
Pointer to the L1 track finder algorithm. | |
ca::TrackingMode | fTrackingMode = ca::TrackingMode::kSts |
Tracking mode. | |
ca::Vector< CbmL1Track > | fvRecoTracks = {"CbmL1::fvRecoTracks"} |
Reconstructed tracks container. | |
ca::Vector< CbmL1HitId > | fvExternalHits = {"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::InitManager * | GetInitManager () |
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::TimeSliceReader > | fpTSReader = nullptr |
event/TS reader | |
std::unique_ptr< cbm::ca::MCModule > | fpMCModule = nullptr |
MC module. | |
cbm::ca::tools::MCData | fMCData |
MC Data object. | |
ca::InitManager | fInitManager |
Tracking parameters data manager. | |
std::shared_ptr< ca::DataManager > | fpIODataManager = 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< CbmL1HitDebugInfo > | fvHitDebugInfo |
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::MaterialMonitor > | fMaterialMonitor {} |
Material monitors for each material budget map. | |
Static Private Attributes | |
static CbmL1 * | fpInstance = 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 |
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)
using CbmL1::DFSET = std::set<std::pair<int, int>> |
|
strong |
CbmL1::CbmL1 | ( | const char * | name, |
Int_t | verbose = 1, | ||
Int_t | performance = 0 ) |
Constructor from parameters
name | Name of the task |
verbose | Verbosity level |
performance | Performance run flag:
|
Definition at line 91 of file CbmL1.cxx.
References DefineSTAPNames(), fpInstance, fpIODataManager, fSTAPDataMode, and CbmTrackingDetectorInterfaceInit::Instance().
|
delete |
Copy constructor.
|
delete |
Move constructor.
CbmL1::~CbmL1 | ( | ) |
|
static |
|
private |
|
private |
Defines names for output in STAP mode.
--— STandAlone Package service-functions --------------------------—
dirName | Name 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().
void CbmL1::DisableTrackingStation | ( | ca::EDetectorID | detID, |
int | iSt ) |
Disables tracking station for a given detector subsystem.
detID | Detector ID |
iSt | Index 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.
|
private |
Definition at line 930 of file CbmL1.cxx.
References fMatBudgetParallelProjection, fpAlgo, cbm::algo::ca::Framework::GetParameters(), Instance(), and kf::tools::RootUtils::ToHistogram().
Referenced by Init().
|
private |
Writes MC triplets to tree
< 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().
|
staticprivate |
|
private |
Calculates tracking efficiencies (counters)
Definition at line 231 of file CbmL1Performance.cxx.
References cbm::ca::tools::Debugger::AddNtuple(), TL1PerfEfficiencies::CalcEff(), TL1TracksCatCounters< T >::counters, CbmL1HitDebugInfo::dx, CbmL1HitDebugInfo::dy, cbm::ca::tools::Debugger::FillNtuple(), fMCData, fNStations, fpAlgo, fTableDir, fTrackingTime, fvHitDebugInfo, fvRecoTracks, cbm::algo::ca::InputData::GetHit(), cbm::algo::ca::Framework::GetInputData(), cbm::algo::ca::Framework::GetParameters(), cbm::algo::kf::TrackParamBase< T >::GetQp(), cbm::ca::tools::MCData::GetTrack(), cbm::ca::tools::MCData::GetTrackContainer(), TL1Efficiencies::ghosts, TL1PerfEfficiencies::Inc(), TL1Efficiencies::IncNEvents(), TL1Efficiencies::indices, cbm::ca::tools::Debugger::Instance(), TL1Efficiencies::mc, CbmL1Constants::MinFastMom, TL1PerfEfficiencies::PrintEff(), TL1Efficiencies::reco, cbm::algo::kf::TrackParamBase< T >::ToString(), CbmL1HitDebugInfo::x, and CbmL1HitDebugInfo::y.
Referenced by Finish(), and Reconstruct().
|
private |
Definition at line 1571 of file CbmL1Performance.cxx.
References cbm::algo::ca::Station< DataT >::fieldSlice, fpAlgo, cbm::algo::ca::Station< DataT >::fZ, cbm::algo::kf::FieldValue< T >::GetAbs(), cbm::algo::kf::FieldValue< T >::GetBx(), cbm::algo::kf::FieldValue< T >::GetBy(), cbm::algo::kf::FieldValue< T >::GetBz(), cbm::algo::kf::FieldSlice< T >::GetFieldValue(), cbm::algo::ca::Framework::GetParameters(), sqrt(), x, cbm::algo::ca::Station< DataT >::Xmax, y, and cbm::algo::ca::Station< DataT >::Ymax.
|
private |
Definition at line 1678 of file CbmL1Performance.cxx.
|
private |
Fills the fvMCTracks vector and the fmMCTracksMap.
|
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().
void CbmL1::Finish | ( | ) |
Defines action in the end of the run (saves results)
Definition at line 678 of file CbmL1.cxx.
References EfficienciesPerformance(), fHistoDir, cbm::algo::ca::Framework::Finish(), fMaterialMonitor, fMonitor, fpAlgo, fPerformance, fpMcTripletsOutFile, fpMcTripletsTree, fTableDir, cbm::ca::tools::Debugger::Instance(), cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::ToString(), cbm::ca::tools::Debugger::Write(), and writedir2current().
|
inlinestaticconstexpr |
Utility to map the L1DetectorID items into detector names.
Definition at line 245 of file CbmL1.h.
Referenced by cbm::ca::TimeSliceReader::ReadHitsForDetector().
|
inlineprivate |
Gets a pointer to L1InitManager (for an access in run_reco.C)
Definition at line 398 of file CbmL1.h.
References fInitManager.
|
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().
|
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.
|
private |
Fills performance histograms.
Definition at line 432 of file CbmL1Performance.cxx.
References fHistoDir, fMCData, fpAlgo, fTrackingTime, fvHitDebugInfo, fvRecoTracks, cbm::algo::kf::TrackParamBase< T >::GetChiSq(), CbmL1Track::GetFirstHitIndex(), cbm::algo::ca::Framework::GetInputData(), CbmL1Track::GetLastHitIndex(), CbmL1Track::GetMatchedMCTrackIndex(), CbmL1Track::GetMaxPurity(), cbm::algo::kf::TrackParamBase< T >::GetNdf(), cbm::algo::ca::InputData::GetNhits(), CbmL1Track::GetNofMCTracks(), cbm::algo::kf::TrackParamBase< T >::GetP(), cbm::algo::ca::Framework::GetParameters(), cbm::algo::kf::TrackParamBase< T >::GetPhi(), cbm::ca::tools::MCData::GetPoint(), cbm::algo::kf::TrackParamBase< T >::GetQp(), cbm::ca::tools::MCData::GetTrack(), cbm::ca::tools::MCData::GetTrackContainer(), CbmL1Track::Hits, CbmL1Track::IsGhost(), CbmL1HitDebugInfo::iStation, size(), sqrt(), CbmL1HitDebugInfo::x, CbmL1HitDebugInfo::y, and y.
Referenced by Reconstruct().
|
private |
Runs ideal track finder: copies all MC-tracks into reconstructed tracks.
Definition at line 770 of file CbmL1.cxx.
References fMCData, cbm::algo::ca::Track::fNofHits, fpAlgo, cbm::algo::ca::Track::fParFirst, cbm::algo::ca::Framework::fRecoHits, cbm::algo::ca::Framework::fRecoTracks, fvHitDebugInfo, cbm::algo::ca::Framework::GetParameters(), CbmL1HitDebugInfo::GetStationId(), cbm::ca::tools::MCData::GetTrackContainer(), cbm::algo::ca::Vector< T >::push_back(), cbm::algo::kf::TrackParamBase< T >::Qp(), cbm::algo::kf::TrackParamBase< T >::Time(), cbm::algo::kf::TrackParamBase< T >::Tx(), cbm::algo::kf::TrackParamBase< T >::Ty(), cbm::algo::kf::TrackParamBase< T >::X(), cbm::algo::kf::TrackParamBase< T >::Y(), and cbm::algo::kf::TrackParamBase< T >::Z().
|
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().
|
inlinestatic |
Pointer to CbmL1 instance.
Definition at line 171 of file CbmL1.h.
References fpInstance.
Referenced by CbmL1PFFitter::CalculateFieldRegion(), CbmL1PFFitter::CalculateFieldRegionAtLastPoint(), CbmL1MCTrack::CalculateIsReconstructable(), CbmL1MCTrack::CalculateMaxNStaMC(), CbmL1MCTrack::CalculateMCCont(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmMuchTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmStsTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmTofTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmTrdTrack(), CbmL1GlobalTrackFinder::CopyL1Tracks(), CbmL1StsTrackFinder::CopyL1Tracks(), CbmL1MCTrack::CountHitStations(), CbmL1GlobalTrackFinder::DoFind(), CbmL1StsTrackFinder::DoFind(), DumpMaterialToFile(), CbmBbaAlignmentTask::Exec(), CbmL1GlobalTrackFinder::FindTracks(), CbmL1StsTrackFinder::FindTracks(), CbmL1PFFitter::Fit(), CbmL1PFFitter::GetChiToVertex(), CbmL1PFFitter::GetMvdStationIndex(), CbmL1PFFitter::GetStsStationIndex(), CbmBbaAlignmentTask::Init(), CbmL1MCTrack::Init(), CbmL1PFFitter::Initialize(), InitL1Histo(), CbmL1GlobalTrackFinder::SetDefaultParticlePDG(), and SetDefaultParticlePDG().
|
private |
Matches hit with MC point.
DetId | Detector ID |
iHit | External index of hit |
|
private |
Definition at line 912 of file CbmL1.cxx.
References fpIODataManager, fSTAPDataDir, fSTAPDataPrefix, kSTAPAlgoIDataDir, and kSTAPAlgoIDataSuffix.
|
private |
Reads a sample of an ca::InputData object from defined directory fSTAPDataDir
iJob | Number of job, usually is defined by the nCalls of executing function |
Definition at line 904 of file CbmL1.cxx.
References fInitManager, fSTAPDataDir, fSTAPDataPrefix, kSTAPParamSuffix, and cbm::algo::ca::InitManager::ReadParametersObject().
Referenced by Init().
void CbmL1::Reconstruct | ( | CbmEvent * | event = nullptr | ) |
Reconstructs tracks in a given event
event | Pointer to current CbmEvent object |
WriteSIMDKFData();
Definition at line 581 of file CbmL1.cxx.
References cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::AddMonitorData(), DumpMCTripletsToTree(), EfficienciesPerformance(), cbm::algo::ca::Framework::fCaRecoTime, fEventNo, cbm::algo::ca::Framework::FindTracks(), fMaterialMonitor, fMonitor, fpAlgo, fPerformance, fpIODataManager, fpMCModule, fpTSReader, cbm::algo::ca::Framework::fRecoHits, cbm::algo::ca::Framework::fRecoTracks, fsMcTripletsOutputFilename, fTrackingTime, fvRecoTracks, cbm::algo::ca::InputData::GetHit(), cbm::algo::ca::InputData::GetHits(), cbm::algo::ca::Framework::GetInputData(), cbm::algo::ca::Framework::GetMonitorData(), HistoPerformance(), CbmL1Track::Hits, cbm::algo::ca::Hit::Id(), cbm::algo::ca::Vector< T >::push_back(), cbm::algo::ca::Framework::ReceiveInputData(), cbm::algo::ca::Vector< T >::reserve(), cbm::algo::kf::TrackParamBase< T >::Set(), cbm::algo::ca::Framework::SetMonitorData(), CbmL1Track::TLast, CbmL1Track::Tpv, and TrackFitPerformance().
Referenced by CbmL1GlobalTrackFinder::DoFind(), CbmL1StsTrackFinder::DoFind(), CbmL1GlobalTrackFinder::FindTracks(), and CbmL1StsTrackFinder::FindTracks().
|
virtual |
|
inline |
Sets user configuration filename.
path | Path to the config |
Definition at line 219 of file CbmL1.h.
References fInitManager, and cbm::algo::ca::InitManager::SetConfigUser().
|
inline |
Definition at line 258 of file CbmL1.h.
References fExtrapolateToTheEndOfSTS.
|
inline |
Definition at line 261 of file CbmL1.h.
References fTrackingMode.
|
inline |
Sets initialization mode.
mode | A CbmL1::EInitMode enumeration entry |
Definition at line 198 of file CbmL1.h.
References fInitMode.
|
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.
filename | Name of the input search window file |
Definition at line 225 of file CbmL1.h.
References fsInputSearchWindowsFilename.
|
inline |
|
inline |
Sets material budget n rays per dimansion in each bin.
Definition at line 208 of file CbmL1.h.
References fMatBudgetNrays.
|
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.
|
inline |
Sets material budget minimal bin size in cm.
Definition at line 211 of file CbmL1.h.
References fMatBudgetPitch.
|
inline |
Definition at line 260 of file CbmL1.h.
References fTrackingMode.
|
inline |
|
inline |
|
inline |
Sets a name for the output configuration file.
filename | Name of the input tracking configuration file |
Definition at line 229 of file CbmL1.h.
References fInitManager, and cbm::algo::ca::InitManager::SetOutputConfigName().
|
inline |
Sets output file for MC triplets tree If the filename is empty string, tree is not filled.
filename | Name of the output file name |
Definition at line 238 of file CbmL1.h.
References fsMcTripletsOutputFilename.
|
inline |
Sets a name for the ca-parameter file.
filename | Name of the parameter file |
Definition at line 233 of file CbmL1.h.
References fSTAPParamFile.
|
inlineprivate |
Sets random seed to CA internal random generator.
seed | Random seed |
Definition at line 346 of file CbmL1.h.
References fInitManager, and cbm::algo::ca::InitManager::SetRandomSeed().
|
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.
|
inline |
|
inline |
Definition at line 259 of file CbmL1.h.
References fTrackingMode.
|
inline |
|
inline |
|
private |
|
private |
Builds pulls and residuals
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().
|
staticprivate |
Definition at line 752 of file CbmL1.cxx.
References writedir2current().
Referenced by Finish(), and writedir2current().
|
private |
|
private |
Writes a sample of an ca::InputData object to defined directory fSTAPDataDir
iJob | Number of job, usually is defined by the nCalls of executing function |
Definition at line 886 of file CbmL1.cxx.
References fpIODataManager, fSTAPDataDir, fSTAPDataPrefix, and kSTAPAlgoIDataSuffix.
|
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().
|
friend |
|
friend |
|
friend |
|
private |
Definition at line 434 of file CbmL1.h.
Referenced by SetSafeMaterialInitialization().
|
private |
|
private |
Definition at line 522 of file CbmL1.h.
Referenced by SetExtrapolateToTheEndOfSTS().
|
private |
|
private |
Definition at line 500 of file CbmL1.h.
Referenced by Finish(), HistoPerformance(), Init(), and TrackFitPerformance().
|
private |
Tracking parameters data manager.
Definition at line 419 of file CbmL1.h.
Referenced by GetInitManager(), Init(), ReadSTAPParamObject(), SetConfigUser(), SetOutputConfigName(), SetRandomSeed(), and WriteSTAPParamObject().
|
private |
Initialization mode.
Definition at line 517 of file CbmL1.h.
Referenced by Init(), and SetInitMode().
|
private |
|
private |
n bins in mat budget maps (fMatBudgetNbins x fMatBudgetNbins)
Definition at line 513 of file CbmL1.h.
Referenced by SetMaterialBudgetNbins().
|
private |
material budget n rays per dimansion in each bin
Definition at line 514 of file CbmL1.h.
Referenced by SetMaterialBudgetNrays().
|
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().
|
private |
material budget minimal bin size in cm
Definition at line 515 of file CbmL1.h.
Referenced by SetMaterialBudgetPitch().
|
private |
Material monitors for each material budget map.
Definition at line 524 of file CbmL1.h.
Referenced by Finish(), Init(), and Reconstruct().
|
private |
MC Data object.
Definition at line 417 of file CbmL1.h.
Referenced by DumpMCTripletsToTree(), EfficienciesPerformance(), GetMCData(), HistoPerformance(), IdealTrackFinder(), Init(), and TrackFitPerformance().
ca::TrackingMonitor CbmL1::fMonitor {} |
Tracking monitor.
Definition at line 263 of file CbmL1.h.
Referenced by Finish(), Init(), and Reconstruct().
|
private |
|
private |
number of total active detector stations
Definition at line 441 of file CbmL1.h.
Referenced by EfficienciesPerformance(), Init(), and TrackFitPerformance().
ca::Framework* CbmL1::fpAlgo = nullptr |
Pointer to the L1 track finder algorithm.
Definition at line 425 of file CbmL1.h.
Referenced by CbmL1PFFitter::CalculateFieldRegion(), CbmL1PFFitter::CalculateFieldRegionAtLastPoint(), CbmL1MCTrack::CountHitStations(), DumpMaterialToFile(), EfficienciesPerformance(), CbmBbaAlignmentTask::Exec(), FieldApproxCheck(), FillFitHistos(), Finish(), CbmL1PFFitter::Fit(), CbmL1PFFitter::GetChiToVertex(), CbmL1PFFitter::GetMvdStationIndex(), CbmL1PFFitter::GetStsStationIndex(), HistoPerformance(), IdealTrackFinder(), CbmBbaAlignmentTask::Init(), Init(), CbmL1PFFitter::Initialize(), Reconstruct(), CbmL1GlobalTrackFinder::SetDefaultParticlePDG(), SetDefaultParticlePDG(), and TrackFitPerformance().
|
private |
|
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().
|
staticprivate |
|
private |
Input-output data manager.
Definition at line 420 of file CbmL1.h.
Referenced by CbmL1(), Init(), ReadSTAPAlgoInputData(), Reconstruct(), and WriteSTAPAlgoInputData().
|
private |
|
private |
File to save MC-triplets tree.
Definition at line 509 of file CbmL1.h.
Referenced by DumpMCTripletsToTree(), and Finish().
|
private |
Tree to save MC-triplets.
Definition at line 510 of file CbmL1.h.
Referenced by DumpMCTripletsToTree(), and Finish().
|
private |
|
private |
File name to read search windows.
Definition at line 413 of file CbmL1.h.
Referenced by Init(), and SetInputSearchWindowFilename().
|
private |
Name of file to save MC-triplets tree.
Definition at line 511 of file CbmL1.h.
Referenced by DumpMCTripletsToTree(), Reconstruct(), and SetOutputMcTripletsTreeFilename().
|
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().
|
private |
Option to work with files for the standalone mode.
Option to work with files for the standalone mode
Definition at line 453 of file CbmL1.h.
Referenced by CbmL1(), DefineSTAPNames(), and Init().
|
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().
|
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().
|
private |
Definition at line 501 of file CbmL1.h.
Referenced by EfficienciesPerformance(), Finish(), and Init().
|
private |
|
private |
|
private |
|
private |
ca::TrackingMode CbmL1::fTrackingMode = ca::TrackingMode::kSts |
Tracking mode.
Definition at line 427 of file CbmL1.h.
Referenced by Init(), SetGlobalMode(), SetMcbmMode(), and SetStsOnlyMode().
|
private |
time of track finding procedure
Definition at line 444 of file CbmL1.h.
Referenced by EfficienciesPerformance(), HistoPerformance(), and Reconstruct().
ca::Vector<CbmL1HitId> CbmL1::fvExternalHits = {"CbmL1::fvExternalHits"} |
Array of hits.
Definition at line 484 of file CbmL1.h.
Referenced by CbmL1GlobalTrackFinder::CbmL1TrackToCbmMuchTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmStsTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmTofTrack(), CbmL1GlobalTrackFinder::CbmL1TrackToCbmTrdTrack(), CbmL1GlobalTrackFinder::CopyL1Tracks(), CbmL1StsTrackFinder::CopyL1Tracks(), and Init().
|
private |
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().
|
private |
Definition at line 493 of file CbmL1.h.
Referenced by DisableTrackingStation(), and Init().
ca::Vector<CbmL1Track> CbmL1::fvRecoTracks = {"CbmL1::fvRecoTracks"} |
Reconstructed tracks container.
Definition at line 429 of file CbmL1.h.
Referenced by CbmL1GlobalTrackFinder::CopyL1Tracks(), CbmL1StsTrackFinder::CopyL1Tracks(), EfficienciesPerformance(), HistoPerformance(), Init(), Reconstruct(), and TrackFitPerformance().
|
staticconstexprprivate |
Name of subdirectory for handling ca::InputData objects.
Definition at line 472 of file CbmL1.h.
Referenced by ReadSTAPAlgoInputData().
|
staticconstexprprivate |
Definition at line 469 of file CbmL1.h.
Referenced by ReadSTAPAlgoInputData(), and WriteSTAPAlgoInputData().
|
staticconstexprprivate |
Extension for IO of the L1Parameters object.
Definition at line 460 of file CbmL1.h.
Referenced by ReadSTAPParamObject(), and WriteSTAPParamObject().
|
staticconstexprprivate |