LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
StandardPandora class. More...
Public Types | |
using | ModuleType = EDProducer |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = Modifier::Table< UserConfig, KeysToIgnore > |
Public Member Functions | |
StandardPandora (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
~StandardPandora () | |
Destructor. More... | |
void | beginJob () |
void | produce (art::Event &evt) |
void | doBeginJob (SharedResources const &resources) |
void | doEndJob () |
void | doRespondToOpenInputFile (FileBlock const &fb) |
void | doRespondToCloseInputFile (FileBlock const &fb) |
void | doRespondToOpenOutputFiles (FileBlock const &fb) |
void | doRespondToCloseOutputFiles (FileBlock const &fb) |
bool | doBeginRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doEndRun (RunPrincipal &rp, ModuleContext const &mc) |
bool | doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc) |
bool | doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed) |
void | fillProductDescriptions () |
void | registerProducts (ProductDescriptions &productsToRegister) |
ModuleDescription const & | moduleDescription () const |
void | setModuleDescription (ModuleDescription const &) |
std::array< std::vector< ProductInfo >, NumBranchTypes > const & | getConsumables () const |
void | sortConsumables (std::string const ¤t_process_name) |
std::unique_ptr< Worker > | makeWorker (WorkerParams const &wp) |
template<typename T , BranchType BT> | |
ViewToken< T > | consumesView (InputTag const &tag) |
template<typename T , BranchType BT> | |
ViewToken< T > | mayConsumeView (InputTag const &tag) |
Protected 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... | |
fhicl::ParameterSet | ConstructHitCollectionToolParameterSet (const fhicl::ParameterSet &pset) |
ConsumesCollector & | consumesCollector () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
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... | |
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_disableRealDataCheck |
Whether to check if the input file contains real data before accessing MC information. More... | |
bool | m_lineGapsCreated |
Book-keeping: whether line gap creation has been called. More... | |
std::unique_ptr< IHitCollectionTool > | m_collectHitsTool |
art tool used to collect the hits 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... | |
const pandora::Pandora * | m_pPrimaryPandora |
The address of the primary pandora instance. More... | |
Private Member Functions | |
void | CreatePandoraInstances () |
Create pandora instances. More... | |
void | ConfigurePandoraInstances () |
Configure pandora instances. More... | |
void | RunPandoraInstances () |
Run all associated pandora instances. More... | |
void | ResetPandoraInstances () |
Reset all associated pandora instances. More... | |
void | DeletePandoraInstances () |
Delete pandora instances. More... | |
void | ProvideExternalSteeringParameters (const pandora::Pandora *const pPandora) const |
Pass external steering parameters, read from fhicl parameter set, to LArMaster Pandora algorithm. More... | |
StandardPandora class.
Definition at line 18 of file StandardPandora_module.cc.
|
inherited |
Definition at line 17 of file EDProducer.h.
|
inherited |
Definition at line 26 of file Producer.h.
lar_pandora::StandardPandora::StandardPandora | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset | the parameter set |
Definition at line 70 of file StandardPandora_module.cc.
lar_pandora::StandardPandora::~StandardPandora | ( | ) |
Destructor.
Definition at line 74 of file StandardPandora_module.cc.
References DeletePandoraInstances().
|
virtualinherited |
Reimplemented from art::EDProducer.
Definition at line 133 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(), lar_pandora::LArPandora::m_driftVolumeMap, lar_pandora::LArPandora::m_enableDetectorGaps, lar_pandora::LArPandora::m_inputSettings, lar_pandora::LArPandora::m_outputSettings, lar_pandora::LArPandoraInput::Settings::m_pPrimaryPandora, lar_pandora::ILArPandora::m_pPrimaryPandora, lar_pandora::LArPandoraOutput::Settings::m_pPrimaryPandora, and lar_pandora::LArPandoraInput::Settings::m_useActiveBoundingBox.
|
privatevirtual |
Configure pandora instances.
Implements lar_pandora::ILArPandora.
Definition at line 109 of file StandardPandora_module.cc.
References lar_pandora::LArPandora::m_configFile, lar_pandora::ILArPandora::m_pPrimaryPandora, and ProvideExternalSteeringParameters().
|
protectedinherited |
Definition at line 256 of file LArPandora.cxx.
References fhicl::ParameterSet::get(), fhicl::ParameterSet::has_key(), and fhicl::ParameterSet::put().
Referenced by lar_pandora::LArPandora::LArPandora().
|
protectedinherited |
Definition at line 61 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().
|
protectedinherited |
|
protectedinherited |
Definition at line 75 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().
|
protectedinherited |
|
inherited |
Definition at line 68 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().
|
protectedvirtualinherited |
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 175 of file LArPandora.cxx.
References lar_pandora::LArPandoraHelper::BuildMCParticleHitMaps(), lar_pandora::LArPandoraHelper::CollectGeneratorMCParticles(), 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(), lar_pandora::LArPandora::m_backtrackerModuleLabel, lar_pandora::LArPandora::m_collectHitsTool, lar_pandora::LArPandora::m_disableRealDataCheck, lar_pandora::LArPandora::m_driftVolumeMap, lar_pandora::LArPandora::m_enableDetectorGaps, lar_pandora::LArPandora::m_enableMCParticles, lar_pandora::LArPandora::m_geantModuleLabel, lar_pandora::LArPandora::m_generatorModuleLabel, lar_pandora::LArPandora::m_hitfinderModuleLabel, lar_pandora::LArPandora::m_inputSettings, lar_pandora::LArPandora::m_lineGapsCreated, and lar_pandora::LArPandora::m_simChannelModuleLabel.
Referenced by lar_pandora::LArPandora::produce().
|
privatevirtual |
Create pandora instances.
Implements lar_pandora::ILArPandora.
Definition at line 81 of file StandardPandora_module.cc.
References MultiPandoraApi::AddPrimaryPandoraInstance(), lar_pandora::ILArPandora::m_pPrimaryPandora, LArContent::RegisterAlgorithms(), LArDLContent::RegisterAlgorithms(), and LArContent::RegisterBasicPlugins().
|
privatevirtual |
Delete pandora instances.
Implements lar_pandora::ILArPandora.
Definition at line 143 of file StandardPandora_module.cc.
References MultiPandoraApi::DeletePandoraInstances(), and lar_pandora::ILArPandora::m_pPrimaryPandora.
Referenced by ~StandardPandora().
|
inherited |
Definition at line 22 of file Producer.cc.
References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().
|
inherited |
Definition at line 65 of file Producer.cc.
References art::detail::Producer::beginRunWithFrame(), art::RangeSet::forRun(), art::RunPrincipal::makeRun(), r, art::RunPrincipal::runID(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 85 of file Producer.cc.
References art::detail::Producer::beginSubRunWithFrame(), art::RangeSet::forSubRun(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::SubRunPrincipal::subRunID().
|
inherited |
Definition at line 30 of file Producer.cc.
References art::detail::Producer::endJobWithFrame().
|
inherited |
Definition at line 75 of file Producer.cc.
References art::detail::Producer::endRunWithFrame(), art::RunPrincipal::makeRun(), r, art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 95 of file Producer.cc.
References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().
|
inherited |
Definition at line 105 of file Producer.cc.
References art::detail::Producer::checkPutProducts_, e, art::EventPrincipal::makeEvent(), art::detail::Producer::produceWithFrame(), and art::ModuleContext::scheduleID().
|
inherited |
Definition at line 44 of file Producer.cc.
References art::detail::Producer::respondToCloseInputFileWithFrame().
|
inherited |
Definition at line 58 of file Producer.cc.
References art::detail::Producer::respondToCloseOutputFilesWithFrame().
|
inherited |
Definition at line 37 of file Producer.cc.
References art::detail::Producer::respondToOpenInputFileWithFrame().
|
inherited |
Definition at line 51 of file Producer.cc.
References art::detail::Producer::respondToOpenOutputFilesWithFrame().
|
inherited |
Definition at line 10 of file Modifier.cc.
References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().
|
inherited |
Definition at line 43 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().
|
inherited |
Definition at line 37 of file ModuleBase.cc.
References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.
|
protectedinherited |
Definition at line 82 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().
|
protectedinherited |
Definition at line 96 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().
|
protectedinherited |
|
inherited |
Definition at line 89 of file ModuleBase.h.
References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().
|
inherited |
Definition at line 13 of file ModuleBase.cc.
References art::errors::LogicError.
Referenced by art::OutputModule::doRespondToOpenInputFile(), art::OutputModule::doWriteEvent(), art::Modifier::fillProductDescriptions(), art::OutputModule::makePlugins_(), art::OutputWorker::OutputWorker(), reco::shower::LArPandoraModularShowerCreation::produce(), art::Modifier::registerProducts(), and art::OutputModule::registerProducts().
|
protectedvirtualinherited |
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 240 of file LArPandora.cxx.
References lar_pandora::LArPandora::m_allOutcomesInstanceLabel, lar_pandora::LArPandoraOutput::Settings::m_allOutcomesInstanceLabel, lar_pandora::LArPandora::m_enableProduction, lar_pandora::LArPandora::m_outputSettings, lar_pandora::LArPandora::m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceAllOutcomes, and lar_pandora::LArPandoraOutput::ProduceArtOutput().
Referenced by lar_pandora::LArPandora::produce().
|
virtualinherited |
Implements art::EDProducer.
Definition at line 164 of file LArPandora.cxx.
References lar_pandora::LArPandora::CreatePandoraInput(), lar_pandora::LArPandora::ProcessPandoraOutput(), lar_pandora::ILArPandora::ResetPandoraInstances(), and lar_pandora::ILArPandora::RunPandoraInstances().
|
private |
Pass external steering parameters, read from fhicl parameter set, to LArMaster Pandora algorithm.
pPandora | the address of the relevant pandora instance |
Definition at line 150 of file StandardPandora_module.cc.
References lar_pandora::LArPandora::m_printOverallRecoStatus, lar_pandora::LArPandora::m_shouldPerformSliceId, lar_pandora::LArPandora::m_shouldRunAllHitsCosmicReco, lar_content::MasterAlgorithm::ExternalSteeringParameters::m_shouldRunAllHitsCosmicReco, lar_pandora::LArPandora::m_shouldRunCosmicHitRemoval, lar_pandora::LArPandora::m_shouldRunCosmicRecoOption, lar_pandora::LArPandora::m_shouldRunNeutrinoRecoOption, lar_pandora::LArPandora::m_shouldRunSlicing, and lar_pandora::LArPandora::m_shouldRunStitching.
Referenced by ConfigurePandoraInstances().
|
inherited |
Definition at line 16 of file Modifier.cc.
References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().
|
privatevirtual |
Reset all associated pandora instances.
Implements lar_pandora::ILArPandora.
Definition at line 135 of file StandardPandora_module.cc.
References lar_pandora::ILArPandora::m_pPrimaryPandora, and Reset().
|
privatevirtual |
Run all associated pandora instances.
Implements lar_pandora::ILArPandora.
Definition at line 127 of file StandardPandora_module.cc.
References lar_pandora::ILArPandora::m_pPrimaryPandora, and ProcessEvent().
|
inherited |
|
inherited |
Definition at line 49 of file ModuleBase.cc.
References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().
|
protectedinherited |
The instance label for all outcomes.
Definition at line 66 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and lar_pandora::LArPandora::ProcessPandoraOutput().
|
protectedinherited |
The back tracker module label.
Definition at line 64 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
art tool used to collect the hits
Definition at line 76 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
The config file.
Definition at line 42 of file LArPandora.h.
Referenced by ConfigurePandoraInstances().
|
protectedinherited |
Whether to check if the input file contains real data before accessing MC information.
Definition at line 73 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
The map from volume id to drift volume.
Definition at line 81 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::beginJob(), and lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
Whether to pass detector gap information to Pandora instances.
Definition at line 69 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::beginJob(), and lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
Whether to pass mc information to Pandora instances to aid development.
Definition at line 71 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
Whether to persist output products.
Definition at line 68 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and lar_pandora::LArPandora::ProcessPandoraOutput().
|
protectedinherited |
The geant module label.
Definition at line 61 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
The generator module label.
Definition at line 60 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
The hit finder module label.
Definition at line 63 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput(), and lar_pandora::LArPandora::LArPandora().
|
protectedinherited |
The lar pandora input settings.
Definition at line 78 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::beginJob(), lar_pandora::LArPandora::CreatePandoraInput(), and lar_pandora::LArPandora::LArPandora().
|
protectedinherited |
Book-keeping: whether line gap creation has been called.
Definition at line 74 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().
|
protectedinherited |
The lar pandora output settings.
Definition at line 79 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::beginJob(), lar_pandora::LArPandora::LArPandora(), and lar_pandora::LArPandora::ProcessPandoraOutput().
|
protectedinherited |
The address of the primary pandora instance.
Definition at line 85 of file ILArPandora.h.
Referenced by lar_pandora::LArPandora::beginJob(), ConfigurePandoraInstances(), CreatePandoraInstances(), DeletePandoraInstances(), ResetPandoraInstances(), and RunPandoraInstances().
|
protectedinherited |
Steering: whether to print current operation status messages.
Definition at line 58 of file LArPandora.h.
Referenced by ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to identify slices and select most appropriate pfos.
Definition at line 56 of file LArPandora.h.
Referenced by ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to produce all reconstruction outcomes.
Definition at line 57 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and lar_pandora::LArPandora::ProcessPandoraOutput().
|
protectedinherited |
Steering: whether to run all hits cosmic-ray reconstruction.
Definition at line 45 of file LArPandora.h.
Referenced by ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to remove hits from tagged cosmic-rays.
Definition at line 48 of file LArPandora.h.
Referenced by ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to run cosmic-ray reconstruction for each slice.
Definition at line 54 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to run neutrino reconstruction for each slice.
Definition at line 52 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to slice events into separate regions for processing.
Definition at line 50 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and ProvideExternalSteeringParameters().
|
protectedinherited |
Steering: whether to stitch cosmic-ray muons crossing between volumes.
Definition at line 47 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::LArPandora(), and ProvideExternalSteeringParameters().
|
protectedinherited |
The SimChannel producer module label.
Definition at line 62 of file LArPandora.h.
Referenced by lar_pandora::LArPandora::CreatePandoraInput().