Belle II Software development
GenTauTag.cc
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#include <analysis/utility/GenTauTag.h>
10#include <analysis/utility/CheckDecayUtils.h>
11
12using namespace Belle2;
13
14GenTauTag::GenTauTag() = default;
15
16bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2)
17{
18 int ndau = gp.size();
19 if (ndau == 2) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2);}
20 else if (ndau == 3) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, 22);}
21 else if (ndau == 4) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, 22, 22);}
22 else if (ndau == 5) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, 22, 22, 22);}
23 else if (ndau == 6) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, 22, 22, 22, 22);}
24 else return false;
25}
26
27bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3)
28{
29 int ndau = gp.size();
30 if (ndau == 3) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3);}
31 else if (ndau == 4) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, 22);}
32 else if (ndau == 5) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, 22, 22);}
33 else if (ndau == 6) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, 22, 22, 22);}
34 else if (ndau == 7) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, 22, 22, 22, 22);}
35 else return false;
36}
37
38bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3, int da4)
39{
40 int ndau = gp.size();
41 if (ndau == 4) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4);}
42 else if (ndau == 5) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, 22);}
43 else if (ndau == 6) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, 22, 22);}
44 else if (ndau == 7) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, 22, 22, 22);}
45 else if (ndau == 8) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, 22, 22, 22, 22);}
46 else return false;
47}
48
49bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3, int da4, int da5)
50{
51 int ndau = gp.size();
52 if (ndau == 5) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5);}
53 else if (ndau == 6) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, 22);}
54 else if (ndau == 7) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, 22, 22);}
55 else if (ndau == 8) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, 22, 22, 22);}
56 else if (ndau == 9) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, 22, 22, 22, 22);}
57 else return false;
58}
59
60bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3, int da4, int da5, int da6)
61{
62 int ndau = gp.size();
63 if (ndau == 6) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6);}
64 else if (ndau == 7) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, 22);}
65 else if (ndau == 8) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, 22, 22);}
66 else if (ndau == 9) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, 22, 22, 22);}
67 else if (ndau == 10) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, 22, 22, 22, 22);}
68 else return false;
69}
70
71bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3, int da4, int da5, int da6, int da7)
72{
73 int ndau = gp.size();
74 if (ndau == 7) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7);}
75 else if (ndau == 8) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, 22);}
76 else if (ndau == 9) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, 22, 22);}
77 else if (ndau == 10) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, 22, 22, 22);}
78 else if (ndau == 11) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, 22, 22, 22, 22);}
79 else return false;
80}
81
82bool GenTauTag::PcheckDecay(std::vector<int> gp, int da1, int da2, int da3, int da4, int da5, int da6, int da7, int da8)
83{
84 int ndau = gp.size();
85 if (ndau == 8) { m_nPhotos = 0; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, da8);}
86 else if (ndau == 9) { m_nPhotos = 1; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, da8, 22);}
87 else if (ndau == 10) { m_nPhotos = 2; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, da8, 22, 22);}
88 else if (ndau == 11) { m_nPhotos = 3; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, da8, 22, 22, 22);}
89 else if (ndau == 12) { m_nPhotos = 4; return CheckDecay::CheckDecay(gp, da1, da2, da3, da4, da5, da6, da7, da8, 22, 22, 22, 22);}
90 else return false;
91}
92
93//All the tag number for various decay mode is defined here
94
95int GenTauTag::Mode_tau_plus(std::vector<int> genpart)
96{
97 if (GenTauTag::PcheckDecay(genpart, -11, 12, -16)) {
98 return 1000 * m_nPhotos + 1;
99 }//tau+ decays to e+ nu_e anti-nu_tau
100 if (GenTauTag::PcheckDecay(genpart, -13, 14, -16)) {
101 return 1000 * m_nPhotos + 2;
102 }//tau+ decays to mu+ nu_mu anti-nu_tau
103 if (GenTauTag::PcheckDecay(genpart, 211, -16)) {
104 return 1000 * m_nPhotos + 3;
105 }//tau+ decays to pi+ anti-nu_tau
106 if (GenTauTag::PcheckDecay(genpart, 213, -16)) {
107 return 1000 * m_nPhotos + 4;
108 }//tau+ decays to rho+ anti-nu_tau
109 if (GenTauTag::PcheckDecay(genpart, 20213, -16)) {
110 return 1000 * m_nPhotos + 5;
111 }//tau+ decays to a_1+ anti-nu_tau
112 if (GenTauTag::PcheckDecay(genpart, 321, -16)) {
113 return 1000 * m_nPhotos + 6;
114 }//tau+ decays to K+ anti-nu_tau
115 if (GenTauTag::PcheckDecay(genpart, 323, -16)) {
116 return 1000 * m_nPhotos + 7;
117 }//tau- decays to K*+ anti-nu_tau
118 if (GenTauTag::PcheckDecay(genpart, -16, 211, -211, 211, 111)) {
119 return 1000 * m_nPhotos + 8;
120 }//tau- decays to anti-nu_tau pi+ pi- pi+ pi0
121 if (GenTauTag::PcheckDecay(genpart, -16, 211, 111, 111, 111)) {
122 return 1000 * m_nPhotos + 9;
123 }//tau- decays to anti-nu_tau pi+ pi0 pi0 pi0
124 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -211, 111, 111)) {
125 return 1000 * m_nPhotos + 10;
126 }//tau- decays to anti-nu_tau pi+ pi+ pi- pi0 pi0
127 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, 211, -211, -211)) {
128 return 1000 * m_nPhotos + 11;
129 }//tau- decays to anti-nu_tau pi+ pi+ pi+ pi- pi-
130 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, 211, -211, -211, 111)) {
131 return 1000 * m_nPhotos + 12;
132 }//tau- decays to anti-nu_tau pi+ pi+ pi+ pi- pi- pi0
133 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -211, 111, 111, 111)) {
134 return 1000 * m_nPhotos + 13;
135 }//tau- decays to anti-nu_tau pi+ pi+ pi- pi0 pi0 pi0
136 if (GenTauTag::PcheckDecay(genpart, -16, 321, 211, -321)) {
137 return 1000 * m_nPhotos + 14;
138 }//tau- decays to anti-nu_tau K+ pi+ K-
139 if (GenTauTag::PcheckDecay(genpart, -16, -10313, +211, 10313)) {
140 return 1000 * m_nPhotos + 15;
141 }//tau- decays to anti-nu_tau anti-K_10 pi+ K_10
142 if (GenTauTag::PcheckDecay(genpart, -16, 311, 211, -311)) {
143 return 1000 * m_nPhotos + 15;
144 }//tau- decays to anti-nu_tau K0 pi+ anti-K0
145 if (GenTauTag::PcheckDecay(genpart, -16, 321, -10313, 111)) {
146 return 1000 * m_nPhotos + 16;
147 }//tau- decays to anti-nu_tau K+ anti-K_10 pi0
148 if (GenTauTag::PcheckDecay(genpart, -16, 321, 311, 111)) {
149 return 1000 * m_nPhotos + 16;
150 }//tau- decays to anti-nu_tau K+ K0 pi0
151 if (GenTauTag::PcheckDecay(genpart, -16, 321, -311, 111)) {
152 return 1000 * m_nPhotos + 16;
153 }//tau- decays to anti-nu_tau K+ anti-K0 pi0
154 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111)) {
155 return 1000 * m_nPhotos + 17;
156 }//tau- decays to anti-nu_tau K+ pi0 pi0
157 if (GenTauTag::PcheckDecay(genpart, -16, 321, -211, 211)) {
158 return 1000 * m_nPhotos + 18;
159 }//tau- decays to anti-nu_tau K+ pi- pi+
160 if (GenTauTag::PcheckDecay(genpart, -16, 10313, 211, 111)) {
161 return 1000 * m_nPhotos + 19;
162 }//tau- decays to anti-nu_tau K_10 pi+ pi0
163 if (GenTauTag::PcheckDecay(genpart, -16, 311, 211, 111)) {
164 return 1000 * m_nPhotos + 19;
165 }//tau- decays to anti-nu_tau K0 pi+ pi0
166 if (GenTauTag::PcheckDecay(genpart, -16, -311, 211, 111)) {
167 return 1000 * m_nPhotos + 19;
168 }//tau- decays to anti-nu_tau anti-K0 pi+ pi0
169 if (GenTauTag::PcheckDecay(genpart, -16, 221, 211, 111)) {
170 return 1000 * m_nPhotos + 20;
171 }//tau- decays to anti-nu_tau eta pi+ pi0
172 if (GenTauTag::PcheckDecay(genpart, 211, 111, -16)) {
173 return 1000 * m_nPhotos + 21;
174 }//tau+ decays to pi+ pi0 anti-nu_tau
175 if (GenTauTag::PcheckDecay(genpart, -16, 321, -10313)) {
176 return 1000 * m_nPhotos + 22;
177 }//tau- decays to anti-nu_tau K+ anti-K_10
178 if (GenTauTag::PcheckDecay(genpart, -16, 321, 311)) {
179 return 1000 * m_nPhotos + 22;
180 }//tau- decays to anti-nu_tau K+ K0
181 if (GenTauTag::PcheckDecay(genpart, -16, 321, -311)) {
182 return 1000 * m_nPhotos + 22;
183 }//tau- decays to anti-nu_tau K+ anti-K0
184 if (GenTauTag::PcheckDecay(genpart, -16, 211, 111, 111, 111, 111)) {
185 return 1000 * m_nPhotos + 23;
186 }//tau- decays to anti-nu_tau pi+ pi0 pi0 pi0 pi0
187 if (GenTauTag::PcheckDecay(genpart, -16, 211, 223, 111)) {
188 return 1000 * m_nPhotos + 24;
189 }//tau- decays to anti-nu_tau pi+ omega pi0
190 if (GenTauTag::PcheckDecay(genpart, 221, 211, -211, 211, -16)) {
191 return 1000 * m_nPhotos + 25;
192 }//tau- decays to eta pi+ pi- pi+ anti-nu_tau
193 if (GenTauTag::PcheckDecay(genpart, 221, 211, 111, 111, -16)) {
194 return 1000 * m_nPhotos + 26;
195 }//tau- decays to eta pi+ pi0 pi0 anti-nu_tau
196 if (GenTauTag::PcheckDecay(genpart, 221, 321, -16)) {
197 return 1000 * m_nPhotos + 27;
198 }//tau- decays to eta K+ anti-nu_tau
199 if (GenTauTag::PcheckDecay(genpart, 221, 323, -16)) {
200 return 1000 * m_nPhotos + 28;
201 }//tau- decays to eta K*+ anti-nu_tau
202 if (GenTauTag::PcheckDecay(genpart, -16, 321, -211, 211, 111)) {
203 return 1000 * m_nPhotos + 29;
204 }//tau- decays to anti-nu_tau K+ pi- pi+ pi0
205 if (GenTauTag::PcheckDecay(genpart, 321, 111, 111, 111, -16)) {
206 return 1000 * m_nPhotos + 30;
207 }//tau- decays to K+ pi0 pi0 pi0 anti-nu_tau
208 if (GenTauTag::PcheckDecay(genpart, -16, 211, -211, 211, -10313)) {
209 return 1000 * m_nPhotos + 31;
210 }//tau- decays to anti-nu_tau pi+ pi- pi+ anti-K_10
211 if (GenTauTag::PcheckDecay(genpart, -16, 211, -211, 211, 311)) {
212 return 1000 * m_nPhotos + 31;
213 }//tau- decays to anti-nu_tau pi+ pi- pi+ K0
214 if (GenTauTag::PcheckDecay(genpart, -16, 211, -211, 211, -311)) {
215 return 1000 * m_nPhotos + 31;
216 }//tau- decays to anti-nu_tau pi+ pi- pi+ anti-K0
217 if (GenTauTag::PcheckDecay(genpart, -16, 211, 111, 111, 10313)) {
218 return 1000 * m_nPhotos + 32;
219 }//tau- decays to anti-nu_tau pi+ pi0 pi0 K_10
220 if (GenTauTag::PcheckDecay(genpart, -16, 211, 111, 111, 311)) {
221 return 1000 * m_nPhotos + 32;
222 }//tau- decays to anti-nu_tau pi+ pi0 pi0 K0
223 if (GenTauTag::PcheckDecay(genpart, -16, 211, 111, 111, -311)) {
224 return 1000 * m_nPhotos + 32;
225 }//tau- decays to anti-nu_tau pi+ pi0 pi0 anti-K0
226 if (GenTauTag::PcheckDecay(genpart, 321, -321, 211, 111, -16)) {
227 return 1000 * m_nPhotos + 33;
228 }//tau- decays to K+ K- pi+ pi0 anti-nu_tau
229 if (GenTauTag::PcheckDecay(genpart, -16, -10313, 211, 111, 10313)) {
230 return 1000 * m_nPhotos + 34;
231 }//tau- decays to anti-nu_tau anti-K_10 pi+ pi0 K_10
232 if (GenTauTag::PcheckDecay(genpart, -16, 311, 211, 111, -311)) {
233 return 1000 * m_nPhotos + 34;
234 }//tau- decays to anti-nu_tau K0 pi+ pi0 anti-K0
235 if (GenTauTag::PcheckDecay(genpart, -16, 211, 223, -211, 211)) {
236 return 1000 * m_nPhotos + 35;
237 }//tau- decays to anti-nu_tau pi+ omega pi- pi+
238 if (GenTauTag::PcheckDecay(genpart, -16, 211, 223, 111, 111)) {
239 return 1000 * m_nPhotos + 36;
240 }//tau- decays to anti-nu_tau pi+ omega pi0 pi0
241 if (GenTauTag::PcheckDecay(genpart, -11, -11, 11, 12, -16)) {
242 return 1000 * m_nPhotos + 37;
243 }//tau- decays to e+ e+ e- nu_e anti-nu_tau
244 if (GenTauTag::PcheckDecay(genpart, 20223, 211, -16)) {
245 return 1000 * m_nPhotos + 38;
246 }//tau- decays to f_1 pi+ anti-nu_tau
247 if (GenTauTag::PcheckDecay(genpart, -16, 321, 223)) {
248 return 1000 * m_nPhotos + 39;
249 }//tau- decays to anti-nu_tau K+ omega
250 if (GenTauTag::PcheckDecay(genpart, -16, -10313, 211, -211, 321)) {
251 return 1000 * m_nPhotos + 40;
252 }//tau- decays to anti-nu_tau anti-K_10 pi+ pi- K+
253 if (GenTauTag::PcheckDecay(genpart, -16, 311, 211, -211, 321)) {
254 return 1000 * m_nPhotos + 40;
255 }//tau- decays to anti-nu_tau K0 pi+ pi- K+
256 if (GenTauTag::PcheckDecay(genpart, -16, -311, 211, -211, 321)) {
257 return 1000 * m_nPhotos + 40;
258 }//tau- decays to anti-nu_tau anti-K0 pi+ pi- K+
259 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111, -10313)) {
260 return 1000 * m_nPhotos + 41;
261 }//tau- decays to anti-nu_tau K+ pi0 pi0 anti-K_10
262 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111, 311)) {
263 return 1000 * m_nPhotos + 41;
264 }//tau- decays to anti-nu_tau K+ pi0 pi0 K0
265 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111, -311)) {
266 return 1000 * m_nPhotos + 41;
267 }//tau- decays to anti-nu_tau K+ pi0 pi0 anti-K0
268 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -321, 10313)) {
269 return 1000 * m_nPhotos + 42;
270 }//tau- decays to anti-nu_tau pi+ pi+ K- K_10
271 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -321, 311)) {
272 return 1000 * m_nPhotos + 42;
273 }//tau- decays to anti-nu_tau pi+ pi+ K- K0
274 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -321, -311)) {
275 return 1000 * m_nPhotos + 42;
276 }//tau- decays to anti-nu_tau pi+ pi+ K- anti-K0
277 if (GenTauTag::PcheckDecay(genpart, -16, 211, 311)) {
278 return 1000 * m_nPhotos + 43;
279 }//tau- decays to anti-nu_tau pi+ K0
280 if (GenTauTag::PcheckDecay(genpart, -16, 211, -311)) {
281 return 1000 * m_nPhotos + 43;
282 }//tau- decays to anti-nu_tau pi+ anti-K0
283 if (GenTauTag::PcheckDecay(genpart, -16, 22, 211, 111)) {
284 return 1000 * m_nPhotos + 44;
285 }//tau- decays to anti-nu_tau gamma pi+ pi0
286 if (GenTauTag::PcheckDecay(genpart, 111, 111, 211, -16)) {
287 return 1000 * m_nPhotos + 45;
288 }//tau- decays to pi0 pi0 pi+ anti-nu_tau
289 if (GenTauTag::PcheckDecay(genpart, 211, 211, -211, -16)) {
290 return 1000 * m_nPhotos + 46;
291 }//tau- decays to pi+ pi+ pi- anti-nu_tau
292 if (GenTauTag::PcheckDecay(genpart, -16, 321, -321, 321)) {
293 return 1000 * m_nPhotos + 47;
294 }//tau- decays to anti-nu_tau K+ K- K+
295 if (GenTauTag::PcheckDecay(genpart, 313, 211, -16)) {
296 return 1000 * m_nPhotos + 48;
297 }//tau- decays to K*0 pi+ anti-nu_tau
298 if (GenTauTag::PcheckDecay(genpart, -313, 321, -16)) {
299 return 1000 * m_nPhotos + 49;
300 }//tau- decays to anti-K*0 K+ anti-nu_tau
301 if (GenTauTag::PcheckDecay(genpart, 333, 211, -16)) {
302 return 1000 * m_nPhotos + 50;
303 }//tau- decays to phi pi+ anti-nu_tau
304 if (GenTauTag::PcheckDecay(genpart, 333, 321, -16)) {
305 return 1000 * m_nPhotos + 51;
306 }//tau- decays to phi K+ anti-nu_tau
307 if (GenTauTag::PcheckDecay(genpart, -13, 14, -16, 22)) {
308 return 1000 * m_nPhotos + 52;
309 }//tau- decays to mu+ nu_mu anti-nu_tau gamma
310 if (GenTauTag::PcheckDecay(genpart, -11, 12, -16, 22)) {
311 return 1000 * m_nPhotos + 53;
312 }//tau- decays to e+ nu_e anti-nu_tau gamma
313 if (GenTauTag::PcheckDecay(genpart, 321, 111, -16)) {
314 return 1000 * m_nPhotos + 54;
315 }//tau- decays to K+ pi0 anti-nu_tau
316 if (GenTauTag::PcheckDecay(genpart, 311, 213, -16)) {
317 return 1000 * m_nPhotos + 55;
318 }//tau- decays to K0 rho+ anti-nu_tau
319 if (GenTauTag::PcheckDecay(genpart, -311, 213, -16)) {
320 return 1000 * m_nPhotos + 55;
321 }//tau- decays to anti-K0 rho+ anti-nu_tau
322 if (GenTauTag::PcheckDecay(genpart, 10323, -16)) {
323 return 1000 * m_nPhotos + 56;
324 }//tau- decays to K_1+ anti-nu_tau
325 if (GenTauTag::PcheckDecay(genpart, 20323, -16)) {
326 return 1000 * m_nPhotos + 57;
327 }//tau- decays to K'_1+ anti-nu_tau
328 if (GenTauTag::PcheckDecay(genpart, 100323, -16)) {
329 return 1000 * m_nPhotos + 58;
330 }//tau- decays to K'*+ anti-nu_tau
331 if (GenTauTag::PcheckDecay(genpart, 221, 321, 111, -16)) {
332 return 1000 * m_nPhotos + 59;
333 }//tau- decays to eta K+ pi0 anti-nu_tau
334 if (GenTauTag::PcheckDecay(genpart, 221, 311, 211, -16)) {
335 return 1000 * m_nPhotos + 60;
336 }//tau- decays to eta K0 pi+ anti-nu_tau
337 if (GenTauTag::PcheckDecay(genpart, 221, -311, 211, -16)) {
338 return 1000 * m_nPhotos + 60;
339 }//tau- decays to eta anti-K0 pi+ anti-nu_tau
340 if (GenTauTag::PcheckDecay(genpart, -16, 310, 310, 211)) {
341 return 1000 * m_nPhotos + 20015;
342 }//tau- decays to anti-nu_tau K_S0 K_S0 pi+
343 if (GenTauTag::PcheckDecay(genpart, -16, 310, 130, 211)) {
344 return 1000 * m_nPhotos + 110015;
345 }//tau- decays to anti-nu_tau K_S0 K_L0 pi+
346 if (GenTauTag::PcheckDecay(genpart, -16, 130, 130, 211)) {
347 return 1000 * m_nPhotos + 200015;
348 }//tau- decays to anti-nu_tau K_L0 K_L0 pi+
349 if (GenTauTag::PcheckDecay(genpart, -16, 310, 321, 111)) {
350 return 1000 * m_nPhotos + 10016;
351 }//tau- decays to anti-nu_tau K_S0 K+ pi0
352 if (GenTauTag::PcheckDecay(genpart, -16, 130, 321, 111)) {
353 return 1000 * m_nPhotos + 100016;
354 }//tau- decays to anti-nu_tau K_L0 K+ pi0
355 if (GenTauTag::PcheckDecay(genpart, -16, 310, 211, 111)) {
356 return 1000 * m_nPhotos + 10019;
357 }//tau- decays to anti-nu_tau K_S0 pi+ pi0
358 if (GenTauTag::PcheckDecay(genpart, -16, 130, 211, 111)) {
359 return 1000 * m_nPhotos + 100019;
360 }//tau- decays to anti-nu_tau K_L0 pi+ pi0
361 if (GenTauTag::PcheckDecay(genpart, -16, 310, 321)) {
362 return 1000 * m_nPhotos + 10022;
363 }//tau- decays to anti-nu_tau K_S0 K+
364 if (GenTauTag::PcheckDecay(genpart, -16, 130, 321)) {
365 return 1000 * m_nPhotos + 100022;
366 }//tau- decays to anti-nu_tau K_L0 K+
367 if (GenTauTag::PcheckDecay(genpart, -16, 310, 211, -211, 211)) {
368 return 1000 * m_nPhotos + 10031;
369 }//tau- decays to anti-nu_tau K_S0 pi+ pi- pi+
370 if (GenTauTag::PcheckDecay(genpart, -16, 130, 211, -211, 211)) {
371 return 1000 * m_nPhotos + 100031;
372 }//tau- decays to anti-nu_tau K_L0 pi+ pi- pi+
373 if (GenTauTag::PcheckDecay(genpart, -16, 310, 211, 111, 111)) {
374 return 1000 * m_nPhotos + 10032;
375 }//tau- decays to anti-nu_tau K_S0 pi+ pi0 pi0
376 if (GenTauTag::PcheckDecay(genpart, -16, 130, 211, 111, 111)) {
377 return 1000 * m_nPhotos + 100032;
378 }//tau- decays to anti-nu_tau K_L0 pi+ pi0 pi0
379 if (GenTauTag::PcheckDecay(genpart, -16, 310, 310, 211, 111)) {
380 return 1000 * m_nPhotos + 20034;
381 }//tau- decays to anti-nu_tau K_S0 K_S0 pi+ pi0
382 if (GenTauTag::PcheckDecay(genpart, -16, 310, 130, 211, 111)) {
383 return 1000 * m_nPhotos + 110034;
384 }//tau- decays to anti-nu_tau K_S0 K_L0 pi+ pi0
385 if (GenTauTag::PcheckDecay(genpart, -16, 130, 130, 211, 111)) {
386 return 1000 * m_nPhotos + 200034;
387 }//tau- decays to anti-nu_tau K_L0 K_L0 pi+ pi0
388 if (GenTauTag::PcheckDecay(genpart, -16, 310, 211, -211, 321)) {
389 return 1000 * m_nPhotos + 10040;
390 }//tau- decays to anti-nu_tau K_S0 pi+ pi- K+
391 if (GenTauTag::PcheckDecay(genpart, -16, 130, 211, -211, 321)) {
392 return 1000 * m_nPhotos + 100040;
393 }//tau- decays to anti-nu_tau K_L0 pi+ pi- K+
394 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111, 310)) {
395 return 1000 * m_nPhotos + 10041;
396 }//tau- decays to anti-nu_tau K+ pi0 pi0 K_S0
397 if (GenTauTag::PcheckDecay(genpart, -16, 321, 111, 111, 130)) {
398 return 1000 * m_nPhotos + 100041;
399 }//tau- decays to anti-nu_tau K+ pi0 pi0 K_L0
400 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -321, 311)) {
401 return 1000 * m_nPhotos + 10042;
402 }//tau- decays to anti-nu_tau pi+ pi+ K- K_S0
403 if (GenTauTag::PcheckDecay(genpart, -16, 211, 211, -321, 130)) {
404 return 1000 * m_nPhotos + 100042;
405 }//tau- decays to anti-nu_tau pi+ pi+ K- K_L0
406 return 0;
407}// not yet defined tau+ decay
408
409
410int GenTauTag::Mode_tau_minus(std::vector<int> genpart)
411{
412 if (GenTauTag::PcheckDecay(genpart, 11, -12, 16)) {
413 return 1000 * m_nPhotos + 1;
414 }//tau- decays to e- anti-nu_e nu_tau
415 if (GenTauTag::PcheckDecay(genpart, 13, -14, 16)) {
416 return 1000 * m_nPhotos + 2;
417 }//tau- decays to mu- anti-nu_mu nu_tau
418 if (GenTauTag::PcheckDecay(genpart, -211, 16)) {
419 return 1000 * m_nPhotos + 3;
420 }//tau- decays to pi- nu_tau
421 if (GenTauTag::PcheckDecay(genpart, -213, 16)) {
422 return 1000 * m_nPhotos + 4;
423 }//tau- decays to rho- nu_tau
424 if (GenTauTag::PcheckDecay(genpart, -20213, 16)) {
425 return 1000 * m_nPhotos + 5;
426 }//tau- decays to a_1- nu_tau
427 if (GenTauTag::PcheckDecay(genpart, -321, 16)) {
428 return 1000 * m_nPhotos + 6;
429 }//tau- decays to K- nu_tau
430 if (GenTauTag::PcheckDecay(genpart, -323, 16)) {
431 return 1000 * m_nPhotos + 7;
432 }//tau- decays to K*- nu_tau
433 if (GenTauTag::PcheckDecay(genpart, 16, -211, 211, -211, 111)) {
434 return 1000 * m_nPhotos + 8;
435 }//tau- decays to nu_tau pi- pi+ pi- pi0
436 if (GenTauTag::PcheckDecay(genpart, 16, -211, 111, 111, 111)) {
437 return 1000 * m_nPhotos + 9;
438 }//tau- decays to nu_tau pi- pi0 pi0 pi0
439 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 211, 111, 111)) {
440 return 1000 * m_nPhotos + 10;
441 }//tau- decays to nu_tau pi- pi- pi+ pi0 pi0
442 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, -211, 211, 211)) {
443 return 1000 * m_nPhotos + 11;
444 }//tau- decays to nu_tau pi- pi- pi- pi+ pi+
445 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, -211, 211, 211, 111)) {
446 return 1000 * m_nPhotos + 12;
447 }//tau- decays to nu_tau pi- pi- pi- pi+ pi+ pi0
448 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 211, 111, 111, 111)) {
449 return 1000 * m_nPhotos + 13;
450 }//tau- decays to nu_tau pi- pi- pi+ pi0 pi0 pi0
451 if (GenTauTag::PcheckDecay(genpart, 16, -321, -211, 321)) {
452 return 1000 * m_nPhotos + 14;
453 }//tau- decays to nu_tau K- pi- K+
454 if (GenTauTag::PcheckDecay(genpart, 16, -10313, -211, 10313)) {
455 return 1000 * m_nPhotos + 15;
456 }//tau- decays to nu_tau anti-K_10 pi- K_10
457 if (GenTauTag::PcheckDecay(genpart, 16, 311, -211, -311)) {
458 return 1000 * m_nPhotos + 15;
459 }//tau- decays to nu_tau K0 pi- anti-K0
460 if (GenTauTag::PcheckDecay(genpart, 16, -321, 10313, 111)) {
461 return 1000 * m_nPhotos + 16;
462 }//tau- decays to nu_tau K- K_10 pi0
463 if (GenTauTag::PcheckDecay(genpart, 16, -321, 311, 111)) {
464 return 1000 * m_nPhotos + 16;
465 }//tau- decays to nu_tau K- K0 pi0
466 if (GenTauTag::PcheckDecay(genpart, 16, -321, -311, 111)) {
467 return 1000 * m_nPhotos + 16;
468 }//tau- decays to nu_tau K- anti-K0 pi0
469 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111)) {
470 return 1000 * m_nPhotos + 17;
471 }//tau- decays to nu_tau K- pi0 pi0
472 if (GenTauTag::PcheckDecay(genpart, 16, -321, 211, -211)) {
473 return 1000 * m_nPhotos + 18;
474 }//tau- decays to nu_tau K- pi+ pi-
475 if (GenTauTag::PcheckDecay(genpart, 16, -10313, -211, 111)) {
476 return 1000 * m_nPhotos + 19;
477 }//tau- decays to nu_tau anti-K_10 pi- pi0
478 if (GenTauTag::PcheckDecay(genpart, 16, 311, -211, 111)) {
479 return 1000 * m_nPhotos + 19;
480 }//tau- decays to nu_tau K0 pi- pi0
481 if (GenTauTag::PcheckDecay(genpart, 16, -311, -211, 111)) {
482 return 1000 * m_nPhotos + 19;
483 }//tau- decays to nu_tau anti-K0 pi- pi0
484 if (GenTauTag::PcheckDecay(genpart, 16, 221, -211, 111)) {
485 return 1000 * m_nPhotos + 20;
486 }//tau- decays to nu_tau eta pi- pi0
487 if (GenTauTag::PcheckDecay(genpart, -211, 111, 16)) {
488 return 1000 * m_nPhotos + 21;
489 }//tau+ decays to pi- pi0 nu_tau
490 if (GenTauTag::PcheckDecay(genpart, 16, -321, 10313)) {
491 return 1000 * m_nPhotos + 22;
492 }//tau- decays to nu_tau K- K_10
493 if (GenTauTag::PcheckDecay(genpart, 16, -321, 311)) {
494 return 1000 * m_nPhotos + 22;
495 }//tau- decays to nu_tau K- K0
496 if (GenTauTag::PcheckDecay(genpart, 16, -321, -311)) {
497 return 1000 * m_nPhotos + 22;
498 }//tau- decays to nu_tau K- anti-K0
499 if (GenTauTag::PcheckDecay(genpart, 16, -211, 111, 111, 111, 111)) {
500 return 1000 * m_nPhotos + 23;
501 }//tau- decays to nu_tau pi- pi0 pi0 pi0 pi0
502 if (GenTauTag::PcheckDecay(genpart, 16, -211, 223, 111)) {
503 return 1000 * m_nPhotos + 24;
504 }//tau- decays to nu_tau pi- omega pi0
505 if (GenTauTag::PcheckDecay(genpart, 221, -211, 211, -211, 16)) {
506 return 1000 * m_nPhotos + 25;
507 }//tau- decays to eta pi- pi+ pi- nu_tau
508 if (GenTauTag::PcheckDecay(genpart, 221, -211, 111, 111, 16)) {
509 return 1000 * m_nPhotos + 26;
510 }//tau- decays to eta pi- pi0 pi0 nu_tau
511 if (GenTauTag::PcheckDecay(genpart, 221, -321, 16)) {
512 return 1000 * m_nPhotos + 27;
513 }//tau- decays to eta K- nu_tau
514 if (GenTauTag::PcheckDecay(genpart, 221, -323, 16)) {
515 return 1000 * m_nPhotos + 28;
516 }//tau- decays to eta K*- nu_tau
517 if (GenTauTag::PcheckDecay(genpart, 16, -321, 211, -211, 111)) {
518 return 1000 * m_nPhotos + 29;
519 }//tau- decays to nu_tau K- pi+ pi- pi0
520 if (GenTauTag::PcheckDecay(genpart, -321, 111, 111, 111, 16)) {
521 return 1000 * m_nPhotos + 30;
522 }//tau- decays to K- pi0 pi0 pi0 nu_tau
523 if (GenTauTag::PcheckDecay(genpart, 16, -211, 211, -211, 10313)) {
524 return 1000 * m_nPhotos + 31;
525 }//tau- decays to nu_tau pi- pi+ pi- K_10
526 if (GenTauTag::PcheckDecay(genpart, 16, -211, 211, -211, 311)) {
527 return 1000 * m_nPhotos + 31;
528 }//tau- decays to nu_tau pi- pi+ pi- K0
529 if (GenTauTag::PcheckDecay(genpart, 16, -211, 211, -211, -311)) {
530 return 1000 * m_nPhotos + 31;
531 }//tau- decays to nu_tau pi- pi+ pi- anti-K0
532 if (GenTauTag::PcheckDecay(genpart, 16, -211, 111, 111, -10313)) {
533 return 1000 * m_nPhotos + 32;
534 }//tau- decays to nu_tau pi- pi0 pi0 anti-K_10
535 if (GenTauTag::PcheckDecay(genpart, 16, -211, 111, 111, 311)) {
536 return 1000 * m_nPhotos + 32;
537 }//tau- decays to nu_tau pi- pi0 pi0 K0
538 if (GenTauTag::PcheckDecay(genpart, 16, -211, 111, 111, -311)) {
539 return 1000 * m_nPhotos + 32;
540 }//tau- decays to nu_tau pi- pi0 pi0 anti-K0
541 if (GenTauTag::PcheckDecay(genpart, -321, 321, -211, 111, 16)) {
542 return 1000 * m_nPhotos + 33;
543 }//tau- decays to K- K+ pi- pi0 nu_tau
544 if (GenTauTag::PcheckDecay(genpart, 16, -10313, -211, 111, 10313)) {
545 return 1000 * m_nPhotos + 34;
546 }//tau- decays to nu_tau anti-K_10 pi- pi0 K_10
547 if (GenTauTag::PcheckDecay(genpart, 16, 311, -211, 111, -311)) {
548 return 1000 * m_nPhotos + 34;
549 }//tau- decays to nu_tau K0 pi- pi0 anti-K0
550 if (GenTauTag::PcheckDecay(genpart, 16, -211, 223, 211, -211)) {
551 return 1000 * m_nPhotos + 35;
552 }//tau- decays to nu_tau pi- omega pi+ pi-
553 if (GenTauTag::PcheckDecay(genpart, 16, -211, 223, 111, 111)) {
554 return 1000 * m_nPhotos + 36;
555 }//tau- decays to nu_tau pi- omega pi0 pi0
556 if (GenTauTag::PcheckDecay(genpart, 11, 11, -11, -12, 16)) {
557 return 1000 * m_nPhotos + 37;
558 }//tau- decays to e- e- e+ anti-nu_e nu_tau
559 if (GenTauTag::PcheckDecay(genpart, 20223, -211, 16)) {
560 return 1000 * m_nPhotos + 38;
561 }//tau- decays to f_1 pi- nu_tau
562 if (GenTauTag::PcheckDecay(genpart, 16, -321, 223)) {
563 return 1000 * m_nPhotos + 39;
564 }//tau- decays to nu_tau K- omega
565 if (GenTauTag::PcheckDecay(genpart, 16, 10313, -211, 211, -321)) {
566 return 1000 * m_nPhotos + 40;
567 }//tau- decays to nu_tau K_10 pi- pi+ K-
568 if (GenTauTag::PcheckDecay(genpart, 16, 311, -211, 211, -321)) {
569 return 1000 * m_nPhotos + 40;
570 }//tau- decays to nu_tau K0 pi- pi+ K-
571 if (GenTauTag::PcheckDecay(genpart, 16, -311, -211, 211, -321)) {
572 return 1000 * m_nPhotos + 40;
573 }//tau- decays to nu_tau anti-K0 pi- pi+ K-
574 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111, 10313)) {
575 return 1000 * m_nPhotos + 41;
576 }//tau- decays to nu_tau K- pi0 pi0 K_10
577 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111, 311)) {
578 return 1000 * m_nPhotos + 41;
579 }//tau- decays to nu_tau K- pi0 pi0 K0
580 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111, -311)) {
581 return 1000 * m_nPhotos + 41;
582 }//tau- decays to nu_tau K- pi0 pi0 anti-K0
583 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 321, -10313)) {
584 return 1000 * m_nPhotos + 42;
585 }//tau- decays to nu_tau pi- pi- K+ anti-K_10
586 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 321, 311)) {
587 return 1000 * m_nPhotos + 42;
588 }//tau- decays to nu_tau pi- pi- K+ K0
589 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 321, -311)) {
590 return 1000 * m_nPhotos + 42;
591 }//tau- decays to nu_tau pi- pi- K+ anti-K0
592 if (GenTauTag::PcheckDecay(genpart, 16, -211, 311)) {
593 return 1000 * m_nPhotos + 43;
594 }//tau- decays to nu_tau pi- K0
595 if (GenTauTag::PcheckDecay(genpart, 16, -211, -311)) {
596 return 1000 * m_nPhotos + 43;
597 }//tau- decays to nu_tau pi- anti-K0
598 if (GenTauTag::PcheckDecay(genpart, 16, 22, -211, 111)) {
599 return 1000 * m_nPhotos + 44;
600 }//tau- decays to nu_tau gamma pi- pi0
601 if (GenTauTag::PcheckDecay(genpart, 111, 111, -211, 16)) {
602 return 1000 * m_nPhotos + 45;
603 }//tau- decays to pi0 pi0 pi- nu_tau
604 if (GenTauTag::PcheckDecay(genpart, -211, -211, 211, 16)) {
605 return 1000 * m_nPhotos + 46;
606 }//tau- decays to pi- pi- pi+ nu_tau
607 if (GenTauTag::PcheckDecay(genpart, 16, -321, 321, -321)) {
608 return 1000 * m_nPhotos + 47;
609 }//tau- decays to nu_tau K- K+ K-
610 if (GenTauTag::PcheckDecay(genpart, -313, -211, 16)) {
611 return 1000 * m_nPhotos + 48;
612 }//tau- decays to anti-K*0 pi- nu_tau
613 if (GenTauTag::PcheckDecay(genpart, 313, -321, 16)) {
614 return 1000 * m_nPhotos + 49;
615 }//tau- decays to K*0 K- nu_tau
616 if (GenTauTag::PcheckDecay(genpart, 333, -211, 16)) {
617 return 1000 * m_nPhotos + 50;
618 }//tau- decays to phi pi- nu_tau
619 if (GenTauTag::PcheckDecay(genpart, 333, -321, 16)) {
620 return 1000 * m_nPhotos + 51;
621 }//tau- decays to phi K- nu_tau
622 if (GenTauTag::PcheckDecay(genpart, 13, -14, 16, 22)) {
623 return 1000 * m_nPhotos + 52;
624 }//tau- decays to mu- anti-nu_mu nu_tau gamma
625 if (GenTauTag::PcheckDecay(genpart, 11, -12, 16, 22)) {
626 return 1000 * m_nPhotos + 53;
627 }//tau- decays to e- anti-nu_e nu_tau gamma
628 if (GenTauTag::PcheckDecay(genpart, -321, 111, 16)) {
629 return 1000 * m_nPhotos + 54;
630 }//tau- decays to K- pi0 nu_tau
631 if (GenTauTag::PcheckDecay(genpart, 311, -213, 16)) {
632 return 1000 * m_nPhotos + 55;
633 }//tau- decays to K0 rho- nu_tau
634 if (GenTauTag::PcheckDecay(genpart, -311, -213, 16)) {
635 return 1000 * m_nPhotos + 55;
636 }//tau- decays to anti-K0 rho- nu_tau
637 if (GenTauTag::PcheckDecay(genpart, -10323, 16)) {
638 return 1000 * m_nPhotos + 56;
639 }//tau- decays to K_1- nu_tau
640 if (GenTauTag::PcheckDecay(genpart, -20323, 16)) {
641 return 1000 * m_nPhotos + 57;
642 }//tau- decays to K'_1- nu_tau
643 if (GenTauTag::PcheckDecay(genpart, -100323, 16)) {
644 return 1000 * m_nPhotos + 58;
645 }//tau- decays to K'*- nu_tau
646 if (GenTauTag::PcheckDecay(genpart, 221, -321, 111, 16)) {
647 return 1000 * m_nPhotos + 59;
648 }//tau- decays to eta K- pi0 nu_tau
649 if (GenTauTag::PcheckDecay(genpart, 221, 311, -211, 16)) {
650 return 1000 * m_nPhotos + 60;
651 }//tau- decays to eta K0 pi- nu_tau
652 if (GenTauTag::PcheckDecay(genpart, 221, -311, -211, 16)) {
653 return 1000 * m_nPhotos + 60;
654 }//tau- decays to eta anti-K0 pi- nu_tau
655 if (GenTauTag::PcheckDecay(genpart, 16, 310, 310, -211)) {
656 return 1000 * m_nPhotos + 20015;
657 }//tau- decays to nu_tau K_S0 K_S0 pi-
658 if (GenTauTag::PcheckDecay(genpart, 16, 310, 130, -211)) {
659 return 1000 * m_nPhotos + 110015;
660 }//tau- decays to nu_tau K_S0 K_L0 pi-
661 if (GenTauTag::PcheckDecay(genpart, 16, 130, 130, -211)) {
662 return 1000 * m_nPhotos + 200015;
663 }//tau- decays to nu_tau K_L0 K_L0 pi-
664 if (GenTauTag::PcheckDecay(genpart, 16, 310, -321, 111)) {
665 return 1000 * m_nPhotos + 10016;
666 }//tau- decays to nu_tau K_S0 K- pi0
667 if (GenTauTag::PcheckDecay(genpart, 16, 130, -321, 111)) {
668 return 1000 * m_nPhotos + 100016;
669 }//tau- decays to nu_tau K_L0 K- pi0
670 if (GenTauTag::PcheckDecay(genpart, 16, 310, -211, 111)) {
671 return 1000 * m_nPhotos + 10019;
672 }//tau- decays to nu_tau K_S0 pi- pi0
673 if (GenTauTag::PcheckDecay(genpart, 16, 130, -211, 111)) {
674 return 1000 * m_nPhotos + 100019;
675 }//tau- decays to nu_tau K_L0 pi- pi0
676 if (GenTauTag::PcheckDecay(genpart, 16, 310, -321)) {
677 return 1000 * m_nPhotos + 10022;
678 }//tau- decays to nu_tau K_S0 K-
679 if (GenTauTag::PcheckDecay(genpart, 16, 130, -321)) {
680 return 1000 * m_nPhotos + 100022;
681 }//tau- decays to nu_tau K_L0 K-
682 if (GenTauTag::PcheckDecay(genpart, 16, 310, -211, 211, -211)) {
683 return 1000 * m_nPhotos + 10031;
684 }//tau- decays to nu_tau K_S0 pi- pi+ pi-
685 if (GenTauTag::PcheckDecay(genpart, 16, 130, -211, 211, -211)) {
686 return 1000 * m_nPhotos + 100031;
687 }//tau- decays to nu_tau K_L0 pi- pi+ pi-
688 if (GenTauTag::PcheckDecay(genpart, 16, 310, -211, 111, 111)) {
689 return 1000 * m_nPhotos + 10032;
690 }//tau- decays to nu_tau K_S0 pi- pi0 pi0
691 if (GenTauTag::PcheckDecay(genpart, 16, 130, -211, 111, 111)) {
692 return 1000 * m_nPhotos + 100032;
693 }//tau- decays to nu_tau K_L0 pi- pi0 pi0
694 if (GenTauTag::PcheckDecay(genpart, 16, 310, 310, -211, 111)) {
695 return 1000 * m_nPhotos + 20034;
696 }//tau- decays to nu_tau K_S0 K_S0 pi- pi0
697 if (GenTauTag::PcheckDecay(genpart, 16, 310, 130, -211, 111)) {
698 return 1000 * m_nPhotos + 110034;
699 }//tau- decays to nu_tau K_S0 K_L0 pi- pi0
700 if (GenTauTag::PcheckDecay(genpart, 16, 130, 130, -211, 111)) {
701 return 1000 * m_nPhotos + 200034;
702 }//tau- decays to nu_tau K_L0 K_L0 pi- pi0
703 if (GenTauTag::PcheckDecay(genpart, 16, 310, -211, 211, -321)) {
704 return 1000 * m_nPhotos + 10040;
705 }//tau- decays to nu_tau K_S0 pi- pi+ K-
706 if (GenTauTag::PcheckDecay(genpart, 16, 130, -211, 211, -321)) {
707 return 1000 * m_nPhotos + 100040;
708 }//tau- decays to nu_tau K_L0 pi- pi+ K-
709 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111, 310)) {
710 return 1000 * m_nPhotos + 10041;
711 }//tau- decays to nu_tau K- pi0 pi0 K_S0
712 if (GenTauTag::PcheckDecay(genpart, 16, -321, 111, 111, 130)) {
713 return 1000 * m_nPhotos + 100041;
714 }//tau- decays to nu_tau K- pi0 pi0 K_L0
715 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 321, 310)) {
716 return 1000 * m_nPhotos + 10042;
717 }//tau- decays to nu_tau pi- pi- K+ K_S0
718 if (GenTauTag::PcheckDecay(genpart, 16, -211, -211, 321, 130)) {
719 return 1000 * m_nPhotos + 100042;
720 }//tau- decays to nu_tau pi- pi- K+ K_L0
721 return 0;
722}// not yet defined tau- decay
int Mode_tau_minus(std::vector< int > genDAU)
returns tau- mode identifier
Definition: GenTauTag.cc:410
GenTauTag()
Constructor.
int m_nPhotos
number of photons
Definition: GenTauTag.h:35
bool PcheckDecay(std::vector< int > gp, int da1, int da2)
check decay with two daughters
Definition: GenTauTag.cc:16
int Mode_tau_plus(std::vector< int > genDAU)
returns tau+ mode identifier
Definition: GenTauTag.cc:95
Abstract base class for different kinds of events.