14 #ifndef _LDFFinderKG_LDFFinder_h_
15 #define _LDFFinderKG_LDFFinder_h_
17 #include <fwk/VModule.h>
18 #include <utl/Point.h>
19 #include <utl/Vector.h>
20 #include <utl/TimeStamp.h>
21 #include <utl/CovarianceMatrix.h>
22 #include <sdet/ArrayType.h>
40 namespace LDFFinderKG {
126 std::vector<double>
fPar = std::vector<double>(4);
137 const double u =
fPar[
eU];
147 const double u =
fPar[
eU];
159 const std::vector<StationFitData>&
data)
const;
163 const std::vector<StationFitData>&
data)
const;
168 const std::vector<StationFitData>&
data)
const;
173 const std::vector<StationFitData>&
data)
const;
176 double ParameterizedRc(
const double cosTheta,
const double showerSize)
const;
180 const std::vector<StationFitData>&
data)
const;
191 const LDFFitResult& lresult,
192 const CurvFitResult& cresult)
const;
196 bool FitGlobal(CurvFitResult& cres, LDFFitResult& lres,
198 const std::vector<StationFitData>&
data)
const;
202 std::vector<StationFitData>& stationFitData)
const;
Fit the LDF and the universe.
void OutputResults(const evt::Event &event) const
bool FixBeta(const LDFFitResult &result, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
double fMaxAxisAngleDifference
Report success to RunController.
std::vector< double > fFixGammaLeverArmRange
EnergyConversion fEnergyConversion
std::vector< StationFitData > MakeStationFitData(const sevt::SEvent &sEvent) const
Init station data used by LDF fit.
Interface class to access to the SD part of an event.
std::vector< double > fFixBetaLeverArmRange
bool FitLDF(LDFFitResult &result, LDFFitConfig &config, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) 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.
void FitLDFSimplified(LDFFitResult &result, LDFFitConfig &config, const utl::Vector &showerAxis, const std::vector< StationFitData > &data) const
Early estimate of shower size.
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)
std::vector< int > fBadSilents
std::vector< double > fFixGammaRange
void SetRecData(evt::Event &event, const LDFFitResult &lresult, const CurvFitResult &cresult) const
struct LDFFinderKG::LDFFinder::Stage0 fStage0
A TimeStamp holds GPS second and nanosecond for some event.
utl::CoordinateSystemPtr gBaryCS
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
std::vector< double > fPar
utl::Point GetCore() const
bool FitGlobal(CurvFitResult &cres, LDFFitResult &lres, const LDFFitConfig &config, const std::vector< StationFitData > &data) const
LDFFitConfig fLDFFitConfig
double FitCurvature(CurvFitResult &result, const utl::Point &core, const std::vector< StationFitData > &data) const
sdet::Array::Type fArrayType
utl::CovarianceMatrix fCov
struct LDFFinderKG::LDFFinder::Stage2 fStage2
int fMinNumberForFullCurvatureFit
bool fUseSilentStationsFromOtherGrids
bool FixCore(utl::Point &core, utl::TimeStamp &coreTime, utl::Vector &showerAxis, const evt::Event &event) const
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
LDFFitResult(const LDFFitConfig &config)
ResultFlag
Flag returned by module methods to the RunController.
struct LDFFinderKG::LDFFinder::Stage3 fStage3
double fMaxBaryToCoreDistance
std::vector< double > fPar
utl::CovarianceMatrix fCov
struct LDFFinderKG::LDFFinder::Stage1 fStage1
struct LDFFinderKG::LDFFinder::Silents fSilentsVars
std::vector< double > fFixBetaRange
REGISTER_MODULE("LDFFinderKG", LDFFinder)
std::vector< int > CleanSilentStation(const LDFFitResult &ldfres, const LDFFitConfig &config, const utl::Vector &showerAxis, std::vector< StationFitData > &stationFitData) const
double ParameterizedRc(const double cosTheta, const double showerSize) const
std::vector< double > GetLDFShapeParameters() const