LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
Prints the content of all the ParticleFlow particles on screen. More...
Classes | |
struct | Config |
Public Types | |
using | Parameters = art::EDAnalyzer::Table< Config > |
using | WorkerType = WorkerT< EDAnalyzer > |
using | ModuleType = EDAnalyzer |
Public Member Functions | |
DumpPFParticles (Parameters const &config) | |
Default constructor. More... | |
virtual void | analyze (const art::Event &evt) override |
Does the printing. More... | |
std::string | workerType () const |
bool | modifiesEvent () const |
void | registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &) |
std::string const & | processName () const |
bool | wantAllEvents () const |
bool | wantEvent (Event const &e) |
fhicl::ParameterSetID | selectorConfig () const |
art::Handle< art::TriggerResults > | getTriggerResults (Event const &e) const |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | consumes (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | consumesView (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | mayConsume (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | mayConsumeView (InputTag const &it) |
base_engine_t & | createEngine (seed_t seed) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label) |
seed_t | get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1) |
Static Public Member Functions | |
static cet::exempt_ptr< Consumer > | non_module_context () |
Protected Member Functions | |
CurrentProcessingContext const * | currentContext () const |
detail::CachedProducts & | cachedProducts () |
void | validateConsumedProduct (BranchType const bt, ProductInfo const &pi) |
void | prepareForJob (fhicl::ParameterSet const &pset) |
void | showMissingConsumes () const |
Private Member Functions | |
void | MakePFParticleGraph (art::Event const &event, art::ValidHandle< std::vector< recob::PFParticle >> const &handle) const |
Static Private Member Functions | |
static std::string | DotFileName (art::EventID const &evtID, art::Provenance const &prodInfo) |
Private Attributes | |
art::InputTag | fInputTag |
input tag of the PFParticle product More... | |
std::string | fOutputCategory |
category for LogInfo output More... | |
bool | fPrintHexFloats |
whether to print floats in base 16 More... | |
unsigned int | fMaxDepth |
maximum generation to print (0: only primaries) More... | |
bool | fMakeEventGraphs |
whether to create one DOT file per event More... | |
Prints the content of all the ParticleFlow particles on screen.
This analyser prints the content of all the ParticleFlow particles into the LogInfo/LogVerbatim stream.
"DumpPFParticles"
): the category used for the output (useful for filtering)false
): print all the floating point numbers in base 16false
): creates a DOT file for each event, with a graph of PFParticle relations; each file is named as: ProcessName_ModuleLabel_InstanceName_Run::_Subrun::_Event::_particles.dot
, where the the input label elements refer to the data product being plotted.When MakeParticleGraphs configuration option is activated, a file is created for each event, that contains the particle flow tree in GraphViz format. The GraphViz dot
command can be used to render it into a PDF, SVG, EPS or one of the many supported bitmap formats. The typical command to use is:
dot -Tpdf -oPMTrk.pdf PMTrk.dot
A bash
command to convert all files into a OutputFormat
format:
OutputFormat='pdf' for DotFile in *.dot ; do OutputFile="${DotFile%.dot}.${OutputFormat}" [[ "$OutputFile" -ot "$DotFile" ]] || continue # up to date already echo "${DotFile} => ${OutputFile} ..." dot -T"$OutputFormat" -o"$OutputFile" "$DotFile" || break done
which will also skip files already converted.
The output shows one cell ("node") per particle. The format of the node follows these prescriptions:
#
)The relations between particles in the flow are represented by connecting lines ("edges"). Connection information is redundant: the parent particle should have the daughter in the daughter list, and the daughter should have the parent particle referenced as such. Since the connection is usually from two sources, there are usually two arrow heads, each one close to the particle that provides information on that connection; all arrow heads point from parent to daughter.
If you are trying to interpret an existing diagram, the following list is more direct to the point. Nodes: represent particles (see above for the label content)
Connecting lines ("edges"):
Definition at line 132 of file DumpPFParticles_module.cc.
|
inherited |
Definition at line 39 of file EDAnalyzer.h.
Definition at line 169 of file DumpPFParticles_module.cc.
|
inherited |
Definition at line 38 of file EDAnalyzer.h.
|
explicit |
Default constructor.
Definition at line 1120 of file DumpPFParticles_module.cc.
References DotFileName(), fMaxDepth, and max.
|
overridevirtual |
Does the printing.
Definition at line 1176 of file DumpPFParticles_module.cc.
References DEFINE_ART_MODULE, art::InputTag::encode(), fInputTag, fMakeEventGraphs, fMaxDepth, fOutputCategory, fPrintHexFloats, art::DataViewImpl::getValidHandle(), art::Event::id(), and MakePFParticleGraph().
|
inlineprotectedinherited |
Definition at line 79 of file EventObserverBase.h.
References art::EventObserverBase::selectors_.
Referenced by art::EDAnalyzer::doEvent(), and art::OutputModule::doWriteEvent().
|
inherited |
|
inherited |
Definition at line 147 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 162 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 172 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 26 of file EngineCreator.cc.
References art::EngineCreator::rng().
Referenced by evgen::CosmicsGen::CosmicsGen(), rndm::NuRandomService::createEngine(), cluster::fuzzyCluster::fuzzyCluster(), cluster::HoughLineFinder::HoughLineFinder(), art::MixFilter< T >::initEngine_(), larg4::LArG4::LArG4(), evgen::LightSource::LightSource(), evgen::NeutronOsc::NeutronOsc(), evgen::NucleonDecay::NucleonDecay(), opdet::OpMCDigi::OpMCDigi(), opdet::OptDetDigitizer::OptDetDigitizer(), phot::PhotonLibraryPropagation::PhotonLibraryPropagation(), detsim::SimDriftElectrons::SimDriftElectrons(), evgen::SingleGen::SingleGen(), evgen::SNNueAr40CCGen::SNNueAr40CCGen(), ToyOneShowerGen::ToyOneShowerGen(), and trkf::Track3DKalman::Track3DKalman().
|
inherited |
Definition at line 32 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
inherited |
Definition at line 40 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
protectedinherited |
Definition at line 114 of file EDAnalyzer.cc.
References art::EDAnalyzer::current_context_.
Referenced by art::EDAnalyzer::workerType().
|
staticprivate |
Definition at line 1137 of file DumpPFParticles_module.cc.
References art::EventID::event(), art::Provenance::moduleLabel(), art::Provenance::processName(), art::Provenance::productInstanceName(), art::EventID::run(), art::EventID::subRun(), and util::flags::to_string().
Referenced by DumpPFParticles(), and MakePFParticleGraph().
|
inherited |
Definition at line 49 of file EngineCreator.cc.
References fhicl::ParameterSet::get().
Referenced by art::MixFilter< T >::initEngine_().
|
inlineinherited |
Definition at line 61 of file EventObserverBase.h.
References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.
Referenced by art::OutputModule::doWriteEvent().
|
private |
Definition at line 1150 of file DumpPFParticles_module.cc.
References DotFileName(), art::EventID::event(), art::EventID::run(), and art::EventID::subRun().
Referenced by analyze().
|
inherited |
|
inherited |
Definition at line 190 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 205 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 215 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inlineinherited |
Definition at line 25 of file EventObserverBase.h.
|
staticinherited |
Definition at line 76 of file Consumer.cc.
Referenced by art::RootOutput::beginSubRun(), art::OutputModule::doBeginRun(), art::OutputModule::doBeginSubRun(), art::OutputModule::doEndRun(), art::OutputModule::doEndSubRun(), art::ProducingService::doPostReadEvent(), art::ProducingService::doPostReadRun(), art::ProducingService::doPostReadSubRun(), art::OutputModule::doWriteEvent(), art::ProcessPackage< L >::postScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::Run >::End::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::End::postScheduleSignal(), art::ProcessPackage< L >::preScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::preScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::preScheduleSignal(), art::EventProcessor::readEvent(), art::EventProcessor::readRun(), art::EmptyEvent::readRun_(), art::EventProcessor::readSubRun(), and art::EmptyEvent::readSubRun_().
|
protectedinherited |
Definition at line 89 of file Consumer.cc.
References fhicl::ParameterSet::get_if_present().
Referenced by art::EDProducer::doBeginJob(), art::EDFilter::doBeginJob(), and art::EDAnalyzer::doBeginJob().
|
inlineinherited |
Definition at line 41 of file EventObserverBase.h.
References art::EventObserverBase::process_name_.
Referenced by art::FileDumperOutput::printPrincipal(), and art::RootOutput::RootOutput().
|
inlineinherited |
Definition at line 33 of file EventObserverBase.h.
|
inlineinherited |
Definition at line 56 of file EventObserverBase.h.
References art::EventObserverBase::selector_config_id_.
Referenced by art::RootOutputFile::writeOne().
|
protectedinherited |
Definition at line 125 of file Consumer.cc.
Referenced by art::EDProducer::doEndJob(), art::EDFilter::doEndJob(), art::EDAnalyzer::doEndJob(), and art::RootOutput::endJob().
|
protectedinherited |
Definition at line 101 of file Consumer.cc.
References art::errors::ProductRegistrationFailure.
|
inlineinherited |
Definition at line 46 of file EventObserverBase.h.
References art::EventObserverBase::wantAllEvents_.
Referenced by art::EDAnalyzer::doEvent(), art::OutputModule::doEvent(), art::OutputModule::doWriteEvent(), art::RootOutput::RootOutput(), and art::OutputWorker::wantAllEvents().
|
inlineinherited |
Definition at line 51 of file EventObserverBase.h.
References art::EventObserverBase::selectors_, and art::detail::CachedProducts::wantEvent().
Referenced by art::EDAnalyzer::doEvent(), art::OutputModule::doEvent(), and art::OutputModule::doWriteEvent().
|
inlineinherited |
Definition at line 109 of file EDAnalyzer.h.
References art::EDAnalyzer::currentContext().
|
private |
input tag of the PFParticle product
Definition at line 179 of file DumpPFParticles_module.cc.
Referenced by analyze().
|
private |
whether to create one DOT file per event
Definition at line 183 of file DumpPFParticles_module.cc.
Referenced by analyze().
|
private |
maximum generation to print (0: only primaries)
Definition at line 182 of file DumpPFParticles_module.cc.
Referenced by analyze(), and DumpPFParticles().
|
private |
category for LogInfo output
Definition at line 180 of file DumpPFParticles_module.cc.
Referenced by analyze().
|
private |
whether to print floats in base 16
Definition at line 181 of file DumpPFParticles_module.cc.
Referenced by analyze().