LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
CheatingNeutrinoCreationAlgorithm::Algorithm class. More...
#include "CheatingNeutrinoCreationAlgorithm.h"
Public Member Functions | |
CheatingNeutrinoCreationAlgorithm () | |
Default constructor. More... | |
Private Types | |
typedef std::unordered_map< const pandora::MCParticle *, const pandora::ParticleFlowObject * > | MCParticleToPfoMap |
Private Member Functions | |
pandora::StatusCode | Run () |
void | GetMCNeutrinoVector (pandora::MCParticleVector &mcNeutrinoVector) const |
Get the mc neutrino vector. More... | |
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. More... | |
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. More... | |
void | GetMCParticleToDaughterPfoMap (MCParticleToPfoMap &mcParticleToPfoMap) const |
Extract candidate daughter pfos from external lists and populate a map from main mc particle (or primary) to pfo. More... | |
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. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
bool | m_collapseToPrimaryMCParticles |
Whether to collapse mc particle hierarchies to primary particles. More... | |
std::string | m_mcParticleListName |
The name of the three d mc particle list name. More... | |
std::string | m_neutrinoPfoListName |
The name of the neutrino pfo list. More... | |
std::string | m_vertexListName |
The name of the neutrino vertex list. More... | |
pandora::StringVector | m_daughterPfoListNames |
The list of daughter pfo list names. More... | |
float | m_vertexTolerance |
Tolerance, 3d displacement, allowed between reco neutrino vertex and mc neutrino endpoint. More... | |
CheatingNeutrinoCreationAlgorithm::Algorithm class.
Definition at line 23 of file CheatingNeutrinoCreationAlgorithm.h.
|
private |
Definition at line 57 of file CheatingNeutrinoCreationAlgorithm.h.
lar_content::CheatingNeutrinoCreationAlgorithm::CheatingNeutrinoCreationAlgorithm | ( | ) |
Default constructor.
Definition at line 21 of file CheatingNeutrinoCreationAlgorithm.cc.
|
private |
Extract reconstructed vertex from external list, check its position agrees with mc neutrino, and add to pfo.
pMCNeutrino | the address of the mc neutrino |
pNeutrinoPfo | the address of the neutrino pfo |
Definition at line 96 of file CheatingNeutrinoCreationAlgorithm.cc.
References m_vertexTolerance.
Referenced by Run().
|
private |
Create and save a neutrino pfo with properties dictated by the mc neutrino.
pMCNeutrino | the address of the mc neutrino |
pNeutrinoPfo | to receive the address of the neutrino pfo |
Definition at line 71 of file CheatingNeutrinoCreationAlgorithm.cc.
References m_neutrinoPfoListName.
Referenced by Run().
|
private |
Use information from mc particles and the mc particle to pfo map to fully-reconstruct the daughter pfo hierarchy.
pParentMCParticle | the address of the (current) parent mc particle |
pParentPfo | the address of the (current) parent pfo |
mcParticleToPfoMap | the mc particle to pfo map |
Definition at line 170 of file CheatingNeutrinoCreationAlgorithm.cc.
Referenced by Run().
|
private |
Get the mc neutrino vector.
mcNeutrinoVector | to receive the mc neutrino vector |
Definition at line 54 of file CheatingNeutrinoCreationAlgorithm.cc.
References lar_content::LArMCParticleHelper::GetTrueNeutrinos(), lar_content::LArMCParticleHelper::IsNeutrino(), and m_mcParticleListName.
Referenced by Run().
|
private |
Extract candidate daughter pfos from external lists and populate a map from main mc particle (or primary) to pfo.
mcParticleToPfoMap | to receive the mc particle to pfo map |
Definition at line 124 of file CheatingNeutrinoCreationAlgorithm.cc.
References lar_content::LArMCParticleHelper::GetMainMCParticle(), lar_content::LArMCParticleHelper::GetMCPrimaryMap(), m_collapseToPrimaryMCParticles, m_daughterPfoListNames, and m_mcParticleListName.
Referenced by Run().
|
private |
Definition at line 191 of file CheatingNeutrinoCreationAlgorithm.cc.
References m_collapseToPrimaryMCParticles, m_daughterPfoListNames, m_mcParticleListName, m_neutrinoPfoListName, m_vertexListName, and m_vertexTolerance.
|
private |
Definition at line 29 of file CheatingNeutrinoCreationAlgorithm.cc.
References AddNeutrinoVertex(), CreateAndSaveNeutrinoPfo(), CreatePfoHierarchy(), GetMCNeutrinoVector(), and GetMCParticleToDaughterPfoMap().
|
private |
Whether to collapse mc particle hierarchies to primary particles.
Definition at line 78 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by GetMCParticleToDaughterPfoMap(), and ReadSettings().
|
private |
The list of daughter pfo list names.
Definition at line 84 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by GetMCParticleToDaughterPfoMap(), and ReadSettings().
|
private |
The name of the three d mc particle list name.
Definition at line 80 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by GetMCNeutrinoVector(), GetMCParticleToDaughterPfoMap(), and ReadSettings().
|
private |
The name of the neutrino pfo list.
Definition at line 81 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by CreateAndSaveNeutrinoPfo(), and ReadSettings().
|
private |
The name of the neutrino vertex list.
Definition at line 83 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by ReadSettings().
|
private |
Tolerance, 3d displacement, allowed between reco neutrino vertex and mc neutrino endpoint.
Definition at line 86 of file CheatingNeutrinoCreationAlgorithm.h.
Referenced by AddNeutrinoVertex(), and ReadSettings().