Belle II Software development
PIDVariables.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/VariableManager/Manager.h>
12
13#include <framework/gearbox/Const.h>
14
15#include <vector>
16#include <string>
17
18namespace Belle2 {
23 class Particle;
24
25 namespace Variable {
26
27
37 Manager::FunctionPtr pidLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
38
48 Manager::FunctionPtr pidDeltaLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
49
59 Manager::FunctionPtr pidPairProbabilityExpert(const std::vector<std::string>& arguments);
60
70 Manager::FunctionPtr pidProbabilityExpert(const std::vector<std::string>& arguments);
71
75 Manager::FunctionPtr pidLogarithmicProbabilityExpert(const std::vector<std::string>& arguments);
76
81 Manager::FunctionPtr pidMissingProbabilityExpert(const std::vector<std::string>& arguments);
82
86 double particleID(const Particle* part);
87
91 bool isPIDAvailable(const Particle* part);
92
96 Manager::FunctionPtr isPIDAvailableFrom(const std::vector<std::string>& arguments);
97
101 double electronID(const Particle* part);
102
106 double muonID(const Particle* part);
107
111 double pionID(const Particle* part);
112
116 double kaonID(const Particle* part);
117
121 double protonID(const Particle* part);
122
126 double deuteronID(const Particle* part);
127
131 double binaryPID(const Particle* part, const std::vector<double>& arguments);
132
137 double electronID_noSVD(const Particle* part);
138
143 double muonID_noSVD(const Particle* part);
144
149 double pionID_noSVD(const Particle* part);
150
155 double kaonID_noSVD(const Particle* part);
156
161 double protonID_noSVD(const Particle* part);
162
167 double deuteronID_noSVD(const Particle* part);
168
173 double binaryPID_noSVD(const Particle* part, const std::vector<double>& arguments);
174
179 double electronID_noTOP(const Particle* part);
180
185 double binaryElectronID_noTOP(const Particle* part, const std::vector<double>& arguments);
186
191 double electronID_noSVD_noTOP(const Particle* part);
192
197 double binaryElectronID_noSVD_noTOP(const Particle* part, const std::vector<double>& arguments);
198
203 double pionID_noARICHwoECL(const Particle* part);
204
209 double kaonID_noARICHwoECL(const Particle* part);
210
215 double binaryPID_noARICHwoECL(const Particle* part, const std::vector<double>& arguments);
216
223 double antineutronID(const Particle* particle);
224
234 Manager::FunctionPtr pidChargedBDTScore(const std::vector<std::string>& pdgCodeHyp);
235
245 Manager::FunctionPtr pidPairChargedBDTScore(const std::vector<std::string>& arguments);
246
250 double mostLikelyPDG(const Particle* part, const std::vector<double>& arguments);
251
255 bool isMostLikely(const Particle* part, const std::vector<double>& arguments);
256
263 double atcPIDBelle(const Particle*, const std::vector<double>& sigAndBkgHyp);
264
268 double muIDBelle(const Particle*);
269
273 double muIDBelleQuality(const Particle*);
274
278 double eIDBelle(const Particle*);
279
290 Manager::FunctionPtr pidWeightedLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
291
302 Manager::FunctionPtr pidWeightedPairProbabilityExpert(const std::vector<std::string>& arguments);
303
312 Manager::FunctionPtr pidNeuralNetworkValueExpert(const std::vector<std::string>& arguments);
313
324 Manager::FunctionPtr pidWeightedProbabilityExpert(const std::vector<std::string>& arguments);
325
326
330 Manager::FunctionPtr weightedElectronID(const std::vector<std::string>& arguments);
331
335 Manager::FunctionPtr weightedMuonID(const std::vector<std::string>& arguments);
336
340 Manager::FunctionPtr weightedPionID(const std::vector<std::string>& arguments);
341
345 Manager::FunctionPtr weightedKaonID(const std::vector<std::string>& arguments);
346
350 Manager::FunctionPtr weightedProtonID(const std::vector<std::string>& arguments);
351
355 Manager::FunctionPtr weightedDeuteronID(const std::vector<std::string>& arguments);
356
360 double electronIDNN(const Particle* particle);
361
365 double muonIDNN(const Particle* particle);
366
370 double pionIDNN(const Particle* particle);
371
375 double kaonIDNN(const Particle* particle);
376
380 double protonIDNN(const Particle* particle);
381
385 double deuteronIDNN(const Particle* particle);
386
390 double klmMuonIDDNN(const Particle* part);
391
395 Const::PIDDetectorSet parseDetectors(const std::vector<std::string>& arguments);
396
397 }
399} // Belle2 namespace
RestrictedDetectorSet< PIDDetectors > PIDDetectorSet
Typedef for set of PID detectors.
Definition: Const.h:379
std::function< VarVariant(const Particle *)> FunctionPtr
functions stored take a const Particle* and return VarVariant.
Definition: Manager.h:112
Abstract base class for different kinds of events.