LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
LArGeometryHelper class. More...
#include "LArGeometryHelper.h"
Public Types | |
typedef std::set< unsigned int > | UIntSet |
Static Public Member Functions | |
static float | MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const float position1, const float position2) |
Merge two views (U,V) to give a third view (Z). More... | |
static pandora::CartesianVector | MergeTwoDirections (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &direction1, const pandora::CartesianVector &direction2) |
Merge two views (U,V) to give a third view (Z). More... | |
static void | MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &position3, float &chiSquared) |
Merge 2D positions from two views to give 2D position in third view. More... | |
static void | MergeTwoPositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared) |
Merge 2D positions from two views to give 2D position in third view. More... | |
static void | MergeThreePositions (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::HitType view3, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, const pandora::CartesianVector &position3, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared) |
Merge 2D positions from three views to give unified 2D positions for each view. More... | |
static void | MergeThreePositions (const pandora::Pandora &pandora, const pandora::CartesianVector &positionU, const pandora::CartesianVector &positionV, const pandora::CartesianVector &positionW, pandora::CartesianVector &outputU, pandora::CartesianVector &outputV, pandora::CartesianVector &outputW, float &chiSquared) |
Merge 2D positions from three views to give unified 2D positions for each view. More... | |
static void | MergeTwoPositions3D (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, pandora::CartesianVector &position3D, float &chiSquared) |
Merge 2D positions from two views to give unified 3D position. More... | |
static void | MergeThreePositions3D (const pandora::Pandora &pandora, const pandora::HitType view1, const pandora::HitType view2, const pandora::HitType view3, const pandora::CartesianVector &position1, const pandora::CartesianVector &position2, const pandora::CartesianVector &position3, pandora::CartesianVector &position3D, float &chiSquared) |
Merge 2D positions from three views to give unified 3D position. More... | |
static pandora::CartesianVector | ProjectPosition (const pandora::Pandora &pandora, const pandora::CartesianVector &position3D, const pandora::HitType view) |
Project 3D position into a given 2D view. More... | |
static pandora::CartesianVector | ProjectDirection (const pandora::Pandora &pandora, const pandora::CartesianVector &direction3D, const pandora::HitType view) |
Project 3D direction into a given 2D view. More... | |
static float | GetWireZPitch (const pandora::Pandora &pandora, const float maxWirePitchDiscrepancy=0.01) |
Return the wire pitch. More... | |
static float | GetWirePitch (const pandora::Pandora &pandora, const pandora::HitType view, const float maxWirePitchDiscrepancy=0.01) |
Return the wire pitch. More... | |
static float | GetWirePitchRatio (const pandora::Pandora &pandora, const pandora::HitType view) |
Return the ratio of the wire pitch of the specified view to the minimum wire pitch for the detector. More... | |
static pandora::CartesianVector | GetWireAxis (const pandora::Pandora &pandora, const pandora::HitType view) |
Return the wire axis (vector perpendicular to the wire direction and drift direction) More... | |
static bool | IsInGap (const pandora::Pandora &pandora, const pandora::CartesianVector &testPoint2D, const pandora::HitType hitType, const float gapTolerance=0.f) |
Whether a 2D test point lies in a registered gap with the associated hit type. More... | |
static bool | IsInGap3D (const pandora::Pandora &pandora, const pandora::CartesianVector &testPoint3D, const pandora::HitType hitType, const float gapTolerance=0.f) |
Whether a 3D test point lies in a registered gap with the associated hit type. More... | |
static bool | IsXSamplingPointInGap (const pandora::Pandora &pandora, const float xSample, const TwoDSlidingFitResult &slidingFitResult, const float gapTolerance=0.f) |
Whether there is a gap in a cluster (described via its sliding fit result) at a specified x sampling position. More... | |
static float | CalculateGapDeltaZ (const pandora::Pandora &pandora, const float minZ, const float maxZ, const pandora::HitType hitType) |
Calculate the total distance within a given 2D region that is composed of detector gaps. More... | |
static float | GetSigmaUVW (const pandora::Pandora &pandora, const float maxSigmaDiscrepancy=0.01) |
Find the sigmaUVW value for the detector geometry. More... | |
static void | GetCommonDaughterVolumes (const pandora::Cluster *const pCluster1, const pandora::Cluster *const pCluster2, UIntSet &intersect) |
Return the set of common daughter volumes between two 2D clusters. More... | |
LArGeometryHelper class.
Definition at line 33 of file LArGeometryHelper.h.
typedef std::set<unsigned int> lar_content::LArGeometryHelper::UIntSet |
Definition at line 36 of file LArGeometryHelper.h.
|
static |
Calculate the total distance within a given 2D region that is composed of detector gaps.
pandora | the associated pandora instance |
minZ | the start position in Z |
maxZ | the end position in Z |
hitType | the hit type |
Definition at line 530 of file LArGeometryHelper.cc.
References f.
Referenced by lar_content::TwoDLinearFitFeatureTool::CalculateVariablesSlidingLinearFit(), lar_content::ThreeDLinearFitFeatureTool::CalculateVariablesSlidingLinearFit(), and lar_content::CrossGapsExtensionAlgorithm::IsAcrossGap().
|
static |
Return the set of common daughter volumes between two 2D clusters.
intersect | the set of shared daughter volumes |
pCluster1 | the first cluster |
pCluster2 | the second cluster |
Definition at line 457 of file LArGeometryHelper.cc.
Referenced by lar_content::CosmicRayTrackRecoveryAlgorithm::MatchClusters(), and lar_content::TwoViewTransverseTracksAlgorithm::TwoViewTransverseTracksAlgorithm().
|
static |
Find the sigmaUVW value for the detector geometry.
pandora | the associated pandora instance |
maxSigmaDiscrepancy | maximum allowed discrepancy between lar tpc sigmaUVW values |
Definition at line 567 of file LArGeometryHelper.cc.
Referenced by lar_content::ThreeDHitCreationAlgorithm::GetChi2WrtFit(), lar_content::ThreeDHitCreationAlgorithm::GetHitMovementChi2(), lar_content::ThreeDHitCreationAlgorithm::RefineHitPositions(), and lar_content::HitCreationBaseTool::~HitCreationBaseTool().
|
static |
Return the wire axis (vector perpendicular to the wire direction and drift direction)
pandora | the associated pandora instance |
view | the 2D projection |
Definition at line 432 of file LArGeometryHelper.cc.
References f.
|
static |
Return the wire pitch.
pandora | the associated pandora instance |
view | the 2D projection |
maxWirePitchDiscrepancy | maximum allowed discrepancy between lar tpc wire pitch values |
Definition at line 376 of file LArGeometryHelper.cc.
Referenced by lar_content::NViewTrackMatchingAlgorithm< T >::AddToSlidingFitCache(), lar_content::ThreeViewShowersAlgorithm::AddToSlidingFitCache(), lar_content::DeltaRayMatchingAlgorithm::AreClustersMatched(), lar_content::ProtoShowerMatchingTool::AreDirectionsConsistent(), lar_content::CosmicRayVertexBuildingAlgorithm::BuildPointingClusterMap(), lar_content::NeutrinoDaughterVerticesAlgorithm::BuildPointingClusterMap(), lar_content::ShowerStartFinderTool::BuildShowerRegion(), lar_content::TrackHitsBaseTool::BuildSlidingFitMap(), lar_content::CosmicRaySplittingAlgorithm::BuildSlidingFitResultMap(), lar_content::TwoDSlidingFitMultiSplitAlgorithm::BuildSlidingFitResultMap(), lar_content::CosmicRayTrackRecoveryAlgorithm::BuildSlidingFitResultMap(), lar_content::VertexBasedPfoRecoveryAlgorithm::BuildSlidingFitResultMap(), lar_content::TwoDSlidingFitSplittingAndSwitchingAlgorithm::BuildSlidingFitResultMap(), lar_content::TwoDSlidingFitSplittingAndSplicingAlgorithm::BuildSlidingFitResultMap(), lar_content::TwoDSlidingFitConsolidationAlgorithm::BuildSlidingLinearFits(), lar_content::ParticleRecoveryAlgorithm::CalculateEffectiveSpan(), lar_content::ShowerStartFinderTool::CharacteriseShowerTopology(), lar_content::ConeClusterMopUpAlgorithm::ClusterMopUp(), lar_content::BoundedClusterMopUpAlgorithm::ClusterMopUp(), lar_content::CutPfoCharacterisationAlgorithm::CutPfoCharacterisationAlgorithm(), lar_content::ShowerSpineFinderTool::FindShowerSpine(), lar_content::ConnectionRegionFeatureTool::Get2DKink(), lar_content::SlidingConePfoMopUpAlgorithm::GetClusterMergeMap(), lar_content::SlidingConeClusterMopUpAlgorithm::GetClusterMergeMap(), lar_content::EventSlicingTool::GetClusterSliceList(), lar_content::NeutrinoHierarchyAlgorithm::GetInitialPfoInfoMap(), lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetNearbyMuonPfos(), lar_content::ThreeViewTrackFragmentsAlgorithm::GetProjectedPositions(), lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions(), lar_content::ElectronInitialRegionRefinementAlgorithm::GetShowerVertex(), lar_content::MissingTrackSegmentTool::GetSlidingFitResultMap(), lar_content::ShowerRegionFeatureTool::GetViewShowerRegionVariables(), lar_content::TrackRefinementBaseAlgorithm::InitialiseContainers(), lar_content::DeltaRayRemovalTool::IsContaminated(), lar_content::CosmicRayRemovalTool::IsContaminated(), lar_content::TwoViewCosmicRayRemovalTool::IsContaminated(), lar_content::ThreeDHitCreationAlgorithm::IterativeTreatment(), lar_content::CrossGapsAssociationAlgorithm::PopulateClusterAssociationMap(), lar_content::ShowerStartFinderTool::Run(), and lar_content::TwoDSlidingFitSplittingAlgorithm::TwoDSlidingFitSplittingAlgorithm().
|
static |
Return the ratio of the wire pitch of the specified view to the minimum wire pitch for the detector.
pandora | the associated pandora instance |
view | the 2D projection |
Definition at line 419 of file LArGeometryHelper.cc.
Referenced by lar_content::TrackClusterCreationAlgorithm::AddFilteredCaloHits(), lar_content::TrackClusterCreationAlgorithm::CreatePrimaryAssociation(), lar_content::TrackClusterCreationAlgorithm::CreateSecondaryAssociation(), lar_content::TransverseAssociationAlgorithm::FillTransverseClusterList(), lar_content::TrackClusterCreationAlgorithm::FilterCaloHits(), lar_content::IsolatedClusterMopUpAlgorithm::GetCaloHitToClusterMap(), lar_content::TransverseExtensionAlgorithm::GetListOfCleanClusters(), lar_content::CrossGapsAssociationAlgorithm::IsAssociated(), lar_content::CrossGapsExtensionAlgorithm::IsAssociated(), lar_content::LongitudinalAssociationAlgorithm::IsExtremalCluster(), lar_content::CrossGapsAssociationAlgorithm::IsNearCluster(), lar_content::TransverseAssociationAlgorithm::IsTransverseAssociated(), and lar_content::TrackConsolidationAlgorithm::TrackConsolidationAlgorithm().
|
inlinestatic |
Return the wire pitch.
pandora | the associated pandora instance |
maxWirePitchDiscrepancy | maximum allowed discrepancy between lar tpc wire pitch value in the w view |
Definition at line 283 of file LArGeometryHelper.h.
Referenced by lar_content::CandidateVertexCreationAlgorithm::AddToSlidingFitCache(), lar_content::VertexSelectionBaseAlgorithm::CalculateClusterSlidingFits(), lar_content::TrainedVertexSelectionAlgorithm::CalculateShowerClusterList(), lar_content::TwoDLinearFitFeatureTool::CalculateVariablesSlidingLinearFit(), lar_content::ThreeDLinearFitFeatureTool::CalculateVariablesSlidingLinearFit(), lar_content::CutClusterCharacterisationAlgorithm::GetShowerFitWidth(), lar_content::CutClusterCharacterisationAlgorithm::IsClearTrack(), lar_content::LArParticleIdPlugins::LArMuonId::LArMuonId(), lar_content::TwoDShowerFitFeatureTool::Run(), and lar_content::TwoDVertexDistanceFeatureTool::Run().
|
static |
Whether a 2D test point lies in a registered gap with the associated hit type.
pandora | the associated pandora instance |
testPoint | the test point |
hitType | the hit type |
gapTolerance | the gap tolerance |
Definition at line 470 of file LArGeometryHelper.cc.
Referenced by lar_content::CrossGapsExtensionAlgorithm::BuildPointingClusterList(), lar_content::TracksCrossingGapsTool::CheckXPositionInGap(), lar_content::StitchingCosmicRayMergingTool::CreatePfoMatches(), and lar_content::CrossGapsAssociationAlgorithm::IsAssociated().
|
static |
Whether a 3D test point lies in a registered gap with the associated hit type.
pandora | the associated pandora instance |
testPoint | the test point |
hitType | the hit type |
gapTolerance | the gap tolerance |
Definition at line 484 of file LArGeometryHelper.cc.
Referenced by lar_content::VertexSelectionBaseAlgorithm::IsVertexInGap().
|
static |
Whether there is a gap in a cluster (described via its sliding fit result) at a specified x sampling position.
pandora | the associated pandora instance |
xSample | the x sampling position |
slidingFitResult | the sliding fit result for a cluster |
gapTolerance | the gap tolerance |
Definition at line 492 of file LArGeometryHelper.cc.
References f, lar_content::TwoDSlidingFitResult::GetCluster(), lar_content::TwoDSlidingFitResult::GetGlobalFitPositionAtX(), lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerDirection(), lar_content::TwoDSlidingFitResult::GetGlobalMaxLayerPosition(), lar_content::TwoDSlidingFitResult::GetGlobalMinLayerDirection(), and lar_content::TwoDSlidingFitResult::GetGlobalMinLayerPosition().
Referenced by lar_content::ParticleRecoveryAlgorithm::CalculateEffectiveSpan(), and lar_content::TracksCrossingGapsTool::CheckXPositionInGap().
|
static |
Merge 2D positions from three views to give unified 2D positions for each view.
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
view3 | the third view |
position1 | the position in the first view |
position2 | the position in the second view |
position3 | the position in the third view |
positionU | output position in the U view |
positionV | output position in the V view |
positionW | output position in the W view |
chi-squared |
Referenced by lar_content::ThreeViewLongitudinalTracksAlgorithm::ThreeViewLongitudinalTracksAlgorithm().
|
static |
Merge 2D positions from three views to give unified 2D positions for each view.
pandora | the associated pandora instance |
positionU | input position in the U view |
positionV | input position in the V view |
positionW | input position in the W view |
positionU | output position in the U view |
positionV | output position in the V view |
positionW | output position in the W view |
chi-squared |
|
static |
Merge 2D positions from three views to give unified 3D position.
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
view3 | the third view |
position1 | the position in the first view |
position2 | the position in the second view |
position3 | the position in the third view |
position3D | output position in 3D |
chi-squared |
Definition at line 311 of file LArGeometryHelper.cc.
References f.
Referenced by lar_content::UndershootTracksTool::IsThreeDKink(), lar_content::OvershootTracksTool::IsThreeDKink(), lar_content::VertexBasedPfoRecoveryAlgorithm::MatchTwoViews(), and lar_content::VertexRefinementAlgorithm::RefineVertices().
|
static |
Merge two views (U,V) to give a third view (Z).
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
direction1 | the direction in the first view |
direction2 | the direction in the second view |
Definition at line 71 of file LArGeometryHelper.cc.
Referenced by lar_content::ProtoShowerMatchingTool::AreDirectionsConsistent().
|
static |
Merge two views (U,V) to give a third view (Z).
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
position1 | the position in the first view |
position2 | the position in the second view |
Referenced by lar_content::DeltaRayMatchingAlgorithm::AreClustersMatched(), lar_content::ProtoShowerMatchingTool::AreShowerStartsConsistent(), lar_content::ThreeViewRemnantsAlgorithm::CalculateOverlapResult(), lar_content::ParticleRecoveryAlgorithm::CheckConsistency(), lar_content::CosmicRayShowerMatchingAlgorithm::CheckMatchedClusters3D(), lar_content::CosmicRayTrackMatchingAlgorithm::CheckMatchedClusters3D(), lar_content::TracksCrossingGapsTool::CheckXPositionInGap(), lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetNearbyMuonPfos(), lar_content::ThreeViewTrackFragmentsAlgorithm::GetProjectedPositions(), lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions(), lar_content::ThreeViewTransverseTracksAlgorithm::GetSegmentOverlap(), lar_content::MissingTrackSegmentTool::GetSegmentOverlapMap(), lar_content::ThreeViewShowerHitsTool::GetShowerHit3D(), lar_content::ThreeViewShowersAlgorithm::GetShowerPositionMaps(), lar_content::TrackSplittingTool::PassesChecks(), and lar_content::OvershootTracksTool::SetSplitPosition().
|
static |
Merge 2D positions from two views to give 2D position in third view.
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
position1 | the position in the first view |
position2 | the position in the second view |
position3 | output position in the third view |
chi-squared |
|
static |
Merge 2D positions from two views to give 2D position in third view.
view1 | the first view |
view2 | the second view |
position1 | the position in the first view |
position2 | the position in the second view |
positionU | output position in the U view |
positionV | output position in the V view |
positionW | output position in the W view |
chi-squared |
|
static |
Merge 2D positions from two views to give unified 3D position.
pandora | the associated pandora instance |
view1 | the first view |
view2 | the second view |
position1 | the position in the first view |
position2 | the position in the second view |
position3D | output position in 3D |
chi-squared |
Definition at line 299 of file LArGeometryHelper.cc.
References f.
Referenced by lar_content::CandidateVertexCreationAlgorithm::CreateCrossingVertices(), lar_content::CandidateVertexCreationAlgorithm::CreateEndpointVertex(), lar_content::ThreeViewTrackFragmentsAlgorithm::GetProjectedPositions(), lar_content::TwoViewThreeDKinkTool::IsThreeDKink(), lar_content::VertexBasedPfoRecoveryAlgorithm::MatchTwoViews(), lar_content::VertexRefinementAlgorithm::RefineVertices(), lar_content::ThreeViewLongitudinalTracksAlgorithm::ThreeViewLongitudinalTracksAlgorithm(), lar_content::LongitudinalTrackHitsBaseTool::UpdateBestPosition(), and lar_content::HitCreationBaseTool::~HitCreationBaseTool().
|
static |
Project 3D direction into a given 2D view.
pandora | the associated pandora instance |
direction3D | the direction in 3D |
view | the 2D projection |
Definition at line 348 of file LArGeometryHelper.cc.
|
static |
Project 3D position into a given 2D view.
pandora | the associated pandora instance |
position3D | the position in 3D |
view | the 2D projection |
Definition at line 323 of file LArGeometryHelper.cc.
Referenced by lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewPathways(), lar_content::ElectronInitialRegionRefinementAlgorithm::BuildViewProtoShowers(), lar_content::SplitShowersTool::CheckClusterVertexRelations(), lar_content::ConeClusterMopUpAlgorithm::ClusterMopUp(), lar_content::NearbyClusterMopUpAlgorithm::ClusterMopUp(), lar_content::RPhiFeatureTool::FillKernelEstimate(), lar_content::VertexSplittingAlgorithm::FindBestSplitPosition(), lar_content::ShowerGrowingAlgorithm::GetAllVertexSeedCandidates(), lar_content::VertexBasedPfoMopUpAlgorithm::GetClusterAssociation(), lar_content::SlidingConeClusterMopUpAlgorithm::GetClusterMergeMap(), lar_content::ShowerGrowingAlgorithm::GetFigureOfMerit(), lar_content::ThreeDHitCreationAlgorithm::GetHitMovementChi2(), lar_content::VertexBasedPfoMopUpAlgorithm::GetInputPfos(), lar_content::EventSlicingTool::GetKDTreeEntries3D(), lar_content::ConnectionRegionFeatureTool::GetLargest2DKinkFromView(), lar_content::ThreeViewTrackFragmentsAlgorithm::GetProjectedPositions(), lar_content::TrainedVertexSelectionAlgorithm::GetSharedFeatures(), lar_content::ElectronInitialRegionRefinementAlgorithm::GetShowerVertex(), lar_content::LongitudinalTrackHitsBaseTool::GetVertexAndEndPositions(), lar_content::CutClusterCharacterisationAlgorithm::GetVertexDistance(), lar_content::AmbiguousRegionFeatureTool::GetViewAmbiguousHitVariables(), lar_content::InitialRegionFeatureTool::GetViewInitialRegionVariables(), lar_content::ShowerRegionFeatureTool::GetViewShowerRegionVariables(), lar_content::ElectronInitialRegionRefinementAlgorithm::IsSpineCoincident(), lar_content::VertexSelectionBaseAlgorithm::IsVertexOnHit(), lar_content::VertexBasedPfoRecoveryAlgorithm::MatchTwoViews(), lar_content::ThreeDChargeFeatureTool::OrderCaloHitsByDistanceToVertex(), lar_content::ElectronInitialRegionRefinementAlgorithm::RefineHitsToAdd(), lar_content::ElectronInitialRegionRefinementAlgorithm::RefineShowerVertex(), lar_content::VertexRefinementAlgorithm::RefineVertices(), lar_content::ShowerSpineFinderTool::Run(), lar_content::PeakDirectionFinderTool::Run(), lar_content::EnergyKickFeatureTool::Run(), lar_content::AsymmetryFeatureBaseTool::Run(), lar_content::VertexBasedPfoRecoveryAlgorithm::SelectVertexClusters(), lar_content::ThreeViewLongitudinalTracksAlgorithm::ThreeViewLongitudinalTracksAlgorithm(), and lar_content::VertexSelectionBaseAlgorithm::VertexHitEnergy().