Belle II Software  release-08-01-10
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 
54  double distanceToMcKl(const Particle* particle);
55 
59  double distanceToMcNeutron(const Particle* particle);
60 
64  int mdstIndexMcKl(const Particle* particle);
65 
69  int mdstIndexMcNeutron(const Particle* particle);
70 
75  double eclClusterNumberOfHadronDigits(const Particle* particle);
76 
82  double eclClusterDetectionRegion(const Particle* particle);
83 
88  double eclClusterIsolation(const Particle* particle);
89 
94  double eclClusterIsolationID(const Particle* particle);
95 
100  Manager::FunctionPtr eclClusterIsolationVar(const std::vector<std::string>& arguments);
101 
109  double eclClusterDeltaL(const Particle* particle);
110 
114  double eclClusterErrorE(const Particle* particle);
115 
119  double eclClusterE(const Particle* particle);
120 
124  double eclClusterUncorrectedE(const Particle* particle);
125 
129  double eclClusterR(const Particle* particle);
130 
134  double eclClusterPhi(const Particle* particle);
135 
139  double eclClusterTheta(const Particle* particle);
140 
144  double eclClusterTiming(const Particle* particle);
145 
149  double eclClusterHasFailedTiming(const Particle* particle);
150 
154  double eclClusterErrorPhi(const Particle* particle);
155 
159  double eclClusterErrorTheta(const Particle* particle);
160 
164  double eclClusterErrorTiming(const Particle* particle);
165 
169  double eclClusterHasFailedErrorTiming(const Particle* particle);
170 
174  double eclClusterHighestE(const Particle* particle);
175 
179  double eclClusterCellId(const Particle* particle);
180 
184  double eclClusterThetaId(const Particle* particle);
185 
189  double eclClusterPhiId(const Particle* particle);
190 
194  double eclClusterE1E9(const Particle* particle);
195 
199  double eclClusterE9E21(const Particle* particle);
200 
204  inline double eclClusterE9E25(const Particle* particle) {return eclClusterE9E21(particle);}
205 
209  double eclClusterAbsZernikeMoment40(const Particle* particle);
210 
214  double eclClusterAbsZernikeMoment51(const Particle* particle);
215 
219  double eclClusterZernikeMVA(const Particle* particle);
220 
224  double eclClusterSecondMoment(const Particle* particle);
225 
229  double eclClusterLAT(const Particle* particle);
230 
235  double eclClusterNHits(const Particle* particle);
236 
240  double eclClusterTrackMatched(const Particle* particle);
241 
248  double nECLClusterTrackMatches(const Particle* particle);
249 
253  double eclClusterConnectedRegionId(const Particle* particle);
254 
258  double eclClusterId(const Particle* particle);
259 
265  double eclClusterHasNPhotonsHypothesis(const Particle* particle);
266 
272  double eclClusterHasNeutralHadronHypothesis(const Particle* particle);
273 
277  double eclClusterHasPulseShapeDiscrimination(const Particle* particle);
278 
282  double eclExtTheta(const Particle* particle);
283 
287  double eclExtPhi(const Particle* particle);
288 
292  double eclExtPhiId(const Particle* particle);
293 
297  double weightedAverageECLTime(const Particle* particle);
298 
302  double maxWeightedDistanceFromAverageECLTime(const Particle* particle);
303 
307  double nECLOutOfTimeCrystalsFWDEndcap(const Particle*);
308 
312  double nECLOutOfTimeCrystalsBarrel(const Particle*);
313 
317  double nECLOutOfTimeCrystalsBWDEndcap(const Particle*);
318 
322  double nECLOutOfTimeCrystals(const Particle*);
323 
329  double nRejectedECLShowersFWDEndcap(const Particle*);
330 
336  double nRejectedECLShowersBarrel(const Particle*);
337 
343  double nRejectedECLShowersBWDEndcap(const Particle*);
344 
348  double nRejectedECLShowers(const Particle*);
349 
353  double nKLMMultistripHitsFWDEndcap(const Particle*);
354 
358  double nKLMMultistripHitsBarrel(const Particle*);
359 
363  double nKLMMultistripHitsBWDEndcap(const Particle*);
364 
368  double nKLMMultistripHits(const Particle*);
369 
373  double nECLShowersFWDEndcap(const Particle*);
374 
378  double nECLShowersBarrel(const Particle*);
379 
383  double nECLShowersBWDEndcap(const Particle*);
384 
388  double nECLShowers(const Particle*);
389 
393  double nECLLocalMaximumsFWDEndcap(const Particle*);
394 
398  double nECLLocalMaximumsBarrel(const Particle*);
399 
403  double nECLLocalMaximumsBWDEndcap(const Particle*);
404 
408  double nECLLocalMaximums(const Particle*);
409 
413  double nECLTriggerCellsFWDEndcap(const Particle*);
414 
418  double nECLTriggerCellsBarrel(const Particle*);
419 
423  double nECLTriggerCellsBWDEndcap(const Particle*);
424 
428  double nECLTriggerCells(const Particle*);
429 
431  double eclClusterEoP(const Particle* part);
432 
437  double eclClusterOnlyInvariantMass(const Particle* part);
438 
442  double eclClusterMdstIndex(const Particle* particle);
443 
449  Manager::FunctionPtr photonHasOverlap(const std::vector<std::string>& arguments);
450 
451  }
453 } // 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.