CbmRoot
|
an example of alignment using BBA package More...
#include <CbmBbaAlignmentTask.h>
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) |
void | SetRandomSeed (int seed) |
Private Member Functions | |
const CbmBbaAlignmentTask & | operator= (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< TrackContainer > | fTracks |
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.} |
int | fRandomSeed {1} |
double | fChi2Total {0.} |
long | fNdfTotal {0} |
long | fFixedNdf {-1} |
std::vector< Sensor > | fSensors |
std::vector< AlignmentBody > | fAlignmentBodies |
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 {} |
an example of alignment using BBA package
Definition at line 34 of file CbmBbaAlignmentTask.h.
Enumerator | |
---|---|
kSts | |
kMcbm |
Definition at line 54 of file CbmBbaAlignmentTask.h.
CbmBbaAlignmentTask::CbmBbaAlignmentTask | ( | const char * | name = "CbmBbaAlignmentTask", |
Int_t | iVerbose = 0, | ||
TString | histoFileName = "CbmBbaAlignmentHisto.root" ) |
Definition at line 101 of file CbmBbaAlignmentTask.cxx.
References fHistoDir, fHistoFile, and fHistoFileName.
CbmBbaAlignmentTask::~CbmBbaAlignmentTask | ( | ) |
Definition at line 125 of file CbmBbaAlignmentTask.cxx.
|
private |
|
private |
Definition at line 546 of file CbmBbaAlignmentTask.cxx.
References fAlignmentBodies, CbmBbaAlignmentTask::Sensor::fAlignmentBody, CbmKfTrackFitter::TrajectoryNode::fIsXySet, CbmKfTrackFitter::TrajectoryNode::fMxy, fNalignmentBodies, CbmKfTrackFitter::TrajectoryNode::fParamDn, CbmKfTrackFitter::TrajectoryNode::fParamUp, CbmKfTrackFitter::TrajectoryNode::fReference1, fSensors, fTracks, CbmKfTrackFitter::TrajectoryNode::fZ, cbm::algo::kf::MeasurementXy< DataT >::SetX(), cbm::algo::kf::TrackParamBase< T >::SetX(), cbm::algo::kf::MeasurementXy< DataT >::SetY(), cbm::algo::kf::MeasurementXy< DataT >::X(), and cbm::algo::kf::MeasurementXy< DataT >::Y().
Referenced by CostFunction().
|
private |
Definition at line 536 of file CbmBbaAlignmentTask.cxx.
References ConstrainStation(), and fNtrackingStations.
|
private |
|
private |
Definition at line 515 of file CbmBbaAlignmentTask.cxx.
References fAlignmentBodies.
Referenced by ApplyConstraints().
|
private |
Definition at line 608 of file CbmBbaAlignmentTask.cxx.
References ApplyAlignment(), fChi2Total, fFitter, fFixedNdf, CbmKfTrackFitter::TrajectoryNode::fIsFitted, CbmKfTrackFitter::FitTrajectory(), fNdfTotal, fNthreads, fTracks, CbmKfTrackFitter::SetDoSmooth(), and CbmKfTrackFitter::SetNoMultipleScattering().
Referenced by Finish().
void CbmBbaAlignmentTask::Exec | ( | Option_t * | opt | ) |
Definition at line 304 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().
void CbmBbaAlignmentTask::Finish | ( | ) |
Definition at line 681 of file CbmBbaAlignmentTask.cxx.
References AlignNode(), 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().
Int_t CbmBbaAlignmentTask::GetZtoNStation | ( | Double_t | getZ | ) |
InitStatus CbmBbaAlignmentTask::Init | ( | ) |
Definition at line 128 of file CbmBbaAlignmentTask.cxx.
References fFitter, fHistoDir, fInputGlobalTrackMatches, fInputGlobalTracks, fInputMcTracks, fInputStsTrackMatches, fInputStsTracks, fNthreads, fNtrackingStations, CbmL1::fpAlgo, fTrackingMode, fTracks, cbm::algo::ca::Parameters< DataT >::GetNstationsActive(), cbm::algo::ca::Framework::GetParameters(), hPullsAfterAlignmentX, hPullsAfterAlignmentY, hPullsBeforeAlignmentX, hPullsBeforeAlignmentY, hResidualsAfterAlignmentX, hResidualsAfterAlignmentY, hResidualsBeforeAlignmentX, hResidualsBeforeAlignmentY, CbmKfTrackFitter::Init(), CbmL1::Instance(), kMcbm, kSts, and CbmKfTrackFitter::SetSkipUnmeasuredCoordinates().
|
private |
|
inline |
Definition at line 47 of file CbmBbaAlignmentTask.h.
References fTrackingMode, and kMcbm.
|
inline |
Definition at line 51 of file CbmBbaAlignmentTask.h.
References fRandomSeed.
|
inline |
Definition at line 50 of file CbmBbaAlignmentTask.h.
References fSimulatedMisalignmentRange.
|
inline |
Definition at line 48 of file CbmBbaAlignmentTask.h.
References fTrackingMode, and kSts.
|
private |
Definition at line 1150 of file CbmBbaAlignmentTask.cxx.
References WriteHistosCurFile().
Referenced by Finish(), and WriteHistosCurFile().
|
private |
Definition at line 160 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), ConstrainStation(), and Finish().
|
private |
Definition at line 155 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction().
|
private |
Definition at line 148 of file CbmBbaAlignmentTask.h.
Referenced by Finish().
|
private |
Definition at line 149 of file CbmBbaAlignmentTask.h.
Referenced by Finish().
|
private |
Definition at line 131 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), Exec(), Finish(), and Init().
|
private |
Definition at line 157 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 139 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), Finish(), and Init().
|
private |
Definition at line 138 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), and Finish().
|
private |
Definition at line 137 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), and Finish().
|
private |
Definition at line 126 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 122 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 125 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 127 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 123 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 143 of file CbmBbaAlignmentTask.h.
Referenced by Exec().
|
private |
Definition at line 146 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), and Finish().
|
private |
Definition at line 156 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction().
|
private |
Definition at line 141 of file CbmBbaAlignmentTask.h.
Referenced by Exec().
|
private |
Definition at line 129 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), and Init().
|
private |
Definition at line 145 of file CbmBbaAlignmentTask.h.
Referenced by ApplyConstraints(), Finish(), and Init().
|
private |
Definition at line 153 of file CbmBbaAlignmentTask.h.
Referenced by SetRandomSeed().
|
private |
Definition at line 159 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), and Finish().
|
private |
Definition at line 151 of file CbmBbaAlignmentTask.h.
Referenced by Finish(), and SetSimulatedMisalignmentRange().
|
private |
Definition at line 118 of file CbmBbaAlignmentTask.h.
Referenced by Exec(), Finish(), Init(), SetMcbmTrackingMode(), and SetStsTrackingMode().
|
private |
Definition at line 134 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), CostFunction(), Exec(), Finish(), and Init().
|
private |
Definition at line 171 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 172 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 169 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 170 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 166 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 167 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 164 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 165 of file CbmBbaAlignmentTask.h.