1 #ifndef _MdLDFFinderAG_MdLDFFinder_h_
2 #define _MdLDFFinderAG_MdLDFFinder_h_
4 #include <utl/config.h>
6 #include <utl/Vector.h>
7 #include <fwk/VModule.h>
9 #include <evt/ShowerRecData.h>
10 #include <mevt/MEvent.h>
11 #include <mevt/ModuleRecData.h>
12 #include <mdet/MDetector.h>
14 #include <boost/utility.hpp>
27 namespace MdLDFFinderAG {
31 class VMinMethodFunctor;
56 VModule::ResultFlag
Init();
58 VModule::ResultFlag
Finish();
122 const std::vector<double>& fErrPars);
129 unsigned int GetFreeParIndex(
const std::vector<ROOT::Minuit2::MinuitParameter>,
unsigned int)
const;
169 std::unique_ptr<VLDFFunctor>
fLDF;
182 #endif // _MdLDFFinderAG_MdLDFFinder_h_
void FillReconstructedParameters(evt::ShowerMRecData &, const ROOT::Minuit2::MnUserParameterState &, double)
void FillModulesShowerPlaneDistances(const evt::ShowerSRecData &, const mdet::MDetector &, mevt::MEvent &)
REGISTER_MODULE("MdLDFFinderAG", MdLDFFinder)
double CalculateChi2(const CounterList counters, const std::vector< double > parameters, const utl::Point rCore, const utl::Vector rAxis) const
VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
void FillTabulatedFunction(evt::ShowerMRecData &, const std::vector< double > &fPars, const std::vector< double > &fErrPars)
Interface class to access to the SD Reconstruction of a Shower.
MinMethodType
Kind of possible minimization criteria to be used.
unsigned int fCountersToFixBeta
utl::CoordinateSystemPtr siteCS
Make detector data and coordinate system available to all methods.
std::unique_ptr< VLDFFunctor > fLDF
Object performing the LDF and MinMethod evaluation.
double CalculateBeta(const double theta) const
Detector associated to muon detector hierarchy.
CounterList SelectCandidateCounters(mevt::MEvent &)
Fill the minimizer with the candidate modules from the event No efforr is made hare that the statuses...
const mdet::MDetector * mDetector
size_t CalculateDegreesOfFreedom(const CounterList, const std::vector< bool >) const
VModule::ResultFlag Run(evt::Event &e)
Run: invoked once per event.
LDFType fLDFType
LDF and Minimization Method Types.
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
LDFType
Kind of possible ldf functions to be used.
void SetLdfResiduals(CounterList counters, const std::vector< double > parameters, const utl::Point rCore, const utl::Vector rAxis) const
std::unique_ptr< VMinMethodFunctor > fMinimizer
CounterList SelectSilentCounters(mevt::MEvent &)
double CalculateRho0Seed(const CounterList counters, const utl::Point rCore, const utl::Vector rAxis) const
Estimate inital parameters.
VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
double fUppLimToRelaxBeta
bool FixBetaFlag(const CounterList, const utl::Point &, const utl::Vector &) const
double fA0
For beta parameterization: beta(theta) = a0 + a1 * sec(theta) + a2 * sec^2(theta) ...
double fLowLimToRelaxBeta
MinMethodType fMinMethodType
static const char *const kMinMethodTags[]
Tags for the types of MinMethod.
static const char *const kLDFTags[]
Tags for the types of LDF.
Interface class to access to the Muon Reconstruction of a Shower.
unsigned int GetFreeParIndex(const std::vector< ROOT::Minuit2::MinuitParameter >, unsigned int) const
Root of the Muon event hierarchy.
double fReferenceDistance