LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
SpacePointHit3DBuilder class definiton. More...
Public Types | |
enum | TimeValues { COLLECTARTHITS = 0, BUILDTHREEDHITS = 1, BUILDNEWHITS = 2, NUMTIMEVALUES } |
enumerate the possible values for time checking if monitoring timing More... | |
using | RecobHitToPtrMap = std::unordered_map< const recob::Hit *, art::Ptr< recob::Hit >> |
Defines a structure mapping art representation to internal. More... | |
Public Member Functions | |
SpacePointHit3DBuilder (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
~SpacePointHit3DBuilder () | |
Destructor. More... | |
virtual void | produces (art::ProducesCollector &) override |
Each algorithm may have different objects it wants "produced" so use this to let the top level producer module "know" what it is outputting. More... | |
void | configure (const fhicl::ParameterSet &) override |
Interface for configuring the particular algorithm tool. More... | |
void | Hit3DBuilder (art::Event &evt, reco::HitPairList &hitPairList, RecobHitToPtrMap &) override |
Given a set of recob hits, run DBscan to form 3D clusters. More... | |
float | getTimeToExecute (IHit3DBuilder::TimeValues index) const override |
If monitoring, recover the time to execute a particular function. More... | |
Private Types | |
using | Hit2DVector = std::vector< reco::ClusterHit2D > |
Private Member Functions | |
void | clear () |
clear the tuple vectors before processing next event More... | |
float | chargeIntegral (float, float, float, int, int) const |
Perform charge integration between limits. More... | |
Private Attributes | |
art::InputTag | fSpacePointProducerLabel |
Data members to follow. More... | |
art::InputTag | fHitProducerLabel |
bool | fDoWireAssns |
bool | fDoRawDigitAssns |
float | m_maxHit3DChiSquare |
Provide ability to select hits based on "chi square". More... | |
bool | m_outputHistograms |
Take the time to create and fill some histograms for diagnostics. More... | |
bool | fEnableMonitoring |
std::vector< float > | fTimeVector |
TTree * | m_tupleTree |
output analysis tree More... | |
std::vector< float > | m_deltaTimeVec |
std::vector< float > | m_chiSquare3DVec |
std::vector< float > | m_maxPullVec |
std::vector< float > | m_overlapFractionVec |
std::vector< float > | m_overlapRangeVec |
std::vector< float > | m_maxSideVecVec |
std::vector< float > | m_pairWireDistVec |
std::vector< float > | m_smallChargeDiffVec |
std::vector< int > | m_smallIndexVec |
std::vector< float > | m_qualityMetricVec |
std::vector< float > | m_spacePointChargeVec |
std::vector< float > | m_hitAsymmetryVec |
Hit2DVector | m_clusterHit2DMasterVec |
const geo::Geometry * | fGeometry |
SpacePointHit3DBuilder class definiton.
Definition at line 56 of file SpacePointHit3DBuilder_tool.cc.
|
private |
Definition at line 105 of file SpacePointHit3DBuilder_tool.cc.
|
inherited |
Defines a structure mapping art representation to internal.
Definition at line 60 of file IHit3DBuilder.h.
|
inherited |
enumerate the possible values for time checking if monitoring timing
Enumerator | |
---|---|
COLLECTARTHITS | |
BUILDTHREEDHITS | |
BUILDNEWHITS | |
NUMTIMEVALUES |
Definition at line 73 of file IHit3DBuilder.h.
|
explicit |
Constructor.
pset |
Definition at line 142 of file SpacePointHit3DBuilder_tool.cc.
References configure().
lar_cluster3d::SpacePointHit3DBuilder::~SpacePointHit3DBuilder | ( | ) |
|
private |
Perform charge integration between limits.
Definition at line 568 of file SpacePointHit3DBuilder_tool.cc.
References DEFINE_ART_CLASS_TOOL.
Referenced by getTimeToExecute(), and Hit3DBuilder().
|
private |
clear the tuple vectors before processing next event
Definition at line 197 of file SpacePointHit3DBuilder_tool.cc.
References m_chiSquare3DVec, m_deltaTimeVec, m_hitAsymmetryVec, m_maxPullVec, m_maxSideVecVec, m_overlapFractionVec, m_overlapRangeVec, m_pairWireDistVec, m_qualityMetricVec, m_smallChargeDiffVec, m_smallIndexVec, and m_spacePointChargeVec.
Referenced by configure(), getTimeToExecute(), and Hit3DBuilder().
|
overridevirtual |
Interface for configuring the particular algorithm tool.
ParameterSet | The input set of parameters for configuration |
Implements lar_cluster3d::IHit3DBuilder.
Definition at line 161 of file SpacePointHit3DBuilder_tool.cc.
References clear(), fDoRawDigitAssns, fDoWireAssns, fEnableMonitoring, fGeometry, fHitProducerLabel, fSpacePointProducerLabel, fhicl::ParameterSet::get(), m_chiSquare3DVec, m_deltaTimeVec, m_hitAsymmetryVec, m_maxHit3DChiSquare, m_maxPullVec, m_maxSideVecVec, m_outputHistograms, m_overlapFractionVec, m_overlapRangeVec, m_pairWireDistVec, m_qualityMetricVec, m_smallChargeDiffVec, m_smallIndexVec, m_spacePointChargeVec, and m_tupleTree.
Referenced by SpacePointHit3DBuilder().
|
inlineoverridevirtual |
If monitoring, recover the time to execute a particular function.
Implements lar_cluster3d::IHit3DBuilder.
Definition at line 89 of file SpacePointHit3DBuilder_tool.cc.
References chargeIntegral(), clear(), and fTimeVector.
|
overridevirtual |
Given a set of recob hits, run DBscan to form 3D clusters.
hitPairList | The input list of 3D hits to run clustering on |
clusterParametersList | A list of cluster objects (parameters from associated hits) |
Recover the 2D hits from art and fill out the local data structures for the 3D clustering
Implements lar_cluster3d::IHit3DBuilder.
Definition at line 215 of file SpacePointHit3DBuilder_tool.cc.
References util::abs(), lar_cluster3d::IHit3DBuilder::BUILDTHREEDHITS, recob::Hit::Channel(), geo::GeometryCore::ChannelToWire(), chargeIntegral(), clear(), geo::CryostatID::Cryostat, fDoRawDigitAssns, fDoWireAssns, fEnableMonitoring, fGeometry, fHitProducerLabel, fSpacePointProducerLabel, fTimeVector, art::Ptr< T >::get(), art::ProductRetriever::getByLabel(), reco::ClusterHit2D::getHit(), reco::ClusterHit2D::getStatusBits(), reco::ClusterHit2D::getTimeTicks(), art::Handle< T >::isValid(), geo::kCollection, m_chiSquare3DVec, m_clusterHit2DMasterVec, m_deltaTimeVec, m_hitAsymmetryVec, m_maxPullVec, m_outputHistograms, m_overlapFractionVec, m_overlapRangeVec, m_qualityMetricVec, m_smallChargeDiffVec, m_smallIndexVec, m_spacePointChargeVec, m_tupleTree, geo::GeometryCore::Ncryostats(), geo::GeometryCore::NTPC(), lar_cluster3d::IHit3DBuilder::NUMTIMEVALUES, recob::Hit::PeakTime(), geo::PlaneID::Plane, recob::HitRefinerAssociator::put_into(), recob::Hit::RMS(), reco::ClusterHit2D::setStatusBit(), reco::ClusterHit2D::SHAREDINTRIPLET, geo::TPCID::TPC, detinfo::trigger_offset(), recob::HitRefinerAssociator::use_hits(), reco::ClusterHit2D::USEDINTRIPLET, weight, geo::WireID::Wire, reco::ClusterHit2D::WireID(), recob::Hit::WireID(), geo::WireID::WireID(), and recob::SpacePoint::XYZ().
|
overridevirtual |
Each algorithm may have different objects it wants "produced" so use this to let the top level producer module "know" what it is outputting.
Implements lar_cluster3d::IHit3DBuilder.
Definition at line 151 of file SpacePointHit3DBuilder_tool.cc.
References fDoRawDigitAssns, fDoWireAssns, and art::ProducesCollector::produces().
|
private |
Definition at line 113 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), Hit3DBuilder(), and produces().
|
private |
Definition at line 112 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), Hit3DBuilder(), and produces().
|
private |
Definition at line 117 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().
|
private |
Definition at line 139 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().
|
private |
Definition at line 111 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().
|
private |
Data members to follow.
Definition at line 110 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 118 of file SpacePointHit3DBuilder_tool.cc.
Referenced by getTimeToExecute(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 124 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 137 of file SpacePointHit3DBuilder_tool.cc.
Referenced by Hit3DBuilder().
|
mutableprivate |
Definition at line 123 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 134 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
private |
Provide ability to select hits based on "chi square".
Definition at line 114 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure().
|
mutableprivate |
Definition at line 125 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 128 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), and configure().
|
private |
Take the time to create and fill some histograms for diagnostics.
Definition at line 115 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 126 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 127 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 129 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), and configure().
|
mutableprivate |
Definition at line 132 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 130 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 131 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
mutableprivate |
Definition at line 133 of file SpacePointHit3DBuilder_tool.cc.
Referenced by clear(), configure(), and Hit3DBuilder().
|
private |
output analysis tree
Definition at line 121 of file SpacePointHit3DBuilder_tool.cc.
Referenced by configure(), and Hit3DBuilder().