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

#include <CbmBbaAlignmentTask.h>

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

Classes

struct  AlignmentBody
 
struct  Sensor
 
struct  TrackContainer
 

Public Types

enum  TrackingMode { kSts , kMcbm }
 

Public Member Functions

 CbmBbaAlignmentTask (const char *name="CbmBbaAlignmentTask", Int_t iVerbose=0, TString histoFileName="CbmBbaAlignmentHisto.root")
 
 ~CbmBbaAlignmentTask ()
 
Int_t GetZtoNStation (Double_t getZ)
 
InitStatus Init ()
 
void Exec (Option_t *opt)
 
void Finish ()
 
void SetMcbmTrackingMode ()
 
void SetStsTrackingMode ()
 
void SetSimulatedMisalignmentRange (double range)
 

Private Member Functions

const CbmBbaAlignmentTaskoperator= (const CbmBbaAlignmentTask &)
 
 CbmBbaAlignmentTask (const CbmBbaAlignmentTask &)
 
void WriteHistosCurFile (TObject *obj)
 
void ApplyAlignment (const std::vector< double > &par)
 
double CostFunction (const std::vector< double > &par)
 
void ApplyConstraints (std::vector< double > &par)
 
void ConstrainStation (std::vector< double > &par, int iSta, int ixyz)
 
 ClassDef (CbmBbaAlignmentTask, 1)
 

Private Attributes

TrackingMode fTrackingMode = TrackingMode::kMcbm
 
TClonesArray * fInputGlobalTracks {nullptr}
 
TClonesArray * fInputStsTracks {nullptr}
 
TClonesArray * fInputMcTracks {nullptr}
 
TClonesArray * fInputGlobalTrackMatches {nullptr}
 
TClonesArray * fInputStsTrackMatches {nullptr}
 
int fNthreads = 1
 
CbmKfTrackFitter fFitter
 
std::vector< TrackContainerfTracks
 
TString fHistoFileName {"CbmBbaAlignmentHisto.root"}
 
TFile * fHistoFile {nullptr}
 
TDirectory * fHistoDir {nullptr}
 
Int_t fNEvents {0}
 
Int_t fMaxNtracks {100000}
 
int fNtrackingStations {0}
 
int fNalignmentBodies {0}
 
double fCostIdeal {1.e10}
 
double fCostInitial {0.}
 
double fSimulatedMisalignmentRange {0.}
 
double fChi2Total {0.}
 
long fNdfTotal {0}
 
long fFixedNdf {-1}
 
std::vector< SensorfSensors
 
std::vector< AlignmentBodyfAlignmentBodies
 
std::vector< TH1F * > hResidualsBeforeAlignmentX {}
 
std::vector< TH1F * > hResidualsBeforeAlignmentY {}
 
std::vector< TH1F * > hResidualsAfterAlignmentX {}
 
std::vector< TH1F * > hResidualsAfterAlignmentY {}
 
std::vector< TH1F * > hPullsBeforeAlignmentX {}
 
std::vector< TH1F * > hPullsBeforeAlignmentY {}
 
std::vector< TH1F * > hPullsAfterAlignmentX {}
 
std::vector< TH1F * > hPullsAfterAlignmentY {}
 

Detailed Description

an example of alignment using BBA package

you need to switch to the double precision in /algo/ca/CaSimdVc.h by uncommenting this line there:

typedef Vc::double_v fvec;

Definition at line 39 of file CbmBbaAlignmentTask.h.

Member Enumeration Documentation

◆ TrackingMode

Enumerator
kSts 
kMcbm 

Definition at line 58 of file CbmBbaAlignmentTask.h.

Constructor & Destructor Documentation

◆ CbmBbaAlignmentTask() [1/2]

CbmBbaAlignmentTask::CbmBbaAlignmentTask ( const char * name = "CbmBbaAlignmentTask",
Int_t iVerbose = 0,
TString histoFileName = "CbmBbaAlignmentHisto.root" )

Definition at line 96 of file CbmBbaAlignmentTask.cxx.

References fHistoDir, fHistoFile, and fHistoFileName.

◆ ~CbmBbaAlignmentTask()

CbmBbaAlignmentTask::~CbmBbaAlignmentTask ( )

Definition at line 120 of file CbmBbaAlignmentTask.cxx.

◆ CbmBbaAlignmentTask() [2/2]

CbmBbaAlignmentTask::CbmBbaAlignmentTask ( const CbmBbaAlignmentTask & )
private

Member Function Documentation

◆ ApplyAlignment()

◆ ApplyConstraints()

void CbmBbaAlignmentTask::ApplyConstraints ( std::vector< double > & par)
private

Definition at line 508 of file CbmBbaAlignmentTask.cxx.

References ConstrainStation(), and fNtrackingStations.

Referenced by ApplyAlignment(), and Finish().

◆ ClassDef()

CbmBbaAlignmentTask::ClassDef ( CbmBbaAlignmentTask ,
1  )
private

◆ ConstrainStation()

void CbmBbaAlignmentTask::ConstrainStation ( std::vector< double > & par,
int iSta,
int ixyz )
private

Definition at line 487 of file CbmBbaAlignmentTask.cxx.

References fAlignmentBodies.

Referenced by ApplyConstraints().

◆ CostFunction()

double CbmBbaAlignmentTask::CostFunction ( const std::vector< double > & par)
private

◆ Exec()

void CbmBbaAlignmentTask::Exec ( Option_t * opt)

Definition at line 289 of file CbmBbaAlignmentTask.cxx.

References CbmKfTrackFitter::CreateGlobalTrack(), CbmKfTrackFitter::CreateMvdStsTrack(), cbm::algo::kf::MeasurementXy< DataT >::Dx2(), cbm::algo::kf::MeasurementXy< DataT >::Dy2(), CbmBbaAlignmentTask::TrackContainer::fAlignedTrack, fFitter, fInputGlobalTracks, fInputStsTracks, CbmKfTrackFitter::TrajectoryNode::fIsFitted, CbmKfTrackFitter::TrajectoryNode::fIsRadThickFixed, CbmKfTrackFitter::TrajectoryNode::fIsXySet, CbmKfTrackFitter::FitTrajectory(), CbmKfTrackFitter::FixMomentumForMs(), fMaxNtracks, CbmKfTrackFitter::TrajectoryNode::fMxy, fNEvents, CbmKfTrackFitter::Trajectory::fNodes, CbmBbaAlignmentTask::TrackContainer::fNstsHits, CbmBbaAlignmentTask::TrackContainer::fNtofHits, CbmBbaAlignmentTask::TrackContainer::fNtrd1dHits, CbmBbaAlignmentTask::TrackContainer::fNtrd2dHits, CbmL1::fpAlgo, CbmKfTrackFitter::TrajectoryNode::fParamDn, CbmKfTrackFitter::TrajectoryNode::fRadThick, fTrackingMode, fTracks, CbmBbaAlignmentTask::TrackContainer::fUnalignedTrack, cbm::algo::kf::TrackParamBase< T >::GetCovariance(), cbm::algo::ca::Parameters< DataT >::GetNstationsActive(), cbm::algo::ca::Framework::GetParameters(), CbmL1::Instance(), kMcbm, kSts, kTrd, CbmBbaAlignmentTask::TrackContainer::MakeConsistent(), cbm::algo::kf::MeasurementXy< DataT >::NdfX(), cbm::algo::kf::MeasurementXy< DataT >::NdfY(), CbmKfTrackFitter::SetDefaultMomentumForMs(), CbmKfTrackFitter::SetDoSmooth(), sqrt(), cbm::algo::kf::MeasurementXy< DataT >::X(), cbm::algo::kf::TrackParamBase< T >::X(), cbm::algo::kf::MeasurementXy< DataT >::Y(), and cbm::algo::kf::TrackParamBase< T >::Y().

◆ Finish()

void CbmBbaAlignmentTask::Finish ( )

Definition at line 653 of file CbmBbaAlignmentTask.cxx.

References AlignNode(), ApplyConstraints(), CostFunction(), cbm::algo::kf::MeasurementXy< DataT >::Dx2(), cbm::algo::kf::MeasurementXy< DataT >::Dy2(), fAlignmentBodies, fCostIdeal, fCostInitial, fFitter, fFixedNdf, fHistoDir, fHistoFile, fHistoFileName, CbmKfTrackFitter::TrajectoryNode::fIsFitted, CbmKfTrackFitter::TrajectoryNode::fIsXySet, CbmKfTrackFitter::FitTrajectory(), CbmKfTrackFitter::TrajectoryNode::fMxy, fNalignmentBodies, CbmBbaAlignmentTask::Sensor::fNodePath, CbmKfTrackFitter::Trajectory::fNodes, fNtrackingStations, CbmKfTrackFitter::TrajectoryNode::fParamDn, CbmKfTrackFitter::TrajectoryNode::fReference1, CbmBbaAlignmentTask::Sensor::fSensorId, fSensors, fSimulatedMisalignmentRange, CbmBbaAlignmentTask::Sensor::fSystemId, fTrackingMode, CbmBbaAlignmentTask::Sensor::fTrackingStation, fTracks, cbm::algo::kf::TrackParamBase< T >::GetCovariance(), CbmStsSetup::GetElement(), CbmTrackingDetectorInterfaceBase::GetNtrackingStations(), CbmStsElement::GetPnode(), CbmTofAddress::GetRpcFullId(), CbmStsTrackingInterface::GetTrackingStationIndex(), hPullsAfterAlignmentX, hPullsAfterAlignmentY, hPullsBeforeAlignmentX, hPullsBeforeAlignmentY, hResidualsAfterAlignmentX, hResidualsAfterAlignmentY, hResidualsBeforeAlignmentX, hResidualsBeforeAlignmentY, CbmStsSetup::Instance(), CbmStsTrackingInterface::Instance(), kSts, kSts, kStsSensor, kTof, kTrd, kTrd2d, cbm::algo::kf::MeasurementXy< DataT >::NdfX(), cbm::algo::kf::MeasurementXy< DataT >::NdfY(), CbmStsElement::Print(), sqrt(), WriteHistosCurFile(), cbm::algo::kf::MeasurementXy< DataT >::X(), cbm::algo::kf::TrackParamBase< T >::X(), cbm::algo::kf::MeasurementXy< DataT >::Y(), and cbm::algo::kf::TrackParamBase< T >::Y().

◆ GetZtoNStation()

Int_t CbmBbaAlignmentTask::GetZtoNStation ( Double_t getZ)

◆ Init()

◆ operator=()

const CbmBbaAlignmentTask & CbmBbaAlignmentTask::operator= ( const CbmBbaAlignmentTask & )
private

◆ SetMcbmTrackingMode()

void CbmBbaAlignmentTask::SetMcbmTrackingMode ( )
inline

Definition at line 52 of file CbmBbaAlignmentTask.h.

References fTrackingMode, and kMcbm.

◆ SetSimulatedMisalignmentRange()

void CbmBbaAlignmentTask::SetSimulatedMisalignmentRange ( double range)
inline

Definition at line 55 of file CbmBbaAlignmentTask.h.

References fSimulatedMisalignmentRange.

◆ SetStsTrackingMode()

void CbmBbaAlignmentTask::SetStsTrackingMode ( )
inline

Definition at line 53 of file CbmBbaAlignmentTask.h.

References fTrackingMode, and kSts.

◆ WriteHistosCurFile()

void CbmBbaAlignmentTask::WriteHistosCurFile ( TObject * obj)
private

Definition at line 1131 of file CbmBbaAlignmentTask.cxx.

References WriteHistosCurFile().

Referenced by Finish(), and WriteHistosCurFile().

Member Data Documentation

◆ fAlignmentBodies

std::vector<AlignmentBody> CbmBbaAlignmentTask::fAlignmentBodies
private

Definition at line 162 of file CbmBbaAlignmentTask.h.

Referenced by ApplyAlignment(), ConstrainStation(), and Finish().

◆ fChi2Total

double CbmBbaAlignmentTask::fChi2Total {0.}
private

Definition at line 157 of file CbmBbaAlignmentTask.h.

Referenced by CostFunction().

◆ fCostIdeal

double CbmBbaAlignmentTask::fCostIdeal {1.e10}
private

Definition at line 152 of file CbmBbaAlignmentTask.h.

Referenced by Finish().

◆ fCostInitial

double CbmBbaAlignmentTask::fCostInitial {0.}
private

Definition at line 153 of file CbmBbaAlignmentTask.h.

Referenced by Finish().

◆ fFitter

CbmKfTrackFitter CbmBbaAlignmentTask::fFitter
private

Definition at line 135 of file CbmBbaAlignmentTask.h.

Referenced by CostFunction(), Exec(), Finish(), and Init().

◆ fFixedNdf

long CbmBbaAlignmentTask::fFixedNdf {-1}
private

Definition at line 159 of file CbmBbaAlignmentTask.h.

Referenced by CostFunction(), and Finish().

◆ fHistoDir

TDirectory* CbmBbaAlignmentTask::fHistoDir {nullptr}
private

Definition at line 143 of file CbmBbaAlignmentTask.h.

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

◆ fHistoFile

TFile* CbmBbaAlignmentTask::fHistoFile {nullptr}
private

Definition at line 142 of file CbmBbaAlignmentTask.h.

Referenced by CbmBbaAlignmentTask(), and Finish().

◆ fHistoFileName

TString CbmBbaAlignmentTask::fHistoFileName {"CbmBbaAlignmentHisto.root"}
private

Definition at line 141 of file CbmBbaAlignmentTask.h.

Referenced by CbmBbaAlignmentTask(), and Finish().

◆ fInputGlobalTrackMatches

TClonesArray* CbmBbaAlignmentTask::fInputGlobalTrackMatches {nullptr}
private

Definition at line 130 of file CbmBbaAlignmentTask.h.

Referenced by Init().

◆ fInputGlobalTracks

TClonesArray* CbmBbaAlignmentTask::fInputGlobalTracks {nullptr}
private

Definition at line 126 of file CbmBbaAlignmentTask.h.

Referenced by Exec(), and Init().

◆ fInputMcTracks

TClonesArray* CbmBbaAlignmentTask::fInputMcTracks {nullptr}
private

Definition at line 129 of file CbmBbaAlignmentTask.h.

Referenced by Init().

◆ fInputStsTrackMatches

TClonesArray* CbmBbaAlignmentTask::fInputStsTrackMatches {nullptr}
private

Definition at line 131 of file CbmBbaAlignmentTask.h.

Referenced by Init().

◆ fInputStsTracks

TClonesArray* CbmBbaAlignmentTask::fInputStsTracks {nullptr}
private

Definition at line 127 of file CbmBbaAlignmentTask.h.

Referenced by Exec(), and Init().

◆ fMaxNtracks

Int_t CbmBbaAlignmentTask::fMaxNtracks {100000}
private

Definition at line 147 of file CbmBbaAlignmentTask.h.

Referenced by Exec().

◆ fNalignmentBodies

int CbmBbaAlignmentTask::fNalignmentBodies {0}
private

Definition at line 150 of file CbmBbaAlignmentTask.h.

Referenced by ApplyAlignment(), and Finish().

◆ fNdfTotal

long CbmBbaAlignmentTask::fNdfTotal {0}
private

Definition at line 158 of file CbmBbaAlignmentTask.h.

Referenced by CostFunction().

◆ fNEvents

Int_t CbmBbaAlignmentTask::fNEvents {0}
private

Definition at line 145 of file CbmBbaAlignmentTask.h.

Referenced by Exec().

◆ fNthreads

int CbmBbaAlignmentTask::fNthreads = 1
private

Definition at line 133 of file CbmBbaAlignmentTask.h.

Referenced by CostFunction(), and Init().

◆ fNtrackingStations

int CbmBbaAlignmentTask::fNtrackingStations {0}
private

Definition at line 149 of file CbmBbaAlignmentTask.h.

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

◆ fSensors

std::vector<Sensor> CbmBbaAlignmentTask::fSensors
private

Definition at line 161 of file CbmBbaAlignmentTask.h.

Referenced by ApplyAlignment(), and Finish().

◆ fSimulatedMisalignmentRange

double CbmBbaAlignmentTask::fSimulatedMisalignmentRange {0.}
private

Definition at line 155 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and SetSimulatedMisalignmentRange().

◆ fTrackingMode

TrackingMode CbmBbaAlignmentTask::fTrackingMode = TrackingMode::kMcbm
private

Definition at line 122 of file CbmBbaAlignmentTask.h.

Referenced by Exec(), Finish(), Init(), SetMcbmTrackingMode(), and SetStsTrackingMode().

◆ fTracks

std::vector<TrackContainer> CbmBbaAlignmentTask::fTracks
private

Definition at line 138 of file CbmBbaAlignmentTask.h.

Referenced by ApplyAlignment(), CostFunction(), Exec(), Finish(), and Init().

◆ hPullsAfterAlignmentX

std::vector<TH1F*> CbmBbaAlignmentTask::hPullsAfterAlignmentX {}
private

Definition at line 173 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hPullsAfterAlignmentY

std::vector<TH1F*> CbmBbaAlignmentTask::hPullsAfterAlignmentY {}
private

Definition at line 174 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hPullsBeforeAlignmentX

std::vector<TH1F*> CbmBbaAlignmentTask::hPullsBeforeAlignmentX {}
private

Definition at line 171 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hPullsBeforeAlignmentY

std::vector<TH1F*> CbmBbaAlignmentTask::hPullsBeforeAlignmentY {}
private

Definition at line 172 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hResidualsAfterAlignmentX

std::vector<TH1F*> CbmBbaAlignmentTask::hResidualsAfterAlignmentX {}
private

Definition at line 168 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hResidualsAfterAlignmentY

std::vector<TH1F*> CbmBbaAlignmentTask::hResidualsAfterAlignmentY {}
private

Definition at line 169 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hResidualsBeforeAlignmentX

std::vector<TH1F*> CbmBbaAlignmentTask::hResidualsBeforeAlignmentX {}
private

Definition at line 166 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().

◆ hResidualsBeforeAlignmentY

std::vector<TH1F*> CbmBbaAlignmentTask::hResidualsBeforeAlignmentY {}
private

Definition at line 167 of file CbmBbaAlignmentTask.h.

Referenced by Finish(), and Init().


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