Belle II Software  release-05-01-25
SelectorMVA.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marcel Hohmann *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <analysis/modules/CurlTagger/Selector.h>
14 
15 #include <analysis/dataobjects/Particle.h>
16 #include <vector>
17 #include <string>
18 
19 #include <mva/methods/FastBDT.h>
20 
21 //Root Includes
22 #include "TFile.h"
23 #include "TTree.h"
24 
25 namespace Belle2 {
30  namespace CurlTagger {
31 
33  class SelectorMVA : public Selector {
34 
35  public:
37  SelectorMVA(bool belleFlag, bool trainFlag);
38 
40  ~SelectorMVA();
41 
43  virtual float getResponse(Particle* iPart, Particle* jPart) override;
44 
46  virtual std::vector<float> getVariables(Particle* iPart, Particle* jPart) override;
47 
49  virtual void initialize() override;
50 
52  virtual void collectTrainingInfo(Particle* iPart, Particle* jPart) override;
53 
55  virtual void finalize() override;
56 
57  private:
58 
60  void updateVariables(Particle* iPart, Particle* jPart);
61 
63  bool m_TrainFlag;
64 
66  std::string m_TFileName;
67 
69  TFile* m_TFile;
70 
72  TTree* m_TTree;
73 
76 
79 
80 
81  // General Options data - just use same names
83  std::string m_identifier;
84 
86  std::vector<std::string> m_datafiles;
87 
89  std::vector<std::string> m_variables;
90 
92  std::string m_target_variable;
93 
94 
95  // MVA Variables
97  Float_t m_PPhi;
98 
101 
103  Float_t m_PtDiffEW;
104 
106  Float_t m_PzDiffEW;
107 
109  Float_t m_TrackD0DiffEW;
110 
112  Float_t m_TrackZ0DiffEW;
113 
115  Float_t m_TrackTanLambdaDiffEW;
116 
118  Float_t m_TrackPhi0DiffEW;
119 
121  Float_t m_TrackOmegaDiffEW;
122 
124  Float_t m_IsCurl;
125  }; //selectorMVA class
126 
127  } // curlTagger Module namespace
129 }// Belle 2 namespace
130 
Belle2::CurlTagger::SelectorMVA::m_ChargeProduct
Float_t m_ChargeProduct
charge(p1) * charge(p2)
Definition: SelectorMVA.h:108
Belle2::CurlTagger::SelectorMVA::SelectorMVA
SelectorMVA(bool belleFlag, bool trainFlag)
Constructor.
Definition: SelectorMVA.cc:23
Belle2::CurlTagger::SelectorMVA::m_TFileName
std::string m_TFileName
name of output file for training data
Definition: SelectorMVA.h:74
Belle2::CurlTagger::SelectorMVA::initialize
virtual void initialize() override
initialize whatever needs to be initalized (root file etc)
Definition: SelectorMVA.cc:73
Belle2::MVA::FastBDTExpert
Expert for the FastBDT MVA method.
Definition: FastBDT.h:124
Belle2::CurlTagger::SelectorMVA::m_TrackPhi0DiffEW
Float_t m_TrackPhi0DiffEW
error weighted track Phi0 difference
Definition: SelectorMVA.h:126
Belle2::CurlTagger::SelectorMVA::finalize
virtual void finalize() override
finalize whatever needs to be finalized (train the MVA)
Definition: SelectorMVA.cc:102
Belle2::CurlTagger::SelectorMVA::m_TrackD0DiffEW
Float_t m_TrackD0DiffEW
error weighted track D0 difference
Definition: SelectorMVA.h:117
Belle2::CurlTagger::SelectorMVA::~SelectorMVA
~SelectorMVA()
Destructor.
Belle2::CurlTagger::SelectorMVA::m_TrackZ0DiffEW
Float_t m_TrackZ0DiffEW
error weighted track Z0 difference
Definition: SelectorMVA.h:120
Belle2::CurlTagger::SelectorMVA::m_TFile
TFile * m_TFile
output file for training data
Definition: SelectorMVA.h:77
Belle2::CurlTagger::SelectorMVA::m_datafiles
std::vector< std::string > m_datafiles
name of datafile
Definition: SelectorMVA.h:94
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CurlTagger::SelectorMVA::updateVariables
void updateVariables(Particle *iPart, Particle *jPart)
updates the value of the MVA variable
Definition: SelectorMVA.cc:38
Belle2::CurlTagger::SelectorMVA::m_expert
MVA::FastBDTExpert m_expert
mva expert
Definition: SelectorMVA.h:86
Belle2::CurlTagger::SelectorMVA::m_PzDiffEW
Float_t m_PzDiffEW
error weighted particle Pz difference
Definition: SelectorMVA.h:114
Belle2::CurlTagger::SelectorMVA::m_TrackOmegaDiffEW
Float_t m_TrackOmegaDiffEW
error weighted track Omega difference
Definition: SelectorMVA.h:129
Belle2::CurlTagger::SelectorMVA::collectTrainingInfo
virtual void collectTrainingInfo(Particle *iPart, Particle *jPart) override
collect training data and save to a root file
Definition: SelectorMVA.cc:67
Belle2::MVA::GeneralOptions
General options which are shared by all MVA trainings.
Definition: Options.h:64
Belle2::CurlTagger::SelectorMVA::m_PPhi
Float_t m_PPhi
angle between particle momentum vectors
Definition: SelectorMVA.h:105
Belle2::CurlTagger::SelectorMVA::m_TrainFlag
bool m_TrainFlag
applying mva or training it
Definition: SelectorMVA.h:71
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
Belle2::CurlTagger::SelectorMVA::m_generalOptions
MVA::GeneralOptions m_generalOptions
mva general options (for the expert)
Definition: SelectorMVA.h:83
Belle2::CurlTagger::SelectorMVA::m_identifier
std::string m_identifier
mva identifier
Definition: SelectorMVA.h:91
Belle2::CurlTagger::SelectorMVA::getResponse
virtual float getResponse(Particle *iPart, Particle *jPart) override
Selector response that this pair of particles come from the same mc/actual particle.
Definition: SelectorMVA.cc:134
Belle2::CurlTagger::SelectorMVA::m_PtDiffEW
Float_t m_PtDiffEW
error weighted particle Pt difference
Definition: SelectorMVA.h:111
Belle2::CurlTagger::SelectorMVA::m_variables
std::vector< std::string > m_variables
names of variables used by mva
Definition: SelectorMVA.h:97
Belle2::CurlTagger::SelectorMVA::m_TTree
TTree * m_TTree
training data tree
Definition: SelectorMVA.h:80
Belle2::CurlTagger::SelectorMVA::m_TrackTanLambdaDiffEW
Float_t m_TrackTanLambdaDiffEW
error weighted track tan lambda diff difference
Definition: SelectorMVA.h:123
Belle2::CurlTagger::SelectorMVA::getVariables
virtual std::vector< float > getVariables(Particle *iPart, Particle *jPart) override
returns vector of variables used by this selector.
Definition: SelectorMVA.cc:61
Belle2::CurlTagger::SelectorMVA::m_target_variable
std::string m_target_variable
name of target variable (isCurl)
Definition: SelectorMVA.h:100
Belle2::CurlTagger::SelectorMVA::m_IsCurl
Float_t m_IsCurl
isCurl Truth
Definition: SelectorMVA.h:132