All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LArPandora.h
Go to the documentation of this file.
1 /**
2  * @file larpandora/LArPandoraInterface/LArPandora.h
3  *
4  * @brief Base producer module for reconstructing recob::PFParticles from recob::Hits
5  *
6  */
7 
8 #ifndef LAR_PANDORA_H
9 #define LAR_PANDORA_H 1
10 
14 
15 #include <string>
16 
17 namespace lar_pandora {
18 
19  /**
20  * @brief LArPandora class
21  */
22  class LArPandora : public ILArPandora {
23  public:
24  /**
25  * @brief Constructor
26  *
27  * @param pset the parameter set
28  */
29  LArPandora(fhicl::ParameterSet const& pset);
30 
31  void beginJob();
32  void produce(art::Event& evt);
33 
34  protected:
35  void CreatePandoraInput(art::Event& evt, IdToHitMap& idToHitMap);
36  void ProcessPandoraOutput(art::Event& evt, const IdToHitMap& idToHitMap);
37 
38  std::string m_configFile; ///< The config file
39 
40  bool
41  m_shouldRunAllHitsCosmicReco; ///< Steering: whether to run all hits cosmic-ray reconstruction
42  bool
43  m_shouldRunStitching; ///< Steering: whether to stitch cosmic-ray muons crossing between volumes
44  bool m_shouldRunCosmicHitRemoval; ///< Steering: whether to remove hits from tagged cosmic-rays
45  bool
46  m_shouldRunSlicing; ///< Steering: whether to slice events into separate regions for processing
47  bool
48  m_shouldRunNeutrinoRecoOption; ///< Steering: whether to run neutrino reconstruction for each slice
49  bool
50  m_shouldRunCosmicRecoOption; ///< Steering: whether to run cosmic-ray reconstruction for each slice
51  bool
52  m_shouldPerformSliceId; ///< Steering: whether to identify slices and select most appropriate pfos
53  bool m_shouldProduceAllOutcomes; ///< Steering: whether to produce all reconstruction outcomes
54  bool m_printOverallRecoStatus; ///< Steering: whether to print current operation status messages
55 
56  std::string m_generatorModuleLabel; ///< The generator module label
57  std::string m_geantModuleLabel; ///< The geant module label
58  std::string m_simChannelModuleLabel; ///< The SimChannel producer module label
59  std::string m_hitfinderModuleLabel; ///< The hit finder module label
60  std::string m_backtrackerModuleLabel; ///< The back tracker module label
61 
62  std::string m_allOutcomesInstanceLabel; ///< The instance label for all outcomes
63 
64  bool m_enableProduction; ///< Whether to persist output products
65  bool m_enableDetectorGaps; ///< Whether to pass detector gap information to Pandora instances
66  bool
67  m_enableMCParticles; ///< Whether to pass mc information to Pandora instances to aid development
68  bool
69  m_disableRealDataCheck; ///< Whether to check if the input file contains real data before accessing MC information
70  bool m_lineGapsCreated; ///< Book-keeping: whether line gap creation has been called
71 
72  LArPandoraInput::Settings m_inputSettings; ///< The lar pandora input settings
73  LArPandoraOutput::Settings m_outputSettings; ///< The lar pandora output settings
74 
75  LArDriftVolumeMap m_driftVolumeMap; ///< The map from volume id to drift volume
76  };
77 
78 } // namespace lar_pandora
79 
80 #endif // #ifndef LAR_PANDORA_H
Interface class for LArPandora producer modules, which reconstruct recob::PFParticles from recob::Hit...
std::string m_allOutcomesInstanceLabel
The instance label for all outcomes.
Definition: LArPandora.h:62
void CreatePandoraInput(art::Event &evt, IdToHitMap &idToHitMap)
Create pandora input hits, mc particles etc.
Definition: LArPandora.cxx:175
ILArPandora class.
Definition: ILArPandora.h:26
std::map< unsigned int, LArDriftVolume > LArDriftVolumeMap
bool m_shouldRunAllHitsCosmicReco
Steering: whether to run all hits cosmic-ray reconstruction.
Definition: LArPandora.h:41
bool m_disableRealDataCheck
Whether to check if the input file contains real data before accessing MC information.
Definition: LArPandora.h:69
bool m_shouldProduceAllOutcomes
Steering: whether to produce all reconstruction outcomes.
Definition: LArPandora.h:53
std::map< int, art::Ptr< recob::Hit > > IdToHitMap
Definition: ILArPandora.h:21
Helper functions for processing outputs from pandora.
std::string m_backtrackerModuleLabel
The back tracker module label.
Definition: LArPandora.h:60
bool m_lineGapsCreated
Book-keeping: whether line gap creation has been called.
Definition: LArPandora.h:70
bool m_shouldRunCosmicHitRemoval
Steering: whether to remove hits from tagged cosmic-rays.
Definition: LArPandora.h:44
bool m_shouldRunNeutrinoRecoOption
Steering: whether to run neutrino reconstruction for each slice.
Definition: LArPandora.h:48
LArDriftVolumeMap m_driftVolumeMap
The map from volume id to drift volume.
Definition: LArPandora.h:75
bool m_printOverallRecoStatus
Steering: whether to print current operation status messages.
Definition: LArPandora.h:54
std::string m_generatorModuleLabel
The generator module label.
Definition: LArPandora.h:56
std::string m_geantModuleLabel
The geant module label.
Definition: LArPandora.h:57
void ProcessPandoraOutput(art::Event &evt, const IdToHitMap &idToHitMap)
Process pandora output particle flow objects.
Definition: LArPandora.cxx:241
bool m_shouldRunCosmicRecoOption
Steering: whether to run cosmic-ray reconstruction for each slice.
Definition: LArPandora.h:50
LArPandora(fhicl::ParameterSet const &pset)
Constructor.
Definition: LArPandora.cxx:41
std::string m_configFile
The config file.
Definition: LArPandora.h:38
bool m_enableDetectorGaps
Whether to pass detector gap information to Pandora instances.
Definition: LArPandora.h:65
void produce(art::Event &evt)
Definition: LArPandora.cxx:163
bool m_shouldRunStitching
Steering: whether to stitch cosmic-ray muons crossing between volumes.
Definition: LArPandora.h:43
LArPandoraInput::Settings m_inputSettings
The lar pandora input settings.
Definition: LArPandora.h:72
LArPandoraOutput::Settings m_outputSettings
The lar pandora output settings.
Definition: LArPandora.h:73
Helper functions for providing inputs to pandora.
bool m_shouldRunSlicing
Steering: whether to slice events into separate regions for processing.
Definition: LArPandora.h:46
TCEvent evt
Definition: DataStructs.cxx:8
bool m_enableMCParticles
Whether to pass mc information to Pandora instances to aid development.
Definition: LArPandora.h:67
LArPandora class.
Definition: LArPandora.h:22
bool m_enableProduction
Whether to persist output products.
Definition: LArPandora.h:64
std::string m_simChannelModuleLabel
The SimChannel producer module label.
Definition: LArPandora.h:58
bool m_shouldPerformSliceId
Steering: whether to identify slices and select most appropriate pfos.
Definition: LArPandora.h:52
std::string m_hitfinderModuleLabel
The hit finder module label.
Definition: LArPandora.h:59