Belle II Software  release-05-02-19
MCTruthVariables.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018-2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Sam Cunliffe *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <vector>
14 
15 namespace Belle2 {
20  class Particle;
21 
22  namespace Variable {
23 
27  double particleMCInitialParticle(const Particle* particle);
28 
32  double particleMCVirtualParticle(const Particle* particle);
33 
37  double particleMCFSRParticle(const Particle* particle);
38 
42  double particleMCPhotosParticle(const Particle* particle);
43 
47  double particleMCISRParticle(const Particle* particle);
48 
53  double isSignal(const Particle* part);
54 
59  double isSignalAcceptWrongFSPs(const Particle* part);
60 
64  double isSignalAcceptMissingNeutrino(const Particle* part);
65 
69  double isSignalAcceptMissingMassive(const Particle* part);
70 
74  double isSignalAcceptMissingGamma(const Particle* part);
75 
79  double isSignalAcceptBremsPhotons(const Particle* part);
80 
84  double isSignalAcceptMissing(const Particle* part);
85 
90  double isWrongCharge(const Particle* particle);
91 
98  double isCloneTrack(const Particle* particle);
99 
104  double isOrHasCloneTrack(const Particle* particle);
105 
110  double isMisidentified(const Particle* particle);
111 
115  double genNthMotherPDG(const Particle* part, const std::vector<double>& daughterIDs);
116 
120  double genNthMotherIndex(const Particle* part, const std::vector<double>& daughterIDs);
121 
125  double genMotherPDG(const Particle* particle);
126 
130  double genMotherIndex(const Particle* particle);
131 
135  double genMotherP(const Particle* particle);
136 
140  double genParticleIndex(const Particle* particle);
141 
145  double particleMCMatchPDGCode(const Particle* particle);
146 
150  double particleMCErrors(const Particle* particle);
151 
155  double particleMCMatchWeight(const Particle* particle);
156 
160  double particleNumberOfMCMatch(const Particle* particle);
161 
165  double particleMCPrimaryParticle(const Particle* particle);
166 
167  /*
168  * return the true momentum transfer to lepton pair in a B (semi-) leptonic B meson decay
169  */
170  double particleMCMomentumTransfer2(const Particle* part);
171 
176  double particleMCMatchDecayTime(const Particle* particle);
177 
178 
180  double particleMCMatchLifeTime(const Particle* particle);
181 
185  double particleMCMatchPX(const Particle* particle);
186 
190  double particleMCMatchPY(const Particle* particle);
191 
195  double particleMCMatchPZ(const Particle* particle);
196 
200  double particleMCMatchPT(const Particle* particle);
201 
205  double particleMCMatchE(const Particle* particle);
206 
210  double particleMCMatchP(const Particle* particle);
211 
216  double particleMCRecoilMass(const Particle* particle);
217 
221  double generatorEventWeight(const Particle*);
222 
226  int tauPlusMcMode(const Particle*);
227 
231  int tauMinusMcMode(const Particle*);
232 
236  int tauPlusMcProng(const Particle*);
237 
241  int tauMinusMcProng(const Particle*);
242 
244  double isReconstructible(const Particle*);
245 
247  double seenInPXD(const Particle*);
248 
250  double seenInSVD(const Particle*);
251 
253  double seenInCDC(const Particle*);
254 
256  double seenInTOP(const Particle*);
257 
259  double seenInECL(const Particle*);
260 
262  double seenInARICH(const Particle*);
263 
265  double seenInKLM(const Particle*);
266 
272  int genNStepsToDaughter(const Particle* particle, const std::vector<double>& arguments);
273 
278  int genNMissingDaughter(const Particle* particle, const std::vector<double>& arguments);
279 
283  double getHEREnergy(const Particle*);
284 
288  double getLEREnergy(const Particle*);
289 
293  double getCrossingAngle(const Particle*);
294 
299  double particleClusterMatchWeight(const Particle* particle);
300 
305  double particleClusterBestMCMatchWeight(const Particle*);
306 
314  double particleClusterBestMCPDGCode(const Particle*);
315 
316 
320  double isMC(const Particle*);
321 
322  }
324 }
325 
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19