LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
LArPandora class. More...
#include "LArPandora.h"
Public Types | |
using | ModuleType = EDProducer |
using | WorkerType = WorkerT< EDProducer > |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = ProducerBase::Table< UserConfig, KeysToIgnore > |
Public Member Functions | |
LArPandora (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
void | beginJob () |
void | produce (art::Event &evt) |
template<typename PROD , BranchType B = InEvent> | |
ProductID | getProductID (std::string const &instanceName={}) const |
template<typename PROD , BranchType B> | |
ProductID | getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const |
bool | modifiesEvent () const |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | consumes (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | consumesView (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | mayConsume (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | mayConsumeView (InputTag const &it) |
base_engine_t & | createEngine (seed_t seed) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label) |
seed_t | get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1) |
Static Public Member Functions | |
static cet::exempt_ptr< Consumer > | non_module_context () |
Protected Member Functions | |
virtual void | CreatePandoraInstances ()=0 |
Create pandora instances. More... | |
virtual void | ConfigurePandoraInstances ()=0 |
Configure pandora instances. More... | |
virtual void | DeletePandoraInstances ()=0 |
Delete pandora instances. More... | |
virtual void | RunPandoraInstances ()=0 |
Run all associated pandora instances. More... | |
virtual void | ResetPandoraInstances ()=0 |
Reset all associated pandora instances. More... | |
CurrentProcessingContext const * | currentContext () const |
void | validateConsumedProduct (BranchType const bt, ProductInfo const &pi) |
void | prepareForJob (fhicl::ParameterSet const &pset) |
void | showMissingConsumes () const |
Protected Attributes | |
std::string | m_configFile |
The config file. More... | |
bool | m_shouldRunAllHitsCosmicReco |
Steering: whether to run all hits cosmic-ray reconstruction. More... | |
bool | m_shouldRunStitching |
Steering: whether to stitch cosmic-ray muons crossing between volumes. More... | |
bool | m_shouldRunCosmicHitRemoval |
Steering: whether to remove hits from tagged cosmic-rays. More... | |
bool | m_shouldRunSlicing |
Steering: whether to slice events into separate regions for processing. More... | |
bool | m_shouldRunNeutrinoRecoOption |
Steering: whether to run neutrino reconstruction for each slice. More... | |
bool | m_shouldRunCosmicRecoOption |
Steering: whether to run cosmic-ray reconstruction for each slice. More... | |
bool | m_shouldPerformSliceId |
Steering: whether to identify slices and select most appropriate pfos. More... | |
bool | m_shouldProduceAllOutcomes |
Steering: whether to produce all reconstruction outcomes. More... | |
bool | m_printOverallRecoStatus |
Steering: whether to print current operation status messages. More... | |
const pandora::Pandora * | m_pPrimaryPandora |
The address of the primary pandora instance. More... | |
Private Member Functions | |
void | CreatePandoraInput (art::Event &evt, IdToHitMap &idToHitMap) |
Create pandora input hits, mc particles etc. More... | |
void | ProcessPandoraOutput (art::Event &evt, const IdToHitMap &idToHitMap) |
Process pandora output particle flow objects. More... | |
Private Attributes | |
std::string | m_generatorModuleLabel |
The generator module label. More... | |
std::string | m_geantModuleLabel |
The geant module label. More... | |
std::string | m_simChannelModuleLabel |
The SimChannel producer module label. More... | |
std::string | m_hitfinderModuleLabel |
The hit finder module label. More... | |
std::string | m_backtrackerModuleLabel |
The back tracker module label. More... | |
std::string | m_allOutcomesInstanceLabel |
The instance label for all outcomes. More... | |
bool | m_enableProduction |
Whether to persist output products. More... | |
bool | m_enableDetectorGaps |
Whether to pass detector gap information to Pandora instances. More... | |
bool | m_enableMCParticles |
Whether to pass mc information to Pandora instances to aid development. More... | |
bool | m_lineGapsCreated |
Book-keeping: whether line gap creation has been called. More... | |
LArPandoraInput::Settings | m_inputSettings |
The lar pandora input settings. More... | |
LArPandoraOutput::Settings | m_outputSettings |
The lar pandora output settings. More... | |
LArDriftVolumeMap | m_driftVolumeMap |
The map from volume id to drift volume. More... | |
LArPandora class.
Definition at line 25 of file LArPandora.h.
|
inherited |
Definition at line 34 of file EDProducer.h.
|
inherited |
Definition at line 43 of file EDProducer.h.
|
inherited |
Definition at line 35 of file EDProducer.h.
lar_pandora::LArPandora::LArPandora | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset | the parameter set |
Definition at line 45 of file LArPandora.cxx.
References fhicl::ParameterSet::get(), m_allOutcomesInstanceLabel, lar_pandora::LArPandoraInput::Settings::m_dEdX_mip, lar_pandora::LArPandoraInput::Settings::m_dx_cm, m_enableProduction, m_hitfinderModuleLabel, lar_pandora::LArPandoraOutput::Settings::m_hitfinderModuleLabel, m_inputSettings, lar_pandora::LArPandoraInput::Settings::m_int_cm, lar_pandora::LArPandoraOutput::Settings::m_isNeutrinoRecoOnlyNoSlicing, lar_pandora::LArPandoraInput::Settings::m_mips_if_negative, lar_pandora::LArPandoraInput::Settings::m_mips_max, lar_pandora::LArPandoraInput::Settings::m_mips_to_gev, m_outputSettings, lar_pandora::LArPandoraOutput::Settings::m_pProducer, lar_pandora::LArPandoraInput::Settings::m_rad_cm, lar_pandora::LArPandoraInput::Settings::m_recombination_factor, m_shouldProduceAllOutcomes, m_shouldRunCosmicRecoOption, m_shouldRunNeutrinoRecoOption, m_shouldRunSlicing, m_shouldRunStitching, lar_pandora::LArPandoraOutput::Settings::m_shouldRunStitching, lar_pandora::LArPandoraInput::Settings::m_uidOffset, lar_pandora::LArPandoraInput::Settings::m_useBirksCorrection, and lar_pandora::LArPandoraInput::Settings::m_useHitWidths.
|
virtual |
Reimplemented from art::EDProducer.
Definition at line 120 of file LArPandora.cxx.
References lar_pandora::ILArPandora::ConfigurePandoraInstances(), lar_pandora::LArPandoraInput::CreatePandoraDetectorGaps(), lar_pandora::ILArPandora::CreatePandoraInstances(), lar_pandora::LArPandoraInput::CreatePandoraLArTPCs(), lar_pandora::LArPandoraGeometry::LoadDetectorGaps(), lar_pandora::LArPandoraGeometry::LoadGeometry(), m_driftVolumeMap, m_enableDetectorGaps, m_inputSettings, m_outputSettings, lar_pandora::LArPandoraInput::Settings::m_pPrimaryPandora, lar_pandora::LArPandoraOutput::Settings::m_pPrimaryPandora, and lar_pandora::ILArPandora::m_pPrimaryPandora.
|
protectedpure virtualinherited |
|
inherited |
|
inherited |
Definition at line 147 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 162 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 172 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 26 of file EngineCreator.cc.
References art::EngineCreator::rng().
Referenced by evgen::CosmicsGen::CosmicsGen(), rndm::NuRandomService::createEngine(), cluster::fuzzyCluster::fuzzyCluster(), cluster::HoughLineFinder::HoughLineFinder(), art::MixFilter< T >::initEngine_(), larg4::LArG4::LArG4(), evgen::LightSource::LightSource(), evgen::NeutronOsc::NeutronOsc(), evgen::NucleonDecay::NucleonDecay(), opdet::OpMCDigi::OpMCDigi(), opdet::OptDetDigitizer::OptDetDigitizer(), phot::PhotonLibraryPropagation::PhotonLibraryPropagation(), detsim::SimDriftElectrons::SimDriftElectrons(), evgen::SingleGen::SingleGen(), evgen::SNNueAr40CCGen::SNNueAr40CCGen(), ToyOneShowerGen::ToyOneShowerGen(), and trkf::Track3DKalman::Track3DKalman().
|
inherited |
Definition at line 32 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
inherited |
Definition at line 40 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
privatevirtual |
Create pandora input hits, mc particles etc.
evt | the art event |
idToHitMap | to receive the populated pandora hit id to art hit map |
Implements lar_pandora::ILArPandora.
Definition at line 161 of file LArPandora.cxx.
References lar_pandora::LArPandoraHelper::BuildMCParticleHitMaps(), lar_pandora::LArPandoraHelper::CollectGeneratorMCParticles(), lar_pandora::LArPandoraHelper::CollectHits(), lar_pandora::LArPandoraHelper::CollectMCParticles(), lar_pandora::LArPandoraHelper::CollectSimChannels(), lar_pandora::LArPandoraInput::CreatePandoraHits2D(), lar_pandora::LArPandoraInput::CreatePandoraMCLinks2D(), lar_pandora::LArPandoraInput::CreatePandoraMCParticles(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), art::Event::isRealData(), m_backtrackerModuleLabel, m_driftVolumeMap, m_enableDetectorGaps, m_enableMCParticles, m_geantModuleLabel, m_generatorModuleLabel, m_hitfinderModuleLabel, m_inputSettings, m_lineGapsCreated, and m_simChannelModuleLabel.
Referenced by produce().
|
protectedpure virtualinherited |
|
protectedinherited |
|
protectedpure virtualinherited |
Delete pandora instances.
Implemented in lar_pandora::StandardPandora.
|
inherited |
Definition at line 49 of file EngineCreator.cc.
References fhicl::ParameterSet::get().
Referenced by art::MixFilter< T >::initEngine_().
|
inlineinherited |
|
inherited |
Definition at line 56 of file ProducerBase.h.
References B, and art::ModuleDescription::moduleLabel().
Referenced by art::ProducerBase::modifiesEvent().
|
inherited |
|
inherited |
Definition at line 190 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 205 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 215 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inlineinherited |
Definition at line 40 of file ProducerBase.h.
References art::ProducerBase::getProductID().
|
staticinherited |
Definition at line 76 of file Consumer.cc.
Referenced by art::RootOutput::beginSubRun(), art::OutputModule::doBeginRun(), art::OutputModule::doBeginSubRun(), art::OutputModule::doEndRun(), art::OutputModule::doEndSubRun(), art::ProducingService::doPostReadEvent(), art::ProducingService::doPostReadRun(), art::ProducingService::doPostReadSubRun(), art::OutputModule::doWriteEvent(), art::ProcessPackage< L >::postScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::Run >::End::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::End::postScheduleSignal(), art::ProcessPackage< L >::preScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::preScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::preScheduleSignal(), art::EventProcessor::readEvent(), art::EventProcessor::readRun(), art::EmptyEvent::readRun_(), art::EventProcessor::readSubRun(), and art::EmptyEvent::readSubRun_().
|
protectedinherited |
Definition at line 89 of file Consumer.cc.
References fhicl::ParameterSet::get_if_present().
Referenced by art::EDProducer::doBeginJob(), art::EDFilter::doBeginJob(), and art::EDAnalyzer::doBeginJob().
|
privatevirtual |
Process pandora output particle flow objects.
evt | the art event |
idToHitMap | the pandora hit id to art hit map |
Implements lar_pandora::ILArPandora.
Definition at line 217 of file LArPandora.cxx.
References m_allOutcomesInstanceLabel, lar_pandora::LArPandoraOutput::Settings::m_allOutcomesInstanceLabel, m_enableProduction, m_outputSettings, m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceAllOutcomes, and lar_pandora::LArPandoraOutput::ProduceArtOutput().
Referenced by produce().
|
virtual |
Implements art::EDProducer.
Definition at line 150 of file LArPandora.cxx.
References CreatePandoraInput(), ProcessPandoraOutput(), lar_pandora::ILArPandora::ResetPandoraInstances(), and lar_pandora::ILArPandora::RunPandoraInstances().
|
protectedpure virtualinherited |
Reset all associated pandora instances.
Implemented in lar_pandora::StandardPandora.
Referenced by produce().
|
protectedpure virtualinherited |
Run all associated pandora instances.
Implemented in lar_pandora::StandardPandora.
Referenced by produce().
|
protectedinherited |
Definition at line 125 of file Consumer.cc.
Referenced by art::EDProducer::doEndJob(), art::EDFilter::doEndJob(), art::EDAnalyzer::doEndJob(), and art::RootOutput::endJob().
|
protectedinherited |
Definition at line 101 of file Consumer.cc.
References art::errors::ProductRegistrationFailure.
|
private |
The instance label for all outcomes.
Definition at line 61 of file LArPandora.h.
Referenced by LArPandora(), and ProcessPandoraOutput().
|
private |
The back tracker module label.
Definition at line 59 of file LArPandora.h.
Referenced by CreatePandoraInput().
|
protected |
The config file.
Definition at line 39 of file LArPandora.h.
Referenced by lar_pandora::StandardPandora::ConfigurePandoraInstances().
|
private |
The map from volume id to drift volume.
Definition at line 71 of file LArPandora.h.
Referenced by beginJob(), and CreatePandoraInput().
|
private |
Whether to pass detector gap information to Pandora instances.
Definition at line 64 of file LArPandora.h.
Referenced by beginJob(), and CreatePandoraInput().
|
private |
Whether to pass mc information to Pandora instances to aid development.
Definition at line 65 of file LArPandora.h.
Referenced by CreatePandoraInput().
|
private |
Whether to persist output products.
Definition at line 63 of file LArPandora.h.
Referenced by LArPandora(), and ProcessPandoraOutput().
|
private |
The geant module label.
Definition at line 56 of file LArPandora.h.
Referenced by CreatePandoraInput().
|
private |
The generator module label.
Definition at line 55 of file LArPandora.h.
Referenced by CreatePandoraInput().
|
private |
The hit finder module label.
Definition at line 58 of file LArPandora.h.
Referenced by CreatePandoraInput(), and LArPandora().
|
private |
The lar pandora input settings.
Definition at line 68 of file LArPandora.h.
Referenced by beginJob(), CreatePandoraInput(), and LArPandora().
|
private |
Book-keeping: whether line gap creation has been called.
Definition at line 66 of file LArPandora.h.
Referenced by CreatePandoraInput().
|
private |
The lar pandora output settings.
Definition at line 69 of file LArPandora.h.
Referenced by beginJob(), LArPandora(), and ProcessPandoraOutput().
|
protectedinherited |
The address of the primary pandora instance.
Definition at line 82 of file ILArPandora.h.
Referenced by beginJob(), lar_pandora::StandardPandora::ConfigurePandoraInstances(), lar_pandora::StandardPandora::CreatePandoraInstances(), lar_pandora::StandardPandora::DeletePandoraInstances(), lar_pandora::StandardPandora::ResetPandoraInstances(), and lar_pandora::StandardPandora::RunPandoraInstances().
|
protected |
Steering: whether to print current operation status messages.
Definition at line 49 of file LArPandora.h.
Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to identify slices and select most appropriate pfos.
Definition at line 47 of file LArPandora.h.
Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to produce all reconstruction outcomes.
Definition at line 48 of file LArPandora.h.
Referenced by LArPandora(), and ProcessPandoraOutput().
|
protected |
Steering: whether to run all hits cosmic-ray reconstruction.
Definition at line 41 of file LArPandora.h.
Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to remove hits from tagged cosmic-rays.
Definition at line 43 of file LArPandora.h.
Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to run cosmic-ray reconstruction for each slice.
Definition at line 46 of file LArPandora.h.
Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to run neutrino reconstruction for each slice.
Definition at line 45 of file LArPandora.h.
Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to slice events into separate regions for processing.
Definition at line 44 of file LArPandora.h.
Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
protected |
Steering: whether to stitch cosmic-ray muons crossing between volumes.
Definition at line 42 of file LArPandora.h.
Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().
|
private |
The SimChannel producer module label.
Definition at line 57 of file LArPandora.h.
Referenced by CreatePandoraInput().