LDMX Software
Public Member Functions | Private Attributes | List of all members
hcal::test::isCloseEnough Class Reference

Our custom checker which makes sure that the input energy/position is "close enough" to the truth energy/position. More...

Public Member Functions

 isCloseEnough (double const &truth, double const &abs_diff, double const &rel_diff)
 Constructor.
 
bool match (const double &daq) const override
 Performs the test for this matcher.
 
virtual std::string describe () const override
 Describes matcher for printing to terminal.
 

Private Attributes

double truth_
 correct (sim-level)
 
const double max_absolute_diff_
 maximum absolute difference
 
const double max_relative_diff_
 maximum relative difference
 

Detailed Description

Our custom checker which makes sure that the input energy/position is "close enough" to the truth energy/position.

Definition at line 66 of file HcalDigiPipelineTest.cxx.

Constructor & Destructor Documentation

◆ isCloseEnough()

hcal::test::isCloseEnough::isCloseEnough ( double const &  truth,
double const &  abs_diff,
double const &  rel_diff 
)
inline

Constructor.

Sets the truth level

Definition at line 83 of file HcalDigiPipelineTest.cxx.

85 : truth_{truth},
86 max_absolute_diff_{abs_diff},
87 max_relative_diff_{rel_diff} {}
const double max_absolute_diff_
maximum absolute difference
double truth_
correct (sim-level)
const double max_relative_diff_
maximum relative difference

Member Function Documentation

◆ describe()

virtual std::string hcal::test::isCloseEnough::describe ( ) const
inlineoverridevirtual

Describes matcher for printing to terminal.

Definition at line 104 of file HcalDigiPipelineTest.cxx.

104 {
105 std::ostringstream ss;
106 ss << "is within an absolute difference of " << max_absolute_diff_
107 << " OR a relative difference of " << max_relative_diff_ << " with "
108 << truth_;
109 return ss.str();
110 }

References max_absolute_diff_, max_relative_diff_, and truth_.

◆ match()

bool hcal::test::isCloseEnough::match ( const double &  daq) const
inlineoverride

Performs the test for this matcher.

We check that the input is either within the absolute difference or the relative difference.

Definition at line 96 of file HcalDigiPipelineTest.cxx.

96 {
97 return (daq == Approx(truth_).epsilon(max_relative_diff_) or
98 daq == Approx(truth_).margin(max_absolute_diff_));
99 }

References max_absolute_diff_, max_relative_diff_, and truth_.

Member Data Documentation

◆ max_absolute_diff_

const double hcal::test::isCloseEnough::max_absolute_diff_
private

maximum absolute difference

Definition at line 72 of file HcalDigiPipelineTest.cxx.

Referenced by describe(), and match().

◆ max_relative_diff_

const double hcal::test::isCloseEnough::max_relative_diff_
private

maximum relative difference

Definition at line 75 of file HcalDigiPipelineTest.cxx.

Referenced by describe(), and match().

◆ truth_

double hcal::test::isCloseEnough::truth_
private

correct (sim-level)

Definition at line 69 of file HcalDigiPipelineTest.cxx.

Referenced by describe(), and match().


The documentation for this class was generated from the following file: