diff --git a/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.cc b/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.cc index a41efc5b..5efe2908 100644 --- a/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.cc +++ b/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.cc @@ -55,7 +55,7 @@ namespace pmtana { } //--------------------------------------------------------------------------- - bool AlgoSSPLeadingEdge::RecoPulse( const pmtana::Waveform_t& wf, + bool AlgoSSPLeadingEdge::RecoPulse( const raw::OpDetWaveform& wf, const pmtana::PedestalMean_t& ped_mean, const pmtana::PedestalSigma_t& ped_rms ) { @@ -141,4 +141,4 @@ namespace pmtana { } -} +} \ No newline at end of file diff --git a/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.h b/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.h index d6fed9c2..21d850da 100644 --- a/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.h +++ b/duneopdet/OpticalDetector/AlgoSSPLeadingEdge.h @@ -13,6 +13,7 @@ #define AlgoSSPLeadingEdge_H 1 #include "fhiclcpp/ParameterSet.h" +#include "lardataobj/RawData/OpDetWaveform.h" #include "larana/OpticalDetector/OpHitFinder/PMTPulseRecoBase.h" #include @@ -34,9 +35,10 @@ namespace pmtana { void Reset(); protected: - bool RecoPulse( const pmtana::Waveform_t&, + bool RecoPulse( const raw::OpDetWaveform&, const pmtana::PedestalMean_t&, const pmtana::PedestalSigma_t& ); + // A variable holder for a user-defined absolute ADC threshold value double _adc_thres; diff --git a/duneopdet/OpticalDetector/CMakeLists.txt b/duneopdet/OpticalDetector/CMakeLists.txt index 0354cb55..727556ba 100644 --- a/duneopdet/OpticalDetector/CMakeLists.txt +++ b/duneopdet/OpticalDetector/CMakeLists.txt @@ -33,6 +33,7 @@ art_make( BASENAME_ONLY ALLOW_UNDERSCORES dunecore::DuneObj lardataalg::DetectorInfo lardataobj::RecoBase + lardataobj::RawData lardata::headers larana::OpticalDetector larana::OpticalDetector_OpHitFinder diff --git a/duneopdet/OpticalDetector/OpDetDigitizerDUNEDP_module.cc b/duneopdet/OpticalDetector/OpDetDigitizerDUNEDP_module.cc index d7d0142a..f4b7bbc5 100644 --- a/duneopdet/OpticalDetector/OpDetDigitizerDUNEDP_module.cc +++ b/duneopdet/OpticalDetector/OpDetDigitizerDUNEDP_module.cc @@ -849,15 +849,16 @@ namespace opdet { //--------------------------------------------------------------------------- std::map< size_t, std::vector< short > > OpDetDigitizerDUNEDP:: - SplitWaveform(std::vector< short > const& waveform, + SplitWaveform(std::vector< short > const& waveform_short, const FocusList& fls) { std::map< size_t, std::vector< short > > mapTickWaveform; - ::pmtana::PedestalMean_t ped_mean (waveform.size(),0); - ::pmtana::PedestalSigma_t ped_sigma(waveform.size(),0); + ::pmtana::PedestalMean_t ped_mean (waveform_short.size(),0); + ::pmtana::PedestalSigma_t ped_sigma(waveform_short.size(),0); + raw::OpDetWaveform waveform(-99999., 0,std::vector (waveform_short.begin(), waveform_short.end()) ); fThreshAlg->Reconstruct(waveform,ped_mean,ped_sigma); diff --git a/duneopdet/OpticalDetector/OpDetDigitizerDUNE_module.cc b/duneopdet/OpticalDetector/OpDetDigitizerDUNE_module.cc index 44bf1f3f..383dbcd0 100644 --- a/duneopdet/OpticalDetector/OpDetDigitizerDUNE_module.cc +++ b/duneopdet/OpticalDetector/OpDetDigitizerDUNE_module.cc @@ -469,8 +469,10 @@ namespace opdet { // functions below take a begin()/end() pair. const std::vector sub(pdWaveforms[hardwareChannel].begin()+p.first, pdWaveforms[hardwareChannel].begin()+p.second+1); - - std::vector< short > waveformOfShorts = VectorOfDoublesToVectorOfShorts(sub); + + unsigned int opChannel = wireReadout.OpChannel(opDet, hardwareChannel); + std::vector< short > _waveformOfShorts = VectorOfDoublesToVectorOfShorts(sub); + raw::OpDetWaveform waveformOfShorts(-99999., opChannel, std::vector (_waveformOfShorts.begin(), _waveformOfShorts.end())); std::map< size_t, std::vector < short > > mapTickWaveform = (!fFullWaveformOutput) ? @@ -478,8 +480,6 @@ namespace opdet { std::map< size_t, std::vector< short > >{ std::make_pair(0, waveformOfShorts) }; - unsigned int opChannel = wireReadout.OpChannel(opDet, hardwareChannel); - for (auto const& pairTickWaveform : mapTickWaveform) { double timeStamp = @@ -749,14 +749,16 @@ namespace opdet { //--------------------------------------------------------------------------- std::map< size_t, std::vector< short > > OpDetDigitizerDUNE:: - SplitWaveform(std::vector< short > const& waveform, + SplitWaveform(std::vector< short > const& waveform_short, const FocusList& fls) { std::map< size_t, std::vector< short > > mapTickWaveform; - ::pmtana::PedestalMean_t ped_mean (waveform.size(),0); - ::pmtana::PedestalSigma_t ped_sigma(waveform.size(),0); + ::pmtana::PedestalMean_t ped_mean (waveform_short.size(),0); + ::pmtana::PedestalSigma_t ped_sigma(waveform_short.size(),0); + + raw::OpDetWaveform waveform(-99999., 0,std::vector (waveform_short.begin(), waveform_short.end()) ); fThreshAlg->Reconstruct(waveform,ped_mean,ped_sigma); diff --git a/duneopdet/OpticalDetector/OpDetDigitizerProtoDUNE_module.cc b/duneopdet/OpticalDetector/OpDetDigitizerProtoDUNE_module.cc index 2a915aef..2d050444 100644 --- a/duneopdet/OpticalDetector/OpDetDigitizerProtoDUNE_module.cc +++ b/duneopdet/OpticalDetector/OpDetDigitizerProtoDUNE_module.cc @@ -729,14 +729,16 @@ namespace opdet { //--------------------------------------------------------------------------- std::map< size_t, std::vector< short > > OpDetDigitizerProtoDUNE:: - SplitWaveform(std::vector< short > const& waveform, + SplitWaveform(std::vector< short > const& waveform_short, const FocusList& fls) { std::map< size_t, std::vector< short > > mapTickWaveform; - ::pmtana::PedestalMean_t ped_mean (waveform.size(),0); - ::pmtana::PedestalSigma_t ped_sigma(waveform.size(),0); + ::pmtana::PedestalMean_t ped_mean (waveform_short.size(),0); + ::pmtana::PedestalSigma_t ped_sigma(waveform_short.size(),0); + + raw::OpDetWaveform waveform(-99999., 0,std::vector (waveform_short.begin(), waveform_short.end()) ); fThreshAlg->Reconstruct(waveform,ped_mean,ped_sigma); diff --git a/duneopdet/OpticalDetector/OpHitFinder/OpHitAlg_deco.cxx b/duneopdet/OpticalDetector/OpHitFinder/OpHitAlg_deco.cxx index 94303897..b2029ecd 100644 --- a/duneopdet/OpticalDetector/OpHitFinder/OpHitAlg_deco.cxx +++ b/duneopdet/OpticalDetector/OpHitFinder/OpHitAlg_deco.cxx @@ -98,7 +98,9 @@ namespace opdet { short_deco_waveform.emplace_back(static_cast(scale*deco_waveform.SignalROI()[i_tick])); } - pulseRecoMgr.Reconstruct(short_deco_waveform); + raw::OpDetWaveform short_deco_waveform_reconstruct(timeStamp, channel,std::vector (short_deco_waveform.begin(), short_deco_waveform.end()) ); + + pulseRecoMgr.Reconstruct(short_deco_waveform_reconstruct); // Get the result auto const& pulses = threshAlg.GetPulses();