Belle II Software  light-2403-persian
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  bool isMC(const Particle*);
26 
30  bool isContinuumEvent(const Particle*);
34  bool isChargedBEvent(const Particle*);
38  double isUnmixedBEvent(const Particle*);
39 
40 
41  /*
42  * Variable used as target for Continuum Suppression Training
43  * Returns 1 if the Event is not a continuum event, else 0
44  */
45  bool isNotContinuumEvent(const Particle*);
46 
50  int nTracks(const Particle*);
51 
56  int nChargeZeroTrackFits(const Particle*);
57 
61  double belleECLEnergy(const Particle*);
62 
66  int nKLMClusters(const Particle*);
67 
71  int nMCParticles(const Particle*);
72 
76  int nPrimaryMCParticles(const Particle*);
77 
81  int nInitialPrimaryMCParticles(const Particle*);
82 
86  int nVirtualPrimaryMCParticles(const Particle*);
87 
91  int nNeutralECLClusters(const Particle*, const std::vector<double>& hypothesis);
92 
96  int nV0s(const Particle*);
97 
101  int nValidV0s(const Particle*);
102 
106  int expNum(const Particle*);
107 
111  int evtNum(const Particle*);
112 
116  int runNum(const Particle*);
117 
121  int productionIdentifier(const Particle*);
122 
126  double getCMSEnergy(const Particle*);
127 
131  double getBeamPx(const Particle*);
132 
136  double getBeamPy(const Particle*);
137 
141  double getBeamPz(const Particle*);
142 
146  double getBeamE(const Particle*);
147 
148 
150  double getMcPxHER(const Particle*);
151 
153  double getMcPyHER(const Particle*);
154 
156  double getMcPzHER(const Particle*);
157 
159  double getMcPxLER(const Particle*);
160 
162  double getMcPyLER(const Particle*);
163 
165  double getMcPzLER(const Particle*);
166 
167 
169  double getPxHER(const Particle*);
170 
172  double getPyHER(const Particle*);
173 
175  double getPzHER(const Particle*);
176 
178  double getPxLER(const Particle*);
179 
181  double getPyLER(const Particle*);
182 
184  double getPzLER(const Particle*);
185 
186 
187 
191  double getCMSEnergyMC(const Particle*);
192 
196  double getTotalEnergyMC(const Particle*);
197 
201  double getGenIPX(const Particle*);
202 
206  double getGenIPY(const Particle*);
207 
211  double getGenIPZ(const Particle*);
212 
216  double getIPX(const Particle*);
217 
221  double getIPY(const Particle*);
222 
226  double getIPZ(const Particle*);
227 
231  double ipCovMatrixElement(const Particle*, const std::vector<double>& element);
232 
236  double thrustOfEvent(const Particle*);
237 
241  double thrustOfEvent_Px(const Particle*);
242 
246  double thrustOfEvent_Py(const Particle*);
247 
251  double thrustOfEvent_Pz(const Particle*);
252 
256  double missingMomentumOfEvent(const Particle*);
257 
261  double missingMomentumOfEvent_Px(const Particle*);
262 
266  double missingMomentumOfEvent_Py(const Particle*);
267 
271  double missingMomentumOfEvent_Pz(const Particle*);
272 
276  double missingMomentumOfEvent_theta(const Particle*);
277 
281  double missingMomentumOfEventCMS(const Particle*);
282 
286  double genMissingMomentumOfEventCMS(const Particle*);
287 
291  double missingMomentumOfEventCMS_Px(const Particle*);
292 
296  double missingMomentumOfEventCMS_Py(const Particle*);
297 
301  double missingMomentumOfEventCMS_Pz(const Particle*);
302 
306  double missingMomentumOfEventCMS_theta(const Particle*);
307 
311  double missingEnergyOfEventCMS(const Particle*);
312 
317  double genMissingEnergyOfEventCMS(const Particle*);
318 
322  double missingMass2OfEvent(const Particle*);
323 
327  double genMissingMass2OfEvent(const Particle*);
328 
332  double visibleEnergyOfEventCMS(const Particle*);
333 
337  double genVisibleEnergyOfEventCMS(const Particle*);
338 
342  double totalPhotonsEnergyOfEvent(const Particle*);
343 
347  double genTotalPhotonsEnergyOfEvent(const Particle*);
348 
352  double eventYearMonthDay(const Particle*);
353 
357  double eventYear(const Particle*);
358 
362  double eventTimeSeconds(const Particle*);
363 
367  double eventTimeSecondsFractionRemainder(const Particle*);
368 
372  double eventT0(const Particle*);
373 
377  double timeSincePrevTriggerClockTicks(const Particle*);
378 
382  double timeSincePrevTriggerMicroSeconds(const Particle*);
383 
391  double triggeredBunchNumberTTD(const Particle*);
392 
398  double triggeredBunchNumber(const Particle*);
399 
403  double hasRecentInjection(const Particle*);
404 
410  double timeSinceLastInjectionSignalClockTicks(const Particle*);
411 
417  double timeSinceLastInjectionSignalMicroSeconds(const Particle*);
418 
422  double timeSinceLastInjectionClockTicks(const Particle*);
423 
427  double timeSinceLastInjectionMicroSeconds(const Particle*);
428 
432  double injectionInHER(const Particle*);
433 
438  double revolutionCounter2(const Particle*);
439 
440  }
442 } // Belle2 namespace
443 
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24