|
CbmRoot
|
#include <CbmBbaAlignTask.h>
Classes | |
| struct | Histograms |
| struct | Sensor |
| struct | TrackContainer |
| class | Trajectory |
Public Types | |
| enum | AlignmentMode { station , sensor } |
Public Member Functions | |
| CbmBbaAlignTask (const char *name="CbmBbaAlignTask", Int_t iVerbose=0, TString histoFileName="./CbmBbaAlignmentHisto.root", size_t nMaxTracks=1000) | |
| InitStatus | Init () |
| void | Exec (Option_t *opt) |
| void | Finish () |
| void | SetSimulatedMisalignmentRange (double range) |
| double | GetSimulatedMisalignmentRange () const |
| void | SetRandomSeed (int seed) |
| int | GetRandomSeed () const |
| void | SetMaxTracks (size_t nMaxTracks) |
| size_t | GetMaxTracks () const |
Private Member Functions | |
| unsigned | SelectTracks (TClonesArray *inputTracks, std::vector< TrackContainer > &tracks) |
| std::vector< Sensor > | SensorsFromTracks (const std::vector< TrackContainer > &tracks) const |
| std::vector< cbm::bba::AlignmentBody > | CreateAndSetAlignmentBodies (AlignmentMode mode, std::vector< Sensor > &sensors) const |
| void | SetReferences (const std::vector< Sensor > &sensors, std::vector< TrackContainer > &tracks) const |
| std::vector< bba::Parameter > | CreateAlignmentParameters () const |
| std::vector< double > | InvertParameters (std::vector< double > par) const |
| std::vector< double > | DiffParameters (const std::vector< double > &par1, const std::vector< double > &par2) const |
| std::string | PrintParameters (const std::vector< double > &par) const |
| std::string | PrintRMSE (const std::vector< bba::Parameter > &par, const std::vector< double > &parMC, const std::vector< double > &parValues) const |
| std::vector< double > | SimulateMisalignment (const std::vector< bba::Parameter > &par, std::vector< TrackContainer > &tracks, std::vector< cbm::bba::AlignmentBody > &AlignmentBodies) const |
| void | InitializeHistograms () |
| void | FillHistograms (const std::vector< TrackContainer > &tracks, Histograms &histo) |
| void | WriteObjectsCurFile (TObject *obj) |
| void | SetAlignment (const std::vector< double > &par, std::vector< cbm::bba::AlignmentBody > &AlignmentBodies) const |
| void | ApplyAlignment (const std::vector< double > &par, std::vector< TrackContainer > &tracks, std::vector< cbm::bba::AlignmentBody > &AlignmentBodies, bool invert) const |
| double | CostFunction (const std::vector< double > &par, std::vector< TrackContainer > &tracks) |
| double | CostFunction (const std::vector< double > &par) |
| std::pair< std::string, TGeoHMatrix > | CreateAlignmentNode (std::string path, double shiftX, double shiftY, double shiftZ, double rotX, double rotY, double rotZ) const |
| std::map< std::string, TGeoHMatrix > | CreateAlignmentMatrices (const std::vector< double > &par) const |
| ClassDef (CbmBbaAlignTask, 0) | |
Private Attributes | |
| TString | fMatrixOutFileName {"AlignmentMatrices.root"} |
| std::vector< TrackContainer > | fTracks |
| std::vector< Sensor > | fSensors |
| std::vector< cbm::bba::AlignmentBody > | fAlignmentBodies |
| TClonesArray * | fInputStsTracks {nullptr} |
| CbmKfTrackFitter< cbm::algo::kf::DoFitTime::N > | fFitter |
| int | fNtrackingStations {0} |
| size_t | fNevents {0} |
| size_t | fNmaxTracks {0} |
| size_t | fNcallsCost {} |
| double | fSimulatedMisalignmentRange {0.} |
| int | fRandomSeed {1} |
| std::vector< double > | fParMC |
| std::vector< double > | fParStart |
| AlignmentMode | fAlignmentMode {station} |
| double | fCostIdeal {1.e10} |
| double | fCostInitial {0.} |
| int | fNthreads {1} |
| long | fFixedNdf {-1} |
| Histograms | fHistoBeforeAlignment |
| Histograms | fHistoAfterAlignment |
| TString | fHistoFileName {"CbmBbaAlignmentHisto.root"} |
| TFile * | fHistoFile {nullptr} |
| TDirectory * | fHistoDir {nullptr} |
Definition at line 37 of file CbmBbaAlignTask.h.
| Enumerator | |
|---|---|
| station | |
| sensor | |
Definition at line 47 of file CbmBbaAlignTask.h.
| CbmBbaAlignTask::CbmBbaAlignTask | ( | const char * | name = "CbmBbaAlignTask", |
| Int_t | iVerbose = 0, | ||
| TString | histoFileName = "./CbmBbaAlignmentHisto.root", | ||
| size_t | nMaxTracks = 1000 ) |
Definition at line 46 of file CbmBbaAlignTask.cxx.
References fHistoDir, fHistoFile, fHistoFileName, and fNmaxTracks.
Referenced by ClassDef().
|
private |
Definition at line 921 of file CbmBbaAlignTask.cxx.
References CbmBbaAlignTask::Trajectory::GetAlignmentBodyId(), SetAlignment(), and tracks.
Referenced by CostFunction(), and SimulateMisalignment().
|
private |
References CbmBbaAlignTask().
|
private |
Definition at line 970 of file CbmBbaAlignTask.cxx.
References CostFunction(), and fTracks.
|
private |
Definition at line 976 of file CbmBbaAlignTask.cxx.
References ApplyAlignment(), DiffParameters(), fAlignmentBodies, fCostIdeal, fFitter, fFixedNdf, CbmKfTrackFitter< FlagFitTime >::FitTrajectoryUpstream(), fNcallsCost, fParMC, PrintParameters(), CbmKfTrackFitter< FlagFitTime >::SetIgnoreMultipleScattering(), and tracks.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 1112 of file CbmBbaAlignTask.cxx.
References CreateAlignmentNode(), fAlignmentBodies, and fSensors.
Referenced by Finish().
|
private |
Definition at line 1029 of file CbmBbaAlignTask.cxx.
Referenced by CreateAlignmentMatrices().
|
private |
Definition at line 571 of file CbmBbaAlignTask.cxx.
References fAlignmentBodies, fNtrackingStations, and fSimulatedMisalignmentRange.
Referenced by Finish().
|
private |
Definition at line 491 of file CbmBbaAlignTask.cxx.
References fNtrackingStations, sensor, and station.
Referenced by Finish().
|
private |
Definition at line 645 of file CbmBbaAlignTask.cxx.
Referenced by CostFunction(), and Finish().
| void CbmBbaAlignTask::Exec | ( | Option_t * | opt | ) |
Definition at line 134 of file CbmBbaAlignTask.cxx.
References fInputStsTracks, fNevents, fTracks, and SelectTracks().
|
private |
Definition at line 860 of file CbmBbaAlignTask.cxx.
References fFitter, CbmBbaAlignTask::Histograms::fPullsX, CbmBbaAlignTask::Histograms::fPullsY, CbmBbaAlignTask::Histograms::fResidualsX, CbmBbaAlignTask::Histograms::fResidualsY, CbmBbaAlignTask::Trajectory::GetAlignmentBodyId(), sqrt(), and tracks.
Referenced by Finish().
| void CbmBbaAlignTask::Finish | ( | ) |
Definition at line 150 of file CbmBbaAlignTask.cxx.
References CostFunction(), CreateAlignmentMatrices(), CreateAlignmentParameters(), CreateAndSetAlignmentBodies(), DiffParameters(), fAlignmentBodies, fAlignmentMode, fCostIdeal, fCostInitial, fFitter, fFixedNdf, fHistoAfterAlignment, fHistoBeforeAlignment, fHistoDir, fHistoFile, fHistoFileName, FillHistograms(), fMatrixOutFileName, fNcallsCost, fParMC, fParStart, fSensors, fSimulatedMisalignmentRange, fTracks, InitializeHistograms(), PrintParameters(), PrintRMSE(), SensorsFromTracks(), SetReferences(), SimulateMisalignment(), and WriteObjectsCurFile().
|
inline |
Definition at line 115 of file CbmBbaAlignTask.h.
References fNmaxTracks.
|
inline |
Definition at line 113 of file CbmBbaAlignTask.h.
References fRandomSeed.
|
inline |
Definition at line 111 of file CbmBbaAlignTask.h.
References fSimulatedMisalignmentRange.
| InitStatus CbmBbaAlignTask::Init | ( | ) |
Definition at line 70 of file CbmBbaAlignTask.cxx.
References fFitter, fInputStsTracks, fNthreads, fNtrackingStations, cbm::RecoSetupManager::GetSetup(), cbm::algo::RecoSetup::GetSts(), and cbm::RecoSetupManager::Instance().
|
private |
Definition at line 773 of file CbmBbaAlignTask.cxx.
References fAlignmentBodies, fHistoAfterAlignment, fHistoBeforeAlignment, and fHistoDir.
Referenced by Finish().
|
private |
Definition at line 637 of file CbmBbaAlignTask.cxx.
|
private |
Definition at line 658 of file CbmBbaAlignTask.cxx.
References fAlignmentBodies.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 672 of file CbmBbaAlignTask.cxx.
References fAlignmentBodies, and sqrt().
Referenced by Finish().
|
private |
Definition at line 295 of file CbmBbaAlignTask.cxx.
References CbmBbaAlignTask::TrackContainer::fFittedTrackParam, fFitter, CbmBbaAlignTask::TrackContainer::fIsActive, fNmaxTracks, CbmBbaAlignTask::TrackContainer::fNstsHits, fNtrackingStations, CbmBbaAlignTask::TrackContainer::fTrack, cbm::algo::kf::Trajectory< T >::GetNode(), cbm::algo::kf::Trajectory< T >::GetNodeReference(), cbm::algo::kf::Trajectory< T >::GetNofNodes(), CbmBbaAlignTask::TrackContainer::MakeConsistent(), and sqrt().
Referenced by Exec().
|
private |
Definition at line 453 of file CbmBbaAlignTask.cxx.
References CbmBbaAlignTask::Sensor::fNodePath, CbmBbaAlignTask::Sensor::fSystemId, CbmBbaAlignTask::Sensor::fTrackingStation, cbm::RecoSetupManager::GetGeoNodeMap(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitAddress(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitSystemId(), cbm::RecoSetupManager::Instance(), kSts, and tracks.
Referenced by Finish().
|
private |
Definition at line 906 of file CbmBbaAlignTask.cxx.
Referenced by ApplyAlignment().
|
inline |
Definition at line 114 of file CbmBbaAlignTask.h.
References fNmaxTracks.
|
inline |
Definition at line 112 of file CbmBbaAlignTask.h.
References fRandomSeed.
|
private |
Definition at line 537 of file CbmBbaAlignTask.cxx.
References CbmBbaAlignTask::Sensor::fNodePath, CbmBbaAlignTask::Sensor::fSystemId, CbmBbaAlignTask::Sensor::fTrackingStation, cbm::RecoSetupManager::GetGeoNodeMap(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitAddress(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitSystemId(), cbm::RecoSetupManager::Instance(), kSts, and tracks.
Referenced by Finish().
|
inline |
Definition at line 110 of file CbmBbaAlignTask.h.
References fSimulatedMisalignmentRange.
|
private |
Definition at line 727 of file CbmBbaAlignTask.cxx.
References ApplyAlignment(), fRandomSeed, fSimulatedMisalignmentRange, and tracks.
Referenced by Finish().
|
private |
Definition at line 839 of file CbmBbaAlignTask.cxx.
References WriteObjectsCurFile().
Referenced by Finish(), and WriteObjectsCurFile().
|
private |
Definition at line 153 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), CreateAlignmentMatrices(), CreateAlignmentParameters(), Finish(), InitializeHistograms(), PrintParameters(), and PrintRMSE().
|
private |
Definition at line 170 of file CbmBbaAlignTask.h.
Referenced by Finish().
|
private |
Definition at line 172 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 173 of file CbmBbaAlignTask.h.
Referenced by Finish().
|
private |
Definition at line 156 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), FillHistograms(), Finish(), Init(), and SelectTracks().
|
private |
Definition at line 177 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 181 of file CbmBbaAlignTask.h.
Referenced by Finish(), and InitializeHistograms().
|
private |
Definition at line 180 of file CbmBbaAlignTask.h.
Referenced by Finish(), and InitializeHistograms().
|
private |
Definition at line 185 of file CbmBbaAlignTask.h.
Referenced by CbmBbaAlignTask(), Finish(), and InitializeHistograms().
|
private |
Definition at line 184 of file CbmBbaAlignTask.h.
Referenced by CbmBbaAlignTask(), and Finish().
|
private |
Definition at line 183 of file CbmBbaAlignTask.h.
Referenced by CbmBbaAlignTask(), and Finish().
|
private |
Definition at line 155 of file CbmBbaAlignTask.h.
|
private |
Definition at line 149 of file CbmBbaAlignTask.h.
Referenced by Finish().
|
private |
Definition at line 161 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 159 of file CbmBbaAlignTask.h.
Referenced by Exec().
|
private |
Definition at line 160 of file CbmBbaAlignTask.h.
Referenced by CbmBbaAlignTask(), GetMaxTracks(), SelectTracks(), and SetMaxTracks().
|
private |
Definition at line 176 of file CbmBbaAlignTask.h.
Referenced by Init().
|
private |
Definition at line 158 of file CbmBbaAlignTask.h.
Referenced by CreateAlignmentParameters(), CreateAndSetAlignmentBodies(), Init(), and SelectTracks().
|
private |
Definition at line 166 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), and Finish().
|
private |
Definition at line 167 of file CbmBbaAlignTask.h.
Referenced by Finish().
|
private |
Definition at line 165 of file CbmBbaAlignTask.h.
Referenced by GetRandomSeed(), SetRandomSeed(), and SimulateMisalignment().
|
private |
Definition at line 152 of file CbmBbaAlignTask.h.
Referenced by CreateAlignmentMatrices(), and Finish().
|
private |
Definition at line 164 of file CbmBbaAlignTask.h.
Referenced by CreateAlignmentParameters(), Finish(), GetSimulatedMisalignmentRange(), SetSimulatedMisalignmentRange(), and SimulateMisalignment().
|
private |
Definition at line 151 of file CbmBbaAlignTask.h.
Referenced by CostFunction(), Exec(), and Finish().