Belle II Software  release-08-01-10
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 expNum(const Particle*);
92 
96  int evtNum(const Particle*);
97 
101  int runNum(const Particle*);
102 
106  int productionIdentifier(const Particle*);
107 
111  double getCMSEnergy(const Particle*);
112 
116  double getBeamPx(const Particle*);
117 
121  double getBeamPy(const Particle*);
122 
126  double getBeamPz(const Particle*);
127 
131  double getBeamE(const Particle*);
132 
136  double getCMSEnergyMC(const Particle*);
137 
141  double getTotalEnergyMC(const Particle*);
142 
146  double getGenIPX(const Particle*);
147 
151  double getGenIPY(const Particle*);
152 
156  double getGenIPZ(const Particle*);
157 
161  double getIPX(const Particle*);
162 
166  double getIPY(const Particle*);
167 
171  double getIPZ(const Particle*);
172 
176  double ipCovMatrixElement(const Particle*, const std::vector<double>& element);
177 
181  double thrustOfEvent(const Particle*);
182 
186  double thrustOfEvent_Px(const Particle*);
187 
191  double thrustOfEvent_Py(const Particle*);
192 
196  double thrustOfEvent_Pz(const Particle*);
197 
201  double missingMomentumOfEvent(const Particle*);
202 
206  double missingMomentumOfEvent_Px(const Particle*);
207 
211  double missingMomentumOfEvent_Py(const Particle*);
212 
216  double missingMomentumOfEvent_Pz(const Particle*);
217 
221  double missingMomentumOfEvent_theta(const Particle*);
222 
226  double missingMomentumOfEventCMS(const Particle*);
227 
231  double genMissingMomentumOfEventCMS(const Particle*);
232 
236  double missingMomentumOfEventCMS_Px(const Particle*);
237 
241  double missingMomentumOfEventCMS_Py(const Particle*);
242 
246  double missingMomentumOfEventCMS_Pz(const Particle*);
247 
251  double missingMomentumOfEventCMS_theta(const Particle*);
252 
256  double missingEnergyOfEventCMS(const Particle*);
257 
262  double genMissingEnergyOfEventCMS(const Particle*);
263 
267  double missingMass2OfEvent(const Particle*);
268 
272  double genMissingMass2OfEvent(const Particle*);
273 
277  double visibleEnergyOfEventCMS(const Particle*);
278 
282  double genVisibleEnergyOfEventCMS(const Particle*);
283 
287  double totalPhotonsEnergyOfEvent(const Particle*);
288 
292  double genTotalPhotonsEnergyOfEvent(const Particle*);
293 
297  double eventYearMonthDay(const Particle*);
298 
302  double eventYear(const Particle*);
303 
307  double eventTimeSeconds(const Particle*);
308 
312  double eventTimeSecondsFractionRemainder(const Particle*);
313 
317  double eventT0(const Particle*);
318 
322  double timeSincePrevTriggerClockTicks(const Particle*);
323 
327  double timeSincePrevTriggerMicroSeconds(const Particle*);
328 
336  double triggeredBunchNumberTTD(const Particle*);
337 
343  double triggeredBunchNumber(const Particle*);
344 
348  double hasRecentInjection(const Particle*);
349 
355  double timeSinceLastInjectionSignalClockTicks(const Particle*);
356 
362  double timeSinceLastInjectionSignalMicroSeconds(const Particle*);
363 
367  double timeSinceLastInjectionClockTicks(const Particle*);
368 
372  double timeSinceLastInjectionMicroSeconds(const Particle*);
373 
377  double injectionInHER(const Particle*);
378 
383  double revolutionCounter2(const Particle*);
384 
385  }
387 } // Belle2 namespace
388 
Abstract base class for different kinds of events.