Belle II Software  light-2212-foldex
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 getGenIPX(const Particle*);
137 
141  double getGenIPY(const Particle*);
142 
146  double getGenIPZ(const Particle*);
147 
151  double getIPX(const Particle*);
152 
156  double getIPY(const Particle*);
157 
161  double getIPZ(const Particle*);
162 
166  double ipCovMatrixElement(const Particle*, const std::vector<double>& element);
167 
171  double thrustOfEvent(const Particle*);
172 
176  double thrustOfEvent_Px(const Particle*);
177 
181  double thrustOfEvent_Py(const Particle*);
182 
186  double thrustOfEvent_Pz(const Particle*);
187 
191  double missingMomentumOfEvent(const Particle*);
192 
196  double missingMomentumOfEvent_Px(const Particle*);
197 
201  double missingMomentumOfEvent_Py(const Particle*);
202 
206  double missingMomentumOfEvent_Pz(const Particle*);
207 
211  double missingMomentumOfEvent_theta(const Particle*);
212 
216  double missingMomentumOfEventCMS(const Particle*);
217 
221  double genMissingMomentumOfEventCMS(const Particle*);
222 
226  double missingMomentumOfEventCMS_Px(const Particle*);
227 
231  double missingMomentumOfEventCMS_Py(const Particle*);
232 
236  double missingMomentumOfEventCMS_Pz(const Particle*);
237 
241  double missingMomentumOfEventCMS_theta(const Particle*);
242 
246  double missingEnergyOfEventCMS(const Particle*);
247 
252  double genMissingEnergyOfEventCMS(const Particle*);
253 
257  double missingMass2OfEvent(const Particle*);
258 
262  double genMissingMass2OfEvent(const Particle*);
263 
267  double visibleEnergyOfEventCMS(const Particle*);
268 
272  double genVisibleEnergyOfEventCMS(const Particle*);
273 
277  double totalPhotonsEnergyOfEvent(const Particle*);
278 
282  double genTotalPhotonsEnergyOfEvent(const Particle*);
283 
287  double eventYearMonthDay(const Particle*);
288 
292  double eventYear(const Particle*);
293 
297  double eventTimeSeconds(const Particle*);
298 
302  double eventTimeSecondsFractionRemainder(const Particle*);
303 
307  double eventT0(const Particle*);
308 
312  double timeSincePrevTriggerClockTicks(const Particle*);
313 
317  double timeSincePrevTriggerMicroSeconds(const Particle*);
318 
326  double triggeredBunchNumberTTD(const Particle*);
327 
333  double triggeredBunchNumber(const Particle*);
334 
338  double hasRecentInjection(const Particle*);
339 
345  double timeSinceLastInjectionSignalClockTicks(const Particle*);
346 
352  double timeSinceLastInjectionSignalMicroSeconds(const Particle*);
353 
357  double timeSinceLastInjectionClockTicks(const Particle*);
358 
362  double timeSinceLastInjectionMicroSeconds(const Particle*);
363 
367  double injectionInHER(const Particle*);
368 
373  double revolutionCounter2(const Particle*);
374 
375  }
377 } // Belle2 namespace
378 
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:23