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

CheatingNeutrinoCreationAlgorithm::Algorithm class. More...

#include "CheatingNeutrinoCreationAlgorithm.h"

Inheritance diagram for lar_content::CheatingNeutrinoCreationAlgorithm:
Collaboration diagram for lar_content::CheatingNeutrinoCreationAlgorithm:

Public Member Functions

 CheatingNeutrinoCreationAlgorithm ()
 Default constructor.
 
const std::string & GetType () const
 Get the type.
 
const std::string & GetInstanceName () const
 Get the instance name.
 
const PandoraGetPandora () const
 Get the associated pandora instance.
 

Protected Member Functions

virtual StatusCode Initialize ()
 Perform any operations that must occur after reading settings, but before running the process.
 
virtual StatusCode Reset ()
 Perform any operations when pandora is reset, typically at the end of each event.
 
StatusCode RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName)
 Register i) the pandora instance that will run the process and ii) the process type.
 

Protected Attributes

const Pandoram_pPandora
 The pandora object that will run the process.
 
std::string m_type
 The process type.
 
std::string m_instanceName
 The process instance name.
 

Private Types

typedef std::unordered_map< const pandora::MCParticle *, const pandora::ParticleFlowObject * > MCParticleToPfoMap
 

Private Member Functions

pandora::StatusCode Run ()
 Run the algorithm.
 
void GetMCNeutrinoVector (pandora::MCParticleVector &mcNeutrinoVector) const
 Get the mc neutrino vector.
 
void CreateAndSaveNeutrinoPfo (const pandora::MCParticle *const pMCNeutrino, const pandora::ParticleFlowObject *&pNeutrinoPfo) const
 Create and save a neutrino pfo with properties dictated by the mc neutrino.
 
void AddNeutrinoVertex (const pandora::MCParticle *const pMCNeutrino, const pandora::ParticleFlowObject *const pNeutrinoPfo) const
 Extract reconstructed vertex from external list, check its position agrees with mc neutrino, and add to pfo.
 
void GetMCParticleToDaughterPfoMap (MCParticleToPfoMap &mcParticleToPfoMap) const
 Extract candidate daughter pfos from external lists and populate a map from main mc particle (or primary) to pfo.
 
void CreatePfoHierarchy (const pandora::MCParticle *const pParentMCParticle, const pandora::ParticleFlowObject *const pParentPfo, const MCParticleToPfoMap &mcParticleToPfoMap) const
 Use information from mc particles and the mc particle to pfo map to fully-reconstruct the daughter pfo hierarchy.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

bool m_collapseToPrimaryMCParticles
 Whether to collapse mc particle hierarchies to primary particles.
 
std::string m_mcParticleListName
 The name of the three d mc particle list name.
 
std::string m_neutrinoPfoListName
 The name of the neutrino pfo list.
 
std::string m_vertexListName
 The name of the neutrino vertex list.
 
pandora::StringVector m_daughterPfoListNames
 The list of daughter pfo list names.
 
float m_vertexTolerance
 Tolerance, 3d displacement, allowed between reco neutrino vertex and mc neutrino endpoint.
 

Detailed Description

CheatingNeutrinoCreationAlgorithm::Algorithm class.

Definition at line 23 of file CheatingNeutrinoCreationAlgorithm.h.

Member Typedef Documentation

◆ MCParticleToPfoMap

Constructor & Destructor Documentation

◆ CheatingNeutrinoCreationAlgorithm()

lar_content::CheatingNeutrinoCreationAlgorithm::CheatingNeutrinoCreationAlgorithm ( )

Default constructor.

Definition at line 21 of file CheatingNeutrinoCreationAlgorithm.cc.

Member Function Documentation

◆ AddNeutrinoVertex()

void lar_content::CheatingNeutrinoCreationAlgorithm::AddNeutrinoVertex ( const pandora::MCParticle *const  pMCNeutrino,
const pandora::ParticleFlowObject *const  pNeutrinoPfo 
) const
private

Extract reconstructed vertex from external list, check its position agrees with mc neutrino, and add to pfo.

Parameters
pMCNeutrinothe address of the mc neutrino
pNeutrinoPfothe address of the neutrino pfo

Definition at line 94 of file CheatingNeutrinoCreationAlgorithm.cc.

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

◆ CreateAndSaveNeutrinoPfo()

void lar_content::CheatingNeutrinoCreationAlgorithm::CreateAndSaveNeutrinoPfo ( const pandora::MCParticle *const  pMCNeutrino,
const pandora::ParticleFlowObject *&  pNeutrinoPfo 
) const
private

Create and save a neutrino pfo with properties dictated by the mc neutrino.

Parameters
pMCNeutrinothe address of the mc neutrino
pNeutrinoPfoto receive the address of the neutrino pfo

Definition at line 69 of file CheatingNeutrinoCreationAlgorithm.cc.

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

◆ CreatePfoHierarchy()

void lar_content::CheatingNeutrinoCreationAlgorithm::CreatePfoHierarchy ( const pandora::MCParticle *const  pParentMCParticle,
const pandora::ParticleFlowObject *const  pParentPfo,
const MCParticleToPfoMap mcParticleToPfoMap 
) const
private

Use information from mc particles and the mc particle to pfo map to fully-reconstruct the daughter pfo hierarchy.

Parameters
pParentMCParticlethe address of the (current) parent mc particle
pParentPfothe address of the (current) parent pfo
mcParticleToPfoMapthe mc particle to pfo map

Definition at line 168 of file CheatingNeutrinoCreationAlgorithm.cc.

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

◆ GetInstanceName()

const std::string & pandora::Process::GetInstanceName ( ) const
inlineinherited

Get the instance name.

Returns
The instance name

Definition at line 109 of file Process.h.

◆ GetMCNeutrinoVector()

void lar_content::CheatingNeutrinoCreationAlgorithm::GetMCNeutrinoVector ( pandora::MCParticleVector mcNeutrinoVector) const
private

Get the mc neutrino vector.

Parameters
mcNeutrinoVectorto receive the mc neutrino vector

Definition at line 52 of file CheatingNeutrinoCreationAlgorithm.cc.

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

◆ GetMCParticleToDaughterPfoMap()

void lar_content::CheatingNeutrinoCreationAlgorithm::GetMCParticleToDaughterPfoMap ( MCParticleToPfoMap mcParticleToPfoMap) const
private

Extract candidate daughter pfos from external lists and populate a map from main mc particle (or primary) to pfo.

Parameters
mcParticleToPfoMapto receive the mc particle to pfo map

Definition at line 122 of file CheatingNeutrinoCreationAlgorithm.cc.

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

◆ GetPandora()

const Pandora & pandora::Process::GetPandora ( ) const
inlineinherited

Get the associated pandora instance.

Returns
the associated pandora instance

Definition at line 116 of file Process.h.

◆ GetType()

const std::string & pandora::Process::GetType ( ) const
inlineinherited

Get the type.

Returns
The type

Definition at line 102 of file Process.h.

◆ Initialize()

StatusCode pandora::Process::Initialize ( )
inlineprotectedvirtualinherited

Perform any operations that must occur after reading settings, but before running the process.

Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.

Definition at line 126 of file Process.h.

Here is the caller graph for this function:

◆ ReadSettings()

StatusCode lar_content::CheatingNeutrinoCreationAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 189 of file CheatingNeutrinoCreationAlgorithm.cc.

Here is the call graph for this function:

◆ RegisterDetails()

StatusCode pandora::Process::RegisterDetails ( const Pandora *const  pPandora,
const std::string &  type,
const std::string &  instanceName 
)
inlineprotectedinherited

Register i) the pandora instance that will run the process and ii) the process type.

Parameters
pPandoraaddress of the pandora object that will run the process
typethe process type
instanceNamethe process instance name

Definition at line 146 of file Process.h.

Here is the caller graph for this function:

◆ Reset()

StatusCode pandora::Process::Reset ( )
inlineprotectedvirtualinherited

Perform any operations when pandora is reset, typically at the end of each event.

Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.

Definition at line 133 of file Process.h.

Here is the caller graph for this function:

◆ Run()

StatusCode lar_content::CheatingNeutrinoCreationAlgorithm::Run ( )
privatevirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 27 of file CheatingNeutrinoCreationAlgorithm.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_collapseToPrimaryMCParticles

bool lar_content::CheatingNeutrinoCreationAlgorithm::m_collapseToPrimaryMCParticles
private

Whether to collapse mc particle hierarchies to primary particles.

Definition at line 78 of file CheatingNeutrinoCreationAlgorithm.h.

◆ m_daughterPfoListNames

pandora::StringVector lar_content::CheatingNeutrinoCreationAlgorithm::m_daughterPfoListNames
private

The list of daughter pfo list names.

Definition at line 84 of file CheatingNeutrinoCreationAlgorithm.h.

◆ m_instanceName

std::string pandora::Process::m_instanceName
protectedinherited

The process instance name.

Definition at line 89 of file Process.h.

◆ m_mcParticleListName

std::string lar_content::CheatingNeutrinoCreationAlgorithm::m_mcParticleListName
private

The name of the three d mc particle list name.

Definition at line 80 of file CheatingNeutrinoCreationAlgorithm.h.

◆ m_neutrinoPfoListName

std::string lar_content::CheatingNeutrinoCreationAlgorithm::m_neutrinoPfoListName
private

The name of the neutrino pfo list.

Definition at line 81 of file CheatingNeutrinoCreationAlgorithm.h.

◆ m_pPandora

const Pandora* pandora::Process::m_pPandora
protectedinherited

The pandora object that will run the process.

Definition at line 87 of file Process.h.

◆ m_type

std::string pandora::Process::m_type
protectedinherited

The process type.

Definition at line 88 of file Process.h.

◆ m_vertexListName

std::string lar_content::CheatingNeutrinoCreationAlgorithm::m_vertexListName
private

The name of the neutrino vertex list.

Definition at line 83 of file CheatingNeutrinoCreationAlgorithm.h.

◆ m_vertexTolerance

float lar_content::CheatingNeutrinoCreationAlgorithm::m_vertexTolerance
private

Tolerance, 3d displacement, allowed between reco neutrino vertex and mc neutrino endpoint.

Definition at line 86 of file CheatingNeutrinoCreationAlgorithm.h.


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