#include <DisambigAlg.h>
Public Member Functions | |
DisambigAlg (fhicl::ParameterSet const &pset) | |
void | RunDisambig (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, art::Handle< std::vector< recob::Hit >> GausHits) |
void | TrivialDisambig (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, unsigned int apa) |
Make the easiest and safest disambiguations in apa. More... | |
void | Crawl (unsigned int apa) |
Extend what we disambiguation we do have in apa. More... | |
unsigned int | FindChanTimeEndPts (detinfo::DetectorPropertiesData const &detProp, unsigned int apa) |
Basic endpoint-hit finder per apa. More... | |
void | UseEndPts (detinfo::DetectorPropertiesData const &detProp, unsigned int apa) |
unsigned int | CompareViews (detinfo::DetectorPropertiesData const &detProp, unsigned int apa) |
Compare U and V to see if one says something about the other. More... | |
void | AssessDisambigSoFar (unsigned int apa) |
See how much disambiguation has been done in this apa so far. More... | |
Public Attributes | |
std::map< unsigned int, double > | fUeffSoFar |
std::map< unsigned int, double > | fVeffSoFar |
std::map< unsigned int, unsigned int > | fnUSoFar |
std::map< unsigned int, unsigned int > | fnVSoFar |
std::map< unsigned int, unsigned int > | fnDUSoFar |
std::map< unsigned int, unsigned int > | fnDVSoFar |
std::vector< std::pair < art::Ptr< recob::Hit > , geo::WireID > > | fDisambigHits |
The final list of hits to pass back to be made. More... | |
Private Member Functions | |
void | MakeDisambigHit (art::Ptr< recob::Hit > const &hit, geo::WireID, unsigned int apa) |
Makes a disambiguated hit while keeping track of what has already been disambiguated. More... | |
unsigned int | MakeCloseHits (int ext, geo::WireID wid, double Dmin, double Dmax) |
Having disambiguated a time range on a wireID, extend to neighboring channels. More... | |
bool | HitsOverlapInTime (detinfo::DetectorPropertiesData const &detProp, recob::Hit const &hitA, recob::Hit const &hitB) |
bool | HitsReasonablyMatch (art::Ptr< recob::Hit > hitA, art::Ptr< recob::Hit > hitB) |
Private Attributes | |
apa::APAGeometryAlg | fAPAGeo |
art::ServiceHandle < geo::Geometry const > | geom |
art::ServiceHandle < cheat::BackTrackerService const > | bt_serv |
std::map< raw::ChannelID_t, std::vector< art::Ptr < recob::Hit > > > | fChannelToHits |
std::map< unsigned int, std::vector< art::Ptr < recob::Hit > > > | fAPAToUVHits |
std::map< unsigned int, std::vector< art::Ptr < recob::Hit > > > | fAPAToZHits |
std::map< unsigned int, std::vector< art::Ptr < recob::Hit > > > | fAPAToHits |
std::map< unsigned int, std::vector< art::Ptr < recob::Hit > > > | fAPAToEndPHits |
\ todo: Channel/APA to hits can be done in a unified way More... | |
std::map< unsigned int, std::vector< std::pair < art::Ptr< recob::Hit > , geo::WireID > > > | fAPAToDHits |
Hold the disambiguations per APA. More... | |
std::map< std::pair< double, double >, geo::WireID > | fChanTimeToWid |
If a hit is disambiguated, map its chan and peak time to the chosen wireID. More... | |
std::map< unsigned int, std::map< std::pair< double, double >, bool > > | fHasBeenDisambiged |
Convenient way to keep track of disambiguation so far. More... | |
bool | fCrawl |
\ todo: Write function that compares hits more detailedly More... | |
bool | fUseEndP |
bool | fCompareViews |
unsigned int | fNChanJumps |
Number of channels the crawl can jump over. More... | |
double | fCloseHitsRadius |
double | fMaxEndPDegRange |
Definition at line 34 of file DisambigAlg.h.
|
explicit |
Definition at line 40 of file DisambigAlg.cxx.
void apa::DisambigAlg::AssessDisambigSoFar | ( | unsigned int | apa | ) |
See how much disambiguation has been done in this apa so far.
Definition at line 643 of file DisambigAlg.cxx.
unsigned int apa::DisambigAlg::CompareViews | ( | detinfo::DetectorPropertiesData const & | detProp, |
unsigned int | apa | ||
) |
Compare U and V to see if one says something about the other.
Definition at line 674 of file DisambigAlg.cxx.
void apa::DisambigAlg::Crawl | ( | unsigned int | apa | ) |
Extend what we disambiguation we do have in apa.
\ todo: Evaluate how aggressive we can be here. How far should we jump? In what cases should we quit out?
Definition at line 376 of file DisambigAlg.cxx.
unsigned int apa::DisambigAlg::FindChanTimeEndPts | ( | detinfo::DetectorPropertiesData const & | detProp, |
unsigned int | apa | ||
) |
Basic endpoint-hit finder per apa.
\ todo: Clean up and break down into two functions. \ todo: Make the conditions more robust to some spotty hits around a potential endpoint.
Definition at line 418 of file DisambigAlg.cxx.
|
private |
Definition at line 194 of file DisambigAlg.cxx.
|
private |
|
private |
Having disambiguated a time range on a wireID, extend to neighboring channels.
Definition at line 312 of file DisambigAlg.cxx.
|
private |
Makes a disambiguated hit while keeping track of what has already been disambiguated.
Definition at line 176 of file DisambigAlg.cxx.
void apa::DisambigAlg::RunDisambig | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
art::Handle< std::vector< recob::Hit >> | GausHits | ||
) |
Definition at line 54 of file DisambigAlg.cxx.
void apa::DisambigAlg::TrivialDisambig | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
unsigned int | apa | ||
) |
Make the easiest and safest disambiguations in apa.
\ todo: Figure out why sometimes non-noise hits dont match any Z hits at all.
\ todo: Add mechanism to at least eliminate the wids that aren't even possible, for the benefit of future methods
Definition at line 236 of file DisambigAlg.cxx.
void apa::DisambigAlg::UseEndPts | ( | detinfo::DetectorPropertiesData const & | detProp, |
unsigned int | apa | ||
) |
Try to associate endpoint hits and crawl from there
\ todo: This function could be made much cleaner and more compact
Definition at line 531 of file DisambigAlg.cxx.
|
private |
Definition at line 72 of file DisambigAlg.h.
|
private |
Definition at line 69 of file DisambigAlg.h.
|
private |
Hold the disambiguations per APA.
Definition at line 80 of file DisambigAlg.h.
|
private |
\ todo: Channel/APA to hits can be done in a unified way
Definition at line 79 of file DisambigAlg.h.
|
private |
Definition at line 77 of file DisambigAlg.h.
|
private |
Definition at line 76 of file DisambigAlg.h.
|
private |
Definition at line 76 of file DisambigAlg.h.
|
private |
Definition at line 75 of file DisambigAlg.h.
|
private |
If a hit is disambiguated, map its chan and peak time to the chosen wireID.
Definition at line 84 of file DisambigAlg.h.
|
private |
Distance (cm) away from a hit to look when checking if it's an endpoint
Definition at line 105 of file DisambigAlg.h.
|
private |
Definition at line 103 of file DisambigAlg.h.
|
private |
\ todo: Write function that compares hits more detailedly
Definition at line 101 of file DisambigAlg.h.
std::vector<std::pair<art::Ptr<recob::Hit>, geo::WireID> > apa::DisambigAlg::fDisambigHits |
The final list of hits to pass back to be made.
Definition at line 64 of file DisambigAlg.h.
|
private |
Convenient way to keep track of disambiguation so far.
Definition at line 86 of file DisambigAlg.h.
|
private |
Within the close hits radius, how spread can the majority of the activity be around a possible endpoint
Definition at line 107 of file DisambigAlg.h.
|
private |
Number of channels the crawl can jump over.
Definition at line 104 of file DisambigAlg.h.
std::map<unsigned int, unsigned int> apa::DisambigAlg::fnDUSoFar |
Definition at line 61 of file DisambigAlg.h.
std::map<unsigned int, unsigned int> apa::DisambigAlg::fnDVSoFar |
Definition at line 62 of file DisambigAlg.h.
std::map<unsigned int, unsigned int> apa::DisambigAlg::fnUSoFar |
Definition at line 59 of file DisambigAlg.h.
std::map<unsigned int, unsigned int> apa::DisambigAlg::fnVSoFar |
Definition at line 60 of file DisambigAlg.h.
std::map<unsigned int, double> apa::DisambigAlg::fUeffSoFar |
Definition at line 57 of file DisambigAlg.h.
|
private |
Definition at line 102 of file DisambigAlg.h.
std::map<unsigned int, double> apa::DisambigAlg::fVeffSoFar |
Definition at line 58 of file DisambigAlg.h.
|
private |
Definition at line 70 of file DisambigAlg.h.