Belle II Software  light-2212-foldex
ECLVariables.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 
28  double eclClusterKlId(const Particle* particle);
29 
33  double eclPulseShapeDiscriminationMVA(const Particle* particle);
34 
38  double hadronicSplitOffSuppression(const Particle* particle);
39 
43  double beamBackgroundSuppression(const Particle* particle);
44 
49  double eclClusterNumberOfHadronDigits(const Particle* particle);
50 
56  double eclClusterDetectionRegion(const Particle* particle);
57 
62  double eclClusterIsolation(const Particle* particle);
63 
68  double eclClusterIsolationID(const Particle* particle);
69 
74  Manager::FunctionPtr eclClusterIsolationVar(const std::vector<std::string>& arguments);
75 
83  double eclClusterDeltaL(const Particle* particle);
84 
88  double eclClusterErrorE(const Particle* particle);
89 
93  double eclClusterE(const Particle* particle);
94 
98  double eclClusterUncorrectedE(const Particle* particle);
99 
103  double eclClusterR(const Particle* particle);
104 
108  double eclClusterPhi(const Particle* particle);
109 
113  double eclClusterTheta(const Particle* particle);
114 
118  double eclClusterTiming(const Particle* particle);
119 
123  double eclClusterHasFailedTiming(const Particle* particle);
124 
128  double eclClusterErrorPhi(const Particle* particle);
129 
133  double eclClusterErrorTheta(const Particle* particle);
134 
138  double eclClusterErrorTiming(const Particle* particle);
139 
143  double eclClusterHasFailedErrorTiming(const Particle* particle);
144 
148  double eclClusterHighestE(const Particle* particle);
149 
153  double eclClusterCellId(const Particle* particle);
154 
158  double eclClusterThetaId(const Particle* particle);
159 
163  double eclClusterPhiId(const Particle* particle);
164 
168  double eclClusterE1E9(const Particle* particle);
169 
173  double eclClusterE9E21(const Particle* particle);
174 
178  inline double eclClusterE9E25(const Particle* particle) {return eclClusterE9E21(particle);}
179 
183  double eclClusterAbsZernikeMoment40(const Particle* particle);
184 
188  double eclClusterAbsZernikeMoment51(const Particle* particle);
189 
193  double eclClusterZernikeMVA(const Particle* particle);
194 
198  double eclClusterSecondMoment(const Particle* particle);
199 
203  double eclClusterLAT(const Particle* particle);
204 
209  double eclClusterNHits(const Particle* particle);
210 
214  double eclClusterTrackMatched(const Particle* particle);
215 
222  double nECLClusterTrackMatches(const Particle* particle);
223 
227  double eclClusterConnectedRegionId(const Particle* particle);
228 
232  double eclClusterId(const Particle* particle);
233 
239  double eclClusterHasNPhotonsHypothesis(const Particle* particle);
240 
246  double eclClusterHasNeutralHadronHypothesis(const Particle* particle);
247 
251  double eclClusterHasPulseShapeDiscrimination(const Particle* particle);
252 
256  double eclExtTheta(const Particle* particle);
257 
261  double eclExtPhi(const Particle* particle);
262 
266  double eclExtPhiId(const Particle* particle);
267 
271  double weightedAverageECLTime(const Particle* particle);
272 
276  double maxWeightedDistanceFromAverageECLTime(const Particle* particle);
277 
281  double nECLOutOfTimeCrystalsFWDEndcap(const Particle*);
282 
286  double nECLOutOfTimeCrystalsBarrel(const Particle*);
287 
291  double nECLOutOfTimeCrystalsBWDEndcap(const Particle*);
292 
296  double nECLOutOfTimeCrystals(const Particle*);
297 
303  double nRejectedECLShowersFWDEndcap(const Particle*);
304 
310  double nRejectedECLShowersBarrel(const Particle*);
311 
317  double nRejectedECLShowersBWDEndcap(const Particle*);
318 
322  double nRejectedECLShowers(const Particle*);
323 
325  double eclClusterEoP(const Particle* part);
326 
331  double eclClusterOnlyInvariantMass(const Particle* part);
332 
336  double eclClusterMdstIndex(const Particle* particle);
337 
343  Manager::FunctionPtr photonHasOverlap(const std::vector<std::string>& arguments);
344 
345  }
347 } // Belle2 namespace
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