List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
LDFFinderKG::LDFFinder Class Reference

Fit the LDF and the universe. More...

#include <LDFFinderKG/LDFFinder.h>

Inheritance diagram for LDFFinderKG::LDFFinder:
Inheritance graph
[legend]

Classes

struct  CurvFitResult
 
struct  LDFFitResult
 
struct  Silents
 
struct  Stage0
 
struct  Stage1
 
struct  Stage2
 
struct  Stage3
 

Public Types

enum  CurvatureParameter { eU = 0, eV = 1, eRCore = 2, eCTCore = 3 }
 
enum  InfoLevel {
  eNone = 0, eFinal = 1, eIntermediate = 2, eObscure = 3,
  eMinuit = 4
}
 
enum  LDFParameter { eShowerSize = 0, eCoreX = 1, eCoreY = 2, eShapeParameters = 3 }
 
enum  ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop }
 Flag returned by module methods to the RunController. More...
 
enum  VersionInfoType {
  eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4,
  eLastEditor = 5
}
 Different types of version info that can be retrieved from GetVersionInfo. More...
 

Public Member Functions

fwk::VModule::ResultFlag Finish () override
 Finish: invoked at end of the run (NOT end of the event) More...
 
utl::StopwatchGetStopwatch ()
 
const utl::StopwatchGetStopwatch () const
 
std::string GetVersionInfo (const VersionInfoType v) const
 Retrieve different sorts of module version info. More...
 
fwk::VModule::ResultFlag Init () override
 Initialize: invoked at beginning of run (NOT beginning of event) More...
 
void InitTiming ()
 
fwk::VModule::ResultFlag Run (evt::Event &event) override
 Run: invoked once per event. More...
 
ResultFlag RunWithTiming (evt::Event &event)
 

Static Public Member Functions

static std::string GetResultFlagByName (const ResultFlag flag)
 

Private Member Functions

std::vector< int > CleanSilentStation (const LDFFitResult &ldfres, const LDFFitConfig &config, const utl::Vector &showerAxis, std::vector< StationFitData > &stationFitData) const
 
double FitCurvature (CurvFitResult &result, const utl::Point &core, const std::vector< StationFitData > &data) const
 
bool FitGlobal (CurvFitResult &cres, LDFFitResult &lres, const LDFFitConfig &config, const std::vector< StationFitData > &data) const
 
bool FitLDF (LDFFitResult &result, LDFFitConfig &config, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
 
void FitLDFSimplified (LDFFitResult &result, LDFFitConfig &config, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
 Early estimate of shower size. More...
 
bool FixBeta (const LDFFitResult &result, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
 
bool FixCore (utl::Point &core, utl::TimeStamp &coreTime, utl::Vector &showerAxis, const evt::Event &event) const
 
bool FixGamma (const LDFFitResult &result, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
 Criterion if gamma can be fitted analogue to beta must be checked/updated. More...
 
std::vector< StationFitDataMakeStationFitData (const sevt::SEvent &sEvent) const
 Init station data used by LDF fit. More...
 
void OutputResults (const evt::Event &event) const
 
double ParameterizedRc (const double cosTheta, const double showerSize) const
 
 REGISTER_MODULE ("LDFFinderKG", LDFFinder)
 
void SetRecData (evt::Event &event, const LDFFitResult &lresult, const CurvFitResult &cresult) const
 

Private Attributes

sdet::Array::Type fArrayType = sdet::Array::e1500
 
std::vector< int > fBadSilents
 
utl::Point fBarycenter
 
utl::TimeStamp fBaryTime
 
CoreType fCoreType
 
EnergyConversion fEnergyConversion
 
bool fFixedAxis = false
 
bool fFixedCurvature = false
 
bool fGlobalFit = false
 
int fInfoLevel = 0
 
LDFFitConfig fLDFFitConfig
 
double fMaxBaryToCoreDistance = 0
 
double fMaxChi2 = 0
 
double fMaxTheta = 0
 
int fRoptN = 0
 
struct
LDFFinderKG::LDFFinder::Silents 
fSilentsVars
 
struct
LDFFinderKG::LDFFinder::Stage0 
fStage0
 
struct
LDFFinderKG::LDFFinder::Stage1 
fStage1
 
struct
LDFFinderKG::LDFFinder::Stage2 
fStage2
 
struct
LDFFinderKG::LDFFinder::Stage3 
fStage3
 
bool fUseMaxLikelihood = false
 
bool fUseSilentStationsFromOtherGrids = false
 

Detailed Description

Fit the LDF and the universe.

Fit is performed in several stages:

Author
Markus Roth
Darko Veberic
Date
06 Apr 2004
25 Nov 2004 rewrite

Definition at line 71 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

Member Enumeration Documentation

Enumerator
eU 
eV 
eRCore 
eCTCore 

Definition at line 117 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

Enumerator
eNone 
eFinal 
eIntermediate 
eObscure 
eMinuit 

Definition at line 77 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

Enumerator
eShowerSize 
eCoreX 
eCoreY 
eShapeParameters 

Definition at line 85 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

enum fwk::VModule::ResultFlag
inherited

Flag returned by module methods to the RunController.

Enumerator
eSuccess 

Report success to RunController.

eFailure 

Report failure to RunController, causing RunController to terminate execution.

eBreakLoop 

Break current loop. It works for nested loops too!

eContinueLoop 

Skip remaining modules in the current loop and continue with next iteration of the loop.

Definition at line 60 of file VModule.h.

Different types of version info that can be retrieved from GetVersionInfo.

Enumerator
eFilename 
eRevisionNumber 
eDate 
eTime 
eLastEditor 

Definition at line 110 of file VModule.h.

Member Function Documentation

vector< int > LDFFinder::CleanSilentStation ( const LDFFitResult ldfres,
const LDFFitConfig config,
const utl::Vector showerAxis,
std::vector< StationFitData > &  stationFitData 
) const
private
fwk::VModule::ResultFlag LDFFinderKG::LDFFinder::Finish ( )
inlineoverridevirtual

Finish: invoked at end of the run (NOT end of the event)

This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 75 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

References fwk::VModule::eSuccess.

double LDFFinder::FitCurvature ( CurvFitResult result,
const utl::Point core,
const std::vector< StationFitData > &  data 
) const
private
bool LDFFinder::FitGlobal ( CurvFitResult cres,
LDFFitResult lres,
const LDFFitConfig config,
const std::vector< StationFitData > &  data 
) const
private
bool LDFFinder::FitLDF ( LDFFitResult result,
LDFFitConfig config,
const utl::Vector showerAxis,
const std::vector< StationFitData > &  data 
) const
private
void LDFFinder::FitLDFSimplified ( LDFFitResult result,
LDFFitConfig config,
const utl::Vector showerAxis,
const std::vector< StationFitData > &  data 
) const
private
bool LDFFinder::FixBeta ( const LDFFitResult result,
const utl::Vector showerAxis,
const std::vector< StationFitData > &  data 
) const
private
bool LDFFinder::FixCore ( utl::Point core,
utl::TimeStamp coreTime,
utl::Vector showerAxis,
const evt::Event event 
) const
private
bool LDFFinder::FixGamma ( const LDFFitResult result,
const utl::Vector showerAxis,
const std::vector< StationFitData > &  data 
) const
private

Criterion if gamma can be fitted analogue to beta must be checked/updated.

Definition at line 1062 of file SdReconstruction/LDFFinderKG/LDFFinder.cc.

References LDFFinderKG::LDFFinder::LDFFitResult::GetCore(), galactic::meter, OUT, LDFFinderKG::RPerp(), and utl::s.

std::string fwk::VModule::GetResultFlagByName ( const ResultFlag  flag)
staticinherited
utl::Stopwatch& fwk::VModule::GetStopwatch ( )
inlineinherited

Definition at line 106 of file VModule.h.

References fwk::VModule::fStopwatch.

const utl::Stopwatch& fwk::VModule::GetStopwatch ( ) const
inlineinherited

Definition at line 107 of file VModule.h.

References fwk::VModule::fStopwatch.

std::string fwk::VModule::GetVersionInfo ( const VersionInfoType  v) const
inherited
VModule::ResultFlag LDFFinder::Init ( )
overridevirtual

Initialize: invoked at beginning of run (NOT beginning of event)

This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 222 of file SdReconstruction/LDFFinderKG/LDFFinder.cc.

References sdet::Array::e1500, sdet::Array::e433, sdet::Array::e750, LDFFinderKG::eFit, utl::wcd::eGAP2012_012, utl::wcd::eGAP2014_035, LDFFinderKG::eHybrid, LDFFinderKG::eMC, LDFFinderKG::eModeled, ERROR, io::eSuccess, LDFFinderKG::GetShowerSizeLabel(), INFO, and G4StationSimulatorOG::p.

void fwk::VModule::InitTiming ( )
inlineinherited

Definition at line 95 of file VModule.h.

References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().

vector< StationFitData > LDFFinder::MakeStationFitData ( const sevt::SEvent sEvent) const
private
void LDFFinder::OutputResults ( const evt::Event event) const
private
double LDFFinder::ParameterizedRc ( const double  cosTheta,
const double  showerSize 
) const
private
LDFFinderKG::LDFFinder::REGISTER_MODULE ( "LDFFinderKG"  ,
LDFFinder   
)
private
VModule::ResultFlag LDFFinder::Run ( evt::Event event)
overridevirtual

Run: invoked once per event.

This method is for things that should be done once per event {You must override this method in your concrete module}

Implements fwk::VModule.

Definition at line 414 of file SdReconstruction/LDFFinderKG/LDFFinder.cc.

References Angle(), LDFFinderKG::LDF::BetaUncertainty(), utl::Chi2Probability(), degree, SdHorizontalReconstructionNS::eCoreX, SdHorizontalReconstructionNS::eCoreY, LDFFinderKG::eFit, LDFFinderKG::eFitted, LDFFinderKG::eFixed, LDFFinderKG::eModeled, SdMonteCarloPropagatorKVI::eShowerSize, io::eSuccess, galactic::eV, LDFFinderKG::LDFFinder::CurvFitResult::fChi2, LDFFinderKG::LDFFinder::LDFFitResult::fCov, LDFFinderKG::LDFFinder::CurvFitResult::fCov, LDFFinderKG::LDFFitConfig::fLDF, LDFFinderKG::LDFFitConfig::fLDFShapeTreatment, LDFFinderKG::LDFFinder::CurvFitResult::fNdof, LDFFinderKG::LDFFinder::LDFFitResult::fPar, LDFFinderKG::LDFFinder::CurvFitResult::fPar, LDFFinderKG::LDFFinder::LDFFitResult::fRecStage, LDFFinderKG::LDFFitConfig::fUseSaturationRecovery, LDFFinderKG::LDFFitConfig::fUseSilentStations, LDFFinderKG::gBaryCS, LDFFinderKG::LDFFinder::LDFFitResult::GetCore(), LDFFinderKG::LDFFinder::LDFFitResult::GetLDFShapeParameters(), LDFFinderKG::LDF::GetNShapeParameters(), utl::BasicVector< HepVector >::GetPhi(), LDFFinderKG::GetShowerSizeLabel(), utl::BasicVector< HepVector >::GetTheta(), utl::BasicVector< HepVector >::GetX(), utl::BasicVector< HepVector >::GetY(), evt::Event::HasSEvent(), utl::InverseNormalCDF(), utl::kilometer, utl::String::Make(), galactic::meter, utl::nanosecond, utl::NormalCDF(), OUT, G4StationSimulatorOG::p, and result.

ResultFlag fwk::VModule::RunWithTiming ( evt::Event event)
inlineinherited
void LDFFinder::SetRecData ( evt::Event event,
const LDFFitResult lresult,
const CurvFitResult cresult 
) const
private

Member Data Documentation

sdet::Array::Type LDFFinderKG::LDFFinder::fArrayType = sdet::Array::e1500
private

Definition at line 205 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

std::vector<int> LDFFinderKG::LDFFinder::fBadSilents
private

Definition at line 220 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

utl::Point LDFFinderKG::LDFFinder::fBarycenter
private

Definition at line 215 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

utl::TimeStamp LDFFinderKG::LDFFinder::fBaryTime
private

Definition at line 216 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

CoreType LDFFinderKG::LDFFinder::fCoreType
private

Definition at line 211 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

EnergyConversion LDFFinderKG::LDFFinder::fEnergyConversion
private

Definition at line 218 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

bool LDFFinderKG::LDFFinder::fFixedAxis = false
private

Definition at line 212 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

bool LDFFinderKG::LDFFinder::fFixedCurvature = false
private

Definition at line 213 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

bool LDFFinderKG::LDFFinder::fGlobalFit = false
private

Definition at line 214 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

int LDFFinderKG::LDFFinder::fInfoLevel = 0
private

Definition at line 204 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

LDFFitConfig LDFFinderKG::LDFFinder::fLDFFitConfig
private

Definition at line 217 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

double LDFFinderKG::LDFFinder::fMaxBaryToCoreDistance = 0
private

Definition at line 207 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

double LDFFinderKG::LDFFinder::fMaxChi2 = 0
private

Definition at line 208 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

double LDFFinderKG::LDFFinder::fMaxTheta = 0
private

Definition at line 206 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

int LDFFinderKG::LDFFinder::fRoptN = 0
private

Definition at line 219 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

struct LDFFinderKG::LDFFinder::Silents LDFFinderKG::LDFFinder::fSilentsVars
private
struct LDFFinderKG::LDFFinder::Stage0 LDFFinderKG::LDFFinder::fStage0
private
struct LDFFinderKG::LDFFinder::Stage1 LDFFinderKG::LDFFinder::fStage1
private
struct LDFFinderKG::LDFFinder::Stage2 LDFFinderKG::LDFFinder::fStage2
private
struct LDFFinderKG::LDFFinder::Stage3 LDFFinderKG::LDFFinder::fStage3
private
bool LDFFinderKG::LDFFinder::fUseMaxLikelihood = false
private

Definition at line 209 of file SdReconstruction/LDFFinderKG/LDFFinder.h.

bool LDFFinderKG::LDFFinder::fUseSilentStationsFromOtherGrids = false
private

Definition at line 210 of file SdReconstruction/LDFFinderKG/LDFFinder.h.


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

, generated on Tue Sep 26 2023.