LArSoft  v09_90_00
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:42
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 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.

134  {
135  LArDriftVolumeList driftVolumeList;
138 
139  this->CreatePandoraInstances();
140 
141  if (!m_pPrimaryPandora)
142  throw cet::exception("LArPandora")
143  << " LArPandora::beginJob - failed to create primary Pandora instance " << std::endl;
144 
147 
148  // Pass basic LArTPC information to pandora instances
150 
151  // If using global drift volume approach, pass details of gaps between daughter volumes to the pandora instance
152  if (m_enableDetectorGaps) {
153  LArDetectorGapList listOfGaps;
155  LArPandoraInput::CreatePandoraDetectorGaps(m_inputSettings, driftVolumeList, listOfGaps);
156  }
157 
158  // Parse Pandora settings xml files
160  }
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 256 of file LArPandora.cxx.

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

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

258  {
259  if (pset.has_key("HitCollectionTool")) {
260  return pset.get<fhicl::ParameterSet>("HitCollectionTool");
261  }
262 
263  fhicl::ParameterSet psetHitCollection;
264  psetHitCollection.put<std::string>("tool_type", "LArPandoraHitCollectionToolDefault");
265  return psetHitCollection;
266  }
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 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().

176  {
177  // ATTN Should complete gap creation in begin job callback, but channel status service functionality unavailable at that point
180  m_lineGapsCreated = true;
181  }
182 
183  HitVector artHits;
184  SimChannelVector artSimChannels;
185  HitsToTrackIDEs artHitsToTrackIDEs;
186  MCParticleVector artMCParticleVector;
187  RawMCParticleVector generatorArtMCParticleVector;
188  MCTruthToMCParticles artMCTruthToMCParticles;
189  MCParticlesToMCTruth artMCParticlesToMCTruth;
190 
191  bool areSimChannelsValid(false);
192 
193  m_collectHitsTool->CollectHits(evt, m_hitfinderModuleLabel, artHits);
194 
196  LArPandoraHelper::CollectMCParticles(evt, m_geantModuleLabel, artMCParticleVector);
197 
198  if (!m_generatorModuleLabel.empty())
200  evt, m_generatorModuleLabel, generatorArtMCParticleVector);
201 
203  evt, m_geantModuleLabel, artMCTruthToMCParticles, artMCParticlesToMCTruth);
204 
206  evt, m_simChannelModuleLabel, artSimChannels, areSimChannelsValid);
207  if (!artSimChannels.empty()) {
208  LArPandoraHelper::BuildMCParticleHitMaps(evt, artHits, artSimChannels, artHitsToTrackIDEs);
209  }
210  else if (!areSimChannelsValid) {
211  if (m_backtrackerModuleLabel.empty())
212  throw cet::exception("LArPandora")
213  << "LArPandora::CreatePandoraInput - Can't build MCParticle to Hit map." << std::endl
214  << "No SimChannels found with label \"" << m_simChannelModuleLabel
215  << "\", and BackTrackerModuleLabel isn't set in FHiCL." << std::endl;
216 
218  evt, m_hitfinderModuleLabel, m_backtrackerModuleLabel, artHitsToTrackIDEs);
219  }
220  else {
221  mf::LogDebug("LArPandora")
222  << " *** LArPandora::CreatePandoraInput - empty list of sim channels found " << std::endl;
223  }
224  }
225 
227  evt, m_inputSettings, m_driftVolumeMap, artHits, idToHitMap);
228 
231  artMCTruthToMCParticles,
232  artMCParticlesToMCTruth,
233  generatorArtMCParticleVector);
234  LArPandoraInput::CreatePandoraMCLinks2D(m_inputSettings, idToHitMap, artHitsToTrackIDEs);
235  }
236  }
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:484
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar content algorithms and tools with pandora.
Definition: LArContent.cc:468
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar dl content algorithms and tools with pandora.
Definition: LArDLContent.cc:91
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 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().

241  {
242  if (m_enableProduction) {
245 
250  }
251  }
252  }
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 164 of file LArPandora.cxx.

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

165  {
166  IdToHitMap idToHitMap;
167  this->CreatePandoraInput(evt, idToHitMap);
168  this->RunPandoraInstances();
169  this->ProcessPandoraOutput(evt, idToHitMap);
170  this->ResetPandoraInstances();
171  }
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:175
void ProcessPandoraOutput(art::Event &evt, const IdToHitMap &idToHitMap)
Process pandora output particle flow objects.
Definition: LArPandora.cxx:240
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: