18 #define USING_LARSOFT 1
21 #if USING_LARSOFT == 0
43 namespace flashmatch {
72 std::cerr <<
"QLLMatch instance must be uniquely named. Requested: "
74 throw std::exception();
103 const bool init_x0=
true);
~QLLMatch()
Default destructor.
double CallMinuit(const QCluster_t &tpc, const Flash_t &pmt, const bool init_x0=true)
std::vector< double > _minimizer_record_x_v
Minimizer record X values.
bool _record
Boolean switch to record minimizer history.
process_name opflash particleana ie x
BEGIN_PROLOG could also be cerr
double _pe_hypothesis_threshold
std::vector< double > _zpos_v
Struct to represent an energy deposition point in 3D space.
Abstract base class for factory (to be implemented per flash)
std::vector< double > _xpos_v
static FlashMatchFactory & get()
Static sharable instance getter.
flashmatch::Flash_t _hypothesis
Hypothesis PE distribution over PMTs.
double _normalize
Noramalize hypothesis PE spectrum.
void add_factory(const std::string name, flashmatch::FlashMatchFactoryBase *factory)
Factory registration method (should be called by global factory instance in algorithm header) ...
const Flash_t & ChargeHypothesis(const double)
std::vector< double > _penalty_value_v
fhicl::ParameterSet Config_t
Configuration object.
flashmatch::Flash_t _measurement
Flash PE distribution over PMTs.
const std::vector< double > & HistoryChi2() const
Struct to represent an optical flash.
FlashMatch_t PESpectrumMatch(const QCluster_t &pt_v, const Flash_t &flash, const bool init_x0)
flashmatch::QCluster_t _raw_trk
FlashMatch_t OnePMTMatch(const Flash_t &flash)
const Flash_t & Measurement() const
double _onepmt_pefrac_threshold
const std::string & AlgorithmName() const
Algorithm name.
double _reco_x_offset
reconstructed X offset (from wire-plane to min-x point)
double QLL(const flashmatch::Flash_t &, const flashmatch::Flash_t &)
Class def header for a class FlashMatchFactory.
Collection of charge deposition 3D point (cluster)
std::vector< double > _ypos_v
std::vector< double > _minimizer_record_chi2_v
Minimizer record chi2 value.
double _reco_x_offset_err
reconstructed X offset w/ error
float _construct_hypo_time
Keeps track of the total time spent constructing hypotheses.
Class def header for exception classes in OpT0Finder package.
double _onepmt_pesum_threshold
static QLLMatch * GetME(std::string name="")
Singleton shared instance getter.
BaseFlashMatch * create(const std::string instance_name)
creation method
double _recox_penalty_threshold
std::vector< double > _minimizer_record_llhd_v
Minimizer record llhd value.
flashmatch::QCluster_t _var_trk
const std::vector< double > & HistoryX() const
double _onepmt_score_threshold
const std::vector< double > & HistoryLLHD() const
void _Configure_(const Config_t &pset)
std::vector< double > _penalty_threshold_v
double _recoz_penalty_threshold
Class def header for a class BaseFlashMatch.
QLLMode_t _mode
Minimizer mode.
FlashMatch_t Match(const QCluster_t &, const Flash_t &)
Core function: execute matching.
QLLMatch()
Default ctor throws exception (singleton)
const std::string & name() const
Name getter, defined in a logger instance attribute.
double _qll
Minimizer return value.
double _pe_observation_threshold
void SetTPCCryo(int tpc, int cryo)
Sets the TPC and Cryo numbers.
double _onepmt_xdiff_threshold
void Record(const double x)