26 double constexpr
tolerance = std::numeric_limits<double>::epsilon();
38 using Parameters = EDAnalyzer::Table<Config>;
39 explicit CheckProducts(Parameters
const&
config);
41 void beginRun(
art::Run const&
r)
override;
56 CheckProducts::CheckProducts(Parameters
const&
config)
58 , potsTag_{
config().npotsTag()}
59 , nParticlesTag_{
config().nParticlesTag()}
60 , geomTag_{
config().geomTag()}
61 , calibTag_{
config().calibTag()}
62 , trkEffRef_{
config().trkEffRef()}
66 CheckProducts::beginRun(
art::Run const&
r)
70 auto const& geomRef = RangeSet::forRun(r.
id());
73 BOOST_CHECK_EQUAL(geomH->run(), r.
run());
77 nPotsRef.emplace_range(0, 1, 101);
78 nPotsRef.emplace_range(1, 1, 101);
83 BOOST_CHECK_EQUAL(*npotsH, 200u);
90 auto const& calRef = RangeSet::forSubRun(sr.
id());
96 trkEffRef.emplace_range(sr.
subRun(), 1, 101);
102 BOOST_CHECK_CLOSE_FRACTION(
103 trkEffH->efficiency(), trkEffRef_.value_,
tolerance);
106 auto const& nParticlesH = sr.
getValidHandle<
unsigned>(nParticlesTag_);
def analyze(root, level, gtrees, gbranches, doprint)
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
#define DEFINE_ART_MODULE(klass)
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
SubRunNumber_t subRun() const
std::enable_if_t< detail::are_handles< T, U >::value, bool > same_ranges(T const &a, U const &b)