142 auto const clockData =
148 for (
auto trackIter =
fTracks.begin(); trackIter !=
fTracks.end(); ++trackIter) {
151 std::vector<double> eVals, eVecs;
155 if (eVals[0] < 0.0001)
158 evalRatio = std::sqrt(eVals[1] * eVals[1] + eVals[2] * eVals[2]) / eVals[0];
160 double coreHaloRatio, concentration, conicalness;
161 this->
_Var_Shape(sortedObj, coreHaloRatio, concentration, conicalness);
176 if (dEdxPenultimate < 0.1)
189 for (
auto showerIter =
fShowers.begin(); showerIter !=
fShowers.end(); ++showerIter) {
192 std::vector<double> eVals, eVecs;
198 if (eVals[0] < 0.0001)
201 evalRatio = std::sqrt(eVals[1] * eVals[1] + eVals[2] * eVals[2]) / eVals[0];
203 this->
SortShower(*showerIter, isStoppingReco, sortedObj);
205 double coreHaloRatio, concentration, conicalness;
206 this->
_Var_Shape(sortedObj, coreHaloRatio, concentration, conicalness);
215 (*showerIter)->ID() + 1000;
223 if (dEdxPenultimate < 0.1)
std::vector< art::Ptr< recob::Shower > > fShowers
anab::MVAPIDResult fResHolder
void RunPCA(std::vector< art::Ptr< recob::Hit >> &hits, std::vector< double > &eVals, std::vector< double > &eVecs)
std::vector< std::string > fMVAMethods
std::map< art::Ptr< recob::Track >, std::vector< art::Ptr< recob::Hit > > > fTracksToHits
void PrepareEvent(const art::Event &event, const detinfo::DetectorClocksData &clockData)
void SortShower(art::Ptr< recob::Shower > shower, int &isStoppingReco, mvapid::MVAAlg::SortedObj &sortedShower)
std::map< double, const art::Ptr< recob::Hit > > hitMap
bool CreateAssn(PRODUCER const &prod, art::Event &evt, std::vector< T > const &a, art::Ptr< U > const &b, art::Assns< U, T > &assn, std::string a_instance, size_t indx=UINT_MAX)
Creates a single one-to-one association.
std::map< art::Ptr< recob::Shower >, std::vector< art::Ptr< recob::Hit > > > fShowersToHits
double CalcSegmentdEdxFrac(const detinfo::DetectorClocksData &clock_data, const detinfo::DetectorPropertiesData &det_prop, const SortedObj &track, double start, double end)
void _Var_Shape(const SortedObj &track, double &coreHaloRatio, double &concentration, double &conicalness)
std::vector< art::Ptr< recob::Track > > fTracks
std::map< std::string, double > mvaOutput
void FitAndSortTrack(art::Ptr< recob::Track > track, int &isStoppingReco, SortedObj &sortedObj)