Belle II Software  light-2205-abys
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 
188  double antineutronID(const Particle* particle);
189 
199  Manager::FunctionPtr pidChargedBDTScore(const std::vector<std::string>& pdgCodeHyp);
200 
210  Manager::FunctionPtr pidPairChargedBDTScore(const std::vector<std::string>& arguments);
211 
215  double mostLikelyPDG(const Particle* part, const std::vector<double>& arguments);
216 
220  bool isMostLikely(const Particle* part, const std::vector<double>& arguments);
221 
228  double atcPIDBelle(const Particle*, const std::vector<double>& sigAndBkgHyp);
229 
233  double muIDBelle(const Particle*);
234 
238  double muIDBelleQuality(const Particle*);
239 
243  double eIDBelle(const Particle*);
244 
248  Const::PIDDetectorSet parseDetectors(const std::vector<std::string>& arguments);
249 
250  }
252 } // Belle2 namespace
RestrictedDetectorSet< PIDDetectors > PIDDetectorSet
Typedef for set of PID detectors.
Definition: Const.h:260
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.
Definition: ClusterUtils.h:23