|
7 | 7 | #include "SimpleCut.hpp"
|
8 | 8 | #include <gtest/gtest.h>
|
9 | 9 |
|
| 10 | +#include <vector> |
| 11 | + |
10 | 12 | namespace {
|
11 | 13 |
|
12 | 14 | using namespace AnalysisTree;
|
13 | 15 |
|
| 16 | +TEST(SimpleCut, Basics) { |
| 17 | + SimpleCut ecut1 = EqualsCut(Variable::FromString("BranchName.FieldName"), 1); |
| 18 | + SimpleCut ecut1same = EqualsCut(Variable::FromString("BranchName.FieldName"), 1); |
| 19 | + SimpleCut ecut2 = EqualsCut(Variable::FromString("BranchName.FieldName"), 2); |
| 20 | + SimpleCut ecut3 = EqualsCut(Variable::FromString("BranchName3.FieldName3"), 1); |
| 21 | + SimpleCut ecut1copy = ecut1; |
| 22 | + SimpleCut& ecut1ref = ecut1; |
| 23 | + |
| 24 | + EXPECT_TRUE(ecut1 == ecut1); |
| 25 | + EXPECT_TRUE(ecut1 == ecut1same); |
| 26 | + EXPECT_TRUE(ecut1 == ecut1copy); |
| 27 | + EXPECT_TRUE(ecut1 == ecut1ref); |
| 28 | + EXPECT_FALSE(ecut1 == ecut2); |
| 29 | + EXPECT_FALSE(ecut1 == ecut3); |
| 30 | + EXPECT_FALSE(ecut2 == ecut3); |
| 31 | + |
| 32 | + SimpleCut rcut1 = RangeCut(Variable::FromString("BranchName.FieldName"), 1, 2); |
| 33 | + SimpleCut rcut1same = RangeCut(Variable::FromString("BranchName.FieldName"), 1, 2); |
| 34 | + SimpleCut rcut2 = RangeCut(Variable::FromString("BranchName.FieldName"), 2, 5); |
| 35 | + SimpleCut rcut3 = RangeCut(Variable::FromString("BranchName3.FieldName3"), 1, 2); |
| 36 | + SimpleCut rcut1copy = rcut1; |
| 37 | + SimpleCut& rcut1ref = rcut1; |
| 38 | + |
| 39 | + EXPECT_TRUE(rcut1 == rcut1); |
| 40 | + EXPECT_TRUE(rcut1 == rcut1same); |
| 41 | + EXPECT_TRUE(rcut1 == rcut1copy); |
| 42 | + EXPECT_TRUE(rcut1 == rcut1ref); |
| 43 | + EXPECT_FALSE(rcut1 == rcut2); |
| 44 | + EXPECT_FALSE(rcut1 == rcut3); |
| 45 | + EXPECT_FALSE(rcut2 == rcut3); |
| 46 | + |
| 47 | + SimpleCut lcut1 = SimpleCut((std::vector<std::string>){"B1.f1", "B2.f2", "B3.f3"}, [](std::vector<double> par){ return par[0]/par[1]*par[2] < 10; }); |
| 48 | + SimpleCut lcut1same = SimpleCut((std::vector<std::string>){"B1.f1", "B2.f2", "B3.f3"}, [](std::vector<double> par){ return par[0]/par[1]*par[2] < 10; }); |
| 49 | + SimpleCut lcut2 = SimpleCut((std::vector<std::string>){"B11.f11", "B22.f22", "B33.f33"}, [](std::vector<double> par){ return par[0]/par[1]*par[2] < 5; }); |
| 50 | + SimpleCut lcut1copy = lcut1; |
| 51 | + SimpleCut& lcut1ref = lcut1; |
| 52 | + |
| 53 | + EXPECT_TRUE(lcut1 == lcut1); |
| 54 | + EXPECT_FALSE(lcut1 == lcut1same); // it should not be like that, but this is a concession |
| 55 | + EXPECT_FALSE(lcut1 == lcut1copy); // it should not be like that, but this is a concession |
| 56 | + EXPECT_TRUE(lcut1 == lcut1ref); |
| 57 | + EXPECT_FALSE(lcut1 == lcut2); |
| 58 | + EXPECT_FALSE(lcut1 == ecut1); |
| 59 | + EXPECT_FALSE(lcut1 == rcut1); |
| 60 | +} |
| 61 | + |
14 | 62 | }
|
15 | 63 |
|
16 | 64 | #endif//ANALYSISTREE_INFRA_SIMPLECUT_TEST_HPP_
|
0 commit comments