CbmRoot
|
#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) |
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.} |
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
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.
Enumerator | |
---|---|
kSts | |
kMcbm |
Definition at line 58 of file CbmBbaAlignmentTask.h.
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 | ( | ) |
Definition at line 120 of file CbmBbaAlignmentTask.cxx.
|
private |
|
private |
Definition at line 518 of file CbmBbaAlignmentTask.cxx.
References ApplyConstraints(), 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 508 of file CbmBbaAlignmentTask.cxx.
References ConstrainStation(), and fNtrackingStations.
Referenced by ApplyAlignment(), and Finish().
|
private |
|
private |
Definition at line 487 of file CbmBbaAlignmentTask.cxx.
References fAlignmentBodies.
Referenced by ApplyConstraints().
|
private |
Definition at line 580 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 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().
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().
Int_t CbmBbaAlignmentTask::GetZtoNStation | ( | Double_t | getZ | ) |
InitStatus CbmBbaAlignmentTask::Init | ( | ) |
Definition at line 123 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 52 of file CbmBbaAlignmentTask.h.
References fTrackingMode, and kMcbm.
|
inline |
Definition at line 55 of file CbmBbaAlignmentTask.h.
References fSimulatedMisalignmentRange.
|
inline |
Definition at line 53 of file CbmBbaAlignmentTask.h.
References fTrackingMode, and kSts.
|
private |
Definition at line 1131 of file CbmBbaAlignmentTask.cxx.
References WriteHistosCurFile().
Referenced by Finish(), and WriteHistosCurFile().
|
private |
Definition at line 162 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), ConstrainStation(), and Finish().
|
private |
Definition at line 157 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction().
|
private |
Definition at line 152 of file CbmBbaAlignmentTask.h.
Referenced by Finish().
|
private |
Definition at line 153 of file CbmBbaAlignmentTask.h.
Referenced by Finish().
|
private |
Definition at line 135 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), Exec(), Finish(), and Init().
|
private |
Definition at line 159 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 143 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), Finish(), and Init().
|
private |
Definition at line 142 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), and Finish().
|
private |
Definition at line 141 of file CbmBbaAlignmentTask.h.
Referenced by CbmBbaAlignmentTask(), and Finish().
|
private |
Definition at line 130 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 126 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 129 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 131 of file CbmBbaAlignmentTask.h.
Referenced by Init().
|
private |
Definition at line 127 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 147 of file CbmBbaAlignmentTask.h.
Referenced by Exec().
|
private |
Definition at line 150 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), and Finish().
|
private |
Definition at line 158 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction().
|
private |
Definition at line 145 of file CbmBbaAlignmentTask.h.
Referenced by Exec().
|
private |
Definition at line 133 of file CbmBbaAlignmentTask.h.
Referenced by CostFunction(), and Init().
|
private |
Definition at line 149 of file CbmBbaAlignmentTask.h.
Referenced by ApplyConstraints(), Finish(), and Init().
|
private |
Definition at line 161 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), and Finish().
|
private |
Definition at line 155 of file CbmBbaAlignmentTask.h.
Referenced by Finish(), and SetSimulatedMisalignmentRange().
|
private |
Definition at line 122 of file CbmBbaAlignmentTask.h.
Referenced by Exec(), Finish(), Init(), SetMcbmTrackingMode(), and SetStsTrackingMode().
|
private |
Definition at line 138 of file CbmBbaAlignmentTask.h.
Referenced by ApplyAlignment(), CostFunction(), Exec(), Finish(), and Init().
|
private |
Definition at line 173 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 174 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 171 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 172 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 168 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 169 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 166 of file CbmBbaAlignmentTask.h.
|
private |
Definition at line 167 of file CbmBbaAlignmentTask.h.