3131#include " sbndaq-artdaq-core/Overlays/FragmentType.hh"
3232#include " sbnobj/SBND/Timing/DAQTimestamp.hh"
3333#include " sbndcode/Decoders/PTB/sbndptb.h"
34- #include " sbndcode/Decoders/PMT/sbndpmt .h"
34+ #include " sbndcode/Timing/SBNDRawTimingObj .h"
3535
3636#include " art_root_io/TFileService.h"
3737#include " TH1D.h"
@@ -185,11 +185,11 @@ sbndaq::SBNDPMTDecoder::SBNDPMTDecoder(fhicl::ParameterSet const& p)
185185 produces< std::vector< raw::OpDetWaveform > >(fflt_instance_name);
186186 produces< std::vector< raw::OpDetWaveform > >(ftim_instance_name);
187187
188- produces< raw::pmt::eventTimingInfo >();
189- produces< std::vector< raw::pmt::boardTimingInfo > >();
190- produces< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform > >(fpmt_timing_instance_name);
191- produces< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform > >(fflt_timing_instance_name);
192- produces< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform > >(ftim_timing_instance_name);
188+ produces< raw::TimingReferenceInfo >();
189+ produces< std::vector< raw::pmt::BoardTimingInfo > >();
190+ produces< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform > >(fpmt_timing_instance_name);
191+ produces< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform > >(fflt_timing_instance_name);
192+ produces< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform > >(ftim_timing_instance_name);
193193}
194194
195195void sbndaq::SBNDPMTDecoder::produce (art::Event& evt)
@@ -199,20 +199,20 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
199199 std::unique_ptr< std::vector< raw::OpDetWaveform > > fltwvfmVec (new std::vector< raw::OpDetWaveform >);
200200 std::unique_ptr< std::vector< raw::OpDetWaveform > > timwvfmVec (new std::vector< raw::OpDetWaveform >);
201201
202- std::unique_ptr< raw::pmt::eventTimingInfo > evtTimingInfo (new raw::pmt::eventTimingInfo ());
203- std::unique_ptr< std::vector< raw::pmt::boardTimingInfo > > brdTimingInfoVec (new std::vector< raw::pmt::boardTimingInfo >);
202+ std::unique_ptr< raw::TimingReferenceInfo > evtTimingInfo (new raw::TimingReferenceInfo ());
203+ std::unique_ptr< std::vector< raw::pmt::BoardTimingInfo > > brdTimingInfoVec (new std::vector< raw::pmt::BoardTimingInfo >);
204204
205205 // creating PtrMakers for the associations
206- art::PtrMaker<raw::pmt::boardTimingInfo > make_pmtbrd_ptr{evt};
206+ art::PtrMaker<raw::pmt::BoardTimingInfo > make_pmtbrd_ptr{evt};
207207
208208 art::PtrMaker<raw::OpDetWaveform> make_pmtwvfm_ptr{evt,fpmt_instance_name};
209209 art::PtrMaker<raw::OpDetWaveform> make_fltwvfm_ptr{evt,fflt_instance_name};
210210 art::PtrMaker<raw::OpDetWaveform> make_timwvfm_ptr{evt,ftim_instance_name};
211211
212212 // making the associations
213- std::unique_ptr< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform> > pmtTimingAssns (new art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform >);
214- std::unique_ptr< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform> > fltTimingAssns (new art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform >);
215- std::unique_ptr< art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform> > timTimingAssns (new art::Assns< raw::pmt::boardTimingInfo , raw::OpDetWaveform >);
213+ std::unique_ptr< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform> > pmtTimingAssns (new art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform >);
214+ std::unique_ptr< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform> > fltTimingAssns (new art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform >);
215+ std::unique_ptr< art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform> > timTimingAssns (new art::Assns< raw::pmt::BoardTimingInfo , raw::OpDetWaveform >);
216216
217217 evt_counter++;
218218
@@ -465,7 +465,7 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
465465 auto extensions_used = 0 ;
466466
467467 for (size_t itrig=0 ; itrig < frag_v.size (); itrig++){
468- raw::pmt::boardTimingInfo board_info;
468+ raw::pmt::BoardTimingInfo board_info;
469469 std::vector<uint32_t > board_ttt_v;
470470 std::vector<std::vector<uint16_t >> iwvfm_v;
471471 auto ifrag = frag_v.at (itrig);
@@ -496,7 +496,6 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
496496 if (fdebug>2 ){
497497 std::cout << " Board: " << fragid
498498 << " , ttt: " << ittt
499- << " , tick: " << itick
500499 << " , frag ts: " << ifrag.timestamp ()%uint (1e9 )
501500 << " , length: " << ilen
502501 << std::endl;
@@ -522,6 +521,13 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
522521 }
523522 }
524523 if (length_check && ttt_check){
524+ if (fdebug>3 ){
525+ std::cout << " Board: " << fragid
526+ << " , ttt: " << jttt
527+ << " , frag ts: " << jfrag.timestamp ()%uint (1e9 )
528+ << " , length: " << jlen
529+ << std::endl;
530+ }
525531 extensions_used++;
526532 board_ttt_v.push_back (jttt);
527533 std::vector<std::vector<uint16_t >> jwvfm_v;
@@ -531,6 +537,7 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
531537 std::vector<uint16_t > extd_wvfm = jwvfm_v.at (ich); // extended waveform
532538 orig_wvfm.insert ( orig_wvfm.end (), extd_wvfm.begin (), extd_wvfm.end ());
533539 } // end ch loop
540+
534541 } // end if extension condition
535542 else break ; // if the immediate next trigger is not an extension, break
536543 iwvfm_end = jttt;
@@ -539,12 +546,12 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
539546 std::cout << " Board: " << fragid
540547 << " -> start time: " << int (iwvfm_start) - int (event_trigger_time)
541548 << " , extended wvfm length: " << iwvfm_v.at (0 ).size ()
542- << std::endl;
549+ << std::endl;
543550 }
544551 } // end extended flag
545552 board_info.triggerTimeTag = board_ttt_v;
546553 brdTimingInfoVec->push_back (board_info);
547- art::Ptr<raw::pmt::boardTimingInfo > brdTimingInfoPtr = make_pmtbrd_ptr (brdTimingInfoVec->size ()-1 );
554+ art::Ptr<raw::pmt::BoardTimingInfo > brdTimingInfoPtr = make_pmtbrd_ptr (brdTimingInfoVec->size ()-1 );
548555
549556 for (size_t i = 0 ; i < iwvfm_v.size (); i++){
550557 auto combined_wvfm = iwvfm_v[i];
@@ -577,7 +584,6 @@ void sbndaq::SBNDPMTDecoder::produce(art::Event& evt)
577584 else
578585 ch = fch_map.at (fragid*15 + i);
579586 raw::OpDetWaveform waveform (time_diff, ch, combined_wvfm);
580-
581587 if ((i == 15 ) && (foutput_ftrig_wvfm)){
582588 fltwvfmVec->push_back (waveform);
583589 art::Ptr<raw::OpDetWaveform> wvfmPtr = make_fltwvfm_ptr (fltwvfmVec->size ()-1 );
0 commit comments