Belle II Software development
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
16namespace 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.