Belle II Software  release-06-01-15
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 beamBackgroundProbabilityMVA(const Particle* particle);
39 
44  double eclClusterNumberOfHadronDigits(const Particle* particle);
45 
51  double eclClusterDetectionRegion(const Particle* particle);
52 
57  double eclClusterIsolation(const Particle* particle);
58 
63  double eclClusterIsolationID(const Particle* particle);
64 
69  Manager::FunctionPtr eclClusterIsolationVar(const std::vector<std::string>& arguments);
70 
78  double eclClusterDeltaL(const Particle* particle);
79 
83  double eclClusterErrorE(const Particle* particle);
84 
88  double eclClusterE(const Particle* particle);
89 
93  double eclClusterUncorrectedE(const Particle* particle);
94 
98  double eclClusterR(const Particle* particle);
99 
103  double eclClusterPhi(const Particle* particle);
104 
108  double eclClusterTheta(const Particle* particle);
109 
113  double eclClusterTiming(const Particle* particle);
114 
118  double eclClusterHasFailedTiming(const Particle* particle);
119 
123  double eclClusterErrorPhi(const Particle* particle);
124 
128  double eclClusterErrorTheta(const Particle* particle);
129 
133  double eclClusterErrorTiming(const Particle* particle);
134 
138  double eclClusterHasFailedErrorTiming(const Particle* particle);
139 
143  double eclClusterHighestE(const Particle* particle);
144 
148  double eclClusterCellId(const Particle* particle);
149 
153  double eclClusterThetaId(const Particle* particle);
154 
158  double eclClusterPhiId(const Particle* particle);
159 
163  double eclClusterE1E9(const Particle* particle);
164 
168  double eclClusterE9E21(const Particle* particle);
169 
173  inline double eclClusterE9E25(const Particle* particle) {return eclClusterE9E21(particle);}
174 
178  double eclClusterAbsZernikeMoment40(const Particle* particle);
179 
183  double eclClusterAbsZernikeMoment51(const Particle* particle);
184 
188  double eclClusterZernikeMVA(const Particle* particle);
189 
193  double eclClusterSecondMoment(const Particle* particle);
194 
198  double eclClusterLAT(const Particle* particle);
199 
204  double eclClusterNHits(const Particle* particle);
205 
209  double eclClusterTrackMatched(const Particle* particle);
210 
217  double nECLClusterTrackMatches(const Particle* particle);
218 
222  double eclClusterConnectedRegionId(const Particle* particle);
223 
227  double eclClusterId(const Particle* particle);
228 
234  double eclClusterHasNPhotonsHypothesis(const Particle* particle);
235 
241  double eclClusterHasNeutralHadronHypothesis(const Particle* particle);
242 
246  double eclClusterHasPulseShapeDiscrimination(const Particle* particle);
247 
251  double eclExtTheta(const Particle* particle);
252 
256  double eclExtPhi(const Particle* particle);
257 
261  double eclExtPhiId(const Particle* particle);
262 
266  double weightedAverageECLTime(const Particle* particle);
267 
271  double maxWeightedDistanceFromAverageECLTime(const Particle* particle);
272 
276  double nECLOutOfTimeCrystalsFWDEndcap(const Particle*);
277 
281  double nECLOutOfTimeCrystalsBarrel(const Particle*);
282 
286  double nECLOutOfTimeCrystalsBWDEndcap(const Particle*);
287 
291  double nECLOutOfTimeCrystals(const Particle*);
292 
297  double nRejectedECLShowersFWDEndcap(const Particle*);
298 
303  double nRejectedECLShowersBarrel(const Particle*);
304 
309  double nRejectedECLShowersBWDEndcap(const Particle*);
310 
314  double nRejectedECLShowers(const Particle*);
315 
317  double eclClusterEoP(const Particle* part);
318 
323  double eclClusterOnlyInvariantMass(const Particle* part);
324 
328  double eclClusterMdstIndex(const Particle* particle);
329 
335  Manager::FunctionPtr photonHasOverlap(const std::vector<std::string>& arguments);
336 
337  }
339 } // Belle2 namespace
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.