Belle II Software  release-06-00-14
ConstraintConfiguration.h
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 #pragma once
9 
10 #include <vector>
11 
12 namespace TreeFitter {
13 
16  public:
17 
20  m_massConstraintType(false),
26  m_ipConstraint(false),
27  m_customOrigin(false),
31  m_headOfTreePDG(0),
33  {};
34 
36  ConstraintConfiguration(const bool& massConstraintType,
37  const std::vector<int>& massConstraintListPDG,
38  const std::vector<int>& fixedToMotherVertexListPDG,
39  const std::vector<int>& geoConstraintListPDG,
40  const std::vector<std::string>& removeConstraintList,
41  const bool& automatic_vertex_constraining,
42  const bool& ipConstraint,
43  const bool& customOrigin,
44  const std::vector<double>& customOriginVertex,
45  const std::vector<double>& customOriginCovariance,
46  const int& originDimension,
47  const int& inflationFactorCovZ = 1
48  ) :
49  m_massConstraintType(massConstraintType),
50  m_massConstraintListPDG(massConstraintListPDG),
51  m_fixedToMotherVertexListPDG(fixedToMotherVertexListPDG),
52  m_geoConstraintListPDG(geoConstraintListPDG),
53  m_removeConstraintList(removeConstraintList),
54  m_automatic_vertex_constraining(automatic_vertex_constraining),
55  m_ipConstraint(ipConstraint),
56  m_customOrigin(customOrigin),
57  m_customOriginVertex(customOriginVertex),
58  m_customOriginCovariance(customOriginCovariance),
59  m_originDimension(originDimension),
60  m_headOfTreePDG(0),
61  m_inflationFactorCovZ(inflationFactorCovZ)
62  {}
63 
66 
68  const std::vector<int> m_massConstraintListPDG;
69 
71  const std::vector<int> m_fixedToMotherVertexListPDG;
72 
74  const std::vector<int> m_geoConstraintListPDG;
75 
77  const std::vector<std::string> m_removeConstraintList;
78 
81 
83  const bool m_ipConstraint;
84 
86  const bool m_customOrigin;
87 
89  const std::vector<double> m_customOriginVertex;
90 
92  const std::vector<double> m_customOriginCovariance;
93 
95  const int m_originDimension;
96 
98  mutable int m_headOfTreePDG;
99 
102  };
103 }
104 
const bool m_customOrigin
is custom origin
const std::vector< double > m_customOriginVertex
x,y,z of custom origin as vector len 3
const int m_originDimension
dimension of the origin constraint and ALL geometric gcosntraints
const std::vector< int > m_geoConstraintListPDG
list of pdg codes to mass constrain
const std::vector< int > m_fixedToMotherVertexListPDG
list of pdg codes to mass constrain
const std::vector< double > m_customOriginCovariance
covariance matrix of origin as row major vector len = 9
int m_headOfTreePDG
PDG code of the head particle.
const std::vector< int > m_massConstraintListPDG
list of pdg codes to mass constrain
const bool m_ipConstraint
is IP constraint
ConstraintConfiguration(const bool &massConstraintType, const std::vector< int > &massConstraintListPDG, const std::vector< int > &fixedToMotherVertexListPDG, const std::vector< int > &geoConstraintListPDG, const std::vector< std::string > &removeConstraintList, const bool &automatic_vertex_constraining, const bool &ipConstraint, const bool &customOrigin, const std::vector< double > &customOriginVertex, const std::vector< double > &customOriginCovariance, const int &originDimension, const int &inflationFactorCovZ=1)
constructor
const bool m_automatic_vertex_constraining
automatically determining if it is worth extracting a vertex for this particle or if it should be joi...
const std::vector< std::string > m_removeConstraintList
list of constraints not to apply in tree fit
const bool m_massConstraintType
const flag for the type of the mass constraint
const int m_inflationFactorCovZ
inflate covariance of z by this number -> iptube