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 <vector>
14#include <string>
15
16namespace Belle2 {
21 class Particle;
22
23 namespace Variable {
24
25
35 Manager::FunctionPtr pidLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
36
46 Manager::FunctionPtr pidDeltaLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
47
57 Manager::FunctionPtr pidPairProbabilityExpert(const std::vector<std::string>& arguments);
58
68 Manager::FunctionPtr pidProbabilityExpert(const std::vector<std::string>& arguments);
69
73 Manager::FunctionPtr pidLogarithmicProbabilityExpert(const std::vector<std::string>& arguments);
74
79 Manager::FunctionPtr pidMissingProbabilityExpert(const std::vector<std::string>& arguments);
80
84 double particleID(const Particle* part);
85
89 bool isPIDAvailable(const Particle* part);
90
94 Manager::FunctionPtr isPIDAvailableFrom(const std::vector<std::string>& arguments);
95
99 double electronID(const Particle* part);
100
104 double muonID(const Particle* part);
105
109 double pionID(const Particle* part);
110
114 double kaonID(const Particle* part);
115
119 double protonID(const Particle* part);
120
124 double deuteronID(const Particle* part);
125
129 double binaryPID(const Particle* part, const std::vector<double>& arguments);
130
135 double electronID_noSVD(const Particle* part);
136
141 double muonID_noSVD(const Particle* part);
142
147 double pionID_noSVD(const Particle* part);
148
153 double kaonID_noSVD(const Particle* part);
154
159 double protonID_noSVD(const Particle* part);
160
165 double deuteronID_noSVD(const Particle* part);
166
171 double binaryPID_noSVD(const Particle* part, const std::vector<double>& arguments);
172
177 double electronID_noTOP(const Particle* part);
178
183 double binaryElectronID_noTOP(const Particle* part, const std::vector<double>& arguments);
184
189 double electronID_noSVD_noTOP(const Particle* part);
190
195 double binaryElectronID_noSVD_noTOP(const Particle* part, const std::vector<double>& arguments);
196
201 double pionID_noARICHwoECL(const Particle* part);
202
207 double kaonID_noARICHwoECL(const Particle* part);
208
213 double binaryPID_noARICHwoECL(const Particle* part, const std::vector<double>& arguments);
214
221 double antineutronID(const Particle* particle);
222
232 Manager::FunctionPtr pidChargedBDTScore(const std::vector<std::string>& pdgCodeHyp);
233
243 Manager::FunctionPtr pidPairChargedBDTScore(const std::vector<std::string>& arguments);
244
248 double mostLikelyPDG(const Particle* part, const std::vector<double>& arguments);
249
253 bool isMostLikely(const Particle* part, const std::vector<double>& arguments);
254
261 double atcPIDBelle(const Particle*, const std::vector<double>& sigAndBkgHyp);
262
266 double muIDBelle(const Particle*);
267
271 double muIDBelleQuality(const Particle*);
272
276 double eIDBelle(const Particle*);
277
288 Manager::FunctionPtr pidWeightedLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
289
300 Manager::FunctionPtr pidWeightedPairProbabilityExpert(const std::vector<std::string>& arguments);
301
310 Manager::FunctionPtr pidNeuralNetworkValueExpert(const std::vector<std::string>& arguments);
311
322 Manager::FunctionPtr pidWeightedProbabilityExpert(const std::vector<std::string>& arguments);
323
324
328 Manager::FunctionPtr weightedElectronID(const std::vector<std::string>& arguments);
329
333 Manager::FunctionPtr weightedMuonID(const std::vector<std::string>& arguments);
334
338 Manager::FunctionPtr weightedPionID(const std::vector<std::string>& arguments);
339
343 Manager::FunctionPtr weightedKaonID(const std::vector<std::string>& arguments);
344
348 Manager::FunctionPtr weightedProtonID(const std::vector<std::string>& arguments);
349
353 Manager::FunctionPtr weightedDeuteronID(const std::vector<std::string>& arguments);
354
358 double pionIDNN(const Particle* particle);
359
363 double kaonIDNN(const Particle* particle);
364
368 double klmMuonIDDNN(const Particle* part);
369
373 Const::PIDDetectorSet parseDetectors(const std::vector<std::string>& arguments);
374
375 }
377} // 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:113
Abstract base class for different kinds of events.