Reconstruction of the shower geometry. More...
#include "MdGeometryFitterAG/GeometryFitter.h"
Public Member Functions | |
void | AddDetector (int id, TVector3 pos, double time, double sigma) |
Note about vectors The TVector3 class is used here instead of the utl::Vector and utl::Point classses. The reason of this election is that the independence of the coordinate system provided by both utl classes is obliterated in the inner workings of Minuit2 by the use of the individual vector coordinates. The data members of this class using vectors are the detector positions and the optional core position. They all have to be provided in the same coordinate system. The fitted axis is correspondingly expressed in the coordinate system used for positions. More... | |
int | Fit () |
GeometryFitter () | |
TVector3 | GetAxis () const |
double | GetChi2 () const |
TVector3 | GetCore () const |
double | GetCt0 () const |
double | GetCt0Error () const |
double | GetMeanTimeResidual () const |
int | GetNDetectors () const |
double | GetNdof () const |
double | GetPhi () const |
double | GetPhiError () const |
double | GetPlaneFrontDelay (int detectorId) const |
double | GetRadius () const |
double | GetRadiusError () const |
double | GetTheta () const |
double | GetThetaError () const |
double | GetThetaPhiCorrelation () const |
double | GetTimeError (int detectorId) const |
double | GetTimeResidual (int detectorId) const |
double | GetTimeResidualSpread () const |
double | GetU () const |
double | GetV () const |
double | GetW () const |
bool | HasDetector (int detectorId) const |
bool | IsCoreFix () const |
bool | IsCurvatureFix () const |
void | RemoveDetectors () |
void | SetCore (const TVector3 &core) |
void | SetCoreFix () |
void | SetCoreFree () |
void | SetCurvatureFix () |
void | SetCurvatureFree () |
void | SetMinuitOutput (bool flag=true) |
void | SetRadius (double radius) |
Private Types | |
typedef std::unique_ptr < ROOT::Minuit2::MnUserCovariance > | CovariancePtr |
typedef std::unique_ptr < ROOT::Minuit2::MnUserParameters > | ParameterPtr |
Private Member Functions | |
int | FitPlane (double &u, double &v, double &ct0) const |
double | GetPlaneFrontDelay (const TimeData &data) const |
double | GetTimeResidual (const TimeData &data) const |
double | GetTimeResidualSigmas (const TimeData &data) const |
Private Attributes | |
CovariancePtr | covariance |
bool | minuitOutput |
int | nParameters |
ParameterPtr | parFitted |
ROOT::Minuit2::MnUserParameters | parSeed |
std::vector< TimeData > | timeData |
Reconstruction of the shower geometry.
Definition at line 28 of file GeometryFitter.h.
|
private |
Definition at line 111 of file GeometryFitter.h.
|
private |
Definition at line 107 of file GeometryFitter.h.
MdGeometryFitterAG::GeometryFitter::GeometryFitter | ( | ) |
Definition at line 24 of file GeometryFitter.cc.
References nParameters, and parSeed.
void MdGeometryFitterAG::GeometryFitter::AddDetector | ( | int | id, |
TVector3 | pos, | ||
double | time, | ||
double | sigma | ||
) |
Note about vectors The TVector3 class is used here instead of the utl::Vector and utl::Point classses. The reason of this election is that the independence of the coordinate system provided by both utl classes is obliterated in the inner workings of Minuit2 by the use of the individual vector coordinates. The data members of this class using vectors are the detector positions and the optional core position. They all have to be provided in the same coordinate system. The fitted axis is correspondingly expressed in the coordinate system used for positions.
Definition at line 48 of file GeometryFitter.cc.
References timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::SetTimeData().
int MdGeometryFitterAG::GeometryFitter::Fit | ( | ) |
Definition at line 155 of file GeometryFitter.cc.
References covariance, ERROR, FitPlane(), minuitOutput, parFitted, parSeed, utl::Sqr(), and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
|
private |
Definition at line 78 of file GeometryFitter.cc.
References INFO, utl::kSpeedOfLight, G4StationSimulatorOG::p, utl::Sqr(), and timeData.
Referenced by Fit().
TVector3 MdGeometryFitterAG::GeometryFitter::GetAxis | ( | ) | const |
Definition at line 357 of file GeometryFitter.cc.
References GetU(), GetV(), and GetW().
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetPlaneFrontDelay(), GetTimeResidual(), and MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetChi2 | ( | ) | const |
Definition at line 314 of file GeometryFitter.cc.
References GetTimeResidualSigmas(), utl::Sqr(), and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetTimeResidualSpread(), and MdGeometryFitterAG::MdGeometryFitter::Run().
TVector3 MdGeometryFitterAG::GeometryFitter::GetCore | ( | ) | const |
Definition at line 406 of file GeometryFitter.cc.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetPlaneFrontDelay(), and GetTimeResidual().
|
inline |
Definition at line 78 of file GeometryFitter.h.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetPlaneFrontDelay(), GetTimeResidual(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 79 of file GeometryFitter.h.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower().
double MdGeometryFitterAG::GeometryFitter::GetMeanTimeResidual | ( | ) | const |
Definition at line 298 of file GeometryFitter.cc.
References GetTimeResidual(), and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 48 of file GeometryFitter.h.
References timeData.
Referenced by GetNdof(), and MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetNdof | ( | ) | const |
Definition at line 328 of file GeometryFitter.cc.
References GetNDetectors(), nParameters, and parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 74 of file GeometryFitter.h.
References GetU(), and GetV().
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetPhiError | ( | ) | const |
Definition at line 378 of file GeometryFitter.cc.
References covariance, GetU(), GetV(), GetW(), and utl::PropagateAxisErrors().
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetPlaneFrontDelay | ( | int | detectorId | ) | const |
Definition at line 224 of file GeometryFitter.cc.
References ERROR, exit, and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillCounter().
|
private |
Definition at line 284 of file GeometryFitter.cc.
References GetAxis(), GetCore(), GetCt0(), utl::kSpeedOfLight, MdGeometryFitterAG::TimeData::pos, and MdGeometryFitterAG::TimeData::time.
|
inline |
Definition at line 81 of file GeometryFitter.h.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetTimeResidual(), and MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetRadiusError | ( | ) | const |
Definition at line 418 of file GeometryFitter.cc.
References IsCurvatureFix(), and parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 72 of file GeometryFitter.h.
References GetW().
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetThetaError | ( | ) | const |
Definition at line 364 of file GeometryFitter.cc.
References covariance, GetU(), GetV(), GetW(), and utl::PropagateAxisErrors().
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
double MdGeometryFitterAG::GeometryFitter::GetThetaPhiCorrelation | ( | ) | const |
Definition at line 392 of file GeometryFitter.cc.
References covariance, GetU(), GetV(), GetW(), and utl::PropagateAxisErrors().
double MdGeometryFitterAG::GeometryFitter::GetTimeError | ( | int | detectorId | ) | const |
Definition at line 240 of file GeometryFitter.cc.
References ERROR, exit, and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillCounter().
double MdGeometryFitterAG::GeometryFitter::GetTimeResidual | ( | int | detectorId | ) | const |
Definition at line 208 of file GeometryFitter.cc.
References ERROR, exit, and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillCounter(), GetMeanTimeResidual(), and GetTimeResidualSigmas().
|
private |
Definition at line 270 of file GeometryFitter.cc.
References GetAxis(), GetCore(), GetCt0(), GetRadius(), utl::kSpeedOfLight, MdGeometryFitterAG::TimeData::pos, and MdGeometryFitterAG::TimeData::time.
|
inlineprivate |
Definition at line 121 of file GeometryFitter.h.
References GetTimeResidual(), and MdGeometryFitterAG::TimeData::sigma.
Referenced by GetChi2().
double MdGeometryFitterAG::GeometryFitter::GetTimeResidualSpread | ( | ) | const |
Definition at line 347 of file GeometryFitter.cc.
References GetChi2(), sqrt(), and timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 67 of file GeometryFitter.h.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetAxis(), GetPhi(), GetPhiError(), GetThetaError(), GetThetaPhiCorrelation(), GetW(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 68 of file GeometryFitter.h.
References parFitted.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetAxis(), GetPhi(), GetPhiError(), GetThetaError(), GetThetaPhiCorrelation(), GetW(), and MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 69 of file GeometryFitter.h.
References GetU(), GetV(), and sqrt().
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), GetAxis(), GetPhiError(), GetTheta(), GetThetaError(), GetThetaPhiCorrelation(), and MdGeometryFitterAG::MdGeometryFitter::Run().
bool MdGeometryFitterAG::GeometryFitter::HasDetector | ( | int | detectorId | ) | const |
Definition at line 256 of file GeometryFitter.cc.
References timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillCounter().
bool MdGeometryFitterAG::GeometryFitter::IsCoreFix | ( | ) | const |
Definition at line 435 of file GeometryFitter.cc.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower().
bool MdGeometryFitterAG::GeometryFitter::IsCurvatureFix | ( | ) | const |
Definition at line 428 of file GeometryFitter.cc.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower(), and GetRadiusError().
|
inline |
Definition at line 47 of file GeometryFitter.h.
References timeData.
Referenced by MdGeometryFitterAG::MdGeometryFitter::SetTimeData().
void MdGeometryFitterAG::GeometryFitter::SetCore | ( | const TVector3 & | core | ) |
Definition at line 55 of file GeometryFitter.cc.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
void MdGeometryFitterAG::GeometryFitter::SetCoreFix | ( | ) |
Definition at line 70 of file GeometryFitter.cc.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
void MdGeometryFitterAG::GeometryFitter::SetCoreFree | ( | ) |
Definition at line 63 of file GeometryFitter.cc.
References parSeed.
|
inline |
Definition at line 54 of file GeometryFitter.h.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 53 of file GeometryFitter.h.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 63 of file GeometryFitter.h.
References minuitOutput.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
|
inline |
Definition at line 52 of file GeometryFitter.h.
References parSeed.
Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().
|
private |
Definition at line 112 of file GeometryFitter.h.
Referenced by Fit(), GetPhiError(), GetThetaError(), and GetThetaPhiCorrelation().
|
private |
Definition at line 103 of file GeometryFitter.h.
Referenced by Fit(), and SetMinuitOutput().
|
private |
Definition at line 106 of file GeometryFitter.h.
Referenced by GeometryFitter(), and GetNdof().
|
private |
Definition at line 108 of file GeometryFitter.h.
Referenced by Fit(), GetCore(), GetCt0(), GetCt0Error(), GetRadius(), GetRadiusError(), GetU(), and GetV().
|
private |
Definition at line 109 of file GeometryFitter.h.
Referenced by Fit(), GeometryFitter(), GetNdof(), IsCoreFix(), IsCurvatureFix(), SetCore(), SetCoreFix(), SetCoreFree(), SetCurvatureFix(), SetCurvatureFree(), and SetRadius().
|
private |
Definition at line 101 of file GeometryFitter.h.
Referenced by AddDetector(), Fit(), FitPlane(), GetChi2(), GetMeanTimeResidual(), GetNDetectors(), GetPlaneFrontDelay(), GetTimeError(), GetTimeResidual(), GetTimeResidualSpread(), HasDetector(), and RemoveDetectors().