LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lar_pandora::LArPandora Class Referenceabstract

LArPandora class. More...

#include "LArPandora.h"

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

Public Types

using ModuleType = EDProducer
 
template<typename UserConfig , typename KeysToIgnore = void>
using Table = Modifier::Table< UserConfig, KeysToIgnore >
 

Public Member Functions

 LArPandora (fhicl::ParameterSet const &pset)
 Constructor. 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)
 
virtual void CreatePandoraInstances ()=0
 Create pandora instances. More...
 
virtual void ConfigurePandoraInstances ()=0
 Configure pandora instances. More...
 
virtual void DeletePandoraInstances ()=0
 Delete pandora instances. More...
 
virtual void RunPandoraInstances ()=0
 Run all associated pandora instances. More...
 
virtual void ResetPandoraInstances ()=0
 Reset all associated pandora instances. More...
 
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...
 

Detailed Description

LArPandora class.

Definition at line 24 of file LArPandora.h.

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::LArPandora::LArPandora ( fhicl::ParameterSet const &  pset)

Constructor.

Parameters
psetthe parameter set

Definition at line 42 of file LArPandora.cxx.

References ConstructHitCollectionToolParameterSet(), m_allOutcomesInstanceLabel, lar_pandora::LArPandoraInput::Settings::m_dEdX_mip, lar_pandora::LArPandoraInput::Settings::m_dx_cm, m_enableProduction, m_hitfinderModuleLabel, lar_pandora::LArPandoraOutput::Settings::m_hitfinderModuleLabel, m_inputSettings, lar_pandora::LArPandoraInput::Settings::m_int_cm, lar_pandora::LArPandoraOutput::Settings::m_isNeutrinoRecoOnlyNoSlicing, lar_pandora::LArPandoraInput::Settings::m_mips_if_negative, lar_pandora::LArPandoraInput::Settings::m_mips_max, lar_pandora::LArPandoraInput::Settings::m_mips_to_gev, m_outputSettings, lar_pandora::LArPandoraInput::Settings::m_rad_cm, lar_pandora::LArPandoraInput::Settings::m_recombination_factor, m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceSlices, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceTestBeamInteractionVertices, m_shouldRunCosmicRecoOption, m_shouldRunNeutrinoRecoOption, m_shouldRunSlicing, m_shouldRunStitching, lar_pandora::LArPandoraOutput::Settings::m_shouldRunStitching, lar_pandora::LArPandoraOutput::Settings::m_testBeamInteractionVerticesInstanceLabel, lar_pandora::LArPandoraInput::Settings::m_uidOffset, lar_pandora::LArPandoraInput::Settings::m_useActiveBoundingBox, lar_pandora::LArPandoraInput::Settings::m_useBirksCorrection, and lar_pandora::LArPandoraInput::Settings::m_useHitWidths.

43  : ILArPandora(pset)
44  , m_configFile(pset.get<std::string>("ConfigFile"))
45  , m_shouldRunAllHitsCosmicReco(pset.get<bool>("ShouldRunAllHitsCosmicReco"))
46  , m_shouldRunStitching(pset.get<bool>("ShouldRunStitching"))
47  , m_shouldRunCosmicHitRemoval(pset.get<bool>("ShouldRunCosmicHitRemoval"))
48  , m_shouldRunSlicing(pset.get<bool>("ShouldRunSlicing"))
49  , m_shouldRunNeutrinoRecoOption(pset.get<bool>("ShouldRunNeutrinoRecoOption"))
50  , m_shouldRunCosmicRecoOption(pset.get<bool>("ShouldRunCosmicRecoOption"))
51  , m_shouldPerformSliceId(pset.get<bool>("ShouldPerformSliceId"))
52  , m_shouldProduceAllOutcomes(pset.get<bool>("ProduceAllOutcomes", false))
53  , m_printOverallRecoStatus(pset.get<bool>("PrintOverallRecoStatus", false))
54  , m_generatorModuleLabel(pset.get<std::string>("GeneratorModuleLabel", ""))
55  , m_geantModuleLabel(pset.get<std::string>("GeantModuleLabel", "largeant"))
56  , m_simChannelModuleLabel(pset.get<std::string>("SimChannelModuleLabel", m_geantModuleLabel))
57  , m_hitfinderModuleLabel(pset.get<std::string>("HitFinderModuleLabel"))
58  , m_backtrackerModuleLabel(pset.get<std::string>("BackTrackerModuleLabel", ""))
59  , m_allOutcomesInstanceLabel(pset.get<std::string>("AllOutcomesInstanceLabel", "allOutcomes"))
60  , m_enableProduction(pset.get<bool>("EnableProduction", true))
61  , m_enableDetectorGaps(pset.get<bool>("EnableLineGaps", true))
62  , m_enableMCParticles(pset.get<bool>("EnableMCParticles", false))
63  , m_disableRealDataCheck(pset.get<bool>("DisableRealDataCheck", false))
64  , m_lineGapsCreated(false)
66  art::make_tool<IHitCollectionTool>(this->ConstructHitCollectionToolParameterSet(pset))}
67  {
68  m_inputSettings.m_useHitWidths = pset.get<bool>("UseHitWidths", true);
69  m_inputSettings.m_useBirksCorrection = pset.get<bool>("UseBirksCorrection", false);
70  m_inputSettings.m_useActiveBoundingBox = pset.get<bool>("UseActiveBoundingBox", false);
71  m_inputSettings.m_uidOffset = pset.get<int>("UidOffset", 100000000);
72  m_inputSettings.m_dx_cm = pset.get<double>("DefaultHitWidth", 0.5);
73  m_inputSettings.m_int_cm = pset.get<double>("InteractionLength", 84.);
74  m_inputSettings.m_rad_cm = pset.get<double>("RadiationLength", 14.);
75  m_inputSettings.m_dEdX_mip = pset.get<double>("dEdXmip", 2.);
76  m_inputSettings.m_mips_max = pset.get<double>("MipsMax", 50.);
77  m_inputSettings.m_mips_if_negative = pset.get<double>("MipsIfNegative", 0.);
78  m_inputSettings.m_mips_to_gev = pset.get<double>("MipsToGeV", 3.5e-4);
79  m_inputSettings.m_recombination_factor = pset.get<double>("RecombinationFactor", 0.63);
81  m_outputSettings.m_shouldProduceSlices = pset.get<bool>("ShouldProduceSlices", true);
83  pset.get<bool>("ShouldProduceTestBeamInteractionVertices", false);
85  "TestBeamInteractionVerticesInstanceLabel", "testBeamInteractionVertices");
89 
90  if (m_enableProduction) {
91  // Set up the instance names to produces
92  std::vector<std::string> instanceNames({""});
93  if (m_shouldProduceAllOutcomes) instanceNames.push_back(m_allOutcomesInstanceLabel);
94 
95  for (const std::string& instanceName : instanceNames) {
96  produces<std::vector<recob::PFParticle>>(instanceName);
97  produces<std::vector<recob::SpacePoint>>(instanceName);
98  produces<std::vector<recob::Cluster>>(instanceName);
99  produces<std::vector<recob::Vertex>>(instanceName);
100  produces<std::vector<larpandoraobj::PFParticleMetadata>>(instanceName);
101 
102  produces<art::Assns<recob::PFParticle, larpandoraobj::PFParticleMetadata>>(instanceName);
103  produces<art::Assns<recob::PFParticle, recob::SpacePoint>>(instanceName);
104  produces<art::Assns<recob::PFParticle, recob::Cluster>>(instanceName);
105  produces<art::Assns<recob::PFParticle, recob::Vertex>>(instanceName);
106  produces<art::Assns<recob::SpacePoint, recob::Hit>>(instanceName);
107  produces<art::Assns<recob::Cluster, recob::Hit>>(instanceName);
108 
110  // ATTN: Test beam interaction vertex instance label appended to current instance name to preserve unique label in multiple instance case
111  produces<std::vector<recob::Vertex>>(
113  produces<art::Assns<recob::PFParticle, recob::Vertex>>(
115  }
116 
118  produces<std::vector<anab::T0>>(instanceName);
119  produces<art::Assns<recob::PFParticle, anab::T0>>(instanceName);
120  }
121 
123  produces<std::vector<recob::Slice>>(instanceName);
124  produces<art::Assns<recob::Slice, recob::Hit>>(instanceName);
125  produces<art::Assns<recob::PFParticle, recob::Slice>>(instanceName);
126  }
127  }
128  }
129  }
std::string m_allOutcomesInstanceLabel
The instance label for all outcomes.
Definition: LArPandora.h:66
bool m_shouldRunAllHitsCosmicReco
Steering: whether to run all hits cosmic-ray reconstruction.
Definition: LArPandora.h:45
std::string m_testBeamInteractionVerticesInstanceLabel
The label for the test beam interaction vertices.
bool m_disableRealDataCheck
Whether to check if the input file contains real data before accessing MC information.
Definition: LArPandora.h:73
bool m_shouldProduceAllOutcomes
Steering: whether to produce all reconstruction outcomes.
Definition: LArPandora.h:57
bool m_isNeutrinoRecoOnlyNoSlicing
If we are running the neutrino reconstruction only with no slicing.
std::string m_backtrackerModuleLabel
The back tracker module label.
Definition: LArPandora.h:64
bool m_lineGapsCreated
Book-keeping: whether line gap creation has been called.
Definition: LArPandora.h:74
bool m_shouldRunCosmicHitRemoval
Steering: whether to remove hits from tagged cosmic-rays.
Definition: LArPandora.h:48
std::string m_hitfinderModuleLabel
The hit finder module label.
fhicl::ParameterSet ConstructHitCollectionToolParameterSet(const fhicl::ParameterSet &pset)
Definition: LArPandora.cxx:256
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
std::string m_generatorModuleLabel
The generator module label.
Definition: LArPandora.h:60
std::string m_geantModuleLabel
The geant module label.
Definition: LArPandora.h:61
bool m_shouldRunCosmicRecoOption
Steering: whether to run cosmic-ray reconstruction for each slice.
Definition: LArPandora.h:54
bool m_shouldProduceTestBeamInteractionVertices
Whether to write the test beam interaction vertices in a separate collection.
std::string m_configFile
The config file.
Definition: LArPandora.h:42
bool m_enableDetectorGaps
Whether to pass detector gap information to Pandora instances.
Definition: LArPandora.h:69
bool m_shouldRunStitching
Steering: whether to stitch cosmic-ray muons crossing between volumes.
Definition: LArPandora.h:47
LArPandoraInput::Settings m_inputSettings
The lar pandora input settings.
Definition: LArPandora.h:78
LArPandoraOutput::Settings m_outputSettings
The lar pandora output settings.
Definition: LArPandora.h:79
std::unique_ptr< IHitCollectionTool > m_collectHitsTool
art tool used to collect the hits
Definition: LArPandora.h:76
bool m_shouldProduceSlices
Whether to produce output slices e.g. may not want to do this if only (re)processing single slices...
ILArPandora(fhicl::ParameterSet const &pset)
Constructor.
Definition: ILArPandora.h:90
bool m_shouldRunSlicing
Steering: whether to slice events into separate regions for processing.
Definition: LArPandora.h:50
bool m_enableMCParticles
Whether to pass mc information to Pandora instances to aid development.
Definition: LArPandora.h:71
bool m_enableProduction
Whether to persist output products.
Definition: LArPandora.h:68
std::string m_simChannelModuleLabel
The SimChannel producer module label.
Definition: LArPandora.h:62
bool m_shouldPerformSliceId
Steering: whether to identify slices and select most appropriate pfos.
Definition: LArPandora.h:56
std::string m_hitfinderModuleLabel
The hit finder module label.
Definition: LArPandora.h:63

Member Function Documentation

void lar_pandora::LArPandora::beginJob ( )
virtual

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(), m_driftVolumeMap, m_enableDetectorGaps, m_inputSettings, 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.
virtual void lar_pandora::ILArPandora::ConfigurePandoraInstances ( )
protectedpure virtualinherited

Configure pandora instances.

Implemented in lar_pandora::StandardPandora.

Referenced by beginJob().

fhicl::ParameterSet lar_pandora::LArPandora::ConstructHitCollectionToolParameterSet ( const fhicl::ParameterSet pset)
protected

Definition at line 256 of file LArPandora.cxx.

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

Referenced by 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 
)
protectedvirtual

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(), m_backtrackerModuleLabel, m_collectHitsTool, m_disableRealDataCheck, m_driftVolumeMap, m_enableDetectorGaps, m_enableMCParticles, m_geantModuleLabel, m_generatorModuleLabel, m_hitfinderModuleLabel, m_inputSettings, m_lineGapsCreated, and m_simChannelModuleLabel.

Referenced by 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
virtual void lar_pandora::ILArPandora::CreatePandoraInstances ( )
protectedpure virtualinherited

Create pandora instances.

Implemented in lar_pandora::StandardPandora.

Referenced by beginJob().

virtual void lar_pandora::ILArPandora::DeletePandoraInstances ( )
protectedpure virtualinherited

Delete pandora instances.

Implemented in lar_pandora::StandardPandora.

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 
)
protectedvirtual

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 m_allOutcomesInstanceLabel, lar_pandora::LArPandoraOutput::Settings::m_allOutcomesInstanceLabel, m_enableProduction, m_outputSettings, m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceAllOutcomes, and lar_pandora::LArPandoraOutput::ProduceArtOutput().

Referenced by produce().

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)
virtual

Implements art::EDProducer.

Definition at line 164 of file LArPandora.cxx.

References CreatePandoraInput(), 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 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
virtual void lar_pandora::ILArPandora::ResetPandoraInstances ( )
protectedpure virtualinherited

Reset all associated pandora instances.

Implemented in lar_pandora::StandardPandora.

Referenced by produce().

virtual void lar_pandora::ILArPandora::RunPandoraInstances ( )
protectedpure virtualinherited

Run all associated pandora instances.

Implemented in lar_pandora::StandardPandora.

Referenced by produce().

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
protected

The instance label for all outcomes.

Definition at line 66 of file LArPandora.h.

Referenced by LArPandora(), and ProcessPandoraOutput().

std::string lar_pandora::LArPandora::m_backtrackerModuleLabel
protected

The back tracker module label.

Definition at line 64 of file LArPandora.h.

Referenced by CreatePandoraInput().

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

art tool used to collect the hits

Definition at line 76 of file LArPandora.h.

Referenced by CreatePandoraInput().

std::string lar_pandora::LArPandora::m_configFile
protected

The config file.

Definition at line 42 of file LArPandora.h.

Referenced by lar_pandora::StandardPandora::ConfigurePandoraInstances().

bool lar_pandora::LArPandora::m_disableRealDataCheck
protected

Whether to check if the input file contains real data before accessing MC information.

Definition at line 73 of file LArPandora.h.

Referenced by CreatePandoraInput().

LArDriftVolumeMap lar_pandora::LArPandora::m_driftVolumeMap
protected

The map from volume id to drift volume.

Definition at line 81 of file LArPandora.h.

Referenced by beginJob(), and CreatePandoraInput().

bool lar_pandora::LArPandora::m_enableDetectorGaps
protected

Whether to pass detector gap information to Pandora instances.

Definition at line 69 of file LArPandora.h.

Referenced by beginJob(), and CreatePandoraInput().

bool lar_pandora::LArPandora::m_enableMCParticles
protected

Whether to pass mc information to Pandora instances to aid development.

Definition at line 71 of file LArPandora.h.

Referenced by CreatePandoraInput().

bool lar_pandora::LArPandora::m_enableProduction
protected

Whether to persist output products.

Definition at line 68 of file LArPandora.h.

Referenced by LArPandora(), and ProcessPandoraOutput().

std::string lar_pandora::LArPandora::m_geantModuleLabel
protected

The geant module label.

Definition at line 61 of file LArPandora.h.

Referenced by CreatePandoraInput().

std::string lar_pandora::LArPandora::m_generatorModuleLabel
protected

The generator module label.

Definition at line 60 of file LArPandora.h.

Referenced by CreatePandoraInput().

std::string lar_pandora::LArPandora::m_hitfinderModuleLabel
protected

The hit finder module label.

Definition at line 63 of file LArPandora.h.

Referenced by CreatePandoraInput(), and LArPandora().

LArPandoraInput::Settings lar_pandora::LArPandora::m_inputSettings
protected

The lar pandora input settings.

Definition at line 78 of file LArPandora.h.

Referenced by beginJob(), CreatePandoraInput(), and LArPandora().

bool lar_pandora::LArPandora::m_lineGapsCreated
protected

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

Definition at line 74 of file LArPandora.h.

Referenced by CreatePandoraInput().

LArPandoraOutput::Settings lar_pandora::LArPandora::m_outputSettings
protected

The lar pandora output settings.

Definition at line 79 of file LArPandora.h.

Referenced by beginJob(), LArPandora(), and ProcessPandoraOutput().

bool lar_pandora::LArPandora::m_printOverallRecoStatus
protected

Steering: whether to print current operation status messages.

Definition at line 58 of file LArPandora.h.

Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldPerformSliceId
protected

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

Definition at line 56 of file LArPandora.h.

Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldProduceAllOutcomes
protected

Steering: whether to produce all reconstruction outcomes.

Definition at line 57 of file LArPandora.h.

Referenced by LArPandora(), and ProcessPandoraOutput().

bool lar_pandora::LArPandora::m_shouldRunAllHitsCosmicReco
protected

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

Definition at line 45 of file LArPandora.h.

Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunCosmicHitRemoval
protected

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

Definition at line 48 of file LArPandora.h.

Referenced by lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunCosmicRecoOption
protected

Steering: whether to run cosmic-ray reconstruction for each slice.

Definition at line 54 of file LArPandora.h.

Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunNeutrinoRecoOption
protected

Steering: whether to run neutrino reconstruction for each slice.

Definition at line 52 of file LArPandora.h.

Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunSlicing
protected

Steering: whether to slice events into separate regions for processing.

Definition at line 50 of file LArPandora.h.

Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

bool lar_pandora::LArPandora::m_shouldRunStitching
protected

Steering: whether to stitch cosmic-ray muons crossing between volumes.

Definition at line 47 of file LArPandora.h.

Referenced by LArPandora(), and lar_pandora::StandardPandora::ProvideExternalSteeringParameters().

std::string lar_pandora::LArPandora::m_simChannelModuleLabel
protected

The SimChannel producer module label.

Definition at line 62 of file LArPandora.h.

Referenced by CreatePandoraInput().


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