Belle II Software  release-06-02-00
variablesOnTTree.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #include <gtest/gtest.h>
10 #include <tracking/trackFindingVXD/filterMap/filterFramework/Shortcuts.h>
11 #include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
12 #include <tracking/trackFindingVXD/filterMap/filterFramework/Filter.h>
13 
14 #include <tracking/trackFindingVXD/filterMap/training/VariablesTTree.h>
15 #include <TTree.h>
16 
17 
18 namespace Belle2 {
25  SELECTION_VARIABLE(Difference, 2, double,
26  static double value(const double& t1,
27  const double& t2)
28  { return t1 - t2; };
29  );
30 
32  SELECTION_VARIABLE(Sum, 2, double,
33  static double value(const double& t1,
34  const double& t2)
35  { return t1 + t2; };
36  );
37 
39  class VariablesOnTTree: public ::testing::Test {
40  protected:
41 
42  public:
43  TTree* tree1;
44  TTree* tree2;
45  VariablesOnTTree() : tree1(nullptr), tree2(nullptr)
46  {
47  tree1 = new TTree("t1", "t1");
48  tree2 = new TTree("t2", "t2");
49 
50  }
51 
53  {
54  delete tree1;
55  delete tree2;
56  }
57  };
58 
60  TEST_F(VariablesOnTTree, basic_test)
61  {
62  auto filter1 = 0 < Difference() < 1 && 0 < Sum() < 1;
63  auto variables1 = VariablesTTree<>::build(filter1 , tree1);
64 
65  auto filter2 = 0 < Difference() < 1 && 0 < Sum() < 1;
66  auto variables2 = VariablesTTree<>::build(filter2 , tree2);
67 
68  double a(0.), b(1.0);
69  variables1.evaluateOn(a, b);
70  tree1->Fill();
71 
72  double c(1.), d(0.0);
73  variables2.evaluateOn(c, d);
74  tree2->Fill();
75 
76  tree1->Scan();
77  tree2->Scan();
78  }
80 }
Test for VariablesTTree.
TTree * tree2
another TTree
Dump on a TTree the values of all the variables in a filter.
TEST_F(GlobalLabelTest, LargeNumberOfTimeDependentParameters)
Test large number of time-dep params for registration and retrieval.
Definition: globalLabel.cc:72
SELECTION_VARIABLE(Difference, 2, double, static double value(const double &t1, const double &t2) { return t1 - t2;};)
Quick definition of a selection variable implementing the difference of 2 doubles.
Abstract base class for different kinds of events.