Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::LArMuonLeadingHelper Class Reference

LArMuonLeadingHelper class. More...

#include "LArMuonLeadingHelper.h"

Classes

class  ValidationParameters
 ValidationParameters class. More...
 

Public Types

typedef std::map< const pandora::MCParticle *, pandora::CaloHitListLeadingMCParticleToPostBremsstrahlungHitList
 

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.
 
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.
 
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.
 
static bool IsMuonLeading (const pandora::MCParticle *const pMCParticle)
 Return true if input MCParticle is in tier 1 of the cosmic ray hierarchy.
 
static const pandora::MCParticleGetLeadingParticle (const pandora::MCParticle *const pMCParticle)
 Return leading particle in the delta ray/michel hierarchy i.e. tier below cosmic ray.
 
static void SelectReconstructableLeadingParticles (const pandora::MCParticleList *pMCParticleList, const pandora::CaloHitList *pCaloHitList, const ValidationParameters &parameters, const pandora::CaloHitList &recoMuonHitList, LArMCParticleHelper::MCContributionMap &selectedMCParticlesToHitsMap)
 Select target, reconstructable mc particles in the cosmic ray hierarchy.
 
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.
 
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.
 
static float GetClosestDistance (const pandora::Cluster *const pCluster, const pandora::CartesianPointVector &cartesianPointVector)
 Get closest distance between a specified cluster and list of positions.
 
static float GetClosestDistance (const pandora::CaloHit *const pCaloHit, const pandora::CartesianPointVector &cartesianPointVector)
 Get closest distance between a specified calo hit and list of positions.
 
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.
 
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.
 

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)
 
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.
 
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.
 
static void AddInPostBremsstrahlungHits (const LeadingMCParticleToPostBremsstrahlungHitList &leadingMCParticleToPostBremsstrahlungHitList, const float maxBremsstrahlungSeparation, LArMCParticleHelper::MCContributionMap &leadingMCToTrueHitListMap)
 Identify the reconstructable post-bremsstrahlung radiation hits.
 
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.
 
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.
 

Detailed Description

LArMuonLeadingHelper class.

Definition at line 20 of file LArMuonLeadingHelper.h.

Member Typedef Documentation

◆ LeadingMCParticleToPostBremsstrahlungHitList

Member Function Documentation

◆ AddInPostBremsstrahlungHits() [1/2]

void lar_content::LArMuonLeadingHelper::AddInPostBremsstrahlungHits ( const LeadingMCParticleToPostBremsstrahlungHitList leadingMCParticleToPostBremsstrahlungHitList,
const float  maxBremsstrahlungSeparation,
LArMCParticleHelper::MCContributionMap leadingMCToTrueHitListMap 
)
staticprivate

Identify the reconstructable post-bremsstrahlung radiation hits.

Parameters
leadingMCParticleToPostBremsstrahlungHitListthe mapping of leading MCParticles to post-bremsstrahlung hits
maxBremsstrahlungSeparationthe maximum separation of a reconstructable post-bremsstrahlung hit from the pre-radiation hits
leadingMCToTrueHitListMapthe mapping of cosmic ray and leading MCParticles to their reconstructable hits

Definition at line 265 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddInPostBremsstrahlungHits() [2/2]

void lar_content::LArMuonLeadingHelper::AddInPostBremsstrahlungHits ( const pandora::MCParticle *const  pLeadingParticle,
const LeadingMCParticleToPostBremsstrahlungHitList leadingMCParticleToPostBremsstrahlungHitList,
const float  maxBremsstrahlungSeparation,
LArMCParticleHelper::MCContributionMap leadingMCToTrueHitListMap,
const pandora::HitType  tpcView 
)
staticprivate

Identify the reconstructable post-bremsstrahlung radiation hits.

Parameters
pLeadingParticlethe address of the input leading MCParticle
leadingMCParticleToPostBremsstrahlungHitListthe mapping of leading MCParticles to post-bremsstrahlung hits
maxBremsstrahlungSeparationthe maximum separation of a reconstructable post-bremsstrahlung hit from the pre-radiation hits
leadingMCToTrueHitListMapthe mapping of cosmic ray and leading MCParticles to their reconstructable hits
tpcViewthe TPC view of the hits to be collected

Definition at line 289 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:

◆ GetClosestDistance() [1/2]

float lar_content::LArMuonLeadingHelper::GetClosestDistance ( const pandora::CaloHit *const  pCaloHit,
const pandora::CartesianPointVector cartesianPointVector 
)
static

Get closest distance between a specified calo hit and list of positions.

Parameters
pCaloHitthe address of the input calo hit
cartesianPointVectorthe list of input positions
Returns
the closest distance

Definition at line 427 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:

◆ GetClosestDistance() [2/2]

float lar_content::LArMuonLeadingHelper::GetClosestDistance ( const pandora::Cluster *const  pCluster,
const pandora::CartesianPointVector cartesianPointVector 
)
static

Get closest distance between a specified cluster and list of positions.

Parameters
pClusteraddress of the input cluster
cartesianPointVectorthe list of input positions
Returns
the closest distance

Definition at line 407 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetClosestPosition()

StatusCode lar_content::LArMuonLeadingHelper::GetClosestPosition ( const pandora::CartesianVector referencePoint,
const pandora::CartesianPointVector cartesianPointVector,
const pandora::Cluster *const  pCluster,
const float  maxDistanceToCluster,
const float  maxDistanceToReferencePoint,
pandora::CartesianVector closestPosition 
)
static

Get the closest position from an input list of projected positions that lies close to both a reference point and an input cluster.

Parameters
referencePointthe input reference point
cartesianPointVectorthe input list of projected positions
pClusterthe input cluster
maxDistanceToClusterthe maximum distance to the cluster
maxDistanceToReferencePointthe maximum distance to the reference point
closestPositionto receive the closest position if found
Returns
whether a closest position could be found

Definition at line 445 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetClosestPositions()

void lar_content::LArMuonLeadingHelper::GetClosestPositions ( const pandora::CartesianPointVector cartesianPointVector1,
const pandora::Cluster *const  pCluster2,
pandora::CartesianVector outputPosition1,
pandora::CartesianVector outputPosition2 
)
static

Get the closest positions between a list of positions and a cluster.

Parameters
cartesianPointVector1the input list of positions
pCluster2the address of the input cluster
outputPosition1the closest position in the list of positions
outputPosition2the closest position in the cluster

Definition at line 474 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLeadingParticle()

const MCParticle * lar_content::LArMuonLeadingHelper::GetLeadingParticle ( const pandora::MCParticle *const  pMCParticle)
static

Return leading particle in the delta ray/michel hierarchy i.e. tier below cosmic ray.

Parameters
pMCParticlethe input MCParticle

Definition at line 73 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLeadingProcess()

MCProcess lar_content::LArMuonLeadingHelper::GetLeadingProcess ( const pandora::MCParticle *const  pMCParticle)
static

Return the MCProcess of the leading particle (tier 1) in the delta ray/michel hierarchy.

Parameters
pMCParticlethe address of the input MCParticle
Returns
the MCProcess of the leading particle (tier 1) in the delta ray/michel hierarchy

Definition at line 34 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMCToLeadingMap()

void lar_content::LArMuonLeadingHelper::GetMCToLeadingMap ( const pandora::MCParticleList *const  pMCParticleList,
LArMCParticleHelper::MCRelationMap mcToLeadingMap 
)
staticprivate

Construct the hierarchy folding map (cosmic rays folded to themselves, delta ray/michel hierarchy folded to leading particle)

Parameters
pMCParticleListthe address of the list of MCParticles
mcToLeadingMapthe hierarchy folding map

Definition at line 98 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMuonPfoContaminationContribution()

void lar_content::LArMuonLeadingHelper::GetMuonPfoContaminationContribution ( const pandora::CaloHitList cosmicRayPfoHitList,
const pandora::CaloHitList leadingMCHitList,
pandora::CaloHitList leadingHitsInParentCosmicRay 
)
static

Determine the leading MCParticle hits within a cosmic ray pfo hit list.

Parameters
cosmicRayPfoHitListthe cosmic ray pfo hit list
leadingMCHitListthe list of hits that belong to the leading MCParticle
leadingHitsInParentCosmicRaythe output list of 'stolen' leading MCParticle hits

Definition at line 395 of file LArMuonLeadingHelper.cc.

Here is the caller graph for this function:

◆ GetPfoMatchContamination()

void lar_content::LArMuonLeadingHelper::GetPfoMatchContamination ( const pandora::MCParticle *const  pLeadingParticle,
const pandora::CaloHitList matchedPfoHitList,
pandora::CaloHitList parentTrackHits,
pandora::CaloHitList otherTrackHits,
pandora::CaloHitList otherShowerHits 
)
static

Separate a leading pfo hit list according to the true owner of the hit e.g. other shower.

Parameters
pLeadingParticlethe address of the input leading MCParticle
matchedPfoHitListthe input leading pfo hit list
parentTrackHitsthe output list of hits that belong to the parent cosmic ray
otherTrackHitsthe output list of hits that belong to a cosmic ray that is not the parent
otherShowerHitsthe output list of hits that belong to a different shower hierarchy

Definition at line 370 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsDeltaRay()

bool lar_content::LArMuonLeadingHelper::IsDeltaRay ( const pandora::MCParticle *const  pMCParticle)
static

Return true if input MCParticle is a child of a cosmic ray and has 'delta ray' process tag.

Parameters
pMCParticlethe input MCParticle

Definition at line 50 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMichel()

bool lar_content::LArMuonLeadingHelper::IsMichel ( const pandora::MCParticle *const  pMCParticle)
static

Return true if input MCParticle is a child of a cosmic ray and has 'decay' process tag.

Parameters
pMCParticlethe input MCParticle

Definition at line 57 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMuonLeading()

bool lar_content::LArMuonLeadingHelper::IsMuonLeading ( const pandora::MCParticle *const  pMCParticle)
static

Return true if input MCParticle is in tier 1 of the cosmic ray hierarchy.

Parameters
pMCParticlethe input MCParticle

Definition at line 64 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RejectBremsstrahlungHits()

bool lar_content::LArMuonLeadingHelper::RejectBremsstrahlungHits ( const pandora::CaloHit *const  pCaloHit,
LeadingMCParticleToPostBremsstrahlungHitList leadingMCParticleToPostBremsstrahlungHitList 
)
staticprivate

Identify and record the hits that are post-bremsstralung radiation in a cosmic ray hierarchy.

Parameters
pCaloHitthe address of the input calo hit
leadingMCParticleToPostBremsstrahlungHitListthe mapping of leading MCParticles to post-bremsstrahlung hits
Returns
whether the hit lies post-bremsstrahlung radiation in a cosmic ray hierarchy

Definition at line 231 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectCaloHits()

void lar_content::LArMuonLeadingHelper::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 
)
staticprivate

Select a subset of calo hits representing those that represent "reconstructable" regions of the event.

Parameters
pCaloHitListthe address of the input calo hit list
mcToTargetMCMapthe MCParticle to leading MCParticle map
selectedCaloHitListto receive the populated selected calo hit list
selectInputHitswhether to select input hits
minHitSharingFractionthe minimum required charge share of the hit
recoMuonHitListthe list of reconstructed cosmic ray hits
leadingMCParticleToPostBremsstrahlungHitListthe mapping of leading MCParticles to post-bremsstrahlung hits

Definition at line 154 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectLeadingMCParticles()

void lar_content::LArMuonLeadingHelper::SelectLeadingMCParticles ( const pandora::MCParticleList pMCParticleList,
pandora::MCParticleVector selectedParticles 
)
staticprivate

Select all tier 0 and tier 1 MCParticles in cosmic ray hierarchies from an input list.

Parameters
pMCParticlethe address of the input MCParticle list
selectedParticlesthe output vector of selected MCParticles

Definition at line 345 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectReconstructableLeadingParticles()

void lar_content::LArMuonLeadingHelper::SelectReconstructableLeadingParticles ( const pandora::MCParticleList pMCParticleList,
const pandora::CaloHitList pCaloHitList,
const ValidationParameters parameters,
const pandora::CaloHitList recoMuonHitList,
LArMCParticleHelper::MCContributionMap selectedMCParticlesToHitsMap 
)
static

Select target, reconstructable mc particles in the cosmic ray hierarchy.

Parameters
pMCParticleListthe address of the list of MCParticles
pCaloHitListthe address of the list of CaloHits
parametersvalidation parameters to decide when an MCParticle is considered reconstructable
recoMuonHitListthe list of reconstructed cosmic ray hits
selectedMCParticlesToHitsMapthe output mapping from selected MCParticles to their hits

Definition at line 122 of file LArMuonLeadingHelper.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: