34 class BeamFlashTrackMatchTagger;
74 produces< std::vector<anab::CosmicTag> >();
75 produces< art::Assns<recob::Track, anab::CosmicTag> >();
95 std::vector<recob::OpFlash>
const& flashVector(*flashHandle);
100 std::vector<recob::Track>
const& trackVector(*trackHandle);
103 std::unique_ptr< std::vector<anab::CosmicTag> > cosmicTagPtr (
new std::vector<anab::CosmicTag>);
104 std::vector<anab::CosmicTag> & cosmicTagVector(*cosmicTagPtr);
108 std::vector<size_t> assnTrackTagVector;
113 cosmicTagVector, assnTrackTagVector,
114 providers, pvs, opdigip);
118 for(
size_t track_iter=0; track_iter<assnTrackTagVector.size(); track_iter++){
121 util::CreateAssn(*
this, evt, cosmicTagVector, trk_ptr, *assnTrackTag, assnTrackTagVector[track_iter]);
134 std::vector< std::vector<size_t> >
138 std::vector< std::vector<size_t> > assnHitTagVector;
146 for(
size_t hit_iter=0; hit_iter<assnHitTagVector.size(); hit_iter++){
148 for(
size_t tag_iter=0; tag_iter<assnHitTagVector[hit_iter].size(); tag_iter++)
149 util::CreateAssn(*
this, evt, cosmicTagVector, hit_ptr, *assnHitTag, assnHitTagVector[hit_iter][tag_iter]);
ProviderPackFromServices< Services... > extractProviders()
Returns a provider pack with providers from specified services.
EDProducer(fhicl::ParameterSet const &pset)
void RunCompatibilityCheck(std::vector< recob::OpFlash > const &, std::vector< recob::Track > const &, std::vector< anab::CosmicTag > &, std::vector< size_t > &, Providers_t, phot::PhotonVisibilityService const &, opdet::OpDigiProperties const &)
art framework interface to geometry description
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
#define DEFINE_ART_MODULE(klass)
BeamFlashTrackMatchTaggerAlg fAlg
HitTagAssociatorAlg fHitTagAssnsAlg
ProductID put(std::unique_ptr< PROD > &&edp, std::string const &instance={})
bool CreateAssn(PRODUCER const &prod, art::Event &evt, std::vector< T > const &a, art::Ptr< U > const &b, art::Assns< U, T > &assn, std::string a_instance, size_t indx=UINT_MAX)
Creates a single one-to-one association.
static int max(int a, int b)
The geometry of one entire detector, as served by art.
BeamFlashTrackMatchTagger(fhicl::ParameterSet const &p)
BeamFlashTrackMatchTagger & operator=(BeamFlashTrackMatchTagger const &)=delete
void produce(art::Event &e) override
Declaration of signal hit object.
std::string fTrackModuleLabel
std::vector< std::vector< size_t > > GetAssociatedVectorManyI(art::Handle< art::Assns< T, U > > h, art::Handle< std::vector< T > > index_p)
void MakeHitTagAssociations(std::vector< std::vector< size_t > > const &bridges_per_hit, std::vector< std::vector< size_t > > const &tags_per_bridges, std::vector< std::vector< size_t > > &tags_per_hit)
std::string fHitModuleLabel
std::string fFlashModuleLabel