12 #include "NovaDAQConventions/DAQConventions.h" 17 #include "Utilities/AssociationUtil.h" 50 std::unique_ptr<std::vector<Prediction>> &sliceLIDPreds,
62 const art::Handle<std::vector<rb::Cluster>> &slices_h,
65 const std::vector<bool> &sliceIsMC
93 produces<std::vector<Prediction>>();
94 produces<art::Assns<Prediction, rb::Cluster>>();
119 "Spill Data not found, aborting without horn current information";
126 return spillPot->
isRHC;
144 const art::Handle<std::vector<rb::Cluster>> &slices_h,
147 const std::vector<bool> &sliceIsMC
159 trkLenCorr.
shift(varDict);
166 std::unique_ptr<std::vector<Prediction>> &sliceLIDPreds,
174 <<
"Failed to get slice info" <<
std::endl;
179 slices_h, evt,
config.elasticArmsLabel
181 if (! elasticVxt_fmp.isValid())
190 for (
size_t sliceIdx = 0; sliceIdx < slices_h->size(); ++sliceIdx)
199 auto elastics = elasticVxt_fmp.at(sliceIdx);
202 model, evt, slices_h, sliceIdx, elastics, sliceIsMC
205 sliceLIDPreds->emplace_back(std::move(pred));
208 *(sliceLIDPreds.get()), slicePtr, *(sliceLIDAssoc.get())
215 std::unique_ptr<std::vector<Prediction>> sliceLIDPreds(
216 new std::vector<Prediction>
218 std::unique_ptr<art::Assns<Prediction, rb::Cluster>> sliceLIDAssoc(
224 evt.
put(std::move(sliceLIDPreds));
225 evt.
put(std::move(sliceLIDAssoc));
bool isRHC
is the beam in antineutrino mode, aka RHC
static bool CreateAssn(art::EDProducer const &prod, art::Event &evt, std::vector< T > &a, art::Ptr< U > b, art::Assns< T, U > &assn, size_t indx=UINT_MAX, std::string const &instance=std::string())
Create a 1 to 1 association between a new product and one already in the event.
Filter events based on their run/event numbers.
Prediction predict(const VarDict &varDict)
FillSliceLID & operator=(FillSliceLID const &)=delete
std::string generatorLabel
void reconfigure(const fhicl::ParameterSet &pset)
std::string EnvExpansion(const std::string &inString)
Function to expand environment variables.
Model & selectModel(const art::Event &evt)
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
DEFINE_ART_MODULE(TestTMapFile)
Prediction predict(Model &model, const art::Event &evt, const art::Handle< std::vector< rb::Cluster >> &slices_h, size_t sliceIdx, const std::vector< art::Ptr< rb::Vertex >> &elastics, const std::vector< bool > &sliceIsMC)
ProductID put(std::unique_ptr< PROD > &&product)
Far Detector at Ash River, MN.
T get(std::string const &key) const
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
void shift(VarDict &varDict) const
bool IsFiltered(const art::Event &evt, art::Ptr< T > x, const std::vector< std::string > &labels)
Is this Ptr marked "filtered out"?
Vertex location in position and time.
void produce(art::Event &evt) override
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
bool useOppositeHornCurrentNetwork
void fillSliceLIDPreds(art::Event &evt, std::unique_ptr< std::vector< Prediction >> &sliceLIDPreds, std::unique_ptr< art::Assns< Prediction, rb::Cluster >> &sliceLIDAssoc)
bool getIsRHC(const art::Event &evt)
std::vector< bool > getSliceIsMC(const std::vector< rb::Cluster > &slices)
bool IsNoise() const
Is the noise flag set?
const XML_Char XML_Content * model
FillSliceLID(const fhicl::ParameterSet &pset)
Encapsulate the geometry of one entire detector (near, far, ndos)
std::vector< std::string > fPreselectionLabels