Skip to content

Commit d223fe4

Browse files
committed
move the timing reference objects to a new directory, and fiddle with the names to make accessible to other subsystems (crt)
1 parent 2b4de4c commit d223fe4

8 files changed

Lines changed: 66 additions & 59 deletions

File tree

sbndcode/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ add_subdirectory(OpT0Finder)
2121
add_subdirectory(ShowerAna)
2222
add_subdirectory(Commissioning)
2323
add_subdirectory(Trigger)
24+
add_subdirectory(Timing)
2425

2526
# subdirectory for gallery stuff
2627
add_subdirectory(gallery)

sbndcode/Decoders/PMT/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ cet_build_plugin( SBNDPMTDecoder art::module
1515
ROOT::Tree
1616
)
1717

18-
art_dictionary(DICTIONARY_LIBRARIES
19-
lardataobj::RawData)
20-
2118
install_fhicl()
2219
install_headers()
2320
install_source()

sbndcode/Decoders/PMT/SBNDPMTDecoder_module.cc

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
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

195195
void 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);

sbndcode/Decoders/PMT/classes_def.xml

Lines changed: 0 additions & 29 deletions
This file was deleted.

sbndcode/Timing/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
art_dictionary(DICTIONARY_LIBRARIES
2+
lardataobj::RawData)
3+
4+
install_headers()
5+
# install_fhicl()
6+
# install_source()
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,30 @@
77
//
88
////////////////////////////////////////////////////////////////////////
99

10-
#ifndef sbndpmt_H
11-
#define sbndpmt_H
10+
#ifndef sbndtiming_H
11+
#define sbndtiming_H
1212

1313
#include <stdint.h>
1414
#include <vector>
1515

1616
namespace raw {
17-
namespace pmt {
18-
class eventTimingInfo {
17+
class TimingReferenceInfo {
1918
public:
20-
eventTimingInfo() {}; // constructor
21-
eventTimingInfo(uint16_t timingType,
19+
TimingReferenceInfo() {}; // constructor
20+
TimingReferenceInfo(uint16_t timingType,
2221
uint16_t timingChannel) :
2322
timingType(timingType), timingChannel(timingChannel) {};
2423

2524
uint16_t timingType; // e.g. SPECTDC = 0; PTB HLT = 1; CAEN-only = 3
2625
uint16_t timingChannel; // e.g. TDC ETRIG = 4; PTB BNB Beam+Light = 2
2726
};
2827

29-
class boardTimingInfo {
28+
namespace pmt {
29+
class BoardTimingInfo {
3030
// Associate one of these to every opdetwaveform in the board/digitizer, one per trigger
3131
public:
32-
boardTimingInfo() {}; // constructor
33-
boardTimingInfo(uint16_t postPercent,
32+
BoardTimingInfo() {}; // constructor
33+
BoardTimingInfo(uint16_t postPercent,
3434
std::vector<uint32_t> &triggerTimeTag) :
3535
postPercent(postPercent), triggerTimeTag(triggerTimeTag) {};
3636

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include "canvas/Persistency/Common/Assns.h"
88

99
//local includes
10-
#include "sbndcode/Decoders/PMT/sbndpmt.h"
10+
#include "sbndcode/Timing/SBNDRawTimingObj.h"
1111

1212
//larsoft includes
1313
#include "lardataobj/RawData/OpDetWaveform.h"

sbndcode/Timing/classes_def.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!--
2+
File: classes_def.xml
3+
Brief: Data product definitions for pmt timing data products.
4+
Author: Lynn Tung
5+
-->
6+
7+
<lcgdict>
8+
<class name="raw::TimingReferenceInfo">
9+
</class>
10+
<class name="std::vector<raw::TimingReferenceInfo>"/>
11+
<class name="art::Wrapper<raw::TimingReferenceInfo>"/>
12+
<class name="art::Wrapper<std::vector<raw::TimingReferenceInfo> >"/>
13+
14+
<class name="raw::pmt::BoardTimingInfo">
15+
</class>
16+
<class name="std::vector<raw::pmt::BoardTimingInfo>"/>
17+
<class name="art::Wrapper<std::vector<raw::pmt::BoardTimingInfo>>"/>
18+
19+
<class name="std::pair<art::Ptr<raw::pmt::BoardTimingInfo>, art::Ptr<raw::OpDetWaveform>>"/>
20+
<class name="std::pair<art::Ptr<raw::OpDetWaveform>, art::Ptr<raw::pmt::BoardTimingInfo>>"/>
21+
<class name="art::Assns<raw::pmt::BoardTimingInfo, raw::OpDetWaveform, void>"/>
22+
<class name="art::Assns<raw::OpDetWaveform, raw::pmt::BoardTimingInfo, void>"/>
23+
<class name="art::Wrapper<art::Assns<raw::pmt::BoardTimingInfo, raw::OpDetWaveform, void>>"/>
24+
<class name="art::Wrapper<art::Assns<raw::OpDetWaveform, raw::pmt::BoardTimingInfo, void>>"/>
25+
26+
</lcgdict>

0 commit comments

Comments
 (0)