LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
lar_pandora::StandardPandora Class Reference

StandardPandora class. More...

Inheritance diagram for lar_pandora::StandardPandora:
lar_pandora::LArPandora lar_pandora::ILArPandora art::EDProducer art::detail::Producer art::detail::LegacyModule art::Modifier art::ModuleBase art::ProductRegistryHelper

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 &current_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< IHitCollectionToolm_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...
 

Detailed Description

StandardPandora class.

Definition at line 18 of file StandardPandora_module.cc.

Member Typedef Documentation

Definition at line 17 of file EDProducer.h.

template<typename UserConfig , typename KeysToIgnore = void>
using art::detail::Producer::Table = Modifier::Table<UserConfig, KeysToIgnore>
inherited

Definition at line 26 of file Producer.h.

Constructor & Destructor Documentation

lar_pandora::StandardPandora::StandardPandora ( fhicl::ParameterSet const &  pset)

Constructor.

Parameters
psetthe parameter set

Definition at line 70 of file StandardPandora_module.cc.

70 : LArPandora(pset) {}
LArPandora(fhicl::ParameterSet const &pset)
Constructor.
Definition: LArPandora.cxx:43
lar_pandora::StandardPandora::~StandardPandora ( )

Destructor.

Definition at line 74 of file StandardPandora_module.cc.

References DeletePandoraInstances().

75  {
76  this->DeletePandoraInstances();
77  }
void DeletePandoraInstances()
Delete pandora instances.

Member Function Documentation

void lar_pandora::LArPandora::beginJob ( )
virtualinherited

Reimplemented from art::EDProducer.

Definition at line 134 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.

135  {
136  LArDriftVolumeList driftVolumeList;
139 
140  this->CreatePandoraInstances();
141 
142  if (!m_pPrimaryPandora)
143  throw cet::exception("LArPandora")
144  << " LArPandora::beginJob - failed to create primary Pandora instance " << std::endl;
145 
148 
149  // Pass basic LArTPC information to pandora instances
151 
152  // If using global drift volume approach, pass details of gaps between daughter volumes to the pandora instance
153  if (m_enableDetectorGaps) {
154  LArDetectorGapList listOfGaps;
156  LArPandoraInput::CreatePandoraDetectorGaps(m_inputSettings, driftVolumeList, listOfGaps);
157  }
158 
159  // Parse Pandora settings xml files
161  }
static void CreatePandoraDetectorGaps(const Settings &settings, const LArDriftVolumeList &driftVolumeList, const LArDetectorGapList &listOfGaps)
Create pandora line gaps to cover dead regions between TPCs in a global drift volume approach...
const pandora::Pandora * m_pPrimaryPandora
static void LoadGeometry(LArDriftVolumeList &outputVolumeList, LArDriftVolumeMap &outputVolumeMap, const bool useActiveBoundingBox)
Load drift volume geometry.
std::vector< LArDriftVolume > LArDriftVolumeList
const pandora::Pandora * m_pPrimaryPandora
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
LArDriftVolumeMap m_driftVolumeMap
The map from volume id to drift volume.
Definition: LArPandora.h:81
virtual void CreatePandoraInstances()=0
Create pandora instances.
static void LoadDetectorGaps(LArDetectorGapList &listOfGaps, const bool useActiveBoundingBox)
Load the 2D gaps that go with the chosen geometry.
bool m_enableDetectorGaps
Whether to pass detector gap information to Pandora instances.
Definition: LArPandora.h:69
LArPandoraInput::Settings m_inputSettings
The lar pandora input settings.
Definition: LArPandora.h:78
static void CreatePandoraLArTPCs(const Settings &settings, const LArDriftVolumeList &driftVolumeList)
Create pandora LArTPCs to represent the different drift volumes in use.
LArPandoraOutput::Settings m_outputSettings
The lar pandora output settings.
Definition: LArPandora.h:79
std::vector< LArDetectorGap > LArDetectorGapList
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
virtual void ConfigurePandoraInstances()=0
Configure pandora instances.
void lar_pandora::StandardPandora::ConfigurePandoraInstances ( )
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().

110  {
111  cet::search_path sp("FW_SEARCH_PATH");
112  std::string fullConfigFileName;
113 
114  if (!sp.find_file(m_configFile, fullConfigFileName))
115  throw cet::exception("StandardPandora")
116  << " ConfigurePrimaryPandoraInstance - Failed to find xml configuration file "
117  << m_configFile << " in FW search path";
118 
120  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS,
121  !=,
122  PandoraApi::ReadSettings(*m_pPrimaryPandora, fullConfigFileName));
123  }
void ProvideExternalSteeringParameters(const pandora::Pandora *const pPandora) const
Pass external steering parameters, read from fhicl parameter set, to LArMaster Pandora algorithm...
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
std::string m_configFile
The config file.
Definition: LArPandora.h:42
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
fhicl::ParameterSet lar_pandora::LArPandora::ConstructHitCollectionToolParameterSet ( const fhicl::ParameterSet pset)
protectedinherited

Definition at line 257 of file LArPandora.cxx.

References fhicl::ParameterSet::get(), fhicl::ParameterSet::has_key(), and fhicl::ParameterSet::put().

Referenced by lar_pandora::LArPandora::LArPandora().

259  {
260  if (pset.has_key("HitCollectionTool")) {
261  return pset.get<fhicl::ParameterSet>("HitCollectionTool");
262  }
263 
264  fhicl::ParameterSet psetHitCollection;
265  psetHitCollection.put<std::string>("tool_type", "LArPandoraHitCollectionToolDefault");
266  return psetHitCollection;
267  }
T get(std::string const &key) const
Definition: ParameterSet.h:314
bool has_key(std::string const &key) const
void put(std::string const &key)
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 61 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumes().

62  {
63  return collector_.consumes<T, BT>(tag);
64  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ProductToken< T > consumes(InputTag const &)
ConsumesCollector & art::ModuleBase::consumesCollector ( )
protectedinherited

Definition at line 57 of file ModuleBase.cc.

References art::ModuleBase::collector_.

58  {
59  return collector_;
60  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 75 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesMany().

76  {
77  collector_.consumesMany<T, BT>();
78  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 68 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::consumesView().

69  {
70  return collector_.consumesView<T, BT>(tag);
71  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > consumesView(InputTag const &)
void lar_pandora::LArPandora::CreatePandoraInput ( art::Event evt,
IdToHitMap idToHitMap 
)
protectedvirtualinherited

Create pandora input hits, mc particles etc.

Parameters
evtthe art event
idToHitMapto receive the populated pandora hit id to art hit map

Implements lar_pandora::ILArPandora.

Definition at line 176 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().

177  {
178  // ATTN Should complete gap creation in begin job callback, but channel status service functionality unavailable at that point
181  m_lineGapsCreated = true;
182  }
183 
184  HitVector artHits;
185  SimChannelVector artSimChannels;
186  HitsToTrackIDEs artHitsToTrackIDEs;
187  MCParticleVector artMCParticleVector;
188  RawMCParticleVector generatorArtMCParticleVector;
189  MCTruthToMCParticles artMCTruthToMCParticles;
190  MCParticlesToMCTruth artMCParticlesToMCTruth;
191 
192  bool areSimChannelsValid(false);
193 
194  m_collectHitsTool->CollectHits(evt, m_hitfinderModuleLabel, artHits);
195 
197  LArPandoraHelper::CollectMCParticles(evt, m_geantModuleLabel, artMCParticleVector);
198 
199  if (!m_generatorModuleLabel.empty())
201  evt, m_generatorModuleLabel, generatorArtMCParticleVector);
202 
204  evt, m_geantModuleLabel, artMCTruthToMCParticles, artMCParticlesToMCTruth);
205 
207  evt, m_simChannelModuleLabel, artSimChannels, areSimChannelsValid);
208  if (!artSimChannels.empty()) {
209  LArPandoraHelper::BuildMCParticleHitMaps(evt, artHits, artSimChannels, artHitsToTrackIDEs);
210  }
211  else if (!areSimChannelsValid) {
212  if (m_backtrackerModuleLabel.empty())
213  throw cet::exception("LArPandora")
214  << "LArPandora::CreatePandoraInput - Can't build MCParticle to Hit map." << std::endl
215  << "No SimChannels found with label \"" << m_simChannelModuleLabel
216  << "\", and BackTrackerModuleLabel isn't set in FHiCL." << std::endl;
217 
219  evt, m_hitfinderModuleLabel, m_backtrackerModuleLabel, artHitsToTrackIDEs);
220  }
221  else {
222  mf::LogDebug("LArPandora")
223  << " *** LArPandora::CreatePandoraInput - empty list of sim channels found " << std::endl;
224  }
225  }
226 
228  evt, m_inputSettings, m_driftVolumeMap, artHits, idToHitMap);
229 
232  artMCTruthToMCParticles,
233  artMCParticlesToMCTruth,
234  generatorArtMCParticleVector);
235  LArPandoraInput::CreatePandoraMCLinks2D(m_inputSettings, idToHitMap, artHitsToTrackIDEs);
236  }
237  }
static void CreatePandoraMCParticles(const Settings &settings, const MCTruthToMCParticles &truthToParticles, const MCParticlesToMCTruth &particlesToTruth, const RawMCParticleVector &generatorMCParticleVector)
Create the Pandora MC particles from the MC particles.
std::map< art::Ptr< simb::MCParticle >, art::Ptr< simb::MCTruth > > MCParticlesToMCTruth
bool m_disableRealDataCheck
Whether to check if the input file contains real data before accessing MC information.
Definition: LArPandora.h:73
std::string m_backtrackerModuleLabel
The back tracker module label.
Definition: LArPandora.h:64
bool isRealData() const
Definition: Event.cc:53
static void CollectGeneratorMCParticles(const art::Event &evt, const std::string &label, RawMCParticleVector &particleVector)
Collect a vector of MCParticle objects from the generator in the ART event record. ATTN: This function is needed as accessing generator (opposed to Geant4) level MCParticles requires use of MCTruth block.
bool m_lineGapsCreated
Book-keeping: whether line gap creation has been called.
Definition: LArPandora.h:74
std::map< art::Ptr< recob::Hit >, TrackIDEVector > HitsToTrackIDEs
std::vector< simb::MCParticle > RawMCParticleVector
LArDriftVolumeMap m_driftVolumeMap
The map from volume id to drift volume.
Definition: LArPandora.h:81
std::map< art::Ptr< simb::MCTruth >, MCParticleVector > MCTruthToMCParticles
std::string m_generatorModuleLabel
The generator module label.
Definition: LArPandora.h:60
std::string m_geantModuleLabel
The geant module label.
Definition: LArPandora.h:61
static void CreatePandoraMCLinks2D(const Settings &settings, const HitMap &hitMap, const HitsToTrackIDEs &hitToParticleMap)
Create links between the 2D hits and Pandora MC particles.
std::vector< art::Ptr< simb::MCParticle > > MCParticleVector
static void CollectSimChannels(const art::Event &evt, const std::string &label, SimChannelVector &simChannelVector, bool &areSimChannelsValid)
Collect a vector of SimChannel objects from the ART event record.
static void CreatePandoraReadoutGaps(const Settings &settings, const LArDriftVolumeMap &driftVolumeMap)
Create pandora line gaps to cover any (continuous regions of) bad channels.
bool m_enableDetectorGaps
Whether to pass detector gap information to Pandora instances.
Definition: LArPandora.h:69
LArPandoraInput::Settings m_inputSettings
The lar pandora input settings.
Definition: LArPandora.h:78
std::vector< art::Ptr< recob::Hit > > HitVector
std::vector< art::Ptr< sim::SimChannel > > SimChannelVector
std::unique_ptr< IHitCollectionTool > m_collectHitsTool
art tool used to collect the hits
Definition: LArPandora.h:76
MaybeLogger_< ELseverityLevel::ELsev_success, false > LogDebug
static void CreatePandoraHits2D(const art::Event &evt, const Settings &settings, const LArDriftVolumeMap &driftVolumeMap, const HitVector &hitVector, IdToHitMap &idToHitMap)
Create the Pandora 2D hits from the ART hits.
bool m_enableMCParticles
Whether to pass mc information to Pandora instances to aid development.
Definition: LArPandora.h:71
static void BuildMCParticleHitMaps(const art::Event &evt, const HitVector &hitVector, const SimChannelVector &simChannelVector, HitsToTrackIDEs &hitsToTrackIDEs)
Collect the links from reconstructed hits to their true energy deposits.
static void CollectMCParticles(const art::Event &evt, const std::string &label, MCParticleVector &particleVector)
Collect a vector of MCParticle objects from the ART event record.
std::string m_simChannelModuleLabel
The SimChannel producer module label.
Definition: LArPandora.h:62
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
std::string m_hitfinderModuleLabel
The hit finder module label.
Definition: LArPandora.h:63
void lar_pandora::StandardPandora::CreatePandoraInstances ( )
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().

82  {
83  m_pPrimaryPandora = new pandora::Pandora();
84  PANDORA_THROW_RESULT_IF(
85  pandora::STATUS_CODE_SUCCESS, !=, LArContent::RegisterAlgorithms(*m_pPrimaryPandora));
86 #ifdef LIBTORCH_DL
87  PANDORA_THROW_RESULT_IF(
88  pandora::STATUS_CODE_SUCCESS, !=, LArDLContent::RegisterAlgorithms(*m_pPrimaryPandora));
89 #endif
90  PANDORA_THROW_RESULT_IF(
91  pandora::STATUS_CODE_SUCCESS, !=, LArContent::RegisterBasicPlugins(*m_pPrimaryPandora));
92 
93  // ATTN Potentially ill defined, unless coordinate system set up to ensure that all drift volumes have same wire angles and pitches
94  PANDORA_THROW_RESULT_IF(
95  pandora::STATUS_CODE_SUCCESS,
96  !=,
97  PandoraApi::SetPseudoLayerPlugin(*m_pPrimaryPandora, new lar_content::LArPseudoLayerPlugin));
98  PANDORA_THROW_RESULT_IF(
99  pandora::STATUS_CODE_SUCCESS,
100  !=,
101  PandoraApi::SetLArTransformationPlugin(*m_pPrimaryPandora,
103 
105  }
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
static void AddPrimaryPandoraInstance(const pandora::Pandora *const pPrimaryPandora)
Declare a new primary pandora instance and receive the relevant multi pandora book-keeping instance...
static pandora::StatusCode RegisterBasicPlugins(const pandora::Pandora &pandora)
Register the basic lar content plugins with pandora.
Definition: LArContent.cc:500
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar content algorithms and tools with pandora.
Definition: LArContent.cc:484
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar dl content algorithms and tools with pandora.
Definition: LArDLContent.cc:95
LarPandoraPseudoLayerPlugin class.
void lar_pandora::StandardPandora::DeletePandoraInstances ( )
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().

144  {
146  }
static void DeletePandoraInstances(const pandora::Pandora *const pPrimaryPandora)
Delete all pandora instances associated with (and including) a specified primary pandora instance...
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
void art::detail::Producer::doBeginJob ( SharedResources const &  resources)
inherited

Definition at line 22 of file Producer.cc.

References art::detail::Producer::beginJobWithFrame(), and art::detail::Producer::setupQueues().

23  {
24  setupQueues(resources);
25  ProcessingFrame const frame{ScheduleID{}};
26  beginJobWithFrame(frame);
27  }
virtual void setupQueues(SharedResources const &)=0
virtual void beginJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doBeginRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
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().

66  {
67  auto r = rp.makeRun(mc, RangeSet::forRun(rp.runID()));
68  ProcessingFrame const frame{mc.scheduleID()};
69  beginRunWithFrame(r, frame);
70  r.commitProducts();
71  return true;
72  }
TRandom r
Definition: spectrum.C:23
virtual void beginRunWithFrame(Run &, ProcessingFrame const &)=0
static RangeSet forRun(RunID)
Definition: RangeSet.cc:51
bool art::detail::Producer::doBeginSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
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().

86  {
87  auto sr = srp.makeSubRun(mc, RangeSet::forSubRun(srp.subRunID()));
88  ProcessingFrame const frame{mc.scheduleID()};
89  beginSubRunWithFrame(sr, frame);
90  sr.commitProducts();
91  return true;
92  }
virtual void beginSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
static RangeSet forSubRun(SubRunID)
Definition: RangeSet.cc:57
void art::detail::Producer::doEndJob ( )
inherited

Definition at line 30 of file Producer.cc.

References art::detail::Producer::endJobWithFrame().

31  {
32  ProcessingFrame const frame{ScheduleID{}};
33  endJobWithFrame(frame);
34  }
virtual void endJobWithFrame(ProcessingFrame const &)=0
bool art::detail::Producer::doEndRun ( RunPrincipal rp,
ModuleContext const &  mc 
)
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().

76  {
77  auto r = rp.makeRun(mc, rp.seenRanges());
78  ProcessingFrame const frame{mc.scheduleID()};
79  endRunWithFrame(r, frame);
80  r.commitProducts();
81  return true;
82  }
TRandom r
Definition: spectrum.C:23
virtual void endRunWithFrame(Run &, ProcessingFrame const &)=0
bool art::detail::Producer::doEndSubRun ( SubRunPrincipal srp,
ModuleContext const &  mc 
)
inherited

Definition at line 95 of file Producer.cc.

References art::detail::Producer::endSubRunWithFrame(), art::SubRunPrincipal::makeSubRun(), art::ModuleContext::scheduleID(), and art::Principal::seenRanges().

96  {
97  auto sr = srp.makeSubRun(mc, srp.seenRanges());
98  ProcessingFrame const frame{mc.scheduleID()};
99  endSubRunWithFrame(sr, frame);
100  sr.commitProducts();
101  return true;
102  }
virtual void endSubRunWithFrame(SubRun &, ProcessingFrame const &)=0
bool art::detail::Producer::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 
)
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().

110  {
111  auto e = ep.makeEvent(mc);
112  ++counts_run;
113  ProcessingFrame const frame{mc.scheduleID()};
114  produceWithFrame(e, frame);
115  e.commitProducts(checkPutProducts_, &expectedProducts<InEvent>());
116  ++counts_passed;
117  return true;
118  }
bool const checkPutProducts_
Definition: Producer.h:70
Float_t e
Definition: plot.C:35
virtual void produceWithFrame(Event &, ProcessingFrame const &)=0
void art::detail::Producer::doRespondToCloseInputFile ( FileBlock const &  fb)
inherited

Definition at line 44 of file Producer.cc.

References art::detail::Producer::respondToCloseInputFileWithFrame().

45  {
46  ProcessingFrame const frame{ScheduleID{}};
48  }
virtual void respondToCloseInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToCloseOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 58 of file Producer.cc.

References art::detail::Producer::respondToCloseOutputFilesWithFrame().

59  {
60  ProcessingFrame const frame{ScheduleID{}};
62  }
virtual void respondToCloseOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenInputFile ( FileBlock const &  fb)
inherited

Definition at line 37 of file Producer.cc.

References art::detail::Producer::respondToOpenInputFileWithFrame().

38  {
39  ProcessingFrame const frame{ScheduleID{}};
41  }
virtual void respondToOpenInputFileWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::detail::Producer::doRespondToOpenOutputFiles ( FileBlock const &  fb)
inherited

Definition at line 51 of file Producer.cc.

References art::detail::Producer::respondToOpenOutputFilesWithFrame().

52  {
53  ProcessingFrame const frame{ScheduleID{}};
55  }
virtual void respondToOpenOutputFilesWithFrame(FileBlock const &, ProcessingFrame const &)=0
TFile fb("Li6.root")
void art::Modifier::fillProductDescriptions ( )
inherited

Definition at line 10 of file Modifier.cc.

References art::ProductRegistryHelper::fillDescriptions(), and art::ModuleBase::moduleDescription().

11  {
13  }
void fillDescriptions(ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
std::array< std::vector< ProductInfo >, NumBranchTypes > const & art::ModuleBase::getConsumables ( ) const
inherited

Definition at line 43 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::getConsumables().

44  {
45  return collector_.getConsumables();
46  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables() const
std::unique_ptr< Worker > art::ModuleBase::makeWorker ( WorkerParams const &  wp)
inherited

Definition at line 37 of file ModuleBase.cc.

References art::ModuleBase::doMakeWorker(), and art::NumBranchTypes.

38  {
39  return doMakeWorker(wp);
40  }
virtual std::unique_ptr< Worker > doMakeWorker(WorkerParams const &wp)=0
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 82 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsume().

83  {
84  return collector_.mayConsume<T, BT>(tag);
85  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 96 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeMany().

97  {
98  collector_.mayConsumeMany<T, BT>();
99  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 89 of file ModuleBase.h.

References art::ModuleBase::collector_, and art::ConsumesCollector::mayConsumeView().

90  {
91  return collector_.mayConsumeView<T, BT>(tag);
92  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
ViewToken< Element > mayConsumeView(InputTag const &)
ModuleDescription const & art::ModuleBase::moduleDescription ( ) const
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().

14  {
15  if (md_.has_value()) {
16  return *md_;
17  }
18 
20  "There was an error while calling moduleDescription().\n"}
21  << "The moduleDescription() base-class member function cannot be called\n"
22  "during module construction. To determine which module is "
23  "responsible\n"
24  "for calling it, find the '<module type>:<module "
25  "label>@Construction'\n"
26  "tag in the message prefix above. Please contact artists@fnal.gov\n"
27  "for guidance.\n";
28  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
void lar_pandora::LArPandora::ProcessPandoraOutput ( art::Event evt,
const IdToHitMap idToHitMap 
)
protectedvirtualinherited

Process pandora output particle flow objects.

Parameters
evtthe art event
idToHitMapthe pandora hit id to art hit map

Implements lar_pandora::ILArPandora.

Definition at line 241 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().

242  {
243  if (m_enableProduction) {
246 
251  }
252  }
253  }
std::string m_allOutcomesInstanceLabel
The instance label for all outcomes.
Definition: LArPandora.h:66
std::string m_allOutcomesInstanceLabel
The label for the instance producing all outcomes.
bool m_shouldProduceAllOutcomes
Steering: whether to produce all reconstruction outcomes.
Definition: LArPandora.h:57
static void ProduceArtOutput(const Settings &settings, const IdToHitMap &idToHitMap, art::Event &evt)
Convert the Pandora PFOs into ART clusters and write into ART event.
LArPandoraOutput::Settings m_outputSettings
The lar pandora output settings.
Definition: LArPandora.h:79
bool m_shouldProduceAllOutcomes
If all outcomes should be produced in separate collections (choose false if you only require the cons...
bool m_enableProduction
Whether to persist output products.
Definition: LArPandora.h:68
void lar_pandora::LArPandora::produce ( art::Event evt)
virtualinherited

Implements art::EDProducer.

Definition at line 165 of file LArPandora.cxx.

References lar_pandora::LArPandora::CreatePandoraInput(), lar_pandora::LArPandora::ProcessPandoraOutput(), lar_pandora::ILArPandora::ResetPandoraInstances(), and lar_pandora::ILArPandora::RunPandoraInstances().

166  {
167  IdToHitMap idToHitMap;
168  this->CreatePandoraInput(evt, idToHitMap);
169  this->RunPandoraInstances();
170  this->ProcessPandoraOutput(evt, idToHitMap);
171  this->ResetPandoraInstances();
172  }
std::map< int, art::Ptr< recob::Hit > > IdToHitMap
Definition: ILArPandora.h:24
void CreatePandoraInput(art::Event &evt, IdToHitMap &idToHitMap)
Create pandora input hits, mc particles etc.
Definition: LArPandora.cxx:176
void ProcessPandoraOutput(art::Event &evt, const IdToHitMap &idToHitMap)
Process pandora output particle flow objects.
Definition: LArPandora.cxx:241
virtual void ResetPandoraInstances()=0
Reset all associated pandora instances.
virtual void RunPandoraInstances()=0
Run all associated pandora instances.
void lar_pandora::StandardPandora::ProvideExternalSteeringParameters ( const pandora::Pandora *const  pPandora) const
private

Pass external steering parameters, read from fhicl parameter set, to LArMaster Pandora algorithm.

Parameters
pPandorathe 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().

152  {
153  auto* const pEventSteeringParameters =
156  pEventSteeringParameters->m_shouldRunStitching = m_shouldRunStitching;
157  pEventSteeringParameters->m_shouldRunCosmicHitRemoval = m_shouldRunCosmicHitRemoval;
158  pEventSteeringParameters->m_shouldRunSlicing = m_shouldRunSlicing;
159  pEventSteeringParameters->m_shouldRunNeutrinoRecoOption = m_shouldRunNeutrinoRecoOption;
160  pEventSteeringParameters->m_shouldRunCosmicRecoOption = m_shouldRunCosmicRecoOption;
161  pEventSteeringParameters->m_shouldPerformSliceId = m_shouldPerformSliceId;
162  pEventSteeringParameters->m_printOverallRecoStatus = m_printOverallRecoStatus;
163  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS,
164  !=,
165  pandora::ExternallyConfiguredAlgorithm::SetExternalParameters(
166  *pPandora, "LArMaster", pEventSteeringParameters));
167 
168 #ifdef LIBTORCH_DL
169  auto* const pEventSettingsParametersCopy =
170  new lar_content::MasterAlgorithm::ExternalSteeringParameters(*pEventSteeringParameters);
171  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS,
172  !=,
173  pandora::ExternallyConfiguredAlgorithm::SetExternalParameters(
174  *pPandora, "LArDLMaster", pEventSettingsParametersCopy));
175 #endif
176  }
bool m_shouldRunAllHitsCosmicReco
Steering: whether to run all hits cosmic-ray reconstruction.
Definition: LArPandora.h:45
bool m_shouldRunCosmicHitRemoval
Steering: whether to remove hits from tagged cosmic-rays.
Definition: LArPandora.h:48
pandora::InputBool m_shouldRunAllHitsCosmicReco
Whether to run all hits cosmic-ray reconstruction.
bool m_shouldRunNeutrinoRecoOption
Steering: whether to run neutrino reconstruction for each slice.
Definition: LArPandora.h:52
bool m_printOverallRecoStatus
Steering: whether to print current operation status messages.
Definition: LArPandora.h:58
bool m_shouldRunCosmicRecoOption
Steering: whether to run cosmic-ray reconstruction for each slice.
Definition: LArPandora.h:54
bool m_shouldRunStitching
Steering: whether to stitch cosmic-ray muons crossing between volumes.
Definition: LArPandora.h:47
bool m_shouldRunSlicing
Steering: whether to slice events into separate regions for processing.
Definition: LArPandora.h:50
bool m_shouldPerformSliceId
Steering: whether to identify slices and select most appropriate pfos.
Definition: LArPandora.h:56
void art::Modifier::registerProducts ( ProductDescriptions productsToRegister)
inherited

Definition at line 16 of file Modifier.cc.

References art::ModuleBase::moduleDescription(), and art::ProductRegistryHelper::registerProducts().

17  {
18  ProductRegistryHelper::registerProducts(productsToRegister,
20  }
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
ModuleDescription const & moduleDescription() const
Definition: ModuleBase.cc:13
void lar_pandora::StandardPandora::ResetPandoraInstances ( )
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().

136  {
137  PANDORA_THROW_RESULT_IF(
138  pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::Reset(*m_pPrimaryPandora));
139  }
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
ntupleExperimental Reset()
void lar_pandora::StandardPandora::RunPandoraInstances ( )
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().

128  {
129  PANDORA_THROW_RESULT_IF(
130  pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::ProcessEvent(*m_pPrimaryPandora));
131  }
void ProcessEvent(G4int iProp, size_t nEv)
Definition: errprop.cc:171
const pandora::Pandora * m_pPrimaryPandora
The address of the primary pandora instance.
Definition: ILArPandora.h:85
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  md)
inherited

Definition at line 31 of file ModuleBase.cc.

References art::ModuleBase::md_.

32  {
33  md_ = md;
34  }
std::optional< ModuleDescription > md_
Definition: ModuleBase.h:55
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited

Definition at line 49 of file ModuleBase.cc.

References art::ModuleBase::collector_, and art::ConsumesCollector::sortConsumables().

50  {
51  // Now that we know we have seen all the consumes declarations,
52  // sort the results for fast lookup later.
53  collector_.sortConsumables(current_process_name);
54  }
ConsumesCollector collector_
Definition: ModuleBase.h:56
void sortConsumables(std::string const &current_process_name)

Member Data Documentation

std::string lar_pandora::LArPandora::m_allOutcomesInstanceLabel
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().

std::string lar_pandora::LArPandora::m_backtrackerModuleLabel
protectedinherited

The back tracker module label.

Definition at line 64 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().

std::unique_ptr<IHitCollectionTool> lar_pandora::LArPandora::m_collectHitsTool
protectedinherited

art tool used to collect the hits

Definition at line 76 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().

std::string lar_pandora::LArPandora::m_configFile
protectedinherited

The config file.

Definition at line 42 of file LArPandora.h.

Referenced by ConfigurePandoraInstances().

bool lar_pandora::LArPandora::m_disableRealDataCheck
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().

LArDriftVolumeMap lar_pandora::LArPandora::m_driftVolumeMap
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().

bool lar_pandora::LArPandora::m_enableDetectorGaps
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().

bool lar_pandora::LArPandora::m_enableMCParticles
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().

bool lar_pandora::LArPandora::m_enableProduction
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().

std::string lar_pandora::LArPandora::m_geantModuleLabel
protectedinherited

The geant module label.

Definition at line 61 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().

std::string lar_pandora::LArPandora::m_generatorModuleLabel
protectedinherited

The generator module label.

Definition at line 60 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().

std::string lar_pandora::LArPandora::m_hitfinderModuleLabel
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().

LArPandoraInput::Settings lar_pandora::LArPandora::m_inputSettings
protectedinherited
bool lar_pandora::LArPandora::m_lineGapsCreated
protectedinherited

Book-keeping: whether line gap creation has been called.

Definition at line 74 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().

LArPandoraOutput::Settings lar_pandora::LArPandora::m_outputSettings
protectedinherited
const pandora::Pandora* lar_pandora::ILArPandora::m_pPrimaryPandora
protectedinherited
bool lar_pandora::LArPandora::m_printOverallRecoStatus
protectedinherited

Steering: whether to print current operation status messages.

Definition at line 58 of file LArPandora.h.

Referenced by ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldPerformSliceId
protectedinherited

Steering: whether to identify slices and select most appropriate pfos.

Definition at line 56 of file LArPandora.h.

Referenced by ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldProduceAllOutcomes
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().

bool lar_pandora::LArPandora::m_shouldRunAllHitsCosmicReco
protectedinherited

Steering: whether to run all hits cosmic-ray reconstruction.

Definition at line 45 of file LArPandora.h.

Referenced by ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunCosmicHitRemoval
protectedinherited

Steering: whether to remove hits from tagged cosmic-rays.

Definition at line 48 of file LArPandora.h.

Referenced by ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunCosmicRecoOption
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().

bool lar_pandora::LArPandora::m_shouldRunNeutrinoRecoOption
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().

bool lar_pandora::LArPandora::m_shouldRunSlicing
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().

bool lar_pandora::LArPandora::m_shouldRunStitching
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().

std::string lar_pandora::LArPandora::m_simChannelModuleLabel
protectedinherited

The SimChannel producer module label.

Definition at line 62 of file LArPandora.h.

Referenced by lar_pandora::LArPandora::CreatePandoraInput().


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