12 #include "art/Framework/Principal/Handle.h"
13 #include "art/Framework/Services/Registry/ServiceHandle.h"
14 #include "canvas/Persistency/Common/Ptr.h"
27 class DetectorClocksData;
28 class DetectorPropertiesData;
36 explicit DisambigAlg(fhicl::ParameterSet
const& pset);
40 art::Handle<std::vector<recob::Hit>> GausHits);
45 void Crawl(
unsigned int apa);
70 art::ServiceHandle<geo::Geometry const>
geom;
72 art::ServiceHandle<cheat::BackTrackerService const>
bt_serv;
75 std::map<raw::ChannelID_t, std::vector<art::Ptr<recob::Hit>>>
fChannelToHits;
77 std::map<unsigned int, std::vector<art::Ptr<recob::Hit>>>
fAPAToHits;
115 #endif // ifndef DisambigAlg_H
std::map< unsigned int, std::map< std::pair< double, double >, bool > > fHasBeenDisambiged
Convenient way to keep track of disambiguation so far.
std::map< raw::ChannelID_t, std::vector< art::Ptr< recob::Hit > > > fChannelToHits
bool HitsReasonablyMatch(art::Ptr< recob::Hit > hitA, art::Ptr< recob::Hit > hitB)
bool HitsOverlapInTime(detinfo::DetectorPropertiesData const &detProp, recob::Hit const &hitA, recob::Hit const &hitB)
std::map< unsigned int, std::vector< art::Ptr< recob::Hit > > > fAPAToZHits
std::map< unsigned int, unsigned int > fnDVSoFar
apa::APAGeometryAlg fAPAGeo
Declaration of signal hit object.
std::map< unsigned int, unsigned int > fnVSoFar
void Crawl(unsigned int apa)
Extend what we disambiguation we do have in apa.
void RunDisambig(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, art::Handle< std::vector< recob::Hit >> GausHits)
std::map< unsigned int, std::vector< art::Ptr< recob::Hit > > > fAPAToEndPHits
\ todo: Channel/APA to hits can be done in a unified way
art::ServiceHandle< geo::Geometry const > geom
void TrivialDisambig(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, unsigned int apa)
Make the easiest and safest disambiguations in apa.
void AssessDisambigSoFar(unsigned int apa)
See how much disambiguation has been done in this apa so far.
std::map< unsigned int, std::vector< art::Ptr< recob::Hit > > > fAPAToUVHits
std::map< unsigned int, std::vector< art::Ptr< recob::Hit > > > fAPAToHits
DisambigAlg(fhicl::ParameterSet const &pset)
std::map< unsigned int, double > fVeffSoFar
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.
unsigned int fNChanJumps
Number of channels the crawl can jump over.
Definition of data types for geometry description.
void UseEndPts(detinfo::DetectorPropertiesData const &detProp, unsigned int apa)
Contains all timing reference information for the detector.
bool fCrawl
\ todo: Write function that compares hits more detailedly
art::ServiceHandle< cheat::BackTrackerService const > bt_serv
std::vector< std::pair< art::Ptr< recob::Hit >, geo::WireID > > fDisambigHits
The final list of hits to pass back to be made.
unsigned int CompareViews(detinfo::DetectorPropertiesData const &detProp, unsigned int apa)
Compare U and V to see if one says something about the other.
std::map< unsigned int, double > fUeffSoFar
2D representation of charge deposited in the TDC/wire plane
std::map< unsigned int, unsigned int > fnUSoFar
unsigned int FindChanTimeEndPts(detinfo::DetectorPropertiesData const &detProp, unsigned int apa)
Basic endpoint-hit finder per apa.
std::map< unsigned int, std::vector< std::pair< art::Ptr< recob::Hit >, geo::WireID > > > fAPAToDHits
Hold the disambiguations per APA.
unsigned int MakeCloseHits(int ext, geo::WireID wid, double Dmin, double Dmax)
Having disambiguated a time range on a wireID, extend to neighboring channels.
art framework interface to geometry description
std::map< std::pair< double, double >, geo::WireID > fChanTimeToWid
If a hit is disambiguated, map its chan and peak time to the chosen wireID.
std::map< unsigned int, unsigned int > fnDUSoFar