58 (
"collections of particle flow objects to be made into showers")
68 produces<std::vector<recob::Shower>>();
69 produces<art::Assns<recob::PFParticle, recob::Shower>>();
78 std::vector<art::Ptr<recob::PFParticle>>
collectPFOs 101 auto showers = std::make_unique<std::vector<recob::Shower>>();
103 = std::make_unique<art::Assns<recob::PFParticle, recob::Shower>>();
108 unsigned int nShowers = particles.size();
112 for (
unsigned int i = 0; i < nShowers; ++i) {
135 PFOshowerAssns->addSingle(particles[i], ptrMaker(i));
140 <<
"Created " <<
showers->size() <<
" showers from " << particles.size()
141 <<
" particle flow objects and " << PFOshowerAssns->size()
142 <<
" associations from " <<
particleTags.size() <<
" collections";
151 std::vector<art::Ptr<recob::PFParticle>>
154 std::vector<art::Ptr<recob::PFParticle>> allPFOs;
157 auto PFOs =
event.getValidHandle<std::vector<recob::PFParticle>>(
tag);
159 std::size_t
const nPFOs = PFOs->size();
160 for (std::size_t i = 0; i < nPFOs; ++i)
161 allPFOs.emplace_back(PFOs, i);
fhicl::Sequence< art::InputTag > particles
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
EDProducer(fhicl::ParameterSet const &pset)
ChannelGroupService::Name Name
#define DEFINE_ART_MODULE(klass)
Creates some dummy showers and associations to PFParticle objects.
virtual void produce(art::Event &event) override
std::vector< art::InputTag > particleTags
List of PFParticle tags.
LArSoft-specific namespace.
std::vector< art::Ptr< recob::PFParticle > > collectPFOs(art::Event const &event) const
Returns a list of PFParticle objects to be made into showers.
AssnsChainShowerMaker(Parameters const &config)
Event finding and building.