Belle II Software  release-06-02-00
TrackVariables.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 
9 #pragma once
10 
11 #include <analysis/dataobjects/Particle.h>
12 #include <framework/gearbox/Const.h>
13 
14 namespace Belle2 {
20  namespace Variable {
21 
27  double trackNHits(const Particle* part, const Const::EDetector& det);
28 
32  double trackNCDCHits(const Particle* part);
33 
37  double trackNSVDHits(const Particle* part);
38 
42  double trackNPXDHits(const Particle* part);
43 
47  double trackNVXDHits(const Particle* part);
48 
52  double trackNDF(const Particle* part);
53 
57  double trackChi2(const Particle* part);
58 
62  double trackFirstSVDLayer(const Particle* part);
63 
67  double trackFirstPXDLayer(const Particle* part);
68 
72  double trackFirstCDCLayer(const Particle* part);
73 
77  double trackLastCDCLayer(const Particle* part);
78 
82  double trackD0(const Particle* part);
83 
87  double trackPhi0(const Particle* part);
88 
92  double trackOmega(const Particle* part);
93 
97  double trackZ0(const Particle* part);
98 
102  double trackTanLambda(const Particle* part);
103 
107  double trackD0Error(const Particle* part);
108 
112  double trackPhi0Error(const Particle* part);
113 
117  double trackOmegaError(const Particle* part);
118 
122  double trackZ0Error(const Particle* part);
123 
127  double trackTanLambdaError(const Particle* part);
128 
132  double trackPValue(const Particle* part);
133 
138  double trackNECLClusters(const Particle* part);
139 
143  double nExtraCDCHits(const Particle*);
144 
145  /*
146  * returns the number of CDC hits in the event not assigned to any track
147  * nor very likely beam background (i.e. hits that survive cleanup selection)
148  */
149  double nExtraCDCHitsPostCleaning(const Particle*);
150 
151  /*
152  * checks for the presence of a non-assigned hit in the specified CDC layer
153  */
154  double hasExtraCDCHitsInLayer(const Particle*, const std::vector<double>& layer);
155 
159  double hasExtraCDCHitsInSuperLayer(const Particle*, const std::vector<double>& layer);
160 
164  double nExtraCDCSegments(const Particle*);
165 
169  double nExtraVXDHitsInLayer(const Particle*, const std::vector<double>& layer);
170 
174  double nExtraVXDHits(const Particle*);
175 
179  double svdFirstSampleTime(const Particle*);
180 
185  double trackFindingFailureFlag(const Particle*);
186 
191  double trackHelixExtTheta(const Particle* part, const std::vector<double>& pars);
192 
197  double trackHelixExtPhi(const Particle* part, const std::vector<double>& pars);
198 
202  double trackFitHypothesisPDG(const Particle* part);
203 
205  double getHelixD0Pull(const Particle* part);
206 
208  double getHelixPhi0Pull(const Particle* part);
209 
211  double getHelixOmegaPull(const Particle* part);
212 
214  double getHelixZ0Pull(const Particle* part);
215 
217  double getHelixTanLambdaPull(const Particle* part);
218 
220  TVector3 getPositionOnHelix(const Particle* part, const std::vector<double>& pars);
221  }
223 } // Belle2 namespace
224 
EDetector
Enum for identifying the detector components (detector and subdetector).
Definition: Const.h:42
Abstract base class for different kinds of events.