![]() |
LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "ClusterCrawlerAlg.h"
Classes | |
| struct | ClusterStore |
| struct of temporary clusters More... | |
| struct | Vtx3Store |
| struct of temporary 3D vertices More... | |
| struct | VtxStore |
| struct of temporary 2D vertices (end points) More... | |
Public Types | |
| typedef unsigned int | CTP_t |
Public Member Functions | |
Data structures for the reconstruction results | |
| ClusterCrawlerAlg (fhicl::ParameterSet const &pset) | |
| virtual void | reconfigure (fhicl::ParameterSet const &pset) |
| void | RunCrawler (std::vector< recob::Hit > const &srchits) |
Result retrieval | |
| std::vector< short > const & | GetinClus () const |
| Returns (and loses) the collection of reconstructed hits. More... | |
| std::vector< recob::Hit > && | YieldHits () |
| Returns (and loses) the collection of reconstructed hits. More... | |
| std::vector< recob::Hit > | GetHits () |
| Returns the collection of reconstructed hits. More... | |
| std::vector< ClusterStore > const & | GetClusters () const |
| Returns a constant reference to the clusters found. More... | |
| std::vector< VtxStore > const & | GetEndPoints () const |
| Returns a constant reference to the 2D end points found. More... | |
| std::vector< Vtx3Store > const & | GetVertices () const |
| Returns a constant reference to the 3D vertices found. More... | |
| void | ClearResults () |
Static Public Member Functions | |
| static CTP_t | EncodeCTP (unsigned int cryo, unsigned int tpc, unsigned int plane) |
| static CTP_t | EncodeCTP (const geo::PlaneID &planeID) |
| static geo::PlaneID | DecodeCTP (CTP_t CTP) |
| static bool | SortByMultiplet (recob::Hit const &a, recob::Hit const &b) |
| Comparison for sorting hits by wire and hit multiplet. More... | |
Static Public Attributes | |
| static constexpr unsigned int | CTPpad = 1000 |
Private Member Functions | |
| void | ClusterLoop () |
| bool | ClusterHitsOK (short nHitChk) |
| void | AddHit (unsigned int kwire, bool &HitOK, bool &SigOK) |
| void | AddLAHit (unsigned int kwire, bool &ChkCharge, bool &HitOK, bool &SigOK) |
| void | FitCluster () |
| void | FitClusterChg () |
| void | FitClusterMid (unsigned short it1, unsigned int iht, short nhit) |
| void | FitClusterMid (std::vector< unsigned int > &hitVec, unsigned int iht, short nhit) |
| void | CrawlUS () |
| void | LACrawlUS () |
| void | KillGarbageClusters () |
| void | ChkMerge () |
| void | ChkMerge12 (unsigned short it1, unsigned short it2, bool &didit) |
| void | DoMerge (unsigned short it1, unsigned short it2, short ProcCode) |
| void | ChkClusterNearbyHits (bool prt) |
| void | MergeHits (const unsigned int theHit, bool &didMerge) |
| void | FixMultipletLocalIndices (size_t begin, size_t end, short int multiplicity=-1) |
| Resets the local index and multiplicity of all the hits in [begin;end[. More... | |
| void | CheckClusterHitFrac (bool prt) |
| void | ChkClusterDS () |
| void | MergeOverlap () |
| void | MakeClusterObsolete (unsigned short icl) |
| Marks the cluster as obsolete and frees hits still associated with it. More... | |
| void | RestoreObsoleteCluster (unsigned short icl) |
| Restores an obsolete cluster. More... | |
| void | RemoveObsoleteHits () |
| Removes obsolete hits from hits, updating the indices. More... | |
| void | FindVertices () |
| void | FindStarVertices () |
| void | ChkVertex (float fvw, float fvt, unsigned short it1, unsigned short it2, short topo) |
| void | ClusterVertex (unsigned short it2) |
| void | VertexCluster (unsigned short ivx) |
| void | RefineVertexClusters (unsigned short ivx) |
| bool | VtxClusterSplit () |
| bool | CrawlVtxChk (unsigned int kwire) |
| bool | CrawlVtxChk2 () |
| void | VtxConstraint (unsigned int iwire, unsigned int ihit, unsigned int jwire, unsigned int &useHit, bool &doConstrain) |
| void | FitVtx (unsigned short iv) |
| void | FitAllVtx (CTP_t inCTP) |
| void | VtxMatch (geo::TPCID const &tpcid) |
| void | Vtx3ClusterMatch (geo::TPCID const &tpcid) |
| void | Vtx3ClusterSplit (geo::TPCID const &tpcid) |
| void | FindHammerClusters () |
| void | CrawlInit () |
| void | ClusterInit () |
| void | GetHitRange (CTP_t CTP) |
| bool | TmpStore () |
| void | TmpGet (unsigned short it1) |
| void | CalculateAveHitWidth () |
| void | FclTrimUS (unsigned short nTrim) |
| bool | SplitCluster (unsigned short icl, unsigned short pos, unsigned short ivx) |
| unsigned int | DeadWireCount () |
| unsigned int | DeadWireCount (unsigned int inWire1, unsigned int inWire2) |
| bool | ChkMergedClusterHitFrac (unsigned short it1, unsigned short it2) |
| void | PrintClusters () |
| void | PrintVertices () |
| bool | ChkSignal (unsigned int iht, unsigned int jht) |
| bool | ChkSignal (unsigned int wire1, float time1, unsigned int wire2, float time2) |
| float | AngleFactor (float slope) |
| float | EndKinkAngle () |
| bool | CheckHitDuplicates (std::string location, std::string marker="") const |
| Returns true if there are no duplicates in the hit list for next cluster. More... | |
| float | DoCA (short icl, unsigned short end, float vwire, float vtick) |
| float | ClusterVertexChi (short icl, unsigned short end, unsigned short ivx) |
| float | PointVertexChi (float wire, float tick, unsigned short ivx) |
| std::string | PrintHit (unsigned int iht) |
| std::pair< size_t, size_t > | FindHitMultiplet (size_t iHit) const |
| void | CheckHitClusterAssociations () |
Static Private Member Functions | |
| static bool | areInSameMultiplet (recob::Hit const &first_hit, recob::Hit const &second_hit) |
| Returns whether the two hits belong to the same multiplet. More... | |
Private Attributes | |
| unsigned short | fNumPass |
| number of passes over the hit collection More... | |
| std::vector< unsigned short > | fMaxHitsFit |
| Max number of hits fitted. More... | |
| std::vector< unsigned short > | fMinHits |
| Min number of hits to make a cluster. More... | |
| std::vector< unsigned short > | fNHitsAve |
| set to > 2 to do a charge fit using fNHitsAve hits More... | |
| std::vector< float > | fChiCut |
| stop adding hits to clusters if chisq too high More... | |
| std::vector< float > | fKinkChiRat |
| std::vector< float > | fKinkAngCut |
| kink angle cut made after fKinkChiRat More... | |
| std::vector< float > | fChgCut |
| charge difference cut for adding a hit to a cluster More... | |
| std::vector< unsigned short > | fMaxWirSkip |
| max number of wires that can be skipped while crawling More... | |
| std::vector< unsigned short > | fMinWirAfterSkip |
| after skipping More... | |
| std::vector< bool > | fDoMerge |
| try to merge clusters? More... | |
| std::vector< float > | fTimeDelta |
| max time difference for matching More... | |
| std::vector< float > | fMergeChgCut |
| max charge ratio for matching More... | |
| std::vector< bool > | fFindVertices |
| run vertexing code after clustering? More... | |
| std::vector< bool > | fLACrawl |
| Crawl Large Angle clusters on pass? More... | |
| bool | fFindHammerClusters |
| look for hammer type clusters More... | |
| bool | fRefineVertexClusters |
| std::vector< float > | fMinAmp |
| expected minimum signal in each wire plane More... | |
| float | fKillGarbageClusters |
| bool | fChkClusterDS |
| bool | fVtxClusterSplit |
| bool | fFindStarVertices |
| float | fHitErrFac |
| hit time error = fHitErrFac * hit RMS used for cluster fit More... | |
| float | fHitMinAmp |
| < ignore hits with Amp < this value More... | |
| float | fClProjErrFac |
| cluster projection error factor More... | |
| float | fMinHitFrac |
| float | fLAClusAngleCut |
| call Large Angle Clustering code if > 0 More... | |
| unsigned short | fLAClusMaxHitsFit |
| max hits fitted on a Large Angle cluster More... | |
| float | fLAClusSlopeCut |
| bool | fMergeAllHits |
| float | fHitMergeChiCut |
| is < cut. Set < 0 for no merging More... | |
| float | fMergeOverlapAngCut |
| angle cut for merging overlapping clusters More... | |
| unsigned short | fAllowNoHitWire |
| float | fVertex2DCut |
| 2D vtx -> cluster matching cut (chisq/dof) More... | |
| float | fVertex2DWireErrCut |
| float | fVertex3DCut |
| 2D vtx -> 3D vtx matching cut (chisq/dof) More... | |
| int | fDebugPlane |
| int | fDebugWire |
| set to the Begin Wire and Hit of a cluster to print More... | |
| int | fDebugHit |
| out detailed information while crawling More... | |
| std::vector< geo::WireID > | fFilteredWires |
| float | clpar [3] |
| float | clparerr [2] |
| cluster parameter errors More... | |
| float | clChisq |
| chisq of the current fit More... | |
| float | fAveChg |
| average charge at leading edge of cluster More... | |
| float | fChgSlp |
| slope of the charge vs wire More... | |
| float | fAveHitWidth |
| average width (EndTick - StartTick) of hits More... | |
| bool | prt |
| bool | vtxprt |
| unsigned short | NClusters |
| art::ServiceHandle< geo::Geometry > | geom |
| std::vector< recob::Hit > | fHits |
| our version of the hits More... | |
| std::vector< short > | inClus |
| Hit used in cluster (-1 = obsolete, 0 = free) More... | |
| std::vector< bool > | mergeAvailable |
| set true if hit is with HitMergeChiCut of a neighbor hit More... | |
| std::vector< ClusterStore > | tcl |
| the clusters we are creating More... | |
| std::vector< VtxStore > | vtx |
| the endpoints we are reconstructing More... | |
| std::vector< Vtx3Store > | vtx3 |
| the 3D vertices we are reconstructing More... | |
| trkf::LinFitAlg | fLinFitAlg |
| float | clBeginSlp |
| begin slope (= DS end = high wire number) More... | |
| float | clBeginAng |
| float | clBeginSlpErr |
| unsigned int | clBeginWir |
| begin wire More... | |
| float | clBeginTim |
| begin time More... | |
| float | clBeginChg |
| begin average charge More... | |
| float | clBeginChgNear |
| nearby charge More... | |
| float | clEndSlp |
| slope at the end (= US end = low wire number) More... | |
| float | clEndAng |
| float | clEndSlpErr |
| unsigned int | clEndWir |
| begin wire More... | |
| float | clEndTim |
| begin time More... | |
| float | clEndChg |
| end average charge More... | |
| float | clEndChgNear |
| nearby charge More... | |
| short | clStopCode |
| 8 = SPECIAL CODE FOR STEP CRAWLING More... | |
| short | clProcCode |
| CTP_t | clCTP |
| Cryostat/TPC/Plane code. More... | |
| bool | clLA |
| using Large Angle crawling code More... | |
| unsigned int | fFirstWire |
| the first wire with a hit More... | |
| unsigned int | fFirstHit |
| first hit used More... | |
| unsigned int | fLastWire |
| the last wire with a hit More... | |
| unsigned int | cstat |
| unsigned int | tpc |
| unsigned int | plane |
| unsigned int | fNumWires |
| unsigned int | fMaxTime |
| float | fScaleF |
| scale factor from Tick/Wire to dx/du More... | |
| unsigned short | pass |
| std::vector< std::pair< int, int > > | WireHitRange |
| std::vector< unsigned int > | fcl2hits |
| vector of hits used in the cluster More... | |
| std::vector< float > | chifits |
| fit chisq for monitoring kinks, etc More... | |
| std::vector< short > | hitNear |
| std::vector< float > | chgNear |
| charge near a cluster on each wire More... | |
| float | fChgNearWindow |
| window (ticks) for finding nearby charge More... | |
| float | fChgNearCut |
| to define a shower-like cluster More... | |
| std::string | fhitsModuleLabel |
Definition at line 36 of file ClusterCrawlerAlg.h.
| typedef unsigned int cluster::ClusterCrawlerAlg::CTP_t |
Definition at line 40 of file ClusterCrawlerAlg.h.
| cluster::ClusterCrawlerAlg::ClusterCrawlerAlg | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 45 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4907 of file ClusterCrawlerAlg.cxx.
References util::absDiff(), recob::Hit::Integral(), recob::Hit::LocalIndex(), recob::Hit::Multiplicity(), recob::Hit::PeakTime(), tca::PrintHit(), recob::Hit::RMS(), and cluster::SortByLowHit().
|
private |
Definition at line 4643 of file ClusterCrawlerAlg.cxx.
References tca::PrintHit().
|
private |
Definition at line 4506 of file ClusterCrawlerAlg.cxx.
|
staticprivate |
Returns whether the two hits belong to the same multiplet.
Definition at line 6219 of file ClusterCrawlerAlg.cxx.
References recob::Hit::StartTick(), and recob::Hit::WireID().
|
private |
Definition at line 4519 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4238 of file ClusterCrawlerAlg.cxx.
References tca::DeadWireCount().
|
private |
Definition at line 1006 of file ClusterCrawlerAlg.cxx.
|
private |
Returns true if there are no duplicates in the hit list for next cluster.
Definition at line 6257 of file ClusterCrawlerAlg.cxx.
References hits().
|
private |
Definition at line 1095 of file ClusterCrawlerAlg.cxx.
References cluster::SortByLowHit().
|
private |
Definition at line 5158 of file ClusterCrawlerAlg.cxx.
References recob::Hit::LocalIndex(), recob::Hit::Multiplicity(), recob::Hit::PeakTime(), and recob::Hit::RMS().
|
private |
Definition at line 2954 of file ClusterCrawlerAlg.cxx.
References tca::DeadWireCount().
|
private |
Definition at line 3153 of file ClusterCrawlerAlg.cxx.
References cluster::ClusterCrawlerAlg::ClusterStore::EndWir, and cluster::ClusterCrawlerAlg::ClusterStore::tclhits.
|
private |
Definition at line 4191 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 2735 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 2747 of file ClusterCrawlerAlg.cxx.
References bin.
|
private |
Definition at line 2539 of file ClusterCrawlerAlg.cxx.
References cluster::ClusterCrawlerAlg::VtxStore::CTP, cluster::ClusterCrawlerAlg::VtxStore::Fixed, cluster::ClusterCrawlerAlg::VtxStore::Time, cluster::ClusterCrawlerAlg::VtxStore::Topo, and cluster::ClusterCrawlerAlg::VtxStore::Wire.
| void cluster::ClusterCrawlerAlg::ClearResults | ( | ) |
Deletes all the results (might saves memory)
Definition at line 142 of file ClusterCrawlerAlg.cxx.
Referenced by GetVertices(), and cluster::ClusterCrawler::produce().
|
private |
Definition at line 4847 of file ClusterCrawlerAlg.cxx.
References util::absDiff(), max, and min.
|
private |
Definition at line 166 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 329 of file ClusterCrawlerAlg.cxx.
References art::errors::LogicError, tca::MergeOverlap(), recob::Hit::PeakTime(), tca::PrintClusters(), and tca::PrintHit().
|
private |
Definition at line 2456 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 6320 of file ClusterCrawlerAlg.cxx.
References E.
|
private |
Definition at line 152 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3876 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 1306 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 1271 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 6204 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 6189 of file ClusterCrawlerAlg.cxx.
References tmp.
|
inlinestatic |
Definition at line 48 of file ClusterCrawlerAlg.h.
References CTPpad.
Referenced by cluster::LineCluster::produce(), cluster::SimpleLineCluster::produce(), and cluster::ClusterCrawler::produce().
|
private |
Definition at line 6277 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3303 of file ClusterCrawlerAlg.cxx.
References cluster::ClusterCrawlerAlg::ClusterStore::BeginAng, cluster::ClusterCrawlerAlg::ClusterStore::BeginChg, cluster::ClusterCrawlerAlg::ClusterStore::BeginChgNear, cluster::ClusterCrawlerAlg::ClusterStore::BeginSlp, cluster::ClusterCrawlerAlg::ClusterStore::BeginSlpErr, cluster::ClusterCrawlerAlg::ClusterStore::BeginTim, cluster::ClusterCrawlerAlg::ClusterStore::BeginVtx, cluster::ClusterCrawlerAlg::ClusterStore::BeginWir, cluster::ClusterCrawlerAlg::ClusterStore::CTP, cluster::ClusterCrawlerAlg::ClusterStore::EndAng, cluster::ClusterCrawlerAlg::ClusterStore::EndChg, cluster::ClusterCrawlerAlg::ClusterStore::EndChgNear, cluster::ClusterCrawlerAlg::ClusterStore::EndSlp, cluster::ClusterCrawlerAlg::ClusterStore::EndSlpErr, cluster::ClusterCrawlerAlg::ClusterStore::EndTim, cluster::ClusterCrawlerAlg::ClusterStore::EndVtx, cluster::ClusterCrawlerAlg::ClusterStore::EndWir, cluster::ClusterCrawlerAlg::ClusterStore::ID, cluster::ClusterCrawlerAlg::ClusterStore::StopCode, and cluster::ClusterCrawlerAlg::ClusterStore::tclhits.
|
inlinestatic |
Definition at line 44 of file ClusterCrawlerAlg.h.
References plane.
Referenced by EncodeCTP().
|
inlinestatic |
Definition at line 46 of file ClusterCrawlerAlg.h.
References geo::CryostatID::Cryostat, EncodeCTP(), geo::PlaneID::Plane, and geo::TPCID::TPC.
|
private |
Definition at line 4168 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 882 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 5638 of file ClusterCrawlerAlg.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), cluster::ClusterCrawlerAlg::Vtx3Store::CStat, cluster::ClusterCrawlerAlg::VtxStore::CTP, e, tca::EncodeCTP(), cluster::ClusterCrawlerAlg::VtxStore::Fixed, geo::TPCGeo::LocalToWorld(), cluster::ClusterCrawlerAlg::Vtx3Store::ProcCode, cluster::ClusterCrawlerAlg::Vtx3Store::Ptr2D, geo::InvalidWireError::suggestedWireID(), cluster::ClusterCrawlerAlg::VtxStore::Time, cluster::ClusterCrawlerAlg::VtxStore::TimeErr, cluster::ClusterCrawlerAlg::VtxStore::Topo, cluster::ClusterCrawlerAlg::Vtx3Store::TPC, cluster::ClusterCrawlerAlg::VtxStore::Wire, cluster::ClusterCrawlerAlg::Vtx3Store::Wire, geo::WireID::Wire, cluster::ClusterCrawlerAlg::VtxStore::WireErr, X, cluster::ClusterCrawlerAlg::Vtx3Store::X, cluster::ClusterCrawlerAlg::Vtx3Store::XErr, y, cluster::ClusterCrawlerAlg::Vtx3Store::Y, cluster::ClusterCrawlerAlg::Vtx3Store::YErr, cluster::ClusterCrawlerAlg::Vtx3Store::Z, z, and cluster::ClusterCrawlerAlg::Vtx3Store::ZErr.
|
private |
Returns a pair of first and past-the-last index of all the contiguous hits belonging to the same multiplet
Definition at line 6227 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 1916 of file ClusterCrawlerAlg.cxx.
References cluster::ClusterCrawlerAlg::VtxStore::CTP, cluster::ClusterCrawlerAlg::VtxStore::Fixed, tca::PrintClusters(), cluster::ClusterCrawlerAlg::VtxStore::Time, cluster::ClusterCrawlerAlg::VtxStore::TimeErr, cluster::ClusterCrawlerAlg::VtxStore::Topo, cluster::ClusterCrawlerAlg::VtxStore::Wire, and cluster::ClusterCrawlerAlg::VtxStore::WireErr.
|
private |
Definition at line 2217 of file ClusterCrawlerAlg.cxx.
References greaterThan(), CluLen::index, CluLen::length, and tca::PrintClusters().
|
private |
Definition at line 2153 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4410 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4528 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4304 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 4310 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 5229 of file ClusterCrawlerAlg.cxx.
References geo::CryostatID::Cryostat, tca::DecodeCTP(), min, geo::PlaneID::Plane, geo::TPCID::TPC, x, and y.
|
private |
Resets the local index and multiplicity of all the hits in [begin;end[.
Definition at line 1859 of file ClusterCrawlerAlg.cxx.
References recob::Hit::Channel(), recob::Hit::DegreesOfFreedom(), evd::details::end(), recob::Hit::EndTick(), recob::Hit::GoodnessOfFit(), recob::Hit::Integral(), recob::Hit::PeakAmplitude(), recob::Hit::PeakTime(), recob::Hit::RMS(), recob::Hit::SigmaIntegral(), recob::Hit::SigmaPeakAmplitude(), recob::Hit::SigmaPeakTime(), recob::Hit::SignalType(), recob::Hit::StartTick(), recob::Hit::SummedADC(), recob::Hit::View(), and recob::Hit::WireID().
|
inline |
Returns a constant reference to the clusters found.
Definition at line 125 of file ClusterCrawlerAlg.h.
References tcl.
Referenced by cluster::ClusterCrawler::produce().
|
inline |
Returns a constant reference to the 2D end points found.
Definition at line 128 of file ClusterCrawlerAlg.h.
References vtx.
|
private |
Definition at line 6075 of file ClusterCrawlerAlg.cxx.
References geo::CryostatID::Cryostat, tca::DecodeCTP(), art::errors::LogicError, max, geo::PlaneID::Plane, and geo::TPCID::TPC.
|
inline |
Returns the collection of reconstructed hits.
Definition at line 122 of file ClusterCrawlerAlg.h.
References fHits.
|
inline |
Returns (and loses) the collection of reconstructed hits.
Definition at line 116 of file ClusterCrawlerAlg.h.
References inClus.
Referenced by cluster::ClusterCrawler::produce().
|
inline |
Returns a constant reference to the 3D vertices found.
Definition at line 131 of file ClusterCrawlerAlg.h.
References ClearResults(), SortByMultiplet(), and vtx3.
Referenced by cluster::ClusterCrawler::produce().
|
private |
Definition at line 530 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3736 of file ClusterCrawlerAlg.cxx.
|
private |
Marks the cluster as obsolete and frees hits still associated with it.
Definition at line 854 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 1654 of file ClusterCrawlerAlg.cxx.
References recob::Hit::Channel(), recob::Hit::DegreesOfFreedom(), recob::Hit::EndTick(), recob::Hit::Integral(), recob::Hit::Multiplicity(), recob::Hit::PeakAmplitude(), recob::Hit::PeakTime(), recob::Hit::PeakTimeMinusRMS(), recob::Hit::PeakTimePlusRMS(), geo::PlaneID::Plane, recob::Hit::RMS(), recob::Hit::SigmaIntegral(), recob::Hit::SigmaPeakAmplitude(), recob::Hit::SigmaPeakTime(), recob::Hit::SignalType(), recob::Hit::StartTick(), recob::Hit::SummedADC(), recob::Hit::View(), geo::WireID::Wire, and recob::Hit::WireID().
|
private |
Definition at line 679 of file ClusterCrawlerAlg.cxx.
References tca::PrintHit(), and cluster::SortByLowHit().
|
private |
Definition at line 6383 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3499 of file ClusterCrawlerAlg.cxx.
References art::right().
|
private |
Definition at line 6402 of file ClusterCrawlerAlg.cxx.
References util::flags::to_string().
|
private |
Definition at line 3436 of file ClusterCrawlerAlg.cxx.
References art::right().
|
virtual |
Definition at line 51 of file ClusterCrawlerAlg.cxx.
References art::errors::Configuration, fhicl::ParameterSet::get(), and fhicl::ParameterSet::has_key().
Referenced by cluster::ClusterCrawler::reconfigure().
|
private |
Definition at line 1366 of file ClusterCrawlerAlg.cxx.
|
private |
Removes obsolete hits from hits, updating the indices.
Definition at line 1059 of file ClusterCrawlerAlg.cxx.
References hits().
|
private |
Restores an obsolete cluster.
Definition at line 868 of file ClusterCrawlerAlg.cxx.
| void cluster::ClusterCrawlerAlg::RunCrawler | ( | std::vector< recob::Hit > const & | srchits | ) |
Definition at line 181 of file ClusterCrawlerAlg.cxx.
References detinfo::DetectorProperties::DriftVelocity(), detinfo::DetectorProperties::Efield(), tca::EncodeCTP(), geo::TPCGeo::Nplanes(), detinfo::DetectorProperties::NumberTimeSamples(), tca::PrintClusters(), detinfo::DetectorProperties::SamplingRate(), and detinfo::DetectorProperties::Temperature().
Referenced by cluster::ClusterCrawler::produce().
|
static |
Comparison for sorting hits by wire and hit multiplet.
Definition at line 129 of file ClusterCrawlerAlg.cxx.
References geo::WireID::cmp(), recob::Hit::LocalIndex(), recob::Hit::StartTick(), and recob::Hit::WireID().
Referenced by GetVertices().
|
private |
Definition at line 2838 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3595 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 3625 of file ClusterCrawlerAlg.cxx.
References cluster::ClusterCrawlerAlg::ClusterStore::BeginAng, cluster::ClusterCrawlerAlg::ClusterStore::BeginChg, cluster::ClusterCrawlerAlg::ClusterStore::BeginChgNear, cluster::ClusterCrawlerAlg::ClusterStore::BeginSlp, cluster::ClusterCrawlerAlg::ClusterStore::BeginSlpErr, cluster::ClusterCrawlerAlg::ClusterStore::BeginTim, cluster::ClusterCrawlerAlg::ClusterStore::BeginVtx, cluster::ClusterCrawlerAlg::ClusterStore::BeginWir, cluster::ClusterCrawlerAlg::ClusterStore::CTP, tca::EncodeCTP(), cluster::ClusterCrawlerAlg::ClusterStore::EndAng, cluster::ClusterCrawlerAlg::ClusterStore::EndChg, cluster::ClusterCrawlerAlg::ClusterStore::EndChgNear, cluster::ClusterCrawlerAlg::ClusterStore::EndSlp, cluster::ClusterCrawlerAlg::ClusterStore::EndSlpErr, cluster::ClusterCrawlerAlg::ClusterStore::EndTim, cluster::ClusterCrawlerAlg::ClusterStore::EndVtx, cluster::ClusterCrawlerAlg::ClusterStore::EndWir, cluster::ClusterCrawlerAlg::ClusterStore::ID, cluster::ClusterCrawlerAlg::ClusterStore::ProcCode, cluster::ClusterCrawlerAlg::ClusterStore::StopCode, and cluster::ClusterCrawlerAlg::ClusterStore::tclhits.
|
private |
Definition at line 2083 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 5361 of file ClusterCrawlerAlg.cxx.
References util::absDiff(), detinfo::DetectorProperties::ConvertXToTicks(), geo::CryostatID::Cryostat, cluster::ClusterCrawlerAlg::VtxStore::CTP, tca::EncodeCTP(), cluster::ClusterCrawlerAlg::VtxStore::Fixed, cluster::ClusterCrawlerAlg::VtxStore::Time, cluster::ClusterCrawlerAlg::VtxStore::Topo, geo::TPCID::TPC, cluster::ClusterCrawlerAlg::VtxStore::Wire, and X.
|
private |
Definition at line 5444 of file ClusterCrawlerAlg.cxx.
References detinfo::DetectorProperties::ConvertXToTicks(), geo::CryostatID::Cryostat, cluster::ClusterCrawlerAlg::VtxStore::CTP, tca::EncodeCTP(), cluster::ClusterCrawlerAlg::VtxStore::Fixed, cluster::ClusterCrawlerAlg::VtxStore::Time, cluster::ClusterCrawlerAlg::VtxStore::TimeErr, cluster::ClusterCrawlerAlg::VtxStore::Topo, geo::TPCID::TPC, cluster::ClusterCrawlerAlg::VtxStore::Wire, cluster::ClusterCrawlerAlg::VtxStore::WireErr, and X.
|
private |
Definition at line 1509 of file ClusterCrawlerAlg.cxx.
|
private |
Definition at line 1322 of file ClusterCrawlerAlg.cxx.
References recob::Hit::PeakTime(), geo::WireID::Wire, and recob::Hit::WireID().
|
private |
Definition at line 5830 of file ClusterCrawlerAlg.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), geo::CryostatID::Cryostat, cluster::ClusterCrawlerAlg::Vtx3Store::CStat, tca::DecodeCTP(), e, evd::kWire, geo::kX, geo::TPCGeo::LocalToWorld(), geo::TPCGeo::Nplanes(), geo::PlaneID::Plane, cluster::ClusterCrawlerAlg::Vtx3Store::ProcCode, cluster::ClusterCrawlerAlg::Vtx3Store::Ptr2D, geo::InvalidWireError::suggestedWireID(), cluster::ClusterCrawlerAlg::Vtx3Store::TPC, geo::TPCID::TPC, cluster::ClusterCrawlerAlg::Vtx3Store::Wire, geo::WireID::Wire, cluster::ClusterCrawlerAlg::Vtx3Store::X, cluster::ClusterCrawlerAlg::Vtx3Store::XErr, y, cluster::ClusterCrawlerAlg::Vtx3Store::Y, cluster::ClusterCrawlerAlg::Vtx3Store::YErr, cluster::ClusterCrawlerAlg::Vtx3Store::Z, z, and cluster::ClusterCrawlerAlg::Vtx3Store::ZErr.
|
inline |
Returns (and loses) the collection of reconstructed hits.
Definition at line 119 of file ClusterCrawlerAlg.h.
References fHits.
Referenced by cluster::ClusterCrawler::produce().
|
private |
charge near a cluster on each wire
Definition at line 287 of file ClusterCrawlerAlg.h.
|
private |
fit chisq for monitoring kinks, etc
Definition at line 283 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 227 of file ClusterCrawlerAlg.h.
|
private |
begin average charge
Definition at line 231 of file ClusterCrawlerAlg.h.
|
private |
nearby charge
Definition at line 232 of file ClusterCrawlerAlg.h.
|
private |
begin slope (= DS end = high wire number)
Definition at line 226 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 228 of file ClusterCrawlerAlg.h.
|
private |
begin time
Definition at line 230 of file ClusterCrawlerAlg.h.
|
private |
begin wire
Definition at line 229 of file ClusterCrawlerAlg.h.
|
private |
chisq of the current fit
Definition at line 205 of file ClusterCrawlerAlg.h.
|
private |
Cryostat/TPC/Plane code.
Definition at line 262 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 234 of file ClusterCrawlerAlg.h.
|
private |
end average charge
Definition at line 238 of file ClusterCrawlerAlg.h.
|
private |
nearby charge
Definition at line 239 of file ClusterCrawlerAlg.h.
|
private |
slope at the end (= US end = low wire number)
Definition at line 233 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 235 of file ClusterCrawlerAlg.h.
|
private |
begin time
Definition at line 237 of file ClusterCrawlerAlg.h.
|
private |
begin wire
Definition at line 236 of file ClusterCrawlerAlg.h.
|
private |
using Large Angle crawling code
Definition at line 263 of file ClusterCrawlerAlg.h.
|
private |
cluster parameters for the current fit with origin at the US wire on the cluster (in clpar[2])
Definition at line 202 of file ClusterCrawlerAlg.h.
|
private |
cluster parameter errors
Definition at line 204 of file ClusterCrawlerAlg.h.
|
private |
Processor code = pass number + 10 ChkMerge
Definition at line 250 of file ClusterCrawlerAlg.h.
|
private |
8 = SPECIAL CODE FOR STEP CRAWLING
code for the reason for stopping cluster tracking 0 = no signal on the next wire 1 = skipped too many occupied/dead wires 2 = failed the fMinWirAfterSkip cut 3 = ended on a kink. Fails fKinkChiRat 4 = failed the fChiCut cut 5 = cluster split by VtxClusterSplit 6 = stop at a vertex 7 = LA crawl stopped due to slope cut
Definition at line 240 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 268 of file ClusterCrawlerAlg.h.
|
static |
Definition at line 42 of file ClusterCrawlerAlg.h.
Referenced by DecodeCTP().
|
private |
Definition at line 189 of file ClusterCrawlerAlg.h.
|
private |
average charge at leading edge of cluster
Definition at line 206 of file ClusterCrawlerAlg.h.
|
private |
average width (EndTick - StartTick) of hits
Definition at line 209 of file ClusterCrawlerAlg.h.
|
private |
charge difference cut for adding a hit to a cluster
Definition at line 156 of file ClusterCrawlerAlg.h.
|
private |
to define a shower-like cluster
cut on ratio of nearby/cluster charge to
Definition at line 289 of file ClusterCrawlerAlg.h.
|
private |
window (ticks) for finding nearby charge
Definition at line 288 of file ClusterCrawlerAlg.h.
|
private |
slope of the charge vs wire
Definition at line 208 of file ClusterCrawlerAlg.h.
|
private |
stop adding hits to clusters if chisq too high
Definition at line 152 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 172 of file ClusterCrawlerAlg.h.
|
private |
vector of hits used in the cluster
Definition at line 282 of file ClusterCrawlerAlg.h.
|
private |
cluster projection error factor
Definition at line 180 of file ClusterCrawlerAlg.h.
|
private |
out detailed information while crawling
Definition at line 196 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 194 of file ClusterCrawlerAlg.h.
|
private |
set to the Begin Wire and Hit of a cluster to print
Definition at line 195 of file ClusterCrawlerAlg.h.
|
private |
try to merge clusters?
Definition at line 160 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 199 of file ClusterCrawlerAlg.h.
|
private |
look for hammer type clusters
Definition at line 165 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 174 of file ClusterCrawlerAlg.h.
|
private |
run vertexing code after clustering?
Definition at line 163 of file ClusterCrawlerAlg.h.
|
private |
first hit used
Definition at line 266 of file ClusterCrawlerAlg.h.
|
private |
the first wire with a hit
Definition at line 265 of file ClusterCrawlerAlg.h.
|
private |
hit time error = fHitErrFac * hit RMS used for cluster fit
Definition at line 178 of file ClusterCrawlerAlg.h.
|
private |
is < cut. Set < 0 for no merging
Merge cluster hit-multiplets if the separation chisq
Definition at line 186 of file ClusterCrawlerAlg.h.
|
private |
< ignore hits with Amp < this value
Definition at line 179 of file ClusterCrawlerAlg.h.
|
private |
our version of the hits
Definition at line 217 of file ClusterCrawlerAlg.h.
Referenced by GetHits(), and YieldHits().
|
private |
Definition at line 292 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 171 of file ClusterCrawlerAlg.h.
|
private |
kink angle cut made after fKinkChiRat
Definition at line 155 of file ClusterCrawlerAlg.h.
|
private |
Max consecutive chisq increase for the last 3 hits on the cluster
Definition at line 153 of file ClusterCrawlerAlg.h.
|
private |
call Large Angle Clustering code if > 0
Definition at line 182 of file ClusterCrawlerAlg.h.
|
private |
max hits fitted on a Large Angle cluster
Definition at line 183 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 184 of file ClusterCrawlerAlg.h.
|
private |
Crawl Large Angle clusters on pass?
Definition at line 164 of file ClusterCrawlerAlg.h.
|
private |
the last wire with a hit
Definition at line 267 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 224 of file ClusterCrawlerAlg.h.
|
private |
Max number of hits fitted.
Definition at line 148 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 272 of file ClusterCrawlerAlg.h.
|
private |
max number of wires that can be skipped while crawling
Definition at line 157 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 185 of file ClusterCrawlerAlg.h.
|
private |
max charge ratio for matching
Definition at line 162 of file ClusterCrawlerAlg.h.
|
private |
angle cut for merging overlapping clusters
Definition at line 188 of file ClusterCrawlerAlg.h.
|
private |
expected minimum signal in each wire plane
Definition at line 169 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 181 of file ClusterCrawlerAlg.h.
|
private |
Min number of hits to make a cluster.
Definition at line 149 of file ClusterCrawlerAlg.h.
|
private |
after skipping
minimum number of hits on consecutive wires
Definition at line 158 of file ClusterCrawlerAlg.h.
|
private |
set to > 2 to do a charge fit using fNHitsAve hits
number of US hits used to compute fAveChg
Definition at line 150 of file ClusterCrawlerAlg.h.
|
private |
number of passes over the hit collection
Definition at line 147 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 271 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 167 of file ClusterCrawlerAlg.h.
|
private |
scale factor from Tick/Wire to dx/du
Definition at line 273 of file ClusterCrawlerAlg.h.
|
private |
max time difference for matching
Definition at line 161 of file ClusterCrawlerAlg.h.
|
private |
2D vtx -> cluster matching cut (chisq/dof)
Definition at line 190 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 191 of file ClusterCrawlerAlg.h.
|
private |
2D vtx -> 3D vtx matching cut (chisq/dof)
Definition at line 192 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 173 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 215 of file ClusterCrawlerAlg.h.
|
private |
Number of nearby hits that were merged have hitnear < 0
Definition at line 284 of file ClusterCrawlerAlg.h.
|
private |
Hit used in cluster (-1 = obsolete, 0 = free)
Definition at line 218 of file ClusterCrawlerAlg.h.
Referenced by GetinClus().
|
private |
set true if hit is with HitMergeChiCut of a neighbor hit
Definition at line 219 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 213 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 275 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 270 of file ClusterCrawlerAlg.h.
Referenced by EncodeCTP().
|
private |
Definition at line 211 of file ClusterCrawlerAlg.h.
|
private |
the clusters we are creating
Definition at line 220 of file ClusterCrawlerAlg.h.
Referenced by GetClusters().
|
private |
Definition at line 269 of file ClusterCrawlerAlg.h.
|
private |
the endpoints we are reconstructing
Definition at line 221 of file ClusterCrawlerAlg.h.
Referenced by GetEndPoints().
|
private |
the 3D vertices we are reconstructing
Definition at line 222 of file ClusterCrawlerAlg.h.
Referenced by GetVertices().
|
private |
Definition at line 212 of file ClusterCrawlerAlg.h.
|
private |
Definition at line 280 of file ClusterCrawlerAlg.h.