BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnAlignerTest Class Reference

#include <BmnAlignerTest.h>

Inheritance diagram for BmnAlignerTest:
Collaboration diagram for BmnAlignerTest:

Public Member Functions

 BmnAlignerTest ()=delete
 BmnAlignerTest (const BmnMeasureModel *measureModel, const BmnATestDetector *modelDetector, Int_t nTracks, const char *constraintsPath=nullptr, Int_t nThreads=1)
virtual ~BmnAlignerTest ()
virtual Bool_t PrepareData (const char *tracksPath=nullptr) override
virtual Bool_t IterateAlignment () override
virtual Double_t CalculateMSE (Bool_t withResiduals) override
virtual void ReportResults () const override
virtual void Draw () override
Bool_t SaveTracks (const char *path) const
Bool_t LoadTracks (const char *path)
const BmnATestTrack & GetTestTrack (Int_t trackID) const noexcept
const BmnATestHit & GetTestHit (Int_t hitID) const noexcept
 BmnAlignerTest ()=delete
 BmnAlignerTest (const BmnMeasureModel *measureModel, const BmnATestDetector *modelDetector, Int_t nTracks, const char *constraintsPath=nullptr, Int_t nThreads=1)
virtual ~BmnAlignerTest ()
virtual Bool_t PrepareData (const char *tracksPath=nullptr) override
virtual Bool_t IterateAlignment () override
virtual Double_t CalculateMSE (Bool_t withResiduals) override
virtual void ReportResults () const override
virtual void Draw () override
Bool_t SaveTracks (const char *path) const
Bool_t LoadTracks (const char *path)
const BmnATestTrack & GetTestTrack (Int_t trackID) const noexcept
const BmnATestHit & GetTestHit (Int_t hitID) const noexcept
Public Member Functions inherited from BmnAligner< BmnATestHit >
 BmnAligner (const BmnMeasureModel *measureModel, const BmnDetectorModel *modelDetector, const char *constraintsPath=nullptr, Int_t nThreads=1)
 BmnAligner (const BmnMeasureModel *measureModel, const BmnDetectorModel *modelDetector, const char *filesListPath, const char *constraintsPath=nullptr, Int_t nThreads=1)
virtual ~BmnAligner ()
Bool_t Align (Bool_t fixEvery=kFALSE)
Bool_t SaveSolution (const char *jsonPath, Bool_t withAlpha=kFALSE)
Bool_t LoadSolution (const char *jsonPath, Bool_t withAlpha=kTRUE, Bool_t withMSE=kTRUE)
Bool_t Initialized () const noexcept
Int_t TotalTracks () const noexcept
Int_t TotalHits () const noexcept
Double_t OmegaScaleFactor () const noexcept
BmnAlignResult * GetCurrentResult () const noexcept
BmnAlignResult * GetResult (Bool_t last=kTRUE) const noexcept
 BmnAligner (const BmnMeasureModel *measureModel, const BmnDetectorModel *modelDetector, const char *constraintsPath=nullptr, Int_t nThreads=1)
 BmnAligner (const BmnMeasureModel *measureModel, const BmnDetectorModel *modelDetector, const char *filesListPath, const char *constraintsPath=nullptr, Int_t nThreads=1)
virtual ~BmnAligner ()
Bool_t Align (Bool_t fixEvery=kFALSE)
Bool_t SaveSolution (const char *jsonPath, Bool_t withAlpha=kFALSE)
Bool_t LoadSolution (const char *jsonPath, Bool_t withAlpha=kTRUE, Bool_t withMSE=kTRUE)
Bool_t Initialized () const noexcept
Int_t TotalTracks () const noexcept
Int_t TotalHits () const noexcept
Double_t OmegaScaleFactor () const noexcept
BmnAlignResult * GetCurrentResult () const noexcept
BmnAlignResult * GetResult (Bool_t last=kTRUE) const noexcept

Private Attributes

const BmnATestDetector * fpDetectors
Byte_t * fpTestTracksData {nullptr}
BmnATestTrack * fpTestTracks {nullptr}

Additional Inherited Members

Protected Types inherited from BmnAligner< BmnATestHit >
typedef std::array< Bool_t, BMN_MODULE_COUNT > DetectorFlags_t
typedef std::array< Int_t, BMN_MODULE_COUNT > DetectorHitCount_t
typedef ROOT::Math::BrentMinimizer1D Minimizer1D_t
Protected Member Functions inherited from BmnAligner< BmnATestHit >
Double_t CalculateMSE (const SVectGLT &solution)
Bool_t SolveGlobal (const TMatrixD &mCL, const TVectorD &vBL)
Bool_t LoadConstraints ()
void InitIterators ()
void PrepareDrawing ()
void DrawResiduals ()
void AddBlankSolution ()
void StoreZeroSolution (const std::vector< SVectLC > &AlphaZero)
void MarkTime (TStopwatch &timer)
void DoneInTime (TStopwatch &timer, const char *stage)
Int_t GetThreadCount () const noexcept
BmnSimpleProgressBar & GetProgressBar () noexcept
Double_t CalculateMSE (const SVectGLT &solution)
Bool_t SolveGlobal (const TMatrixD &mCL, const TVectorD &vBL)
Bool_t LoadConstraints ()
void InitIterators ()
void PrepareDrawing ()
void DrawResiduals ()
void AddBlankSolution ()
void StoreZeroSolution (const std::vector< SVectLC > &AlphaZero)
void MarkTime (TStopwatch &timer)
void DoneInTime (TStopwatch &timer, const char *stage)
Int_t GetThreadCount () const noexcept
BmnSimpleProgressBar & GetProgressBar () noexcept
Protected Attributes inherited from BmnAligner< BmnATestHit >
BmnSimpleProgressBar fProgressBar
Bool_t fInitialized
Bool_t fMSEclcSlow
UInt_t fMSEclcCounter
UInt_t fMSEclcTick
Double_t fTotalCpuTime
Double_t fTotalRealTime
Double_t fOmegaScaleFactor
Int_t fIteration
Int_t fRegularIters
Int_t fActiveDetCount
DetectorFlags_t fDetectorActive
std::vector< Bool_t > * fpTrackUsable
Int_t fTracksUsableCnt
Int_t fTotalTracks
Int_t fTotalHits
DetectorHitCount_t fHitsPerDetector
Minimizer1D_t fBrent
const BmnMeasureModel * fpMeasureModel
const BmnDetectorModel * fpDetModel
const char * fpConstraintsPath
std::vector< TVectorD > fConstraints
Int_t fConstraintsCnt
BmnRootIterator * fpRootIterator
BmnRamIterator< BmnATestHit > * fpRamIterator
BmnDataIterator * fpIteratorMain
BmnATestHit * fpHits
Byte_t * fpHitsData
Int_t * fpFirstHits
BmnAlignResult * fpResultLast
BmnAlignResult * fpResultCurrent
std::deque< BmnAlignResult > fIterationResults
TPad * fpPad3D
TPad * fpPadG1
TPad * fpPadG2
TPad * fpPadG3
TPad * fpPadG4
Double_t fMaxZvalue

Detailed Description

Definition at line 22 of file BmnAlignerTest.h.

Constructor & Destructor Documentation

◆ BmnAlignerTest() [1/4]

BmnAlignerTest::BmnAlignerTest ( )
delete

◆ BmnAlignerTest() [2/4]

◆ ~BmnAlignerTest() [1/2]

BmnAlignerTest::~BmnAlignerTest ( )
virtual

Definition at line 61 of file BmnAlignerTest.cxx.

References fpTestTracksData.

◆ BmnAlignerTest() [3/4]

BmnAlignerTest::BmnAlignerTest ( )
delete

◆ BmnAlignerTest() [4/4]

BmnAlignerTest::BmnAlignerTest ( const BmnMeasureModel * measureModel,
const BmnATestDetector * modelDetector,
Int_t nTracks,
const char * constraintsPath = nullptr,
Int_t nThreads = 1 )

◆ ~BmnAlignerTest() [2/2]

virtual BmnAlignerTest::~BmnAlignerTest ( )
virtual

Member Function Documentation

◆ CalculateMSE() [1/2]

Double_t BmnAlignerTest::CalculateMSE ( Bool_t withResiduals)
overridevirtual

◆ CalculateMSE() [2/2]

virtual Double_t BmnAlignerTest::CalculateMSE ( Bool_t withResiduals)
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

◆ Draw() [1/2]

void BmnAlignerTest::Draw ( )
overridevirtual

◆ Draw() [2/2]

virtual void BmnAlignerTest::Draw ( )
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

◆ GetTestHit() [1/2]

const BmnATestHit & BmnAlignerTest::GetTestHit ( Int_t hitID) const
inlinenoexcept

Definition at line 42 of file BmnAlignerTest.h.

References BmnAligner< BmnATestHit >::fpHits.

◆ GetTestHit() [2/2]

const BmnATestHit & BmnAlignerTest::GetTestHit ( Int_t hitID) const
inlinenoexcept

Definition at line 42 of file BmnAlignerTest.h.

References BmnAligner< BmnATestHit >::fpHits.

◆ GetTestTrack() [1/2]

const BmnATestTrack & BmnAlignerTest::GetTestTrack ( Int_t trackID) const
inlinenoexcept

Definition at line 41 of file BmnAlignerTest.h.

References fpTestTracks.

Referenced by Draw(), and IterateAlignment().

Here is the caller graph for this function:

◆ GetTestTrack() [2/2]

const BmnATestTrack & BmnAlignerTest::GetTestTrack ( Int_t trackID) const
inlinenoexcept

Definition at line 41 of file BmnAlignerTest.h.

References fpTestTracks.

◆ IterateAlignment() [1/2]

Bool_t BmnAlignerTest::IterateAlignment ( )
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

Definition at line 158 of file BmnAlignerTest.cxx.

References BmnAlignResult::Alpha(), delta, ROOT::Math::fabs(), BmnAligner< BmnATestHit >::GetResult(), GetTestTrack(), i, BmnAligner< HitType >::IterateAlignment(), iX0, iX1, iY0, iY1, and BmnAligner< BmnATestHit >::TotalTracks().

Here is the call graph for this function:

◆ IterateAlignment() [2/2]

virtual Bool_t BmnAlignerTest::IterateAlignment ( )
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

◆ LoadTracks() [1/2]

Bool_t BmnAlignerTest::LoadTracks ( const char * path)

Definition at line 202 of file BmnAlignerTest.cxx.

References BMN_MODULE_COUNT, fpTestTracks, fpTestTracksData, BmnAligner< BmnATestHit >::fTotalTracks, i, iX0, iX1, iY0, and iY1.

Referenced by PrepareData().

Here is the caller graph for this function:

◆ LoadTracks() [2/2]

Bool_t BmnAlignerTest::LoadTracks ( const char * path)

◆ PrepareData() [1/2]

◆ PrepareData() [2/2]

virtual Bool_t BmnAlignerTest::PrepareData ( const char * tracksPath = nullptr)
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

◆ ReportResults() [1/2]

void BmnAlignerTest::ReportResults ( ) const
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

Definition at line 314 of file BmnAlignerTest.cxx.

References BmnAlignResult::A(), BMN_MODULE_COUNT, fpDetectors, BmnAligner< BmnATestHit >::GetResult(), i, ROOT::Math::Mag2(), and BmnAligner< HitType >::ReportResults().

Here is the call graph for this function:

◆ ReportResults() [2/2]

virtual void BmnAlignerTest::ReportResults ( ) const
overridevirtual

Reimplemented from BmnAligner< BmnATestHit >.

◆ SaveTracks() [1/2]

Bool_t BmnAlignerTest::SaveTracks ( const char * path) const

Definition at line 178 of file BmnAlignerTest.cxx.

References fpTestTracks, BmnAligner< BmnATestHit >::fTotalTracks, i, iX0, iX1, iY0, and iY1.

Referenced by PrepareData().

Here is the caller graph for this function:

◆ SaveTracks() [2/2]

Bool_t BmnAlignerTest::SaveTracks ( const char * path) const

Member Data Documentation

◆ fpDetectors

const BmnATestDetector * BmnAlignerTest::fpDetectors
private

Definition at line 45 of file BmnAlignerTest.h.

Referenced by BmnAlignerTest(), Draw(), PrepareData(), and ReportResults().

◆ fpTestTracks

BmnATestTrack * BmnAlignerTest::fpTestTracks {nullptr}
private

Definition at line 47 of file BmnAlignerTest.h.

Referenced by CalculateMSE(), GetTestTrack(), LoadTracks(), PrepareData(), and SaveTracks().

◆ fpTestTracksData

Byte_t * BmnAlignerTest::fpTestTracksData {nullptr}
private

Definition at line 46 of file BmnAlignerTest.h.

Referenced by ~BmnAlignerTest(), LoadTracks(), and PrepareData().


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