List of all members | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
FdProfileReconstructorKG::EnergyFitter Class Reference

module to fit Gaisser-Hillas function to energy deposit profile and to derive total shower energy More...

#include <EnergyFitter.h>

Public Member Functions

bool Finish () const
 
double GetdEdXmax () const
 
double GetEmEnergy () const
 
double GetLambda () const
 
int GetVerbosity () const
 
double GetX0 () const
 
double GetXmax () const
 
bool Init ()
 
bool ReFitProfile (const fevt::Eye &eye, CherenkovFluorescenceMatrix *const chfl)
 
bool Run (fevt::Eye &eye, CherenkovFluorescenceMatrix *const chfl)
 
void SetVerbosity (const int iv)
 
void SetYieldRefit (const bool what)
 

Private Types

enum  EFitOption {
  eInitialize, eEnergyDeposit, eLight2Param, eLightAllParam,
  eLightEnergy
}
 
enum  EGHFitParameters {
  eEnergy = 0, eXmax, eX0, eLambda,
  eNGHParameters
}
 
enum  EMinimizationType { eMaximumLikelihood, eLeastSquares, eModifiedLeastSquares }
 
enum  EParConstraints { eFree, eFixed, eConstrained }
 

Private Member Functions

bool CalculateEnergy (fevt::Eye &)
 
void CleanUp ()
 
void DumpCurrentParameters (const EFitOption) const
 
void FillProfilesAtAperture (fevt::Eye &)
 
bool FitProfile (const EFitOption opt)
 
bool InitializeGHFit (const fevt::Eye &, const int iMode)
 
bool UpDateFCM ()
 

Static Private Member Functions

static void dEdXFitFunction (int &, double *, double &, double *, int)
 
static void EnergyFitFunction (int &, double *, double &, double *, int)
 
static double GaisserHillasChi2 (const double, const double, const double, const double)
 
static double GaisserHillasLogLike (const double, const double, const double, const double)
 
static void LightFitFunction (int &, double *, double &, double *, int)
 

Private Attributes

CherenkovFluorescenceMatrixfChFlPtr = nullptr
 
double fChisqGH = 0
 
double fCovariance [eNGHParameters][eNGHParameters] = { { 0 } }
 
double fdEdXmax = 0
 
double fEem = 0
 
double fLambda = 0
 
unsigned int fnDof = 0
 
int fVerbosity = 0
 
double fX0 = 0
 
double fXmax = 0
 
bool fYieldRefit = false
 

Static Private Attributes

static const
oBLAS::lowerTriangularMatrix
fChFl = nullptr
 
static double * fChFlDepth = nullptr
 
static double * fdEdX = nullptr
 
static double fDefA1 = 0
 
static double fDefA2 = 0
 
static double fDefLambda = 0
 
static double fDefX0 = 0
 
static double * fDepth = nullptr
 
static double fDiaphragmArea = 0
 
static EParConstraints fFixkUniv = eFree
 
static EParConstraints fFixLambda = eFree
 
static EParConstraints fFixX0 = eFree
 
static double fGainVariance = 0
 
static double * fLight = nullptr
 
static EMinimizationType fMinimizationMethod = eModifiedLeastSquares
 
static unsigned int fnBins = 0
 
static double fPhotonToPhotoElectron = 0
 
static double fVarK = 0
 
static double fVarLambda = 0
 
static double fVarX0 = 0
 
static double * fvBackGround = nullptr
 
static double * fvdEdX = nullptr
 
static double * fvLight = nullptr
 

Detailed Description

module to fit Gaisser-Hillas function to energy deposit profile and to derive total shower energy

Author
Michael Unger
Date
11 Apr 2005

Definition at line 28 of file EnergyFitter.h.

Member Enumeration Documentation

Enumerator
eInitialize 
eEnergyDeposit 
eLight2Param 
eLightAllParam 
eLightEnergy 

Definition at line 46 of file EnergyFitter.h.

Enumerator
eEnergy 
eXmax 
eX0 
eLambda 
eNGHParameters 

Definition at line 60 of file EnergyFitter.h.

Enumerator
eMaximumLikelihood 
eLeastSquares 
eModifiedLeastSquares 

Definition at line 54 of file EnergyFitter.h.

Enumerator
eFree 
eFixed 
eConstrained 

Definition at line 68 of file EnergyFitter.h.

Member Function Documentation

bool FdProfileReconstructorKG::EnergyFitter::CalculateEnergy ( fevt::Eye eye)
private
void FdProfileReconstructorKG::EnergyFitter::CleanUp ( )
private

Definition at line 986 of file EnergyFitter.cc.

void FdProfileReconstructorKG::EnergyFitter::dEdXFitFunction ( int &  ,
double *  ,
double &  f,
double *  par,
int   
)
staticprivate

Definition at line 482 of file EnergyFitter.cc.

References utl::GaisserHillas(), and utl::Sqr().

void FdProfileReconstructorKG::EnergyFitter::DumpCurrentParameters ( const EFitOption  option) const
private

Definition at line 941 of file EnergyFitter.cc.

void FdProfileReconstructorKG::EnergyFitter::EnergyFitFunction ( int &  ,
double *  ,
double &  f,
double *  par,
int   
)
staticprivate

fits modified Gaisser-Hillas function by foward folding of dEdX profile GH parameters are Eem, lambda, X0 and Xmax

Definition at line 543 of file EnergyFitter.cc.

References evt::gh::eLambda, evt::gh::eX0, and evt::GaisserHillas4Parameter::GetIntegral().

void FdProfileReconstructorKG::EnergyFitter::FillProfilesAtAperture ( fevt::Eye eye)
private
bool FdProfileReconstructorKG::EnergyFitter::Finish ( void  ) const
inline
bool FdProfileReconstructorKG::EnergyFitter::FitProfile ( const EFitOption  option)
private

fits 2/3/4 parameter Gaisser-Hillas function to energy deposit profile (option=eEnergyDeposit) or light profile (eLight2Param or eLightAllParam -> dEdXmax fit, eLightEnergy -> Eem fit)

returns true if successful

Definition at line 763 of file EnergyFitter.cc.

References LDFFinderKG::eFixed, UnivFitterKG::eFree, evt::gh::eLambda, evt::gh::eX0, UnivRecNS::npar, and G4StationSimulatorOG::p.

double FdProfileReconstructorKG::EnergyFitter::GaisserHillasChi2 ( const double  dEdXmax,
const double  Xmax,
const double  X0,
const double  lambda 
)
staticprivate

Definition at line 684 of file EnergyFitter.cc.

References utl::cm2, utl::g, utl::GaisserHillas(), utl::kE, utl::m, utl::PeV, std::pow(), and utl::Sqr().

double FdProfileReconstructorKG::EnergyFitter::GaisserHillasLogLike ( const double  dEdXmax,
const double  Xmax,
const double  X0,
const double  lambda 
)
staticprivate
double FdProfileReconstructorKG::EnergyFitter::GetdEdXmax ( ) const
double FdProfileReconstructorKG::EnergyFitter::GetEmEnergy ( ) const
double FdProfileReconstructorKG::EnergyFitter::GetLambda ( ) const

Definition at line 1043 of file EnergyFitter.cc.

References utl::cm2, and utl::g.

Referenced by FdProfileReconstructorKG::FdProfileReconstructor::ReFitProfile().

int FdProfileReconstructorKG::EnergyFitter::GetVerbosity ( ) const
inline
double FdProfileReconstructorKG::EnergyFitter::GetX0 ( ) const

Definition at line 1034 of file EnergyFitter.cc.

References utl::cm2, and utl::g.

Referenced by FdProfileReconstructorKG::FdProfileReconstructor::ReFitProfile().

double FdProfileReconstructorKG::EnergyFitter::GetXmax ( ) const

Definition at line 1016 of file EnergyFitter.cc.

References utl::cm2, and utl::g.

Referenced by FdProfileReconstructorKG::FdProfileReconstructor::ReFitProfile().

bool FdProfileReconstructorKG::EnergyFitter::Init ( void  )
bool FdProfileReconstructorKG::EnergyFitter::InitializeGHFit ( const fevt::Eye eye,
const int  iMode 
)
private

initializes GH parameters dEdXmax and Xmax and fills internal depth, light etc. arrays

if iMode=0 starting GH parameters will be guessed from dEdX profile

returns true if successful

Definition at line 209 of file EnergyFitter.cc.

References utl::cm2, fevt::FdConstants::eBackground, ERROR, fevt::FdConstants::eTotal, utl::g, evt::ShowerFRecData::GetEnergyDeposit(), fevt::EyeRecData::GetFRecShower(), fevt::EyeRecData::GetLightFlux(), utl::TabulatedFunction::GetNPoints(), fevt::Eye::GetRecData(), fevt::EyeRecData::HasLightFlux(), utl::PeV, utl::Sqr(), fevt::Eye::TelescopesBegin(), and fevt::Eye::TelescopesEnd().

void FdProfileReconstructorKG::EnergyFitter::LightFitFunction ( int &  ,
double *  ,
double &  f,
double *  par,
int   
)
staticprivate

fits Gaisser-Hillas function by foward folding of dEdX profile GH parameters are dEdXmax, lambda, X0 and Xmax

Definition at line 521 of file EnergyFitter.cc.

bool FdProfileReconstructorKG::EnergyFitter::ReFitProfile ( const fevt::Eye eye,
CherenkovFluorescenceMatrix *const  chfl 
)
bool FdProfileReconstructorKG::EnergyFitter::Run ( fevt::Eye eye,
CherenkovFluorescenceMatrix *const  chfl 
)
void FdProfileReconstructorKG::EnergyFitter::SetVerbosity ( const int  iv)
inline
void FdProfileReconstructorKG::EnergyFitter::SetYieldRefit ( const bool  what)
inline
bool FdProfileReconstructorKG::EnergyFitter::UpDateFCM ( )
private

Definition at line 929 of file EnergyFitter.cc.

References utl::cm2, and utl::g.

Member Data Documentation

const oBLAS::lowerTriangularMatrix * FdProfileReconstructorKG::EnergyFitter::fChFl = nullptr
staticprivate

Definition at line 108 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fChFlDepth = nullptr
staticprivate

Definition at line 99 of file EnergyFitter.h.

CherenkovFluorescenceMatrix* FdProfileReconstructorKG::EnergyFitter::fChFlPtr = nullptr
private

Definition at line 107 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fChisqGH = 0
private

Definition at line 116 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fCovariance[eNGHParameters][eNGHParameters] = { { 0 } }
private

Definition at line 115 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fdEdX = nullptr
staticprivate

Definition at line 93 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fdEdXmax = 0
private

Definition at line 113 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fDefA1 = 0
staticprivate

Definition at line 129 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fDefA2 = 0
staticprivate

Definition at line 130 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fDefLambda = 0
staticprivate

Definition at line 125 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fDefX0 = 0
staticprivate

Definition at line 124 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fDepth = nullptr
staticprivate

Definition at line 98 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fDiaphragmArea = 0
staticprivate

Definition at line 102 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fEem = 0
private

Definition at line 118 of file EnergyFitter.h.

EnergyFitter::EParConstraints FdProfileReconstructorKG::EnergyFitter::fFixkUniv = eFree
staticprivate

Definition at line 123 of file EnergyFitter.h.

EnergyFitter::EParConstraints FdProfileReconstructorKG::EnergyFitter::fFixLambda = eFree
staticprivate

Definition at line 122 of file EnergyFitter.h.

EnergyFitter::EParConstraints FdProfileReconstructorKG::EnergyFitter::fFixX0 = eFree
staticprivate

Definition at line 121 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fGainVariance = 0
staticprivate

Definition at line 103 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fLambda = 0
private

Definition at line 114 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fLight = nullptr
staticprivate

Definition at line 95 of file EnergyFitter.h.

EnergyFitter::EMinimizationType FdProfileReconstructorKG::EnergyFitter::fMinimizationMethod = eModifiedLeastSquares
staticprivate

Definition at line 133 of file EnergyFitter.h.

unsigned int FdProfileReconstructorKG::EnergyFitter::fnBins = 0
staticprivate

Definition at line 92 of file EnergyFitter.h.

unsigned int FdProfileReconstructorKG::EnergyFitter::fnDof = 0
private

Definition at line 117 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fPhotonToPhotoElectron = 0
staticprivate

Definition at line 104 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fVarK = 0
staticprivate

Definition at line 131 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fVarLambda = 0
staticprivate

Definition at line 127 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fVarX0 = 0
staticprivate

Definition at line 126 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fvBackGround = nullptr
staticprivate

Definition at line 97 of file EnergyFitter.h.

double * FdProfileReconstructorKG::EnergyFitter::fvdEdX = nullptr
staticprivate

Definition at line 94 of file EnergyFitter.h.

int FdProfileReconstructorKG::EnergyFitter::fVerbosity = 0
private

Definition at line 134 of file EnergyFitter.h.

Referenced by GetVerbosity(), and SetVerbosity().

double * FdProfileReconstructorKG::EnergyFitter::fvLight = nullptr
staticprivate

Definition at line 96 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fX0 = 0
private

Definition at line 111 of file EnergyFitter.h.

double FdProfileReconstructorKG::EnergyFitter::fXmax = 0
private

Definition at line 112 of file EnergyFitter.h.

bool FdProfileReconstructorKG::EnergyFitter::fYieldRefit = false
private

Definition at line 135 of file EnergyFitter.h.

Referenced by SetYieldRefit().


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

, generated on Tue Sep 26 2023.