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.