12 dir_x .reserve(nProngs);
13 dir_y .reserve(nProngs);
14 dir_z .reserve(nProngs);
20 nhit .reserve(nProngs);
21 nhitx .reserve(nProngs);
22 nhity .reserve(nProngs);
24 len .reserve(nProngs);
25 calE .reserve(nProngs);
38 for (
size_t pngIdx = 0; pngIdx <
prongs.size(); ++pngIdx)
80 if (! png_fmp.isValid()) {
101 if (! weightedPng_fmp.isValid()) {
105 for (
size_t i = 0;
i < prongs.size();
i++) {
118 if (elastics.empty()) {
143 fuzzykLabel(fuzzykLabel),
144 fuzzykAssnLabel(fuzzykAssnLabel),
145 fuzzykWeightAssnLabel(fuzzykWeightAssnLabel)
152 std::unordered_map<
std::string, std::vector<double>> &dict,
156 dict.emplace(prefix +
"dir.x",
dir_x);
157 dict.emplace(prefix +
"dir.y",
dir_y);
158 dict.emplace(prefix +
"dir.z",
dir_z);
160 dict.emplace(prefix +
"start.x",
start_x);
161 dict.emplace(prefix +
"start.y",
start_y);
162 dict.emplace(prefix +
"start.z",
start_z);
164 dict.emplace(prefix +
"nhit",
nhit);
165 dict.emplace(prefix +
"nhitx",
nhitx);
166 dict.emplace(prefix +
"nhity",
nhity);
168 dict.emplace(prefix +
"nplane",
nplane);
169 dict.emplace(prefix +
"len",
len);
170 dict.emplace(prefix +
"calE",
calE);
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
bool getWeightedProngs(const art::Event &evt, const std::string &baseLabel, const std::string &assnLabel, std::vector< art::Ptr< rb::WeightedProng >> &weightedProngs)
std::vector< double > start_y
std::vector< double > nhitx
std::vector< art::Ptr< rb::WeightedProng > > weightedProngs
std::vector< double > dir_x
std::vector< double > dir_y
void initProngs(const art::Event &evt, const std::vector< art::Ptr< rb::Vertex >> &elastics)
virtual TVector3 Start() const
virtual double TotalLength() const
Distance along prong to reach last cell hit.
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
std::string fuzzykWeightAssnLabel
virtual TVector3 Dir() const
Unit vector describing prong direction.
std::vector< double > calE
unsigned int NYCell() const
Number of cells in the y-view.
std::vector< art::Ptr< rb::Prong > > prongs
bool getProngs(const art::Event &evt, const std::vector< art::Ptr< rb::Vertex >> &elastics, const std::string &baseLabel, const std::string &assnLabel, std::vector< art::Ptr< rb::Prong >> &prongs)
void saveToDict(std::unordered_map< std::string, std::vector< double >> &dict, const std::string &prefix) const
A Cluster with defined start position and direction.
std::vector< double > dir_z
unsigned int NXCell() const
Number of cells in the x-view.
std::vector< double > nhit
unsigned int ExtentPlane(geo::View_t view=geo::kXorY) const
std::vector< double > nhity
std::vector< double > weightedCalE
std::string fuzzykAssnLabel
void reserveVectors(size_t nProngs)
std::vector< double > start_z
bool sortByLength(const art::Ptr< rb::Prong > &a, const art::Ptr< rb::Prong > &b)
BasicProngVars(const art::Event &evt, const std::vector< art::Ptr< rb::Vertex >> &elastics, const std::string &fuzzykLabel, const std::string &fuzzykAssnLabel, const std::string &fuzzykWeightAssnLabel)
std::vector< double > nplane
std::vector< double > start_x