1 #ifndef _SdSimMuonNumberFitter_h_
2 #define _SdSimMuonNumberFitter_h_
13 #include <fwk/VModule.h>
14 #include <evt/Event.h>
16 #include <utl/Point.h>
17 #include <utl/Vector.h>
18 #include <utl/CoordinateSystemPtr.h>
19 #include <utl/TimeStamp.h>
39 namespace SdSimMuonNumberFitterNS {
59 InternalStationData(
const int id,
const double x,
const double y,
const double theta,
const unsigned int nmu)
72 void MinuitFnc(
int&
nPar,
double*
const grad,
double& value,
double*
const par,
const int flag);
77 void GetChi2(
double& chi2,
unsigned int& ndof,
const double n19,
const double corex,
const double corey);
109 static void N19FitFnc(
int&
nPar,
double*
const grad,
double& value,
double*
const par,
const int flag);
113 double& logLikelihoodMin,
const bool fixedCore)
const;
115 void DrawLogLikelihood(TVirtualPad*
const pad,
const double n19,
const char*
const comment)
const;
117 void DrawMuonDensity(TVirtualPad*
const pad,
const double n19,
const double theta,
const double phi,
const char*
const comment)
const;
void AddStation(const int id, const utl::Point &sPos, const utl::Point &showerOrigin, const utl::CoordinateSystemPtr &coreCS, const unsigned int nmuon)
InternalStationData(const int id, const double x, const double y, const double theta, const unsigned int nmu)
void DrawLogLikelihood(TVirtualPad *const pad, const double n19, const char *const comment) const
bool EnergyFit(const utl::CoordinateSystemPtr &localCS, utl::Point &core, utl::Vector &coreError, double &n19, double &n19Error, double &logLikelihoodMin, const bool fixedCore) const
A TimeStamp holds GPS second and nanosecond for some event.
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
utl::Point FindMuonDensityBaryCenter(const std::vector< StationData > &stationList) const
void DrawMuonDensity(TVirtualPad *const pad, const double n19, const double theta, const double phi, const char *const comment) const
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
InternalStationList fStationList
virtual ~SdSimMuonNumberFitter()
static void N19FitFnc(int &nPar, double *const grad, double &value, double *const par, const int flag)
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
void GetChi2(double &chi2, unsigned int &ndof, const double n19, const double corex, const double corey)
std::vector< InternalStationData > InternalStationList
ResultFlag
Flag returned by module methods to the RunController.
void SetPhi(const double phi)
void SetTheta(const double theta)
void MinuitFnc(int &nPar, double *const grad, double &value, double *const par, const int flag)
REGISTER_MODULE("SdSimMuonNumberFitter", SdSimMuonNumberFitter)
utl::CoordinateSystemPtr fSimCoreCS
unsigned int GetNumberOfStations()