Belle II Software  release-06-02-00
EventVariables.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 <vector>
12 
13 namespace Belle2 {
18  class Particle;
19 
20  namespace Variable {
21 
25  double isMC(const Particle*);
26 
30  double isContinuumEvent(const Particle*);
34  double isChargedBEvent(const Particle*);
38  double isUnmixedBEvent(const Particle*);
39 
40 
41  /*
42  * Variable used as target for Continuum Suppression Training
43  * Returns 1.0 if the Event is not a continuum event, else 0.0
44  */
45  double isNotContinuumEvent(const Particle*);
46 
50  double nTracks(const Particle*);
51 
56  double nChargeZeroTrackFits(const Particle*);
57 
61  double belleECLEnergy(const Particle*);
62 
66  double nKLMClusters(const Particle*);
67 
71  double nMCParticles(const Particle*);
72 
76  double expNum(const Particle*);
77 
81  double evtNum(const Particle*);
82 
86  double runNum(const Particle*);
87 
91  double productionIdentifier(const Particle*);
92 
96  double getCMSEnergy(const Particle*);
97 
101  double getBeamPx(const Particle*);
102 
106  double getBeamPy(const Particle*);
107 
111  double getBeamPz(const Particle*);
112 
116  double getBeamE(const Particle*);
117 
121  double getGenIPX(const Particle*);
122 
126  double getGenIPY(const Particle*);
127 
131  double getGenIPZ(const Particle*);
132 
136  double getIPX(const Particle*);
137 
141  double getIPY(const Particle*);
142 
146  double getIPZ(const Particle*);
147 
151  double ipCovMatrixElement(const Particle*, const std::vector<double>& element);
152 
156  double thrustOfEvent(const Particle*);
157 
161  double thrustOfEvent_Px(const Particle*);
162 
166  double thrustOfEvent_Py(const Particle*);
167 
171  double thrustOfEvent_Pz(const Particle*);
172 
176  double missingMomentumOfEvent(const Particle*);
177 
181  double missingMomentumOfEvent_Px(const Particle*);
182 
186  double missingMomentumOfEvent_Py(const Particle*);
187 
191  double missingMomentumOfEvent_Pz(const Particle*);
192 
196  double missingMomentumOfEvent_theta(const Particle*);
197 
201  double missingMomentumOfEventCMS(const Particle*);
202 
206  double genMissingMomentumOfEventCMS(const Particle*);
207 
211  double missingMomentumOfEventCMS_Px(const Particle*);
212 
216  double missingMomentumOfEventCMS_Py(const Particle*);
217 
221  double missingMomentumOfEventCMS_Pz(const Particle*);
222 
226  double missingMomentumOfEventCMS_theta(const Particle*);
227 
231  double missingEnergyOfEventCMS(const Particle*);
232 
237  double genMissingEnergyOfEventCMS(const Particle*);
238 
242  double missingMass2OfEvent(const Particle*);
243 
247  double genMissingMass2OfEvent(const Particle*);
248 
252  double visibleEnergyOfEventCMS(const Particle*);
253 
257  double genVisibleEnergyOfEventCMS(const Particle*);
258 
262  double totalPhotonsEnergyOfEvent(const Particle*);
263 
267  double genTotalPhotonsEnergyOfEvent(const Particle*);
268 
272  double eventYearMonthDay(const Particle*);
273 
277  double eventYear(const Particle*);
278 
282  double eventTimeSeconds(const Particle*);
283 
287  double eventTimeSecondsFractionRemainder(const Particle*);
288 
292  double eventT0(const Particle*);
293 
297  double timeSincePrevTriggerClockTicks(const Particle*);
298 
302  double timeSincePrevTriggerMicroSeconds(const Particle*);
303 
311  double triggeredBunchNumberTTD(const Particle*);
312 
318  double triggeredBunchNumber(const Particle*);
319 
323  double hasRecentInjection(const Particle*);
324 
330  double timeSinceLastInjectionSignalClockTicks(const Particle*);
331 
337  double timeSinceLastInjectionSignalMicroSeconds(const Particle*);
338 
342  double timeSinceLastInjectionClockTicks(const Particle*);
343 
347  double timeSinceLastInjectionMicroSeconds(const Particle*);
348 
352  double injectionInHER(const Particle*);
353 
358  double revolutionCounter2(const Particle*);
359 
360  }
362 } // Belle2 namespace
363 
Abstract base class for different kinds of events.