1 #ifndef CHARGEANALYTICAL_CXX
2 #define CHARGEANALYTICAL_CXX
17 _qe_v = pset.get<std::vector<double> >(
"CCVCorrection");
19 FLASH_CRITICAL() <<
"CCVCorrection factor array has size " << _qe_v.size()
31 for (
size_t i = 0; i < n_pmt; ++i) {
35 for (
size_t pmt_index = 0; pmt_index < n_pmt; ++pmt_index) {
37 for (
size_t pt_index = 0; pt_index < track.size(); ++pt_index) {
39 auto const &pt = track[pt_index];
42 double dx = pmt_pos[0] - pt.x;
43 double dy = pmt_pos[1] - pt.y;
44 double dz = pmt_pos[2] - pt.z;
46 double r2 = (pow(dx, 2) + pow(dy, 2) + pow(dz, 2));
48 double angle = dx / sqrt(r2);
50 if (angle < 0) angle *= -1;
size_t NOpDets() const
of PMTs
process_name use argoneut_mc_hitfinder track
fhicl::ParameterSet Config_t
Configuration object.
static DetectorSpecs & GetME(std::string filename="detector_specs.cfg")
Struct to represent an optical flash.
std::vector< double > pe_v
PE distribution over photo-detectors.
#define FLASH_CRITICAL()
Compiler macro for CRITICAL message.
Collection of charge deposition 3D point (cluster)
void _Configure_(const Config_t &pset)
double _global_qe
Global QE.
std::vector< double > _qe_v
PMT-wise relative QE.
ChargeAnalytical(const std::string name="ChargeAnalytical")
Default constructor.
const geoalgo::Point_t & PMTPosition(size_t opch)
PMT XYZ position filler.
Class def header for a class ChargeAnalytical.
static ChargeAnalyticalFactory __global_ChargeAnalyticalFactory__
finds tracks best matching by angle
void FillEstimate(const QCluster_t &, Flash_t &) const
Method to simply fill provided reference of flashmatch::Flash_t.