Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
dunedataprep
dunedataprep
DataPrep
Service
InterpolatingAdcMitigationService.h
Go to the documentation of this file.
1
// InterpolatingAdcMitigationService.h
2
//
3
// David Adams
4
// June 2016
5
//
6
// Implementation of service that replaces flagged samples in AdcChannelData
7
// with values interpolated from neighboring unflagged samples.
8
// This is a way to deal with the stuck bits in DUNE 35-ton data.
9
//
10
// Up to MaxConsecutiveSamples consecutive samples are replaced with interpolated values.
11
//
12
// Code is very similar to that in CalData/UnstickADCCodes_module.
13
//
14
// Consecutive flagged samples at the beginning or end of the data are treated in the
15
// same way as thos in regions with more than MaxConsecutiveSamples samples.
16
//
17
// Configuration:
18
// LogLevel - message logging level: 0=none, 1=initialization, 2+=every event
19
// SkipUnderflows - flag indicating not to update underflows
20
// SkipOverflows - flag indicating not to update overflows
21
// MaxConsecutiveSamples - maxumum number of samples to interpolate over (negative for no limit)
22
// MaxConsecutiveFlag - Flag specifying what to do when there are too many consecutive samples.
23
// 0 - Make no change.
24
// 1 - Replace values with 0.0.
25
26
#ifndef InterpolatingAdcMitigationService_H
27
#define InterpolatingAdcMitigationService_H
28
29
#include "
dunecore/DuneInterface/Service/AdcMitigationService.h
"
30
31
namespace
lariov
{
32
class
DetPedestalProvider;
33
}
34
35
class
InterpolatingAdcMitigationService
:
public
AdcMitigationService
{
36
37
public
:
38
39
InterpolatingAdcMitigationService
(
fhicl::ParameterSet
const
& pset,
art::ActivityRegistry
&);
40
41
int
update(
AdcChannelData
&
data
)
const
;
42
43
std::ostream& print(std::ostream& out =std::cout,
std::string
prefix
=
""
)
const
;
44
45
private
:
46
47
// Configuration parameters.
48
int
m_LogLevel
;
49
bool
m_SkipUnderflows
;
50
bool
m_SkipOverflows
;
51
int
m_MaxConsecutiveSamples
;
52
int
m_MaxConsecutiveFlag
;
53
54
};
55
56
DECLARE_ART_SERVICE_INTERFACE_IMPL
(
InterpolatingAdcMitigationService
,
AdcMitigationService
, LEGACY)
57
58
#endif
submit_ppfxjobs.prefix
string prefix
Definition:
submit_ppfxjobs.py:128
string
std::string string
Definition:
nybbler.cc:12
DECLARE_ART_SERVICE_INTERFACE_IMPL
DECLARE_ART_SERVICE_INTERFACE_IMPL(MySharedService, art::test::MyServiceInterface, SHARED) DEFINE_ART_SERVICE_INTERFACE_IMPL(MySharedService
AdcChannelData
Definition:
AdcChannelData.h:95
InterpolatingAdcMitigationService::m_SkipUnderflows
bool m_SkipUnderflows
Definition:
InterpolatingAdcMitigationService.h:49
InterpolatingAdcMitigationService::m_MaxConsecutiveSamples
int m_MaxConsecutiveSamples
Definition:
InterpolatingAdcMitigationService.h:51
InterpolatingAdcMitigationService::m_SkipOverflows
bool m_SkipOverflows
Definition:
InterpolatingAdcMitigationService.h:50
lariov
Filters for channels, events, etc.
Definition:
ChannelStatusServiceTool.h:19
make_THn_beam_input.data
data
Definition:
make_THn_beam_input.py:80
InterpolatingAdcMitigationService::m_LogLevel
int m_LogLevel
Definition:
InterpolatingAdcMitigationService.h:48
art::ActivityRegistry
Definition:
ActivityRegistry.h:52
InterpolatingAdcMitigationService
Definition:
InterpolatingAdcMitigationService.h:35
AdcMitigationService
Definition:
AdcMitigationService.h:14
InterpolatingAdcMitigationService::m_MaxConsecutiveFlag
int m_MaxConsecutiveFlag
Definition:
InterpolatingAdcMitigationService.h:52
fhicl::ParameterSet
Definition:
ParameterSet.h:36
AdcMitigationService.h
Generated by
1.8.11