7 #include "art/Framework/Core/EDProducer.h"
8 #include "art/Framework/Core/ModuleMacros.h"
9 #include "art/Framework/Principal/Event.h"
11 #include "fhiclcpp/ParameterSet.h"
18 class CollectionSplitting;
31 void produce(art::Event &
e)
override;
65 m_inputProducerLabel(pset.get<std::string>(
"InputProducerLabel")),
66 m_trackProducerLabel(pset.get<std::string>(
"TrackProducerLabel")),
67 m_showerProducerLabel(pset.get<std::string>(
"ShowerProducerLabel")),
68 m_hitProducerLabel(pset.get<std::string>(
"HitProducerLabel")),
69 m_shouldProduceT0s(pset.get<
bool>(
"ShouldProduceT0s",
false))
71 produces< std::vector<recob::PFParticle> >();
72 produces< std::vector<recob::SpacePoint> >();
73 produces< std::vector<recob::Cluster> >();
74 produces< std::vector<recob::Vertex> >();
75 produces< std::vector<recob::Slice> >();
76 produces< std::vector<recob::Track> >();
77 produces< std::vector<recob::Shower> >();
78 produces< std::vector<recob::PCAxis> >();
79 produces< std::vector<larpandoraobj::PFParticleMetadata> >();
81 produces< art::Assns<recob::PFParticle, recob::SpacePoint> >();
82 produces< art::Assns<recob::PFParticle, recob::Cluster> >();
83 produces< art::Assns<recob::PFParticle, recob::Vertex> >();
84 produces< art::Assns<recob::PFParticle, recob::Slice> >();
85 produces< art::Assns<recob::PFParticle, recob::Track> >();
86 produces< art::Assns<recob::PFParticle, recob::Shower> >();
87 produces< art::Assns<recob::PFParticle, recob::PCAxis> >();
88 produces< art::Assns<recob::PFParticle, larpandoraobj::PFParticleMetadata> >();
89 produces< art::Assns<recob::Track, recob::Hit, recob::TrackHitMeta> >();
90 produces< art::Assns<recob::Shower, recob::Hit> >();
91 produces< art::Assns<recob::Shower, recob::PCAxis> >();
92 produces< art::Assns<recob::SpacePoint, recob::Hit> >();
93 produces< art::Assns<recob::Cluster, recob::Hit> >();
94 produces< art::Assns<recob::Slice, recob::Hit> >();
96 if (m_shouldProduceT0s)
98 produces< std::vector<anab::T0> >();
99 produces< art::Assns<recob::PFParticle, anab::T0> >();
std::string m_trackProducerLabel
Label for the track producer using the Pandora instance that produced the collections we want to spli...
void produce(art::Event &e) override
Declaration of signal hit object.
std::string m_showerProducerLabel
Label for the shower producer using the Pandora instance that produced the collections we want to spl...
CollectionSplitting & operator=(CollectionSplitting const &)=delete
A description of all outputs from an instance of pandora with functionality to filter and merge multi...
std::string m_inputProducerLabel
Label for the Pandora instance that produced the collections we want to split up. ...
bool m_shouldProduceT0s
If we should produce T0s (relevant when stitching over multiple drift volumes)
Declaration of cluster object.
Provides recob::Track data product.
CollectionSplitting(fhicl::ParameterSet const &pset)
Class to handle the required producer labels.
std::string m_hitProducerLabel
Label for the hit producer that was used as input to the Pandora instance specified.
void WriteToEvent() const
Write (put) the collections in this LArPandoraEvent to the art::Event.