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=0x3fd26c63, version=18
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=0x329aa3d0, version=7
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="Int_t m_particleType" \
58 version="[-11]" \
59 targetClass="Belle2::Particle" \
60 target="m_particleSource" \
61 code="{ \
62 if (onfile.m_particleType == 4) { \
63 m_particleSource = Belle2::Particle::EParticleSourceObject::c_MCParticle; \
64 } else if (onfile.m_particleType == 5) { \
65 m_particleSource = Belle2::Particle::EParticleSourceObject::c_Composite; \
66 } else { \
67 m_particleSource = static_cast< \
68 Belle2::Particle::EParticleSourceObject>(onfile.m_particleType); \
69 } \
70 }"
71
72// ----------------------------------------------------------------------------
73// TagVertex evolution
74// In version 4 the member m_MCdeltaT has been renamed to m_mcDeltaT.
75#pragma read \
76 sourceClass="Belle2::TagVertex" \
77 source="float m_MCdeltaT" \
78 version="[-3]" \
79 targetClass="Belle2::TagVertex" \
80 target="m_mcDeltaT" \
81 code="{m_mcDeltaT = onfile.m_MCdeltaT;}" \
82
83// In version 4 the member m_MCtagV has been renamed to m_mcTagV.
84#pragma read \
85 sourceClass="Belle2::TagVertex" \
86 source="TVector3 m_MCtagV" \
87 version="[-3]" \
88 targetClass="Belle2::TagVertex" \
89 target="m_mcTagV" \
90 code="{m_mcTagV = onfile.m_MCtagV;}" \
91
92// In version 4 the data type of the member m_tagVertexErrMatrix has been
93// changed from TMatrixFSym to TMatrixDSym
94#pragma read \
95 sourceClass="Belle2::TagVertex" \
96 source="TMatrixFSym m_tagVertexErrMatrix" \
97 version="[-3]" \
98 targetClass="Belle2::TagVertex" \
99 target="m_tagVertexErrMatrix" \
100 code="{m_tagVertexErrMatrix = onfile.m_tagVertexErrMatrix;}" \
101
102// In version 6 the data type of the member m_tagVertex has been
103// changed from TVector3 to XYZVector
104#pragma read \
105 sourceClass="Belle2::TagVertex" \
106 source="TVector3 m_tagVertex" \
107 version="[-5]" \
108 targetClass="Belle2::TagVertex" \
109 target="m_tagVertex" \
110 code="{m_tagVertex = ROOT::Math::XYZVector(onfile.m_tagVertex.X(), onfile.m_tagVertex.Y(), onfile.m_tagVertex.Z());}" \
111
112// In version 6 the data type of the member m_mcTagV has been
113// changed from TVector3 to XYZVector
114#pragma read \
115 sourceClass="Belle2::TagVertex" \
116 source="TVector3 m_mcTagV" \
117 version="[4-5]" \
118 targetClass="Belle2::TagVertex" \
119 target="m_mcTagV" \
120 code="{m_mcTagV = ROOT::Math::XYZVector(onfile.m_mcTagV.X(), onfile.m_mcTagV.Y(), onfile.m_mcTagV.Z());}" \
121
122// In version 6 the data type of the member m_constraintCenter
123// has been changed from TVector3 to XYZVector
124#pragma read \
125 sourceClass="Belle2::TagVertex" \
126 source="TVector3 m_constraintCenter" \
127 version="[-5]" \
128 targetClass="Belle2::TagVertex" \
129 target="m_constraintCenter" \
130 code="{m_constraintCenter = ROOT::Math::XYZVector(onfile.m_constraintCenter.X(), onfile.m_constraintCenter.Y(), onfile.m_constraintCenter.Z());}" \
131
132// ----------------------------------------------------------------------------
133// EventKinematics evolution
134// In version 2 the new member m_builtFromMC is introduced. Since the MC
135// functionality was not present before it is set to false for version 1.
136#pragma read \
137 sourceClass="Belle2::EventKinematics" \
138 source="bool m_builtFromMC" \
139 version="[1]" \
140 targetClass="Belle2::EventKinematics" \
141 target="m_builtFromMC" \
142 code="{m_builtFromMC = false;}" \
143
144// In version 3 the data type of the member m_missingMomentum has been
145// changed from TVector3 to XYZVector
146#pragma read \
147 sourceClass="Belle2::EventKinematics" \
148 source="TVector3 m_missingMomentum" \
149 version="[-2]" \
150 targetClass="Belle2::EventKinematics" \
151 target="m_missingMomentum" \
152 code="{m_missingMomentum = ROOT::Math::XYZVector(onfile.m_missingMomentum.X(), onfile.m_missingMomentum.Y(), onfile.m_missingMomentum.Z());}" \
153
154// In version 3 the data type of the member m_missingMomentumCMS has been
155// changed from TVector3 to XYZVector
156#pragma read \
157 sourceClass="Belle2::EventKinematics" \
158 source="TVector3 m_missingMomentumCMS" \
159 version="[-2]" \
160 targetClass="Belle2::EventKinematics" \
161 target="m_missingMomentumCMS" \
162 code="{m_missingMomentumCMS = ROOT::Math::XYZVector(onfile.m_missingMomentumCMS.X(), onfile.m_missingMomentumCMS.Y(), onfile.m_missingMomentumCMS.Z());}" \
163
164// ----------------------------------------------------------------------------
165// RestOfEvent evolution
166// In version 6 the new member m_useKLMEnergy is introduced. Since this
167// functionality was not present before it is set to false for versions < 6.
168#pragma read \
169 sourceClass="Belle2::RestOfEvent" \
170 source="bool m_useKLMEnergy" \
171 version="[-5]" \
172 targetClass="Belle2::RestOfEvent" \
173 target="m_useKLMEnergy" \
174 code="{m_useKLMEnergy = false;}" \
175
176// ----------------------------------------------------------------------------
177// ContinuumSuppression evolution
178// In version 2 the data type of the members m_thrustO and m_thrustB has been
179// changed from TVector3 to XYZVector
180#pragma read \
181 sourceClass="Belle2::ContinuumSuppression" \
182 source="TVector3 m_thrustO" \
183 version="[1]" \
184 targetClass="Belle2::ContinuumSuppression" \
185 target="m_thrustO" \
186 code="{m_thrustO = ROOT::Math::XYZVector(onfile.m_thrustO.X(), onfile.m_thrustO.Y(), onfile.m_thrustO.Z());}" \
187
188#pragma read \
189 sourceClass="Belle2::ContinuumSuppression" \
190 source="TVector3 m_thrustB" \
191 version="[1]" \
192 targetClass="Belle2::ContinuumSuppression" \
193 target="m_thrustB" \
194 code="{m_thrustB = ROOT::Math::XYZVector(onfile.m_thrustB.X(), onfile.m_thrustB.Y(), onfile.m_thrustB.Z());}" \
195
196// ----------------------------------------------------------------------------
197// EventShapeContainer evolution
198// In version 2 the data type of the member m_thrustAxis has been
199// changed from TVector3 to XYZVector
200#pragma read \
201 sourceClass="Belle2::EventShapeContainer" \
202 source="TVector3 m_thrustAxis" \
203 version="[1]" \
204 targetClass="Belle2::EventShapeContainer" \
205 target="m_thrustAxis" \
206 code="{m_thrustAxis = ROOT::Math::XYZVector(onfile.m_thrustAxis.X(), onfile.m_thrustAxis.Y(), onfile.m_thrustAxis.Z());}" \
207
208// In version 2 the data type of the member m_spherocityAxis has been
209// changed from TVector3 to XYZVector
210#pragma read \
211 sourceClass="Belle2::EventShapeContainer" \
212 source="TVector3 m_spherocityAxis" \
213 version="[1]" \
214 targetClass="Belle2::EventShapeContainer" \
215 target="m_spherocityAxis" \
216 code="{m_spherocityAxis = ROOT::Math::XYZVector(onfile.m_spherocityAxis.X(), onfile.m_spherocityAxis.Y(), onfile.m_spherocityAxis.Z());}" \
217
218// In version 2 the data type of the member m_sphericityEigenvector
219// has been changed from array of TVector3 to array of XYZVector
220#pragma read \
221 sourceClass="Belle2::EventShapeContainer" \
222 source="TVector3 m_sphericityEigenvector[3]" \
223 version="[1]" \
224 targetClass="Belle2::EventShapeContainer" \
225 target="m_sphericityEigenvector" \
226 code="{for (int i = 0; i < 3; i++) \
227 m_sphericityEigenvector[i] = ROOT::Math::XYZVector(onfile.m_sphericityEigenvector[i].X(), \
228 onfile.m_sphericityEigenvector[i].Y(), \
229 onfile.m_sphericityEigenvector[i].Z()); \
230 }" \
231
232// In version 2 the data type of the member m_forwardHemisphere4Momentum
233// has been changed from TLorentzVector to PxPyPzEVector
234#pragma read \
235 sourceClass="Belle2::EventShapeContainer" \
236 source="TLorentzVector m_forwardHemisphere4Momentum" \
237 version="[1]" \
238 targetClass="Belle2::EventShapeContainer" \
239 target="m_forwardHemisphere4Momentum" \
240 include="TLorentzVector.h" \
241 code="{m_forwardHemisphere4Momentum = ROOT::Math::PxPyPzEVector(onfile.m_forwardHemisphere4Momentum.Px(), \
242 onfile.m_forwardHemisphere4Momentum.Py(), \
243 onfile.m_forwardHemisphere4Momentum.Pz(), \
244 onfile.m_forwardHemisphere4Momentum.E());}" \
245
246// In version 2 the data type of the member m_backwardHemisphere4Momentum
247// has been changed from TLorentzVector to PxPyPzEVector
248#pragma read \
249 sourceClass="Belle2::EventShapeContainer" \
250 source="TLorentzVector m_backwardHemisphere4Momentum" \
251 version="[1]" \
252 targetClass="Belle2::EventShapeContainer" \
253 target="m_backwardHemisphere4Momentum" \
254 include="TLorentzVector.h" \
255 code="{m_backwardHemisphere4Momentum = ROOT::Math::PxPyPzEVector(onfile.m_backwardHemisphere4Momentum.Px(), \
256 onfile.m_backwardHemisphere4Momentum.Py(), \
257 onfile.m_backwardHemisphere4Momentum.Pz(), \
258 onfile.m_backwardHemisphere4Momentum.E());}" \
259// ----------------------------------------------------------------------------
260// ParticleList evolution
261// In version 4, the member m_isReserved has been added
262#pragma read \
263 sourceClass="Belle2::ParticleList" \
264 source="std::string m_thisListName; int m_pdg" \
265 version="[-3]" \
266 targetClass="Belle2::ParticleList" \
267 target="m_isReserved" \
268 code="{std::string label = onfile.m_thisListName.substr(onfile.m_thisListName.find_first_of(':')+1); \
269 if ((Belle2::Const::finalStateParticlesSet.contains(Belle2::Const::ParticleType(abs(onfile.m_pdg))) and label == \"all\") or label == \"V0\") \
270 m_isReserved = true; \
271 else \
272 m_isReserved = false;}" \
273
274#endif