1 #ifndef OPT0FINDER_OPT0FINDERTYPES_H
2 #define OPT0FINDER_OPT0FINDERTYPES_H
48 for(
auto const& v :
pe_v)
if(v>=0.) res+=v;
54 for (
auto const& v :
pe_true_v)
if (v>=0.) res+=v;
58 bool Valid(
size_t nopdet=0)
const {
88 {
return sqrt(pow(pt.
x-
x,2)+pow(pt.
y-
y,2)+pow(pt.
z-
z,2)); }
108 void drop(
double xmin,
double xmax);
119 {
for(
auto& pt : (*
this)) pt.x +=
shift;
return (*
this); }
122 {
auto result = (*this); result +=
shift;
return result; }
125 this->reserve(rhs.size() + this->
size());
126 for(
auto const& pt : rhs) this->push_back(pt);
162 const ID_t& flash_id_value,
165 #ifndef __CINT__ // hyde move from fucking CINT cuz it's fucked
168 const ID_t& flash_id_value,
169 const double& score_value,
210 "\033[94m [DEBUG] \033[00m",
211 "\033[92m [INFO] \033[00m",
212 "\033[95m [NORMAL] \033[00m",
213 "\033[93m [WARNING] \033[00m",
214 "\033[91m [ERROR] \033[00m",
215 "\033[5;1;33;41m [EXCEPTION] \033[00m"
Algorithm type to make QCluster_t => Flash_t hypothesis.
Algorithm_t
Enumerator for different types of algorithm.
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
MCAncestor_t
Enum to define MC source type (MCTrack or MCShower) for a given QCluster.
std::vector< double > hypothesis
std::vector< flashmatch::QCluster_t > QClusterArray_t
Collection of 3D point clusters (one use case is TPC object representation for track(s) and shower(s)...
double time
assumed time w.r.t. trigger for reconstruction
Algorithm type to match flash hypothesis and reconstructed flash.
double sum() const
returns the sum of "q" from QPoint_t
const ID_t kINVALID_ID
Invalid ID.
process_name opflash particleana ie x
FlashMatch_t()
Default ctor assigns invalid values.
QCluster_t & operator+=(const QCluster_t &rhs)
Struct to represent an energy deposition point in 3D space.
double score
floating point representing the "goodness" (algorithm dependent)
double energy_deposit
Deposited energy total.
const double kINVALID_DOUBLE
Utility: invalid value for double.
double min_x() const
minimum x
double z
Spatial position in [cm].
Algorithm type to filter out TPC objects from matching candidate list.
double TotalPE() const
Total PE calculation.
std::size_t size(FixedBins< T, C > const &) noexcept
QCluster_t operator+(const QCluster_t &rhs) const
Algorithm type to filter out flash from matching candidate list.
double TotalTruePE() const
Total true PE calculation.
double g4_time
Interaction G4 time in micro-seconds.
const std::string kStringPrefix[kMSG_TYPE_MAX]
Prefix of message.
std::vector< double > pe_true_v
PE distribution over photo-detectors of MCFlash.
Struct to represent an optical flash.
double max_x() const
maximum x
process_name pandoraGausCryo1 vertexChargeCryo1 vertexStubCryo1 xmin
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
QCluster_t()
Default constructor.
int index_id
MCTrac/MCShower collection index ID of the ancestor.
std::vector< double > pe_v
PE distribution over photo-detectors.
unsigned int num_steps
Number of MIGRAD steps.
Struct to represent the ancestor information for a specific interaction (QCluster) ...
const size_t kINVALID_SIZE
Utility: invalid value for size.
QPoint_t()
Default ctor assigns invalid values.
MCAncestor_t source_type
Ancestor source type.
Collection of charge deposition 3D point (cluster)
QPoint_t tpc_point
estimated & matched 3D flash hypothesis point from TPC information
Algorithm type to prohibit a match between a flash and a cluster.
enum flag for algorithm type count & invalid type
unsigned int duration
Computation time of the match algorithm on this match (ns)
FlashMatch_t(const ID_t &tpc_id_value, const ID_t &flash_id_value, const double &score_value, std::vector< double > &&hypo)
Alternative ctor.
Algorithm type that does not play a role in the framework execution but inherits from BaseAlgorithm...
double length() const
returns the total trajectory length
QPoint_t(double xvalue, double yvalue, double zvalue, double qvalue)
Alternative ctor.
ID_t flash_id
matched Flash ID
Level_t
Verbosity message level.
FlashMatch_t(const ID_t &tpc_id_value, const ID_t &flash_id_value, const double &score_value)
Alternative ctor.
ID_t tpc_id
matched TPC object ID
std::vector< flashmatch::ID_t > IDArray_t
Index collection.
QPoint_t tpc_point_err
error on the estimated point
size_t ID_t
Index used to identify Flash_t/QPointCollection_t uniquely in an event.
std::vector< flashmatch::Flash_t > FlashArray_t
Collection of Flash objects.
Flash_t()
Default ctor assigns invalid values.
double dist(const QPoint_t &pt)
distance
std::ostream & operator<<(std::ostream &out, const flashmatch::QCluster_t &obj)
streamer override
std::vector< double > pe_err_v
PE value error.
QCluster_t operator+(const double shift)
ID_t idx
index from original larlite vector
double time
Flash timing, a candidate T0.
double z_err
Flash position error.
void drop(double xmin, double xmax)
drop points outside the x range specified
bool Valid(size_t nopdet=0) const
Check validity.
QCluster_t & operator+=(const double shift)