Belle II Software  light-2303-iriomote
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 
39  double hadronicSplitOffSuppression(const Particle* particle);
40 
44  double fakePhotonSuppression(const Particle* particle);
45 
49  double beamBackgroundSuppression(const Particle* particle);
50 
55  double eclClusterNumberOfHadronDigits(const Particle* particle);
56 
62  double eclClusterDetectionRegion(const Particle* particle);
63 
68  double eclClusterIsolation(const Particle* particle);
69 
74  double eclClusterIsolationID(const Particle* particle);
75 
80  Manager::FunctionPtr eclClusterIsolationVar(const std::vector<std::string>& arguments);
81 
89  double eclClusterDeltaL(const Particle* particle);
90 
94  double eclClusterErrorE(const Particle* particle);
95 
99  double eclClusterE(const Particle* particle);
100 
104  double eclClusterUncorrectedE(const Particle* particle);
105 
109  double eclClusterR(const Particle* particle);
110 
114  double eclClusterPhi(const Particle* particle);
115 
119  double eclClusterTheta(const Particle* particle);
120 
124  double eclClusterTiming(const Particle* particle);
125 
129  double eclClusterHasFailedTiming(const Particle* particle);
130 
134  double eclClusterErrorPhi(const Particle* particle);
135 
139  double eclClusterErrorTheta(const Particle* particle);
140 
144  double eclClusterErrorTiming(const Particle* particle);
145 
149  double eclClusterHasFailedErrorTiming(const Particle* particle);
150 
154  double eclClusterHighestE(const Particle* particle);
155 
159  double eclClusterCellId(const Particle* particle);
160 
164  double eclClusterThetaId(const Particle* particle);
165 
169  double eclClusterPhiId(const Particle* particle);
170 
174  double eclClusterE1E9(const Particle* particle);
175 
179  double eclClusterE9E21(const Particle* particle);
180 
184  inline double eclClusterE9E25(const Particle* particle) {return eclClusterE9E21(particle);}
185 
189  double eclClusterAbsZernikeMoment40(const Particle* particle);
190 
194  double eclClusterAbsZernikeMoment51(const Particle* particle);
195 
199  double eclClusterZernikeMVA(const Particle* particle);
200 
204  double eclClusterSecondMoment(const Particle* particle);
205 
209  double eclClusterLAT(const Particle* particle);
210 
215  double eclClusterNHits(const Particle* particle);
216 
220  double eclClusterTrackMatched(const Particle* particle);
221 
228  double nECLClusterTrackMatches(const Particle* particle);
229 
233  double eclClusterConnectedRegionId(const Particle* particle);
234 
238  double eclClusterId(const Particle* particle);
239 
245  double eclClusterHasNPhotonsHypothesis(const Particle* particle);
246 
252  double eclClusterHasNeutralHadronHypothesis(const Particle* particle);
253 
257  double eclClusterHasPulseShapeDiscrimination(const Particle* particle);
258 
262  double eclExtTheta(const Particle* particle);
263 
267  double eclExtPhi(const Particle* particle);
268 
272  double eclExtPhiId(const Particle* particle);
273 
277  double weightedAverageECLTime(const Particle* particle);
278 
282  double maxWeightedDistanceFromAverageECLTime(const Particle* particle);
283 
287  double nECLOutOfTimeCrystalsFWDEndcap(const Particle*);
288 
292  double nECLOutOfTimeCrystalsBarrel(const Particle*);
293 
297  double nECLOutOfTimeCrystalsBWDEndcap(const Particle*);
298 
302  double nECLOutOfTimeCrystals(const Particle*);
303 
309  double nRejectedECLShowersFWDEndcap(const Particle*);
310 
316  double nRejectedECLShowersBarrel(const Particle*);
317 
323  double nRejectedECLShowersBWDEndcap(const Particle*);
324 
328  double nRejectedECLShowers(const Particle*);
329 
331  double eclClusterEoP(const Particle* part);
332 
337  double eclClusterOnlyInvariantMass(const Particle* part);
338 
342  double eclClusterMdstIndex(const Particle* particle);
343 
349  Manager::FunctionPtr photonHasOverlap(const std::vector<std::string>& arguments);
350 
351  }
353 } // 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