Belle II Software  release-08-01-10
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 
16 namespace 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 
74  Manager::FunctionPtr pidMissingProbabilityExpert(const std::vector<std::string>& arguments);
75 
79  double particleID(const Particle* part);
80 
84  double electronID(const Particle* part);
85 
89  double muonID(const Particle* part);
90 
94  double pionID(const Particle* part);
95 
99  double kaonID(const Particle* part);
100 
104  double protonID(const Particle* part);
105 
109  double deuteronID(const Particle* part);
110 
114  double binaryPID(const Particle* part, const std::vector<double>& arguments);
115 
120  double electronID_noSVD(const Particle* part);
121 
126  double muonID_noSVD(const Particle* part);
127 
132  double pionID_noSVD(const Particle* part);
133 
138  double kaonID_noSVD(const Particle* part);
139 
144  double protonID_noSVD(const Particle* part);
145 
150  double deuteronID_noSVD(const Particle* part);
151 
156  double binaryPID_noSVD(const Particle* part, const std::vector<double>& arguments);
157 
162  double electronID_noTOP(const Particle* part);
163 
168  double binaryElectronID_noTOP(const Particle* part, const std::vector<double>& arguments);
169 
174  double electronID_noSVD_noTOP(const Particle* part);
175 
180  double binaryElectronID_noSVD_noTOP(const Particle* part, const std::vector<double>& arguments);
181 
186  double pionID_noARICHwoECL(const Particle* part);
187 
192  double kaonID_noARICHwoECL(const Particle* part);
193 
198  double binaryPID_noARICHwoECL(const Particle* part, const std::vector<double>& arguments);
199 
206  double antineutronID(const Particle* particle);
207 
217  Manager::FunctionPtr pidChargedBDTScore(const std::vector<std::string>& pdgCodeHyp);
218 
228  Manager::FunctionPtr pidPairChargedBDTScore(const std::vector<std::string>& arguments);
229 
233  double mostLikelyPDG(const Particle* part, const std::vector<double>& arguments);
234 
238  bool isMostLikely(const Particle* part, const std::vector<double>& arguments);
239 
246  double atcPIDBelle(const Particle*, const std::vector<double>& sigAndBkgHyp);
247 
251  double muIDBelle(const Particle*);
252 
256  double muIDBelleQuality(const Particle*);
257 
261  double eIDBelle(const Particle*);
262 
273  Manager::FunctionPtr pidWeightedLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
274 
285  Manager::FunctionPtr pidWeightedPairProbabilityExpert(const std::vector<std::string>& arguments);
286 
295  Manager::FunctionPtr pidNeuralNetworkValueExpert(const std::vector<std::string>& arguments);
296 
307  Manager::FunctionPtr pidWeightedProbabilityExpert(const std::vector<std::string>& arguments);
308 
309 
313  Manager::FunctionPtr weightedElectronID(const std::vector<std::string>& arguments);
314 
318  Manager::FunctionPtr weightedMuonID(const std::vector<std::string>& arguments);
319 
323  Manager::FunctionPtr weightedPionID(const std::vector<std::string>& arguments);
324 
328  Manager::FunctionPtr weightedKaonID(const std::vector<std::string>& arguments);
329 
333  Manager::FunctionPtr weightedProtonID(const std::vector<std::string>& arguments);
334 
338  Manager::FunctionPtr weightedDeuteronID(const std::vector<std::string>& arguments);
339 
343  double pionIDNN(const Particle* particle);
344 
348  double kaonIDNN(const Particle* particle);
349 
353  Const::PIDDetectorSet parseDetectors(const std::vector<std::string>& arguments);
354 
355  }
357 } // Belle2 namespace
RestrictedDetectorSet< PIDDetectors > PIDDetectorSet
Typedef for set of PID detectors.
Definition: Const.h:370
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.