Belle II Software  release-06-02-00
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/dataobjects/Particle.h>
12 #include <analysis/VariableManager/Manager.h>
13 
14 namespace Belle2 {
20  namespace Variable {
21 
22 
32  Manager::FunctionPtr pidLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
33 
43  Manager::FunctionPtr pidDeltaLogLikelihoodValueExpert(const std::vector<std::string>& arguments);
44 
54  Manager::FunctionPtr pidPairProbabilityExpert(const std::vector<std::string>& arguments);
55 
65  Manager::FunctionPtr pidProbabilityExpert(const std::vector<std::string>& arguments);
66 
71  Manager::FunctionPtr pidMissingProbabilityExpert(const std::vector<std::string>& arguments);
72 
76  double particleID(const Particle* part);
77 
81  double electronID(const Particle* part);
82 
86  double muonID(const Particle* part);
87 
91  double pionID(const Particle* part);
92 
96  double kaonID(const Particle* part);
97 
101  double protonID(const Particle* part);
102 
106  double deuteronID(const Particle* part);
107 
111  double binaryPID(const Particle* part, const std::vector<double>& arguments);
112 
117  double electronID_noSVD(const Particle* part);
118 
123  double muonID_noSVD(const Particle* part);
124 
129  double pionID_noSVD(const Particle* part);
130 
135  double kaonID_noSVD(const Particle* part);
136 
141  double protonID_noSVD(const Particle* part);
142 
147  double deuteronID_noSVD(const Particle* part);
148 
153  double binaryPID_noSVD(const Particle* part, const std::vector<double>& arguments);
154 
159  double electronID_noTOP(const Particle* part);
160 
167  double antineutronID(const Particle* particle);
168 
178  Manager::FunctionPtr pidChargedBDTScore(const std::vector<std::string>& pdgCodeHyp);
179 
189  Manager::FunctionPtr pidPairChargedBDTScore(const std::vector<std::string>& arguments);
190 
194  Manager::FunctionPtr mostLikelyPDG(const std::vector<std::string>& arguments);
195 
199  Manager::FunctionPtr isMostLikely(const std::vector<std::string>& arguments);
200 
207  double atcPIDBelle(const Particle*, const std::vector<double>& sigAndBkgHyp);
208 
212  double muIDBelle(const Particle*);
213 
217  double muIDBelleQuality(const Particle*);
218 
222  double eIDBelle(const Particle*);
223 
227  Const::PIDDetectorSet parseDetectors(const std::vector<std::string>& arguments);
228 
229  }
231 } // Belle2 namespace
RestrictedDetectorSet< PIDDetectors > PIDDetectorSet
Typedef for set of PID detectors.
Definition: Const.h:260
std::function< double(const Particle *)> FunctionPtr
NOTE: the python interface is documented manually in analysis/doc/Variables.rst (because we use ROOT ...
Definition: Manager.h:108
Abstract base class for different kinds of events.