ATLAS Offline Software
Functions | Variables
RangeFilterTest.cxx File Reference
#include "CxxUtils/checker_macros.h"
#include "gtest/gtest.h"
#include "TrigHLTJetHypo/../src/RangeFilter.h"
#include "TrigHLTJetHypo/../src/ITrigJetHypoInfoCollector.h"
#include "../src/TLorentzVectorFactory.h"
#include "../src/TLorentzVectorAsIJet.h"
#include <vector>
#include <memory>
Include dependency graph for RangeFilterTest.cxx:

Go to the source code of this file.

Functions

HypoJetVector::value_type make_jet (double eta, double pt)
 
 TEST (RangeFilterTester, construction)
 
 TEST (RangeFilterTester, insufficient0)
 
 TEST (RangeFilterTester, insufficient1)
 
 TEST (RangeFilterTester, run2TLA)
 

Variables

 ATLAS_NO_CHECK_FILE_THREAD_SAFETY
 

Function Documentation

◆ make_jet()

HypoJetVector::value_type make_jet ( double  eta,
double  pt 
)

Definition at line 19 of file RangeFilterTest.cxx.

19  {
20  // TLorentzVectorFactory makes massless vecotrs, so e = p
21  TLorentzVector tlv = TLorentzVectorFactory().make(eta, pt);
22  pHypoJet hjet(nullptr);
23  hjet.reset(new TLorentzVectorAsIJet(tlv));
24  return hjet;
25 }

◆ TEST() [1/4]

TEST ( RangeFilterTester  ,
construction   
)

Definition at line 27 of file RangeFilterTest.cxx.

27  {
28  // constructor throws id begin index > end index
29  EXPECT_NO_THROW({RangeFilter(0,0);});
30  EXPECT_NO_THROW({RangeFilter(1,1);});
31  EXPECT_THROW({RangeFilter(1,0);}, std::out_of_range);
32 }

◆ TEST() [2/4]

TEST ( RangeFilterTester  ,
insufficient0   
)

Definition at line 34 of file RangeFilterTest.cxx.

34  {
35  auto rf = RangeFilter(0, 3);
36  HypoJetVector tv{};
37 
38  std::unique_ptr<ITrigJetHypoInfoCollector> deb(nullptr);
39 
40  auto fj = rf.filter(tv, deb);
41  EXPECT_EQ(fj.size(), 0u);
42 
43  tv.push_back(make_jet(0, 2.));
44 
45  fj = rf.filter(tv, deb);
46  EXPECT_EQ(fj.size(), 0u);
47 
48  tv.push_back(make_jet(0, 1.));
49 
50  fj = rf.filter(tv, deb);
51  EXPECT_EQ(fj.size(), 0u);
52 
53  tv.push_back(make_jet(0, 3.));
54 
55  fj = rf.filter(tv, deb);
56  EXPECT_EQ(fj.size(), 3u);
57 
58  EXPECT_GT(fj[0]->pt(), fj[1]->pt());
59  EXPECT_GT(fj[1]->pt(), fj[2]->pt());
60 }

◆ TEST() [3/4]

TEST ( RangeFilterTester  ,
insufficient1   
)

Definition at line 62 of file RangeFilterTest.cxx.

62  {
63  auto rf = RangeFilter(1, 3);
64  HypoJetVector tv{};
65  tv.push_back(make_jet(0, 2.));
66  tv.push_back(make_jet(0, 1.));
67 
68  std::unique_ptr<ITrigJetHypoInfoCollector> deb(nullptr);
69 
70  auto fj = rf.filter(tv, deb);
71  EXPECT_EQ(fj.size(), 0u);
72 
73 }

◆ TEST() [4/4]

TEST ( RangeFilterTester  ,
run2TLA   
)

Definition at line 75 of file RangeFilterTest.cxx.

75  {
76  auto rf = RangeFilter(1, 3);
77  HypoJetVector tv{};
78  tv.push_back(make_jet(0, 2.));
79  tv.push_back(make_jet(0, 1.));
80  tv.push_back(make_jet(0, 0.5));
81 
82  std::unique_ptr<ITrigJetHypoInfoCollector> deb(nullptr);
83 
84  auto fj = rf.filter(tv, deb);
85  EXPECT_EQ(fj.size(), 2u);
86 
87 }

Variable Documentation

◆ ATLAS_NO_CHECK_FILE_THREAD_SAFETY

ATLAS_NO_CHECK_FILE_THREAD_SAFETY

Definition at line 6 of file RangeFilterTest.cxx.

TLorentzVectorFactory
Definition: TLorentzVectorFactory.h:13
make_jet
HypoJetVector::value_type make_jet(double eta, double pt)
Definition: RangeFilterTest.cxx:19
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
test_pyathena.pt
pt
Definition: test_pyathena.py:11
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
pHypoJet
std::shared_ptr< const HypoJet::IJet > pHypoJet
Definition: HypoJetDefs.h:25
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
TLorentzVectorFactory::make
virtual TLorentzVector make(double eta, double et) const override
Definition: TLorentzVectorFactory.h:15
RangeFilter
Definition: RangeFilter.h:12
TLorentzVectorAsIJet
Definition: TLorentzVectorAsIJet.h:12