LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
LongitudinalTrackHitsBaseTool class. More...
#include "LongitudinalTrackHitsBaseTool.h"
Public Types | |
typedef ThreeDHitCreationAlgorithm::ProtoHit | ProtoHit |
typedef ThreeDHitCreationAlgorithm::ProtoHitVector | ProtoHitVector |
typedef ThreeDHitCreationAlgorithm::TrajectorySample | TrajectorySample |
Public Member Functions | |
LongitudinalTrackHitsBaseTool () | |
Default constructor. More... | |
virtual void | Run (ThreeDHitCreationAlgorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pPfo, const pandora::CaloHitVector &inputTwoDHits, ProtoHitVector &protoHitVector) |
Run the algorithm tool. More... | |
Protected Types | |
typedef std::map< pandora::HitType, TwoDSlidingFitResult > | MatchedSlidingFitMap |
Protected Member Functions | |
virtual void | GetLongitudinalTrackHit3D (const MatchedSlidingFitMap &matchedSlidingFitMap, const pandora::CartesianVector &vtx3D, const pandora::CartesianVector &end3D, ProtoHit &protoHit) const =0 |
Get the three dimensional position using a provided two dimensional calo hit and sliding linear fits in the other two views. More... | |
virtual void | GetTrackHits3D (const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const |
Calculate 3D hits from an input list of 2D hits. More... | |
virtual pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
virtual void | BuildSlidingFitMap (const pandora::ParticleFlowObject *const pPfo, MatchedSlidingFitMap &matchedSlidingFitMap) const |
Calculate sliding fit results for clusters from each view. More... | |
virtual void | GetBestPosition3D (const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianPointVector &fitPositionList1, const pandora::CartesianPointVector &fitPositionList2, ProtoHit &protoHit) const |
Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views. More... | |
virtual void | GetBestPosition3D (const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianVector &fitPosition1, const pandora::CartesianVector &fitPosition2, ProtoHit &protoHit) const |
Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views. More... | |
virtual void | GetBestPosition3D (const pandora::HitType hitType, const pandora::CartesianVector &fitPosition, ProtoHit &protoHit) const |
Get the three dimensional position using a provided two dimensional calo hit and a candidate fit position from another view. More... | |
Protected Attributes | |
unsigned int | m_minViews |
The minimum number of views required for building hits. More... | |
unsigned int | m_slidingFitWindow |
The layer window for the sliding linear fits. More... | |
double | m_sigmaX2 |
The sigmaX squared value, for calculation of chi2 deltaX term. More... | |
double | m_chiSquaredCut |
The chi squared cut (accept only values below the cut value) More... | |
Private Member Functions | |
void | GetVertexAndEndPositions (const MatchedSlidingFitMap &inputSlidingFitMap, MatchedSlidingFitMap &outputSlidingFitMap, pandora::CartesianVector &outputVtx3D, pandora::CartesianVector &outputEnd3D) const |
Get reconstructed vertex and end positions for this 3D track. More... | |
void | UpdateBestPosition (const pandora::HitType hitType1, const pandora::HitType hitType2, const pandora::CartesianVector &vtx1, const pandora::CartesianVector &vtx2, pandora::CartesianVector &bestVtx, float &bestChi2) const |
Combine two 2D coordinates to give a 3D coordinate. More... | |
Private Attributes | |
float | m_vtxDisplacementCutSquared |
float | m_minTrackLengthSquared |
LongitudinalTrackHitsBaseTool class.
Definition at line 19 of file LongitudinalTrackHitsBaseTool.h.
|
protectedinherited |
Definition at line 35 of file TrackHitsBaseTool.h.
Definition at line 24 of file HitCreationBaseTool.h.
|
inherited |
Definition at line 25 of file HitCreationBaseTool.h.
|
inherited |
Definition at line 26 of file HitCreationBaseTool.h.
lar_content::LongitudinalTrackHitsBaseTool::LongitudinalTrackHitsBaseTool | ( | ) |
Default constructor.
Definition at line 21 of file LongitudinalTrackHitsBaseTool.cc.
|
protectedvirtualinherited |
Calculate sliding fit results for clusters from each view.
pPfo | the input particle flow object |
matchedSlidingFitMap | the group of sliding fit results |
Definition at line 57 of file TrackHitsBaseTool.cc.
References lar_content::LArClusterHelper::GetClusterHitType(), lar_content::LArGeometryHelper::GetWirePitch(), lar_content::TrackHitsBaseTool::m_slidingFitWindow, and lar_content::LArClusterHelper::SortByNHits().
Referenced by lar_content::TrackHitsBaseTool::Run().
|
protectedvirtualinherited |
Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views.
hitType1 | the hit type identifying the first view |
hitType2 | the hit type identifying the second view |
fitPositionList1 | the candidate sliding fit position in the first view |
fitPositionList2 | the candidate sliding fit position in the second view |
protoHit | to receive the populated proto hit |
Referenced by lar_content::ThreeViewShowerHitsTool::GetShowerHit3D(), and lar_content::HitCreationBaseTool::~HitCreationBaseTool().
|
protectedvirtualinherited |
Get the three dimensional position using a provided two dimensional calo hit and candidate fit positions from the other two views.
hitType1 | the hit type identifying the first view |
hitType2 | the hit type identifying the second view |
fitPosition1 | the candidate sliding fit position in the first view |
fitPosition2 | the candidate sliding fit position in the second view |
protoHit | to receive the populated proto hit |
|
protectedvirtualinherited |
Get the three dimensional position using a provided two dimensional calo hit and a candidate fit position from another view.
hitType | the hit type identifying the other view |
fitPosition | the candidate sliding fit position in the other view |
protoHit | to receive the populated proto hit |
|
protectedpure virtual |
Get the three dimensional position using a provided two dimensional calo hit and sliding linear fits in the other two views.
matchedSlidingFitMap | map of sliding fit results from each view |
vtx3D | the 3D vertex position |
end3D | the 3D end position |
protoHit | to receive the populated proto hit |
Implemented in lar_content::ClearLongitudinalTrackHitsTool, and lar_content::MultiValuedLongitudinalTrackHitsTool.
Referenced by GetTrackHits3D().
|
protectedvirtual |
Calculate 3D hits from an input list of 2D hits.
pAlgorithm | the hit creation algorithm |
inputTwoDHits | the input vector of 2D hits |
matchedSlidingFitMap | the group of sliding fit results |
protoHitVector | to receive the new three dimensional proto hits |
Implements lar_content::TrackHitsBaseTool.
Definition at line 29 of file LongitudinalTrackHitsBaseTool.cc.
References f, lar_content::ThreeDHitCreationAlgorithm::ProtoHit::GetChi2(), GetLongitudinalTrackHit3D(), GetVertexAndEndPositions(), lar_content::ThreeDHitCreationAlgorithm::ProtoHit::IsPositionSet(), and lar_content::HitCreationBaseTool::m_chiSquaredCut.
|
private |
Get reconstructed vertex and end positions for this 3D track.
inputSlidingFitMap | input map of sliding fit results from each view |
outputSlidingFitMap | output map of clean sliding fit results from each view |
outputVtx3D | reconstructed start position of 3D track |
outputEnd3D | reconstructed end position of 3D track |
Definition at line 54 of file LongitudinalTrackHitsBaseTool.cc.
References f, lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerPosition(), lar_content::TwoDSlidingFitResult::GetGlobalMinLayerPosition(), m_minTrackLengthSquared, m_vtxDisplacementCutSquared, lar_content::LArGeometryHelper::ProjectPosition(), and UpdateBestPosition().
Referenced by GetTrackHits3D().
|
protectedvirtual |
Reimplemented from lar_content::TrackHitsBaseTool.
Definition at line 214 of file LongitudinalTrackHitsBaseTool.cc.
References m_minTrackLengthSquared, m_vtxDisplacementCutSquared, and lar_content::TrackHitsBaseTool::ReadSettings().
|
virtualinherited |
Run the algorithm tool.
pAlgorithm | address of the calling algorithm |
pPfo | the address of the pfo |
inputTwoDHits | the vector of input two dimensional hits |
protoHitVector | to receive the new three dimensional proto hits |
Implements lar_content::HitCreationBaseTool.
Definition at line 31 of file TrackHitsBaseTool.cc.
References lar_content::TrackHitsBaseTool::BuildSlidingFitMap(), lar_content::TrackHitsBaseTool::GetTrackHits3D(), and lar_content::LArPfoHelper::IsTrack().
|
private |
Combine two 2D coordinates to give a 3D coordinate.
hitType1 | the view corresponding to the first position |
hitType2 | the view corresponding to the second position |
vtx1 | the first position |
vtx2 | the second position |
bestVtx | the combined vertex position |
bestChi2 | the chi-squared from the combination |
Definition at line 197 of file LongitudinalTrackHitsBaseTool.cc.
References f, and lar_content::LArGeometryHelper::MergeTwoPositions3D().
Referenced by GetVertexAndEndPositions().
|
protectedinherited |
The chi squared cut (accept only values below the cut value)
Definition at line 86 of file HitCreationBaseTool.h.
Referenced by lar_content::ShowerHitsBaseTool::GetShowerHits3D(), GetTrackHits3D(), and lar_content::HitCreationBaseTool::ReadSettings().
|
private |
Definition at line 70 of file LongitudinalTrackHitsBaseTool.h.
Referenced by GetVertexAndEndPositions(), and ReadSettings().
|
protectedinherited |
The minimum number of views required for building hits.
Definition at line 58 of file TrackHitsBaseTool.h.
Referenced by lar_content::TrackHitsBaseTool::ReadSettings().
|
protectedinherited |
The sigmaX squared value, for calculation of chi2 deltaX term.
Definition at line 85 of file HitCreationBaseTool.h.
Referenced by lar_content::HitCreationBaseTool::ReadSettings(), and lar_content::HitCreationBaseTool::~HitCreationBaseTool().
|
protectedinherited |
The layer window for the sliding linear fits.
Definition at line 59 of file TrackHitsBaseTool.h.
Referenced by lar_content::TrackHitsBaseTool::BuildSlidingFitMap(), and lar_content::TrackHitsBaseTool::ReadSettings().
|
private |
Definition at line 69 of file LongitudinalTrackHitsBaseTool.h.
Referenced by GetVertexAndEndPositions(), and ReadSettings().