![]() |
LArSoft
v10_06_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().