1 #ifndef OPT0FINDER_TIMECOMPATMATCH_CXX
2 #define OPT0FINDER_TIMECOMPATMATCH_CXX
7 #define USING_LARSOFT 1
10 namespace flashmatch {
26 FLASH_INFO() <<
"QCluster_t is empty." << std::endl;
31 auto flash_time = flash.
time;
35 double clus_x_min = 1036.;
36 double clus_x_max = -1036.;
37 for (
auto const& pt : clus){
38 if (pt.x > clus_x_max) { clus_x_max = pt.x; }
39 if (pt.x < clus_x_min) { clus_x_min = pt.x; }
42 FLASH_INFO() <<
"Cluster x min: " << clus_x_min <<
", x max: " << clus_x_max << std::endl;
45 #if USING_LARSOFT == 1
54 FLASH_INFO() <<
"Cluster xmax: " << xmax <<
", clus_t_min: " << clus_t_min
55 <<
", clus_t_max: " << clus_t_max
56 <<
", flash_time: " << flash_time << std::endl;
double _time_buffer
Buffer time to allow some uncertainty [us].
const geoalgo::AABox & ActiveVolume() const
Detector active volume.
Class def header for a class TimeCompatMatch.
static TimeCompatMatchFactory __global_TimeCompatMatchFactory__
#define FLASH_INFO()
Compiler macro for INFO message.
fhicl::ParameterSet Config_t
Configuration object.
static DetectorSpecs & GetME(std::string filename="detector_specs.cfg")
Struct to represent an optical flash.
TimeCompatMatch(const std::string name="TimeCompatMatch")
Default constructor.
Collection of charge deposition 3D point (cluster)
bool MatchCompatible(const QCluster_t &clus, const Flash_t &flash)
CORE FUNCTION: determines if a flash and cluster are at all compatible (bool return) ...
const Point_t & Max() const
Maximum point getter.
double DriftVelocity() const
Drift velocity.
double time
Flash timing, a candidate T0.
void _Configure_(const Config_t &pset)