Belle II Software  release-05-02-19
ConstraintConfiguration.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * right(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributor: Jo-Frederik Krohn *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <vector>
13 
14 namespace TreeFitter {
15 
17  class ConstraintConfiguration {
18  public:
19 
22  m_massConstraintType(false),
28  m_ipConstraint(false),
29  m_customOrigin(false),
33  m_headOfTreePDG(0),
35  {};
36 
38  ConstraintConfiguration(const bool& massConstraintType,
39  const std::vector<int>& massConstraintListPDG,
40  const std::vector<int>& fixedToMotherVertexListPDG,
41  const std::vector<int>& geoConstraintListPDG,
42  const std::vector<std::string>& removeConstraintList,
43  const bool& automatic_vertex_constraining,
44  const bool& ipConstraint,
45  const bool& customOrigin,
46  const std::vector<double>& customOriginVertex,
47  const std::vector<double>& customOriginCovariance,
48  const int& originDimension,
49  const int& inflationFactorCovZ = 1
50  ) :
51  m_massConstraintType(massConstraintType),
52  m_massConstraintListPDG(massConstraintListPDG),
53  m_fixedToMotherVertexListPDG(fixedToMotherVertexListPDG),
54  m_geoConstraintListPDG(geoConstraintListPDG),
55  m_removeConstraintList(removeConstraintList),
56  m_automatic_vertex_constraining(automatic_vertex_constraining),
57  m_ipConstraint(ipConstraint),
58  m_customOrigin(customOrigin),
59  m_customOriginVertex(customOriginVertex),
60  m_customOriginCovariance(customOriginCovariance),
61  m_originDimension(originDimension),
62  m_headOfTreePDG(0),
63  m_inflationFactorCovZ(inflationFactorCovZ)
64  {}
65 
67  const bool m_massConstraintType;
68 
70  const std::vector<int> m_massConstraintListPDG;
71 
73  const std::vector<int> m_fixedToMotherVertexListPDG;
74 
76  const std::vector<int> m_geoConstraintListPDG;
77 
79  const std::vector<std::string> m_removeConstraintList;
80 
83 
85  const bool m_ipConstraint;
86 
88  const bool m_customOrigin;
89 
91  const std::vector<double> m_customOriginVertex;
92 
94  const std::vector<double> m_customOriginCovariance;
95 
97  const int m_originDimension;
98 
100  mutable int m_headOfTreePDG;
101 
103  const int m_inflationFactorCovZ;
104  };
105 }
106 
TreeFitter::ConstraintConfiguration::ConstraintConfiguration
ConstraintConfiguration()
constructor
Definition: ConstraintConfiguration.h:37
TreeFitter::ConstraintConfiguration::m_massConstraintType
const bool m_massConstraintType
const flag for the type of the mass constraint
Definition: ConstraintConfiguration.h:83
TreeFitter::ConstraintConfiguration::m_massConstraintListPDG
const std::vector< int > m_massConstraintListPDG
list of pdg codes to mass constrain
Definition: ConstraintConfiguration.h:86
TreeFitter::ConstraintConfiguration::m_geoConstraintListPDG
const std::vector< int > m_geoConstraintListPDG
list of pdg codes to mass constrain
Definition: ConstraintConfiguration.h:92
TreeFitter::ConstraintConfiguration::m_automatic_vertex_constraining
const bool m_automatic_vertex_constraining
automatically determing if it is worth extrating a vertex for this particle or if it should be joined...
Definition: ConstraintConfiguration.h:98
TreeFitter::ConstraintConfiguration::m_headOfTreePDG
int m_headOfTreePDG
PDG code of the head particle.
Definition: ConstraintConfiguration.h:116
TreeFitter::ConstraintConfiguration::m_ipConstraint
const bool m_ipConstraint
is IP cosntraint
Definition: ConstraintConfiguration.h:101
TreeFitter::ConstraintConfiguration::m_originDimension
const int m_originDimension
dimension of the origin constraint and ALL geometric gcosntraints
Definition: ConstraintConfiguration.h:113
TreeFitter::ConstraintConfiguration::m_fixedToMotherVertexListPDG
const std::vector< int > m_fixedToMotherVertexListPDG
list of pdg codes to mass constrain
Definition: ConstraintConfiguration.h:89
TreeFitter::ConstraintConfiguration::m_customOriginVertex
const std::vector< double > m_customOriginVertex
x,y,z of custom origin as vector len 3
Definition: ConstraintConfiguration.h:107
TreeFitter::ConstraintConfiguration::m_customOriginCovariance
const std::vector< double > m_customOriginCovariance
covariance matrix of origin as row major vector len = 9
Definition: ConstraintConfiguration.h:110
TreeFitter::ConstraintConfiguration::m_customOrigin
const bool m_customOrigin
is constum origin
Definition: ConstraintConfiguration.h:104
TreeFitter::ConstraintConfiguration::m_removeConstraintList
const std::vector< std::string > m_removeConstraintList
list of constraints not to apply in tree fit
Definition: ConstraintConfiguration.h:95
TreeFitter::ConstraintConfiguration::m_inflationFactorCovZ
const int m_inflationFactorCovZ
inflate covariance of z by this number -> iptube
Definition: ConstraintConfiguration.h:119