LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
LArMuonLeadingHelper class. More...
#include "LArMuonLeadingHelper.h"
Classes | |
class | ValidationParameters |
ValidationParameters class. More... | |
Public Types | |
typedef std::map< const pandora::MCParticle *, pandora::CaloHitList > | LeadingMCParticleToPostBremsstrahlungHitList |
Static Public Member Functions | |
static MCProcess | GetLeadingProcess (const pandora::MCParticle *const pMCParticle) |
Return the MCProcess of the leading particle (tier 1) in the delta ray/michel hierarchy. More... | |
static bool | IsDeltaRay (const pandora::MCParticle *const pMCParticle) |
Return true if input MCParticle is a child of a cosmic ray and has 'delta ray' process tag. More... | |
static bool | IsMichel (const pandora::MCParticle *const pMCParticle) |
Return true if input MCParticle is a child of a cosmic ray and has 'decay' process tag. More... | |
static bool | IsMuonLeading (const pandora::MCParticle *const pMCParticle) |
Return true if input MCParticle is in tier 1 of the cosmic ray hierarchy. More... | |
static const pandora::MCParticle * | GetLeadingParticle (const pandora::MCParticle *const pMCParticle) |
Return leading particle in the delta ray/michel hierarchy i.e. tier below cosmic ray. More... | |
static void | SelectReconstructableLeadingParticles (const pandora::MCParticleList *pMCParticleList, const pandora::CaloHitList *pCaloHitList, const ValidationParameters ¶meters, const pandora::CaloHitList &recoMuonHitList, LArMCParticleHelper::MCContributionMap &selectedMCParticlesToHitsMap) |
Select target, reconstructable mc particles in the cosmic ray hierarchy. More... | |
static void | GetPfoMatchContamination (const pandora::MCParticle *const pLeadingParticle, const pandora::CaloHitList &matchedPfoHitList, pandora::CaloHitList &parentTrackHits, pandora::CaloHitList &otherTrackHits, pandora::CaloHitList &otherShowerHits) |
Separate a leading pfo hit list according to the true owner of the hit e.g. other shower. More... | |
static void | GetMuonPfoContaminationContribution (const pandora::CaloHitList &cosmicRayPfoHitList, const pandora::CaloHitList &leadingMCHitList, pandora::CaloHitList &leadingHitsInParentCosmicRay) |
Determine the leading MCParticle hits within a cosmic ray pfo hit list. More... | |
static float | GetClosestDistance (const pandora::Cluster *const pCluster, const pandora::CartesianPointVector &cartesianPointVector) |
Get closest distance between a specified cluster and list of positions. More... | |
static float | GetClosestDistance (const pandora::CaloHit *const pCaloHit, const pandora::CartesianPointVector &cartesianPointVector) |
Get closest distance between a specified calo hit and list of positions. More... | |
static pandora::StatusCode | GetClosestPosition (const pandora::CartesianVector &referencePoint, const pandora::CartesianPointVector &cartesianPointVector, const pandora::Cluster *const pCluster, const float maxDistanceToCluster, const float maxDistanceToReferencePoint, pandora::CartesianVector &closestPosition) |
Get the closest position from an input list of projected positions that lies close to both a reference point and an input cluster. More... | |
static void | GetClosestPositions (const pandora::CartesianPointVector &cartesianPointVector1, const pandora::Cluster *const pCluster2, pandora::CartesianVector &outputPosition1, pandora::CartesianVector &outputPosition2) |
Get the closest positions between a list of positions and a cluster. More... | |
Static Private Member Functions | |
static void | GetMCToLeadingMap (const pandora::MCParticleList *const pMCParticleList, LArMCParticleHelper::MCRelationMap &mcToLeadingMap) |
Construct the hierarchy folding map (cosmic rays folded to themselves, delta ray/michel hierarchy folded to leading particle) More... | |
static void | SelectCaloHits (const pandora::CaloHitList *const pCaloHitList, const LArMCParticleHelper::MCRelationMap &mcToTargetMCMap, pandora::CaloHitList &selectedCaloHitList, const bool selectInputHits, const float minHitSharingFraction, const pandora::CaloHitList &recoMuonHitList, LeadingMCParticleToPostBremsstrahlungHitList &leadingMCParticleToPostBremsstrahlungHitList) |
Select a subset of calo hits representing those that represent "reconstructable" regions of the event. More... | |
static bool | RejectBremsstrahlungHits (const pandora::CaloHit *const pCaloHit, LeadingMCParticleToPostBremsstrahlungHitList &leadingMCParticleToPostBremsstrahlungHitList) |
Identify and record the hits that are post-bremsstralung radiation in a cosmic ray hierarchy. More... | |
static void | AddInPostBremsstrahlungHits (const LeadingMCParticleToPostBremsstrahlungHitList &leadingMCParticleToPostBremsstrahlungHitList, const float maxBremsstrahlungSeparation, LArMCParticleHelper::MCContributionMap &leadingMCToTrueHitListMap) |
Identify the reconstructable post-bremsstrahlung radiation hits. More... | |
static void | AddInPostBremsstrahlungHits (const pandora::MCParticle *const pLeadingParticle, const LeadingMCParticleToPostBremsstrahlungHitList &leadingMCParticleToPostBremsstrahlungHitList, const float maxBremsstrahlungSeparation, LArMCParticleHelper::MCContributionMap &leadingMCToTrueHitListMap, const pandora::HitType tpcView) |
Identify the reconstructable post-bremsstrahlung radiation hits. More... | |
static void | SelectLeadingMCParticles (const pandora::MCParticleList *pMCParticleList, pandora::MCParticleVector &selectedParticles) |
Select all tier 0 and tier 1 MCParticles in cosmic ray hierarchies from an input list. More... | |
LArMuonLeadingHelper class.
Definition at line 20 of file LArMuonLeadingHelper.h.
typedef std::map<const pandora::MCParticle *, pandora::CaloHitList> lar_content::LArMuonLeadingHelper::LeadingMCParticleToPostBremsstrahlungHitList |
Definition at line 37 of file LArMuonLeadingHelper.h.
|
staticprivate |
Identify the reconstructable post-bremsstrahlung radiation hits.
leadingMCParticleToPostBremsstrahlungHitList | the mapping of leading MCParticles to post-bremsstrahlung hits |
maxBremsstrahlungSeparation | the maximum separation of a reconstructable post-bremsstrahlung hit from the pre-radiation hits |
leadingMCToTrueHitListMap | the mapping of cosmic ray and leading MCParticles to their reconstructable hits |
Definition at line 265 of file LArMuonLeadingHelper.cc.
References lar_content::LArClusterHelper::GetClosestDistance().
Referenced by SelectReconstructableLeadingParticles().
|
staticprivate |
Identify the reconstructable post-bremsstrahlung radiation hits.
pLeadingParticle | the address of the input leading MCParticle |
leadingMCParticleToPostBremsstrahlungHitList | the mapping of leading MCParticles to post-bremsstrahlung hits |
maxBremsstrahlungSeparation | the maximum separation of a reconstructable post-bremsstrahlung hit from the pre-radiation hits |
leadingMCToTrueHitListMap | the mapping of cosmic ray and leading MCParticles to their reconstructable hits |
tpcView | the TPC view of the hits to be collected |
|
static |
Get closest distance between a specified cluster and list of positions.
pCluster | address of the input cluster |
cartesianPointVector | the list of input positions |
Referenced by lar_content::TwoViewDeltaRayMatchingAlgorithm::CollectThirdViewClusters(), GetMuonPfoContaminationContribution(), and lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions().
|
static |
Get closest distance between a specified calo hit and list of positions.
pCaloHit | the address of the input calo hit |
cartesianPointVector | the list of input positions |
|
static |
Get the closest position from an input list of projected positions that lies close to both a reference point and an input cluster.
referencePoint | the input reference point |
cartesianPointVector | the input list of projected positions |
pCluster | the input cluster |
maxDistanceToCluster | the maximum distance to the cluster |
maxDistanceToReferencePoint | the maximum distance to the reference point |
closestPosition | to receive the closest position if found |
Definition at line 445 of file LArMuonLeadingHelper.cc.
References lar_content::LArClusterHelper::GetClosestDistance().
Referenced by lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions().
|
static |
Get the closest positions between a list of positions and a cluster.
cartesianPointVector1 | the input list of positions |
pCluster2 | the address of the input cluster |
outputPosition1 | the closest position in the list of positions |
outputPosition2 | the closest position in the cluster |
Definition at line 474 of file LArMuonLeadingHelper.cc.
References f.
Referenced by lar_content::NViewDeltaRayMatchingAlgorithm< T >::GetProjectedPositions().
|
static |
Return leading particle in the delta ray/michel hierarchy i.e. tier below cosmic ray.
pMCParticle | the input MCParticle |
Definition at line 73 of file LArMuonLeadingHelper.cc.
References lar_content::LArMCParticleHelper::GetHierarchyTier().
Referenced by GetLeadingProcess(), GetMCToLeadingMap(), and GetPfoMatchContamination().
|
static |
Return the MCProcess of the leading particle (tier 1) in the delta ray/michel hierarchy.
pMCParticle | the address of the input MCParticle |
Definition at line 34 of file LArMuonLeadingHelper.cc.
References lar_content::LArMCParticleHelper::GetHierarchyTier(), GetLeadingParticle(), lar_content::LArMCParticle::GetProcess(), and lar_content::MC_PROC_UNKNOWN.
Referenced by IsDeltaRay(), and IsMichel().
|
staticprivate |
Construct the hierarchy folding map (cosmic rays folded to themselves, delta ray/michel hierarchy folded to leading particle)
pMCParticleList | the address of the list of MCParticles |
mcToLeadingMap | the hierarchy folding map |
Definition at line 98 of file LArMuonLeadingHelper.cc.
References GetLeadingParticle(), lar_content::LArMCParticleHelper::GetParentMCParticle(), and lar_content::LArMCParticleHelper::IsCosmicRay().
Referenced by SelectReconstructableLeadingParticles().
|
static |
Determine the leading MCParticle hits within a cosmic ray pfo hit list.
cosmicRayPfoHitList | the cosmic ray pfo hit list |
leadingMCHitList | the list of hits that belong to the leading MCParticle |
leadingHitsInParentCosmicRay | the output list of 'stolen' leading MCParticle hits |
Definition at line 395 of file LArMuonLeadingHelper.cc.
References GetClosestDistance().
Referenced by lar_content::MuonLeadingEventValidationAlgorithm::ProcessOutput().
|
static |
Separate a leading pfo hit list according to the true owner of the hit e.g. other shower.
pLeadingParticle | the address of the input leading MCParticle |
matchedPfoHitList | the input leading pfo hit list |
parentTrackHits | the output list of hits that belong to the parent cosmic ray |
otherTrackHits | the output list of hits that belong to a cosmic ray that is not the parent |
otherShowerHits | the output list of hits that belong to a different shower hierarchy |
Definition at line 370 of file LArMuonLeadingHelper.cc.
References GetLeadingParticle(), lar_content::LArMCParticleHelper::GetParentMCParticle(), and lar_content::LArMCParticleHelper::IsCosmicRay().
Referenced by lar_content::MuonLeadingEventValidationAlgorithm::ProcessOutput().
|
static |
Return true if input MCParticle is a child of a cosmic ray and has 'delta ray' process tag.
pMCParticle | the input MCParticle |
Definition at line 50 of file LArMuonLeadingHelper.cc.
References GetLeadingProcess(), and lar_content::MC_PROC_MU_IONI.
Referenced by lar_content::MuonLeadingEventValidationAlgorithm::ProcessOutput().
|
static |
Return true if input MCParticle is a child of a cosmic ray and has 'decay' process tag.
pMCParticle | the input MCParticle |
Definition at line 57 of file LArMuonLeadingHelper.cc.
References GetLeadingProcess(), and lar_content::MC_PROC_DECAY.
Referenced by lar_content::MuonLeadingEventValidationAlgorithm::ProcessOutput().
|
static |
Return true if input MCParticle is in tier 1 of the cosmic ray hierarchy.
pMCParticle | the input MCParticle |
Definition at line 64 of file LArMuonLeadingHelper.cc.
References lar_content::LArMCParticleHelper::GetHierarchyTier(), lar_content::LArMCParticleHelper::GetParentMCParticle(), and lar_content::LArMCParticleHelper::IsCosmicRay().
Referenced by RejectBremsstrahlungHits(), and SelectLeadingMCParticles().
|
staticprivate |
Identify and record the hits that are post-bremsstralung radiation in a cosmic ray hierarchy.
pCaloHit | the address of the input calo hit |
leadingMCParticleToPostBremsstrahlungHitList | the mapping of leading MCParticles to post-bremsstrahlung hits |
Definition at line 231 of file LArMuonLeadingHelper.cc.
References lar_content::LArMCParticleHelper::GetAllAncestorMCParticles(), lar_content::LArMCParticleHelper::GetHierarchyTier(), and IsMuonLeading().
Referenced by SelectCaloHits().
|
staticprivate |
Select a subset of calo hits representing those that represent "reconstructable" regions of the event.
pCaloHitList | the address of the input calo hit list |
mcToTargetMCMap | the MCParticle to leading MCParticle map |
selectedCaloHitList | to receive the populated selected calo hit list |
selectInputHits | whether to select input hits |
minHitSharingFraction | the minimum required charge share of the hit |
recoMuonHitList | the list of reconstructed cosmic ray hits |
leadingMCParticleToPostBremsstrahlungHitList | the mapping of leading MCParticles to post-bremsstrahlung hits |
Definition at line 154 of file LArMuonLeadingHelper.cc.
References f, lar_content::LArMCParticleHelper::IsCosmicRay(), RejectBremsstrahlungHits(), and weight.
Referenced by SelectReconstructableLeadingParticles().
|
staticprivate |
Select all tier 0 and tier 1 MCParticles in cosmic ray hierarchies from an input list.
pMCParticle | the address of the input MCParticle list |
selectedParticles | the output vector of selected MCParticles |
Definition at line 345 of file LArMuonLeadingHelper.cc.
References lar_content::LArMCParticleHelper::GetParentMCParticle(), lar_content::LArMCParticleHelper::IsCosmicRay(), IsMuonLeading(), and lar_content::LArMCParticleHelper::SortByMomentum().
Referenced by SelectReconstructableLeadingParticles().
|
static |
Select target, reconstructable mc particles in the cosmic ray hierarchy.
pMCParticleList | the address of the list of MCParticles |
pCaloHitList | the address of the list of CaloHits |
parameters | validation parameters to decide when an MCParticle is considered reconstructable |
recoMuonHitList | the list of reconstructed cosmic ray hits |
selectedMCParticlesToHitsMap | the output mapping from selected MCParticles to their hits |
Definition at line 122 of file LArMuonLeadingHelper.cc.
References AddInPostBremsstrahlungHits(), lar_content::LArMCParticleHelper::GetMCParticleToCaloHitMatches(), GetMCToLeadingMap(), lar_content::LArMuonLeadingHelper::ValidationParameters::m_maxBremsstrahlungSeparation, lar_content::LArMCParticleHelper::PrimaryParameters::m_minHitSharingFraction, lar_content::LArMCParticleHelper::PrimaryParameters::m_selectInputHits, SelectCaloHits(), SelectLeadingMCParticles(), and lar_content::LArMCParticleHelper::SelectParticlesByHitCount().
Referenced by lar_content::MuonLeadingEventValidationAlgorithm::PerformUnfoldedMatching().