82   std::unique_ptr< std::vector<recob::OpFlash> > opflashes(
new std::vector<recob::OpFlash>);
 
   83   std::unique_ptr< art::Assns <recob::OpHit, recob::OpFlash> > flash2hit_assn_v  ( 
new art::Assns<recob::OpHit, recob::OpFlash> );
 
   85   art::Handle<std::vector<recob::OpHit> > ophit_h;
 
   89   if(!ophit_h.isValid()) {
 
   90     std::cerr<<
"\033[93m[ERROR]\033[00m ... could not locate OpHit!"<<std::endl;
 
   91     throw std::exception();
 
   96   for(
auto const& oph : *ophit_h) {
 
   98     if(trigger_time > 1.e20) trigger_time = oph.PeakTimeAbs() - oph.PeakTime();
 
  103     loph.
channel = oph.OpChannel();
 
  104     ophits.emplace_back(std::move(loph));
 
  109   for(
const auto& lflash :  flash_v) {
 
  111     double Ycenter, Zcenter, Ywidth, Zwidth;
 
  115                          trigger_time + lflash.time,
 
  116                          (trigger_time + lflash.time) / 1600.,
 
  119                          Ycenter, Ywidth, Zcenter, Zwidth);
 
  120     opflashes->emplace_back(std::move(flash));
 
  122     for(
auto const& hitidx : lflash.asshit_idx) {
 
  123       const art::Ptr<recob::OpHit> hit_ptr(ophit_h, hitidx);
 
  128   e.put(std::move(opflashes));
 
  129   e.put(std::move(flash2hit_assn_v));
 
std::vector< pmtana::LiteOpHit_t > LiteOpHitArray_t
BEGIN_PROLOG could also be cerr
::pmtana::PECalib _pecalib
std::string _hit_producer
timescale_traits< TriggerTimeCategory >::time_point_t trigger_time
A point in time on the trigger time scale. 
double Calibrate(const size_t opdet, const double area) const 
bool CreateAssn(art::Event &evt, std::vector< T > const &a, art::Ptr< U > const &b, art::Assns< U, T > &assn, std::string a_instance, size_t index=UINT_MAX)
Creates a single one-to-one association. 
size_t OpDetFromOpChannel(size_t opch)
::pmtana::FlashFinderManager _mgr
void GetFlashLocation(std::vector< double >, double &, double &, double &, double &)
LiteOpFlashArray_t RecoFlash(const LiteOpHitArray_t &ophits) const