9 #include <Minuit2/FCNBase.h>
11 #include <utl/CoordinateSystemPtr.h>
12 #include <utl/Vector.h>
13 #include <utl/Point.h>
15 #include <utl/PhysicalFunctions.h>
16 #include <utl/Vector.h>
17 #include <fwk/LocalCoordinateSystem.h>
19 namespace RdGlobalFit {
160 FitData(
bool isfix,
bool haslimits,
double startvalue,
double starterror,
double lowlimit,
227 std::vector<StationFitData>& stationData,
232 double operator()(
const std::vector<double>& pars)
const;
268 const double core_x,
const double core_y,
const double core_z,
271 double calcTimeMinCrit(
const double gamma,
const double DXmax,
const double b,
const double t0,
272 const double x_vxB,
const double y_vxvxB,
const double z_vxvxB,
273 const double signalTime,
const double signalTimeError,
274 std::vector<StationFitData>::iterator sIt)
const;
276 double calc2dLDFMinCrit(
const double Aplus,
const double sigma_max,
const double DXmax,
277 const double C2Theta,
const double C1Theta,
const double CTheta,
278 const double C1,
const double C2,
const double x_vxB,
279 const double y_vxvxB,
const double signal,
const double signalError,
280 std::vector<StationFitData>::iterator sIt)
const;
286 double sigmaPlusFromDXmax(
double DXmax,
double a1,
double a2,
double a3,
double a4)
const;
287 double gammaFromRmax(
double DXmax,
double alpha_1,
double alpha_2,
double alpha_3,
const LDFConstsTable fLDFConstsTable
double fTwoDLDFLikelyhood
double fArrivalTimeLikelihood
double calc2dLDFMinCrit(const double Aplus, const double sigma_max, const double DXmax, const double C2Theta, const double C1Theta, const double CTheta, const double C1, const double C2, const double x_vxB, const double y_vxvxB, const double signal, const double signalError, std::vector< StationFitData >::iterator sIt) const
double getTwoDLDFLikelyhood()
void calc2dLDFConstants(double zenith) const
const EventFitData fEventData
double energyFluenceError
RdGlobalFitMinimizationCriterion(FitConfig &fitconfig, const EventFitData eventData, std::vector< StationFitData > &stationData, const utl::Vector magneticFieldVector, const LDFConstsTable ldfConstsTable, calcLDFConsts &calcLDFConsts)
double getArrivalTimeLikelihood()
double gammaFromRmax(double DXmax, double alpha_1, double alpha_2, double alpha_3, double c) const
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
utl::Point stationPosition
double sigmaPlusFromDXmax(double DXmax, double a1, double a2, double a3, double a4) const
FitData(bool isfix, bool haslimits, double startvalue, double starterror, double lowlimit, double highlimit)
void setVerbose(bool verbose)
FitData arrivalDirection_phi
utl::CoordinateSystemPtr fLocalCS
double operator()(const std::vector< double > &pars) const
std::string startValueFrom
double fittedEnergyFluence
calcLDFConsts & fcalcLDFConsts
double calcTimeMinCrit(const double gamma, const double DXmax, const double b, const double t0, const double x_vxB, const double y_vxvxB, const double z_vxvxB, const double signalTime, const double signalTimeError, std::vector< StationFitData >::iterator sIt) const
void calcShowerCoordinates(const double arrivalDirection_phi, const double arrivalDirection_theta, const double core_x, const double core_y, const double core_z, utl::Vector magneticFieldVector) const
std::vector< StationFitData > & getStationData()
bool fitGammaAndSigmaPlusIndependently
FitData arrivalDirection_theta
void SetErrorDef(double def)
utl::Vector fMagneticFieldVector
std::vector< StationFitData > & fStationData