Belle II Software  release-05-02-19
ECLVariables.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Torben Ferber *
7  * Alon Hershenhorn *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #pragma once
13 #include <vector>
14 
15 namespace Belle2 {
20  class Particle;
21 
22  namespace Variable {
23 
27  double eclPulseShapeDiscriminationMVA(const Particle* particle);
28 
33  double eclClusterNumberOfHadronDigits(const Particle* particle);
34 
40  double eclClusterDetectionRegion(const Particle* particle);
41 
46  double eclClusterIsolation(const Particle* particle);
47 
55  double eclClusterDeltaL(const Particle* particle);
56 
60  double eclClusterErrorE(const Particle* particle);
61 
65  double eclClusterE(const Particle* particle);
66 
70  double eclClusterUncorrectedE(const Particle* particle);
71 
75  double eclClusterR(const Particle* particle);
76 
80  double eclClusterPhi(const Particle* particle);
81 
85  double eclClusterTheta(const Particle* particle);
86 
90  double eclClusterTiming(const Particle* particle);
91 
95  double eclClusterHasFailedTiming(const Particle* particle);
96 
100  double eclClusterErrorPhi(const Particle* particle);
101 
105  double eclClusterErrorTheta(const Particle* particle);
106 
110  double eclClusterErrorTiming(const Particle* particle);
111 
115  double eclClusterHasFailedErrorTiming(const Particle* particle);
116 
120  double eclClusterHighestE(const Particle* particle);
121 
125  double eclClusterCellId(const Particle* particle);
126 
130  double eclClusterE1E9(const Particle* particle);
131 
135  double eclClusterE9E21(const Particle* particle);
136 
140  inline double eclClusterE9E25(const Particle* particle) {return eclClusterE9E21(particle);}
141 
145  double eclClusterAbsZernikeMoment40(const Particle* particle);
146 
150  double eclClusterAbsZernikeMoment40(const Particle* particle);
151 
155  double eclClusterZernikeMVA(const Particle* particle);
156 
160  double eclClusterSecondMoment(const Particle* particle);
161 
165  double eclClusterLAT(const Particle* particle);
166 
171  double eclClusterNHits(const Particle* particle);
172 
176  double eclClusterTrackMatched(const Particle* particle);
177 
184  double nECLClusterTrackMatches(const Particle* particle);
185 
189  double eclClusterConnectedRegionId(const Particle* particle);
190 
194  double eclClusterId(const Particle* particle);
195 
201  double eclClusterHasNPhotonsHypothesis(const Particle* particle);
202 
208  double eclClusterHasNeutralHadronHypothesis(const Particle* particle);
209 
213  double eclClusterHasPulseShapeDiscrimination(const Particle* particle);
214 
218  double eclClusterTrigger(const Particle* particle);
219 
223  double eclExtTheta(const Particle* particle);
224 
228  double eclExtPhi(const Particle* particle);
229 
233  double eclExtPhiId(const Particle* particle);
234 
238  double eclEnergy3FWDBarrel(const Particle* particle);
239 
243  double eclEnergy3FWDEndcap(const Particle* particle);
244 
248  double eclEnergy3BWDBarrel(const Particle* particle);
249 
253  double eclEnergy3BWDEndcap(const Particle* particle);
254 
258  double weightedAverageECLTime(const Particle* particle);
259 
263  double maxWeightedDistanceFromAverageECLTime(const Particle* particle);
264 
268  double nECLOutOfTimeCrystalsFWDEndcap(const Particle*);
269 
273  double nECLOutOfTimeCrystalsBarrel(const Particle*);
274 
278  double nECLOutOfTimeCrystalsBWDEndcap(const Particle*);
279 
283  double nECLOutOfTimeCrystals(const Particle*);
284 
289  double nRejectedECLShowersFWDEndcap(const Particle*);
290 
295  double nRejectedECLShowersBarrel(const Particle*);
296 
301  double nRejectedECLShowersBWDEndcap(const Particle*);
302 
306  double nRejectedECLShowers(const Particle*);
307 
309  double eclClusterEoP(const Particle* part);
310 
315  double eclClusterOnlyInvariantMass(const Particle* part);
316 
320  double getNumberOfTCs(const Particle*, const std::vector<double>& vars);
321 
325  double getEnergyTC(const Particle*, const std::vector<double>& vars);
326 
330  double getEnergyTCECLCalDigit(const Particle*, const std::vector<double>& vars);
331 
335  double getTimingTC(const Particle*, const std::vector<double>& vars);
336 
340  double getEvtTimingTC(const Particle*);
341 
345  double getMaximumTCId(const Particle*);
346 
350  double eclHitWindowTC(const Particle*, const std::vector<double>& vars);
351 
355  double getTimingTCECLCalDigit(const Particle*, const std::vector<double>& vars);
356 
360  double eclEnergySumTC(const Particle*, const std::vector<double>& vars);
361 
365  double eclEnergySumTCECLCalDigit(const Particle*, const std::vector<double>& vars);
366 
370  double eclEnergySumTCECLCalDigitInECLCluster(const Particle*);
371 
375  double eclEnergySumECLCalDigitInECLCluster(const Particle*);
376 
380  double eclEnergySumTCECLCalDigitInECLClusterThreshold(const Particle*);
381 
385  double eclNumberOfTCsForCluster(const Particle* particle, const std::vector<double>& vars);
386 
390  double eclTCFADCForCluster(const Particle* particle, const std::vector<double>& vars);
391 
395  double eclTCIsMaximumForCluster(const Particle* particle);
396 
400  double eclClusterMdstIndex(const Particle* particle);
401 
402  }
404 } // Belle2 namespace
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19