Belle II Software development
KinkFinderParameters.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 <TObject.h>
11
12namespace Belle2 {
20 class KinkFinderParameters: public TObject {
21 public:
22
27
40 void setParameters(const unsigned char kinkFitterMode, const double vertexChi2Cut, const double vertexDistanceCut,
41 const double precutRho, const double precutZ, const double precutDistance,
42 const double precutDistance2D, const int precutSplitNCDCHit, const double precutSplitPValue)
43 {
44 m_kinkFitterMode = kinkFitterMode;
45 m_vertexChi2Cut = vertexChi2Cut;
46 m_vertexDistanceCut = vertexDistanceCut;
47 m_precutRho = precutRho;
48 m_precutZ = precutZ;
49 m_precutDistance = precutDistance;
50 m_precutDistance2D = precutDistance2D;
51 m_precutSplitNCDCHit = precutSplitNCDCHit;
52 m_precutSplitPValue = precutSplitPValue;
53 }
54
59 void setKinkFitterMode(const unsigned char kinkFitterMode)
60 {
61 m_kinkFitterMode = kinkFitterMode;
62 }
63
68 void setVertexChi2Cut(const double vertexChi2Cut)
69 {
70 m_vertexChi2Cut = vertexChi2Cut;
71 }
72
77 void setVertexDistanceCut(const double vertexDistanceCut)
78 {
79 m_vertexDistanceCut = vertexDistanceCut;
80 }
81
86 void setPrecutRho(const double precutRho)
87 {
88 m_precutRho = precutRho;
89 }
90
95 void setPrecutZ(const double precutZ)
96 {
97 m_precutZ = precutZ;
98 }
99
104 void setPrecutDistance(const double precutDistance)
105 {
106 m_precutDistance = precutDistance;
107 }
108
113 void setPrecutDistance2D(const double precutDistance2D)
114 {
115 m_precutDistance2D = precutDistance2D;
116 }
117
122 void setPrecutSplitNCDCHit(const int precutSplitNCDCHit)
123 {
124 m_precutSplitNCDCHit = precutSplitNCDCHit;
125 }
126
131 void setPrecutSplitPValue(const double precutSplitPValue)
132 {
133 m_precutSplitPValue = precutSplitPValue;
134 }
135
137 unsigned char getKinkFitterMode() const
138 {
139 return m_kinkFitterMode;
140 }
141
143 double getVertexChi2Cut() const
144 {
145 return m_vertexChi2Cut;
146 }
147
149 double getVertexDistanceCut() const
150 {
151 return m_vertexDistanceCut;
152 }
153
155 double getPrecutRho() const
156 {
157 return m_precutRho;
158 }
159
161 double getPrecutZ() const
162 {
163 return m_precutZ;
164 }
165
167 double getPrecutDistance() const
168 {
169 return m_precutDistance;
170 }
171
173 double getPrecutDistance2D() const
174 {
175 return m_precutDistance2D;
176 }
177
180 {
182 }
183
185 double getPrecutSplitPValue() const
186 {
187 return m_precutSplitPValue;
188 }
189
190 private:
197 unsigned char m_kinkFitterMode = 0b1111;
199 double m_vertexChi2Cut = 10000.;
203 double m_precutRho = 10.;
205 double m_precutZ = 0.;
207 double m_precutDistance = 10.;
209 double m_precutDistance2D = 10.;
213 double m_precutSplitPValue = 0.01;
214
216 };
218}
The payload containing the parameters for the kinkFinder.
void setPrecutRho(const double precutRho)
set preselection cut on transverse shift from the outer CDC wall for the track ending points
double getPrecutDistance() const
get preselection cut on distance between ending points of two tracks
double getPrecutSplitPValue() const
get preselection cut on maximal p-value for a track candidate to be split
double getVertexChi2Cut() const
get cut on Chi2 for the Kink vertex
double m_precutDistance2D
Preselection cut on 2D distance between ending points of two tracks (for bad z cases) [cm].
void setPrecutDistance(const double precutDistance)
set preselection cut on distance between ending points of two tracks
void setPrecutDistance2D(const double precutDistance2D)
set preselection cut on 2D distance between ending points of two tracks (for bad z cases)
double m_vertexDistanceCut
Cut on distance between tracks at the Kink vertex [cm].
void setPrecutZ(const double precutZ)
set preselection cut on z shift from the outer CDC wall for the track ending points
double m_vertexChi2Cut
Cut on Chi2 for the Kink vertex.
double getPrecutZ() const
get preselection cut on z shift from the outer CDC wall for the track ending points
void setVertexChi2Cut(const double vertexChi2Cut)
set cut on Chi2 for the Kink vertex
void setPrecutSplitPValue(const double precutSplitPValue)
set preselection cut on maximal p-value for a track candidate to be split
int m_precutSplitNCDCHit
Preselection cut on maximal number of fitted CDC hits for a track candidate to be split.
void setPrecutSplitNCDCHit(const int precutSplitNCDCHit)
set preselection cut on maximal number of fitted CDC hits for a track candidate to be split
KinkFinderParameters()
Default constructor.
double m_precutSplitPValue
Preselection cut on maximal p-value for a track candidate to be split.
double m_precutRho
Preselection cut on transverse shift from the outer CDC wall for the track ending points [cm].
void setVertexDistanceCut(const double vertexDistanceCut)
set cut on distance between tracks at the Kink vertex
unsigned char getKinkFitterMode() const
get kinkFitter working mode
double m_precutDistance
Preselection cut on distance between ending points of two tracks [cm].
double m_precutZ
Preselection cut on z shift from the outer CDC wall for the track ending points [cm].
double getVertexDistanceCut() const
get cut on distance between tracks at the Kink vertex
double getPrecutDistance2D() const
get preselection cut on 2D distance between ending points of two tracks (for bad z cases)
ClassDef(KinkFinderParameters, 1)
ClassDef, necessary for ROOT.
unsigned char m_kinkFitterMode
kinkFitter working mode in binary: 1st bit: reassign hits (1 is On, 0 is Off) 2nd bit: flip tracks wi...
int getPrecutSplitNCDCHit() const
get preselection cut on maximal number of fitted CDC hits for a track candidate to be split
void setKinkFitterMode(const unsigned char kinkFitterMode)
set KinkFitter working mode
double getPrecutRho() const
get preselection cut on transverse shift from the outer CDC wall for the track ending points
void setParameters(const unsigned char kinkFitterMode, const double vertexChi2Cut, const double vertexDistanceCut, const double precutRho, const double precutZ, const double precutDistance, const double precutDistance2D, const int precutSplitNCDCHit, const double precutSplitPValue)
Set working mode and cuts for the KinkFinder module.
Abstract base class for different kinds of events.