Belle II Software development
linkdef.h
1#ifdef __CINT__
2
3#pragma link off all globals;
4#pragma link off all classes;
5#pragma link off all functions;
6#pragma link C++ nestedclasses;
7#pragma link C++ class Belle2::Particle+; // checksum=0xb9d445e0, version=17
8#pragma link C++ class Belle2::ParticleList+; // checksum=0xa5bad8a, version=4
9#pragma link C++ class Belle2::RestOfEvent+; // checksum=0xe86f1658, version=8
10#pragma link C++ class Belle2::TagVertex+; // checksum=0xf7b6169c, version=6
11#pragma link C++ class Belle2::ContinuumSuppression+; // checksum=0x8f4ac744, version=2
12#pragma link C++ class Belle2::FlavorTaggerInfo+; // checksum=0xa85ce063, version=4
13#pragma link C++ class Belle2::FlavorTaggerInfoMap+; // checksum=0xcdef997a, version=3
14#pragma link C++ class Belle2::StringWrapper+; // checksum=0xf15ef1c4, version=1
15#pragma link C++ class Belle2::EventShapeContainer+; // checksum=0xe048bccd, version=2
16#pragma link C++ class Belle2::EventKinematics+; // checksum=0xabfc6580, version=3
17#pragma link C++ class Belle2::TauPairDecay+; // checksum=0x3ecb631d, version=2
18#pragma link C++ class Belle2::ECLEnergyCloseToTrack+; // checksum=0xeadb37d4, version=1
19#pragma link C++ class Belle2::ECLTRGInformation+; // checksum=0x744abff9, version=3
20#pragma link C++ class Belle2::ECLTriggerCell+; // checksum=0xfcbe0110, version=2
21//these two are needed when using these types (returned by Particle) in PyROOT
22#pragma link C++ class vector<Belle2::Particle*>-;
23#pragma link C++ class vector<const Belle2::Particle*>-;
24
25#pragma link C++ class Belle2::ParticleExtraInfoMap+; // checksum=0x82838333, version=1
26#pragma link C++ class Belle2::ParticleExtraInfoMap::IndexMap+; // checksum=0xf9eb593, version=6
27#pragma link C++ class map<string, unsigned int>+; // checksum=0xf9eb593, version=6
28#pragma link C++ class vector<map<string, unsigned int> >+; // checksum=0x267ce51a, version=6
29#pragma link C++ class Belle2::Btube+; // checksum=0x772238ab, version=1
30#pragma link C++ class Eigen::Matrix<double,3,1,0,3,1>+; // checksum=0x43805c43, version=-1
31#pragma link C++ class Eigen::PlainObjectBase<Eigen::Matrix<double,3,1,0,3,1> >+; // checksum=0x6464cd47, version=-1
32#pragma link C++ class Eigen::EigenBase<Eigen::Matrix<double,3,1,0,3,1> >+; // checksum=0x76f10151, version=-1
33#pragma link C++ class Eigen::MatrixBase<Eigen::Matrix<double,3,1,0,3,1> >+; // checksum=0x3988eec2, version=-1
34#pragma link C++ class Eigen::DenseStorage<double,3,3,1,0>+; // checksum=0xe13ab357, version=-1
35#pragma link C++ class Eigen::DenseBase<Eigen::Matrix<double,3,1,0,3,1> >+; // checksum=0xddba3f8c, version=-1
36#pragma link C++ class Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,0>+; // checksum=0x3b876532, version=-1
37#pragma link C++ class Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,1>+; // checksum=0x2bf33e25, version=-1
38#pragma link C++ class Eigen::DenseCoeffsBase<Eigen::Matrix<double,3,1,0,3,1>,3>+; // checksum=0xd3a06597, version=-1
39#pragma link C++ class Eigen::internal::plain_array<double,3,0,0>+; // checksum=0xa73f796a, version=-1
40
41// ----------------------------------------------------------------------------
42// Particle evolution
43// In version 14 the member m_momentumScalingFactor has been added
44#pragma read \
45 sourceClass="Belle2::Particle" \
46 source="float m_momentumScale" \
47 version="[13-14]" \
48 targetClass="Belle2::Particle" \
49 target="m_momentumScalingFactor" \
50 code="{m_momentumScalingFactor = onfile.m_momentumScale;}" \
51
52// ----------------------------------------------------------------------------
53// Particle evolution
54// In version 12 the member m_particleType has been renamed to m_particleSource.
55#pragma read \
56 sourceClass="Belle2::Particle" \
57 source="Belle2::Particle::EParticleSourceObject m_particleType" \
58 version="[-11]" \
59 targetClass="Belle2::Particle" \
60 target="m_particleSource" \
61 code="{if (onfile.m_particleType == 4) \
62 m_particleSource = Belle2::Particle::EParticleSourceObject::c_MCParticle; \
63 else if (onfile.m_particleType == 5) \
64 m_particleSource = Belle2::Particle::EParticleSourceObject::c_Composite; \
65 else m_particleSource = onfile.m_particleType; \
66 }" \
67
68// ----------------------------------------------------------------------------
69// TagVertex evolution
70// In version 4 the member m_MCdeltaT has been renamed to m_mcDeltaT.
71#pragma read \
72 sourceClass="Belle2::TagVertex" \
73 source="float m_MCdeltaT" \
74 version="[-3]" \
75 targetClass="Belle2::TagVertex" \
76 target="m_mcDeltaT" \
77 code="{m_mcDeltaT = onfile.m_MCdeltaT;}" \
78
79// In version 4 the member m_MCtagV has been renamed to m_mcTagV.
80#pragma read \
81 sourceClass="Belle2::TagVertex" \
82 source="TVector3 m_MCtagV" \
83 version="[-3]" \
84 targetClass="Belle2::TagVertex" \
85 target="m_mcTagV" \
86 code="{m_mcTagV = onfile.m_MCtagV;}" \
87
88// In version 4 the data type of the member m_tagVertexErrMatrix has been
89// changed from TMatrixFSym to TMatrixDSym
90#pragma read \
91 sourceClass="Belle2::TagVertex" \
92 source="TMatrixFSym m_tagVertexErrMatrix" \
93 version="[-3]" \
94 targetClass="Belle2::TagVertex" \
95 target="m_tagVertexErrMatrix" \
96 code="{m_tagVertexErrMatrix = onfile.m_tagVertexErrMatrix;}" \
97
98// In version 6 the data type of the member m_tagVertex has been
99// changed from TVector3 to XYZVector
100#pragma read \
101 sourceClass="Belle2::TagVertex" \
102 source="TVector3 m_tagVertex" \
103 version="[-5]" \
104 targetClass="Belle2::TagVertex" \
105 target="m_tagVertex" \
106 code="{m_tagVertex = ROOT::Math::XYZVector(onfile.m_tagVertex.X(), onfile.m_tagVertex.Y(), onfile.m_tagVertex.Z());}" \
107
108// In version 6 the data type of the member m_mcTagV has been
109// changed from TVector3 to XYZVector
110#pragma read \
111 sourceClass="Belle2::TagVertex" \
112 source="TVector3 m_mcTagV" \
113 version="[4-5]" \
114 targetClass="Belle2::TagVertex" \
115 target="m_mcTagV" \
116 code="{m_mcTagV = ROOT::Math::XYZVector(onfile.m_mcTagV.X(), onfile.m_mcTagV.Y(), onfile.m_mcTagV.Z());}" \
117
118// In version 6 the data type of the member m_constraintCenter
119// has been changed from TVector3 to XYZVector
120#pragma read \
121 sourceClass="Belle2::TagVertex" \
122 source="TVector3 m_constraintCenter" \
123 version="[-5]" \
124 targetClass="Belle2::TagVertex" \
125 target="m_constraintCenter" \
126 code="{m_constraintCenter = ROOT::Math::XYZVector(onfile.m_constraintCenter.X(), onfile.m_constraintCenter.Y(), onfile.m_constraintCenter.Z());}" \
127
128// ----------------------------------------------------------------------------
129// EventKinematics evolution
130// In version 2 the new member m_builtFromMC is introduced. Since the MC
131// functionality was not present before it is set to false for version 1.
132#pragma read \
133 sourceClass="Belle2::EventKinematics" \
134 source="bool m_builtFromMC" \
135 version="[1]" \
136 targetClass="Belle2::EventKinematics" \
137 target="m_builtFromMC" \
138 code="{m_builtFromMC = false;}" \
139
140// In version 3 the data type of the member m_missingMomentum has been
141// changed from TVector3 to XYZVector
142#pragma read \
143 sourceClass="Belle2::EventKinematics" \
144 source="TVector3 m_missingMomentum" \
145 version="[-2]" \
146 targetClass="Belle2::EventKinematics" \
147 target="m_missingMomentum" \
148 code="{m_missingMomentum = ROOT::Math::XYZVector(onfile.m_missingMomentum.X(), onfile.m_missingMomentum.Y(), onfile.m_missingMomentum.Z());}" \
149
150// In version 3 the data type of the member m_missingMomentumCMS has been
151// changed from TVector3 to XYZVector
152#pragma read \
153 sourceClass="Belle2::EventKinematics" \
154 source="TVector3 m_missingMomentumCMS" \
155 version="[-2]" \
156 targetClass="Belle2::EventKinematics" \
157 target="m_missingMomentumCMS" \
158 code="{m_missingMomentumCMS = ROOT::Math::XYZVector(onfile.m_missingMomentumCMS.X(), onfile.m_missingMomentumCMS.Y(), onfile.m_missingMomentumCMS.Z());}" \
159
160// ----------------------------------------------------------------------------
161// RestOfEvent evolution
162// In version 6 the new member m_useKLMEnergy is introduced. Since this
163// functionality was not present before it is set to false for versions < 6.
164#pragma read \
165 sourceClass="Belle2::RestOfEvent" \
166 source="bool m_useKLMEnergy" \
167 version="[-5]" \
168 targetClass="Belle2::RestOfEvent" \
169 target="m_useKLMEnergy" \
170 code="{m_useKLMEnergy = false;}" \
171
172// ----------------------------------------------------------------------------
173// ContinuumSuppression evolution
174// In version 2 the data type of the members m_thrustO and m_thrustB has been
175// changed from TVector3 to XYZVector
176#pragma read \
177 sourceClass="Belle2::ContinuumSuppression" \
178 source="TVector3 m_thrustO" \
179 version="[1]" \
180 targetClass="Belle2::ContinuumSuppression" \
181 target="m_thrustO" \
182 code="{m_thrustO = ROOT::Math::XYZVector(onfile.m_thrustO.X(), onfile.m_thrustO.Y(), onfile.m_thrustO.Z());}" \
183
184#pragma read \
185 sourceClass="Belle2::ContinuumSuppression" \
186 source="TVector3 m_thrustB" \
187 version="[1]" \
188 targetClass="Belle2::ContinuumSuppression" \
189 target="m_thrustB" \
190 code="{m_thrustB = ROOT::Math::XYZVector(onfile.m_thrustB.X(), onfile.m_thrustB.Y(), onfile.m_thrustB.Z());}" \
191
192// ----------------------------------------------------------------------------
193// EventShapeContainer evolution
194// In version 2 the data type of the member m_thrustAxis has been
195// changed from TVector3 to XYZVector
196#pragma read \
197 sourceClass="Belle2::EventShapeContainer" \
198 source="TVector3 m_thrustAxis" \
199 version="[1]" \
200 targetClass="Belle2::EventShapeContainer" \
201 target="m_thrustAxis" \
202 code="{m_thrustAxis = ROOT::Math::XYZVector(onfile.m_thrustAxis.X(), onfile.m_thrustAxis.Y(), onfile.m_thrustAxis.Z());}" \
203
204// In version 2 the data type of the member m_spherocityAxis has been
205// changed from TVector3 to XYZVector
206#pragma read \
207 sourceClass="Belle2::EventShapeContainer" \
208 source="TVector3 m_spherocityAxis" \
209 version="[1]" \
210 targetClass="Belle2::EventShapeContainer" \
211 target="m_spherocityAxis" \
212 code="{m_spherocityAxis = ROOT::Math::XYZVector(onfile.m_spherocityAxis.X(), onfile.m_spherocityAxis.Y(), onfile.m_spherocityAxis.Z());}" \
213
214// In version 2 the data type of the member m_sphericityEigenvector
215// has been changed from array of TVector3 to array of XYZVector
216#pragma read \
217 sourceClass="Belle2::EventShapeContainer" \
218 source="TVector3 m_sphericityEigenvector[3]" \
219 version="[1]" \
220 targetClass="Belle2::EventShapeContainer" \
221 target="m_sphericityEigenvector" \
222 code="{for (int i = 0; i < 3; i++) \
223 m_sphericityEigenvector[i] = ROOT::Math::XYZVector(onfile.m_sphericityEigenvector[i].X(), \
224 onfile.m_sphericityEigenvector[i].Y(), \
225 onfile.m_sphericityEigenvector[i].Z()); \
226 }" \
227
228// In version 2 the data type of the member m_forwardHemisphere4Momentum
229// has been changed from TLorentzVector to PxPyPzEVector
230#pragma read \
231 sourceClass="Belle2::EventShapeContainer" \
232 source="TLorentzVector m_forwardHemisphere4Momentum" \
233 version="[1]" \
234 targetClass="Belle2::EventShapeContainer" \
235 target="m_forwardHemisphere4Momentum" \
236 include="TLorentzVector.h" \
237 code="{m_forwardHemisphere4Momentum = ROOT::Math::PxPyPzEVector(onfile.m_forwardHemisphere4Momentum.Px(), \
238 onfile.m_forwardHemisphere4Momentum.Py(), \
239 onfile.m_forwardHemisphere4Momentum.Pz(), \
240 onfile.m_forwardHemisphere4Momentum.E());}" \
241
242// In version 2 the data type of the member m_backwardHemisphere4Momentum
243// has been changed from TLorentzVector to PxPyPzEVector
244#pragma read \
245 sourceClass="Belle2::EventShapeContainer" \
246 source="TLorentzVector m_backwardHemisphere4Momentum" \
247 version="[1]" \
248 targetClass="Belle2::EventShapeContainer" \
249 target="m_backwardHemisphere4Momentum" \
250 include="TLorentzVector.h" \
251 code="{m_backwardHemisphere4Momentum = ROOT::Math::PxPyPzEVector(onfile.m_backwardHemisphere4Momentum.Px(), \
252 onfile.m_backwardHemisphere4Momentum.Py(), \
253 onfile.m_backwardHemisphere4Momentum.Pz(), \
254 onfile.m_backwardHemisphere4Momentum.E());}" \
255// ----------------------------------------------------------------------------
256// ParticleList evolution
257// In version 4, the member m_isReserved has been added
258#pragma read \
259 sourceClass="Belle2::ParticleList" \
260 source="std::string m_thisListName; int m_pdg" \
261 version="[-3]" \
262 targetClass="Belle2::ParticleList" \
263 target="m_isReserved" \
264 code="{std::string label = onfile.m_thisListName.substr(onfile.m_thisListName.find_first_of(':')+1); \
265 if ((Belle2::Const::finalStateParticlesSet.contains(Belle2::Const::ParticleType(abs(onfile.m_pdg))) and label == \"all\") or label == \"V0\") \
266 m_isReserved = true; \
267 else \
268 m_isReserved = false;}" \
269
270#endif