Go to the documentation of this file. 1 #ifndef JMUONGANDALF_INCLUDE
2 #define JMUONGANDALF_INCLUDE
79 JRegressor_t::T_ns.setRange(-50.0, +450.0);
80 JRegressor_t::Vmax_npe = 10.0;
81 JRegressor_t::MAXIMUM_ITERATIONS = 10000;
119 if (std::equal_to<KM3NETDAQ::JDAQPMTIdentifier>()(first, second))
120 return std::less<JTRIGGER::JHit>()(first, second);
122 return std::less<KM3NETDAQ::JDAQPMTIdentifier>()(first, second);
137 if ( InPreFits.empty() )
return;
154 JEvt::iterator __end = InPreFits.end();
157 __end = std::partition( InPreFits.begin(), __end,
162 if (InPreFits.begin() != __end) {
164 std::copy(InPreFits.begin(), __end, std::back_inserter(OutFits));
166 if (numberOfPrefits > 0) {
167 std::advance(__end = InPreFits.begin(), std::min(numberOfPrefits, OutFits.size()));
170 std::partial_sort(InPreFits.begin(), __end, InPreFits.end(),
qualitySorter);
172 __end = std::partition(InPreFits.begin(), __end,
178 buildL0(timeSlice, *
router_, std::back_inserter(dataL0));
182 for (JEvt::const_iterator track = InPreFits.begin(); track != __end; ++track) {
193 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
206 std::sort(data.begin(), data.end(),
compare);
208 JDataW0_t::iterator __end = std::unique( data.begin(), data.end(),
209 std::equal_to<KM3NETDAQ::JDAQPMTIdentifier>()
218 if (track->getE() > 0.1)
229 const double energy(0);
Auxiliary class for a hit with background rate value.
Auxiliary classes and methods for linear and iterative data regression.
Data structure for fit of straight line in positive z-direction.
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter.
static bool compare(const JTRIGGER::JHitL0 &first, const JTRIGGER::JHitL0 &second)
Compare hits by PMT identifier and time.
JRegressor_t fitRegresor_
static const int JGANDALF_BETA1_RAD
angular resolution [rad] from JGandalf.cc
static const int JGANDALF_CHI2
chi2 from JGandalf.cc
JFIT::JRegressor< JFIT::JLine3Z, JFIT::JGandalf > JRegressor_t
JMuonGandalf()
Default constructor.
static const int JGANDALF_NUMBER_OF_ITERATIONS
number of iterations from JGandalf.cc
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
static parameter_type pY()
Data structure for set of track fit results.
void copy(const Head &from, JHead &to)
Copy header from from to to.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
static parameter_type pT()
Auxiliary class to match data points with given model.
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
static const int JMUONGANDALF
Auxiliary class to test history.
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
std::size_t numberOfPrefits
JFIT::JMuonGandalfParameters_t parameters_
class to handle Muon Gandalf reconstruction first, two other angular reconstructionS should be ran : ...
Data structure for fit of straight line paralel to z-axis.
Auxiliary class to test history.
static const int JGANDALF_LAMBDA
control parameter from JGandalf.cc
static parameter_type pDX()
Data structure for L0 hit.
static parameter_type pDY()
static parameter_type pX()
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=0)
Get fit.
Container for historical events.
static const int JGANDALF_NUMBER_OF_HITS
number of hits from JGandalf.cc
double getQuality(const double chi2, const int NDF)
Get quality of fit.
JPosition3D getPosition(const JFit &fit)
Get position.
JLANG::JSharedPointer< const JDETECTOR::JModuleRouter > router_
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v1.0.1-4-gf2937b0 https://git.km3net.de/common/km3net-dataformat.
JDirection3D getDirection(const JFit &fit)
Get direction.
JMuonGandalf(const JLANG::JSharedPointer< const JDETECTOR::JModuleRouter > &router, const JFIT::JMuonGandalfParameters_t ¶meters, std::string pdfFile)
Parameterized constructor.
void getJEvt(const KM3NETDAQ::JDAQTimeslice &timeSlice, JFIT::JEvt &InPreFits, JFIT::JEvt &OutFits) const
Declaration of Member function that actually performs the reconstruction.