List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
MdGeometryFitterAG::GeometryFitter Class Reference

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< TimeDatatimeData
 

Detailed Description

Reconstruction of the shower geometry.

Author
Diego Ravignani The axis direction and the impact time of the shower core on the ground are reconstructed from the time of the measured arrival times in a grid of detectors. This generic reconstruction, applied originally to the MD, can be also used for the SD or any detector array

Definition at line 28 of file GeometryFitter.h.

Member Typedef Documentation

typedef std::unique_ptr<ROOT::Minuit2::MnUserCovariance> MdGeometryFitterAG::GeometryFitter::CovariancePtr
private

Definition at line 111 of file GeometryFitter.h.

typedef std::unique_ptr<ROOT::Minuit2::MnUserParameters> MdGeometryFitterAG::GeometryFitter::ParameterPtr
private

Definition at line 107 of file GeometryFitter.h.

Constructor & Destructor Documentation

MdGeometryFitterAG::GeometryFitter::GeometryFitter ( )

Definition at line 24 of file GeometryFitter.cc.

References nParameters, and parSeed.

Member Function Documentation

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 ( )
int MdGeometryFitterAG::GeometryFitter::FitPlane ( double &  u,
double &  v,
double &  ct0 
) const
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
double MdGeometryFitterAG::GeometryFitter::GetChi2 ( ) const
TVector3 MdGeometryFitterAG::GeometryFitter::GetCore ( ) const
double MdGeometryFitterAG::GeometryFitter::GetCt0 ( ) const
inline
double MdGeometryFitterAG::GeometryFitter::GetCt0Error ( ) const
inline

Definition at line 79 of file GeometryFitter.h.

References parFitted.

Referenced by MdGeometryFitterAG::MdGeometryFitter::FillRecShower().

double MdGeometryFitterAG::GeometryFitter::GetMeanTimeResidual ( ) const
int MdGeometryFitterAG::GeometryFitter::GetNDetectors ( ) const
inline

Definition at line 48 of file GeometryFitter.h.

References timeData.

Referenced by GetNdof(), and MdGeometryFitterAG::MdGeometryFitter::Run().

double MdGeometryFitterAG::GeometryFitter::GetNdof ( ) const
double MdGeometryFitterAG::GeometryFitter::GetPhi ( ) const
inline

Definition at line 74 of file GeometryFitter.h.

References GetU(), and GetV().

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

double MdGeometryFitterAG::GeometryFitter::GetPhiError ( ) const
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().

double MdGeometryFitterAG::GeometryFitter::GetPlaneFrontDelay ( const TimeData data) const
private
double MdGeometryFitterAG::GeometryFitter::GetRadius ( ) const
inline
double MdGeometryFitterAG::GeometryFitter::GetRadiusError ( ) const
double MdGeometryFitterAG::GeometryFitter::GetTheta ( ) const
inline

Definition at line 72 of file GeometryFitter.h.

References GetW().

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

double MdGeometryFitterAG::GeometryFitter::GetThetaError ( ) const
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
double MdGeometryFitterAG::GeometryFitter::GetTimeResidual ( const TimeData data) const
private
double MdGeometryFitterAG::GeometryFitter::GetTimeResidualSigmas ( const TimeData data) const
inlineprivate

Definition at line 121 of file GeometryFitter.h.

References GetTimeResidual(), and MdGeometryFitterAG::TimeData::sigma.

Referenced by GetChi2().

double MdGeometryFitterAG::GeometryFitter::GetTimeResidualSpread ( ) const
double MdGeometryFitterAG::GeometryFitter::GetU ( ) const
inline
double MdGeometryFitterAG::GeometryFitter::GetV ( ) const
inline
double MdGeometryFitterAG::GeometryFitter::GetW ( ) const
inline
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().

void MdGeometryFitterAG::GeometryFitter::RemoveDetectors ( )
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.

void MdGeometryFitterAG::GeometryFitter::SetCurvatureFix ( )
inline

Definition at line 54 of file GeometryFitter.h.

References parSeed.

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

void MdGeometryFitterAG::GeometryFitter::SetCurvatureFree ( )
inline

Definition at line 53 of file GeometryFitter.h.

References parSeed.

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

void MdGeometryFitterAG::GeometryFitter::SetMinuitOutput ( bool  flag = true)
inline

Definition at line 63 of file GeometryFitter.h.

References minuitOutput.

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

void MdGeometryFitterAG::GeometryFitter::SetRadius ( double  radius)
inline

Definition at line 52 of file GeometryFitter.h.

References parSeed.

Referenced by MdGeometryFitterAG::MdGeometryFitter::Run().

Member Data Documentation

CovariancePtr MdGeometryFitterAG::GeometryFitter::covariance
private

Definition at line 112 of file GeometryFitter.h.

Referenced by Fit(), GetPhiError(), GetThetaError(), and GetThetaPhiCorrelation().

bool MdGeometryFitterAG::GeometryFitter::minuitOutput
private

Definition at line 103 of file GeometryFitter.h.

Referenced by Fit(), and SetMinuitOutput().

int MdGeometryFitterAG::GeometryFitter::nParameters
private

Definition at line 106 of file GeometryFitter.h.

Referenced by GeometryFitter(), and GetNdof().

ParameterPtr MdGeometryFitterAG::GeometryFitter::parFitted
private

Definition at line 108 of file GeometryFitter.h.

Referenced by Fit(), GetCore(), GetCt0(), GetCt0Error(), GetRadius(), GetRadiusError(), GetU(), and GetV().

ROOT::Minuit2::MnUserParameters MdGeometryFitterAG::GeometryFitter::parSeed
private
std::vector<TimeData> MdGeometryFitterAG::GeometryFitter::timeData
private

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

, generated on Tue Sep 26 2023.