Belle II Software  release-08-01-10
GenBsTag.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/GenBsTag.h>
10 #include <analysis/utility/CheckDecayUtils.h>
11 
12 using namespace Belle2;
13 
14 GenBsTag::GenBsTag() = default;
15 
16 bool GenBsTag::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 
27 bool GenBsTag::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 
38 bool GenBsTag::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 
49 bool GenBsTag::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 
60 bool GenBsTag::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 
71 bool GenBsTag::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 
82 bool GenBsTag::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 
95 int GenBsTag::Mode_Bs0(std::vector<int> genpart)
96 {
97  if (GenBsTag::PcheckDecay(genpart, -431, -11, 12)) {
98  return +1 * (100000 * m_nPhotos + 1001);
99  }//B_s0 decays to D_s- e+ nu_e
100  if (GenBsTag::PcheckDecay(genpart, -433, -11, 12)) {
101  return +1 * (100000 * m_nPhotos + 1002);
102  }//B_s0 decays to D_s*- e+ nu_e
103  if (GenBsTag::PcheckDecay(genpart, -10433, -11, 12)) {
104  return +1 * (100000 * m_nPhotos + 1003);
105  }//B_s0 decays to D_s1- e+ nu_e
106  if (GenBsTag::PcheckDecay(genpart, -10431, -11, 12)) {
107  return +1 * (100000 * m_nPhotos + 1004);
108  }//B_s0 decays to D_s0*- e+ nu_e
109  if (GenBsTag::PcheckDecay(genpart, -20433, -11, 12)) {
110  return +1 * (100000 * m_nPhotos + 1005);
111  }//B_s0 decays to D'_s1- e+ nu_e
112  if (GenBsTag::PcheckDecay(genpart, -435, -11, 12)) {
113  return +1 * (100000 * m_nPhotos + 1006);
114  }//B_s0 decays to D_s2*- e+ nu_e
115  if (GenBsTag::PcheckDecay(genpart, -431, -13, 14)) {
116  return +1 * (100000 * m_nPhotos + 1007);
117  }//B_s0 decays to D_s- mu+ nu_mu
118  if (GenBsTag::PcheckDecay(genpart, -433, -13, 14)) {
119  return +1 * (100000 * m_nPhotos + 1008);
120  }//B_s0 decays to D_s*- mu+ nu_mu
121  if (GenBsTag::PcheckDecay(genpart, -10433, -13, 14)) {
122  return +1 * (100000 * m_nPhotos + 1009);
123  }//B_s0 decays to D_s1- mu+ nu_mu
124  if (GenBsTag::PcheckDecay(genpart, -10431, -13, 14)) {
125  return +1 * (100000 * m_nPhotos + 1010);
126  }//B_s0 decays to D_s0*- mu+ nu_mu
127  if (GenBsTag::PcheckDecay(genpart, -20433, -13, 14)) {
128  return +1 * (100000 * m_nPhotos + 1011);
129  }//B_s0 decays to D'_s1- mu+ nu_mu
130  if (GenBsTag::PcheckDecay(genpart, -435, -13, 14)) {
131  return +1 * (100000 * m_nPhotos + 1012);
132  }//B_s0 decays to D_s2*- mu+ nu_mu
133  if (GenBsTag::PcheckDecay(genpart, -431, -15, 16)) {
134  return +1 * (100000 * m_nPhotos + 1013);
135  }//B_s0 decays to D_s- tau+ nu_tau
136  if (GenBsTag::PcheckDecay(genpart, -433, -15, 16)) {
137  return +1 * (100000 * m_nPhotos + 1014);
138  }//B_s0 decays to D_s*- tau+ nu_tau
139  if (GenBsTag::PcheckDecay(genpart, -10433, -15, 16)) {
140  return +1 * (100000 * m_nPhotos + 1015);
141  }//B_s0 decays to D_s1- tau+ nu_tau
142  if (GenBsTag::PcheckDecay(genpart, -10431, -15, 16)) {
143  return +1 * (100000 * m_nPhotos + 1016);
144  }//B_s0 decays to D_s0*- tau+ nu_tau
145  if (GenBsTag::PcheckDecay(genpart, -20433, -15, 16)) {
146  return +1 * (100000 * m_nPhotos + 1017);
147  }//B_s0 decays to D'_s1- tau+ nu_tau
148  if (GenBsTag::PcheckDecay(genpart, -435, -15, 16)) {
149  return +1 * (100000 * m_nPhotos + 1018);
150  }//B_s0 decays to D_s2*- tau+ nu_tau
151  if (GenBsTag::PcheckDecay(genpart, -431, 431)) {
152  return +1 * (100000 * m_nPhotos + 1019);
153  }//B_s0 decays to D_s- D_s+
154  if (GenBsTag::PcheckDecay(genpart, 433, -431)) {
155  return +1 * (100000 * m_nPhotos + 1020);
156  }//B_s0 decays to D_s*+ D_s-
157  if (GenBsTag::PcheckDecay(genpart, -433, 431)) {
158  return +1 * (100000 * m_nPhotos + 1021);
159  }//B_s0 decays to D_s*- D_s+
160  if (GenBsTag::PcheckDecay(genpart, -433, 433)) {
161  return +1 * (100000 * m_nPhotos + 1022);
162  }//B_s0 decays to D_s*- D_s*+
163  if (GenBsTag::PcheckDecay(genpart, 431, -411, -311)) {
164  return +1 * (100000 * m_nPhotos + 1023);
165  }//B_s0 decays to D_s+ D- anti-K0
166  if (GenBsTag::PcheckDecay(genpart, 431, 421, -321)) {
167  return +1 * (100000 * m_nPhotos + 1024);
168  }//B_s0 decays to D_s+ D0 K-
169  if (GenBsTag::PcheckDecay(genpart, 433, -411, -311)) {
170  return +1 * (100000 * m_nPhotos + 1025);
171  }//B_s0 decays to D_s*+ D- anti-K0
172  if (GenBsTag::PcheckDecay(genpart, 433, -421, -321)) {
173  return +1 * (100000 * m_nPhotos + 1026);
174  }//B_s0 decays to D_s*+ anti-D0 K-
175  if (GenBsTag::PcheckDecay(genpart, 431, -411, 111, -311)) {
176  return +1 * (100000 * m_nPhotos + 1027);
177  }//B_s0 decays to D_s+ D- pi0 anti-K0
178  if (GenBsTag::PcheckDecay(genpart, 431, -421, -211, -311)) {
179  return +1 * (100000 * m_nPhotos + 1028);
180  }//B_s0 decays to D_s+ anti-D0 pi- anti-K0
181  if (GenBsTag::PcheckDecay(genpart, 431, -411, 211, -321)) {
182  return +1 * (100000 * m_nPhotos + 1029);
183  }//B_s0 decays to D_s+ D- pi+ K-
184  if (GenBsTag::PcheckDecay(genpart, 431, -421, 111, -321)) {
185  return +1 * (100000 * m_nPhotos + 1030);
186  }//B_s0 decays to D_s+ anti-D0 pi0 K-
187  if (GenBsTag::PcheckDecay(genpart, 433, -411, 111, -311)) {
188  return +1 * (100000 * m_nPhotos + 1031);
189  }//B_s0 decays to D_s*+ D- pi0 anti-K0
190  if (GenBsTag::PcheckDecay(genpart, 433, -421, -211, -311)) {
191  return +1 * (100000 * m_nPhotos + 1032);
192  }//B_s0 decays to D_s*+ anti-D0 pi- anti-K0
193  if (GenBsTag::PcheckDecay(genpart, 433, -411, 211, -321)) {
194  return +1 * (100000 * m_nPhotos + 1033);
195  }//B_s0 decays to D_s*+ D- pi+ K-
196  if (GenBsTag::PcheckDecay(genpart, 433, -421, 111, -321)) {
197  return +1 * (100000 * m_nPhotos + 1034);
198  }//B_s0 decays to D_s*+ anti-D0 pi0 K-
199  if (GenBsTag::PcheckDecay(genpart, -433, 423, 321)) {
200  return +1 * (100000 * m_nPhotos + 1035);
201  }//B_s0 decays to D_s*- D*0 K+
202  if (GenBsTag::PcheckDecay(genpart, -433, 413, 311)) {
203  return +1 * (100000 * m_nPhotos + 1036);
204  }//B_s0 decays to D_s*- D*+ K0
205  if (GenBsTag::PcheckDecay(genpart, -433, 421, 321)) {
206  return +1 * (100000 * m_nPhotos + 1037);
207  }//B_s0 decays to D_s*- D0 K+
208  if (GenBsTag::PcheckDecay(genpart, -433, 411, 311)) {
209  return +1 * (100000 * m_nPhotos + 1038);
210  }//B_s0 decays to D_s*- D+ K0
211  if (GenBsTag::PcheckDecay(genpart, -431, 423, 321)) {
212  return +1 * (100000 * m_nPhotos + 1039);
213  }//B_s0 decays to D_s- D*0 K+
214  if (GenBsTag::PcheckDecay(genpart, -431, 413, 311)) {
215  return +1 * (100000 * m_nPhotos + 1040);
216  }//B_s0 decays to D_s- D*+ K0
217  if (GenBsTag::PcheckDecay(genpart, -431, 421, 321)) {
218  return +1 * (100000 * m_nPhotos + 1041);
219  }//B_s0 decays to D_s- D0 K+
220  if (GenBsTag::PcheckDecay(genpart, -431, 411, 311)) {
221  return +1 * (100000 * m_nPhotos + 1042);
222  }//B_s0 decays to D_s- D+ K0
223  if (GenBsTag::PcheckDecay(genpart, -433, 423, 323)) {
224  return +1 * (100000 * m_nPhotos + 1043);
225  }//B_s0 decays to D_s*- D*0 K*+
226  if (GenBsTag::PcheckDecay(genpart, -433, 413, 313)) {
227  return +1 * (100000 * m_nPhotos + 1044);
228  }//B_s0 decays to D_s*- D*+ K*0
229  if (GenBsTag::PcheckDecay(genpart, -433, 421, 323)) {
230  return +1 * (100000 * m_nPhotos + 1045);
231  }//B_s0 decays to D_s*- D0 K*+
232  if (GenBsTag::PcheckDecay(genpart, -433, 411, 313)) {
233  return +1 * (100000 * m_nPhotos + 1046);
234  }//B_s0 decays to D_s*- D+ K*0
235  if (GenBsTag::PcheckDecay(genpart, -431, 423, 323)) {
236  return +1 * (100000 * m_nPhotos + 1047);
237  }//B_s0 decays to D_s- D*0 K*+
238  if (GenBsTag::PcheckDecay(genpart, -431, 413, 313)) {
239  return +1 * (100000 * m_nPhotos + 1048);
240  }//B_s0 decays to D_s- D*+ K*0
241  if (GenBsTag::PcheckDecay(genpart, -431, 421, 323)) {
242  return +1 * (100000 * m_nPhotos + 1049);
243  }//B_s0 decays to D_s- D0 K*+
244  if (GenBsTag::PcheckDecay(genpart, -431, 411, 313)) {
245  return +1 * (100000 * m_nPhotos + 1050);
246  }//B_s0 decays to D_s- D+ K*0
247  if (GenBsTag::PcheckDecay(genpart, 431, -411)) {
248  return +1 * (100000 * m_nPhotos + 1051);
249  }//B_s0 decays to D_s+ D-
250  if (GenBsTag::PcheckDecay(genpart, -413, 431)) {
251  return +1 * (100000 * m_nPhotos + 1052);
252  }//B_s0 decays to D*- D_s+
253  if (GenBsTag::PcheckDecay(genpart, 433, -411)) {
254  return +1 * (100000 * m_nPhotos + 1053);
255  }//B_s0 decays to D_s*+ D-
256  if (GenBsTag::PcheckDecay(genpart, 433, -413)) {
257  return +1 * (100000 * m_nPhotos + 1054);
258  }//B_s0 decays to D_s*+ D*-
259  if (GenBsTag::PcheckDecay(genpart, 411, -411, -311)) {
260  return +1 * (100000 * m_nPhotos + 1055);
261  }//B_s0 decays to D+ D- anti-K0
262  if (GenBsTag::PcheckDecay(genpart, 411, 421, -321)) {
263  return +1 * (100000 * m_nPhotos + 1056);
264  }//B_s0 decays to D+ D0 K-
265  if (GenBsTag::PcheckDecay(genpart, 413, -411, -311)) {
266  return +1 * (100000 * m_nPhotos + 1057);
267  }//B_s0 decays to D*+ D- anti-K0
268  if (GenBsTag::PcheckDecay(genpart, 413, -421, -321)) {
269  return +1 * (100000 * m_nPhotos + 1058);
270  }//B_s0 decays to D*+ anti-D0 K-
271  if (GenBsTag::PcheckDecay(genpart, 411, -411, 111, -311)) {
272  return +1 * (100000 * m_nPhotos + 1059);
273  }//B_s0 decays to D+ D- pi0 anti-K0
274  if (GenBsTag::PcheckDecay(genpart, 411, -421, -211, -311)) {
275  return +1 * (100000 * m_nPhotos + 1060);
276  }//B_s0 decays to D+ anti-D0 pi- anti-K0
277  if (GenBsTag::PcheckDecay(genpart, 411, -411, 211, -321)) {
278  return +1 * (100000 * m_nPhotos + 1061);
279  }//B_s0 decays to D+ D- pi+ K-
280  if (GenBsTag::PcheckDecay(genpart, 411, -421, 111, -321)) {
281  return +1 * (100000 * m_nPhotos + 1062);
282  }//B_s0 decays to D+ anti-D0 pi0 K-
283  if (GenBsTag::PcheckDecay(genpart, 413, -411, 111, -311)) {
284  return +1 * (100000 * m_nPhotos + 1063);
285  }//B_s0 decays to D*+ D- pi0 anti-K0
286  if (GenBsTag::PcheckDecay(genpart, 413, -421, -211, -311)) {
287  return +1 * (100000 * m_nPhotos + 1064);
288  }//B_s0 decays to D*+ anti-D0 pi- anti-K0
289  if (GenBsTag::PcheckDecay(genpart, 413, -411, 211, -321)) {
290  return +1 * (100000 * m_nPhotos + 1065);
291  }//B_s0 decays to D*+ D- pi+ K-
292  if (GenBsTag::PcheckDecay(genpart, 413, -421, 111, -321)) {
293  return +1 * (100000 * m_nPhotos + 1066);
294  }//B_s0 decays to D*+ anti-D0 pi0 K-
295  if (GenBsTag::PcheckDecay(genpart, -433, 321)) {
296  return +1 * (100000 * m_nPhotos + 1067);
297  }//B_s0 decays to D_s*- K+
298  if (GenBsTag::PcheckDecay(genpart, -431, 321)) {
299  return +1 * (100000 * m_nPhotos + 1068);
300  }//B_s0 decays to D_s- K+
301  if (GenBsTag::PcheckDecay(genpart, -433, 323)) {
302  return +1 * (100000 * m_nPhotos + 1069);
303  }//B_s0 decays to D_s*- K*+
304  if (GenBsTag::PcheckDecay(genpart, 323, -431)) {
305  return +1 * (100000 * m_nPhotos + 1070);
306  }//B_s0 decays to K*+ D_s-
307  if (GenBsTag::PcheckDecay(genpart, 443, 331)) {
308  return +1 * (100000 * m_nPhotos + 1071);
309  }//B_s0 decays to J/psi eta'
310  if (GenBsTag::PcheckDecay(genpart, 443, 221)) {
311  return +1 * (100000 * m_nPhotos + 1072);
312  }//B_s0 decays to J/psi eta
313  if (GenBsTag::PcheckDecay(genpart, 443, 333)) {
314  return +1 * (100000 * m_nPhotos + 1073);
315  }//B_s0 decays to J/psi phi
316  if (GenBsTag::PcheckDecay(genpart, 443, 311)) {
317  return +1 * (100000 * m_nPhotos + 1074);
318  }//B_s0 decays to J/psi K0
319  if (GenBsTag::PcheckDecay(genpart, 443, -321, 321)) {
320  return +1 * (100000 * m_nPhotos + 1075);
321  }//B_s0 decays to J/psi K- K+
322  if (GenBsTag::PcheckDecay(genpart, 443, -311, 311)) {
323  return +1 * (100000 * m_nPhotos + 1076);
324  }//B_s0 decays to J/psi anti-K0 K0
325  if (GenBsTag::PcheckDecay(genpart, 443, 311, -321, 211)) {
326  return +1 * (100000 * m_nPhotos + 1077);
327  }//B_s0 decays to J/psi K0 K- pi+
328  if (GenBsTag::PcheckDecay(genpart, 443, -311, 321, -211)) {
329  return +1 * (100000 * m_nPhotos + 1078);
330  }//B_s0 decays to J/psi anti-K0 K+ pi-
331  if (GenBsTag::PcheckDecay(genpart, 443, -311, 311, 111)) {
332  return +1 * (100000 * m_nPhotos + 1079);
333  }//B_s0 decays to J/psi anti-K0 K0 pi0
334  if (GenBsTag::PcheckDecay(genpart, 443, -321, 321, 111)) {
335  return +1 * (100000 * m_nPhotos + 1080);
336  }//B_s0 decays to J/psi K- K+ pi0
337  if (GenBsTag::PcheckDecay(genpart, 443, 333, 211, -211)) {
338  return +1 * (100000 * m_nPhotos + 1081);
339  }//B_s0 decays to J/psi phi pi+ pi-
340  if (GenBsTag::PcheckDecay(genpart, 443, 333, 111, 111)) {
341  return +1 * (100000 * m_nPhotos + 1082);
342  }//B_s0 decays to J/psi phi pi0 pi0
343  if (GenBsTag::PcheckDecay(genpart, 443, 221, 211, -211)) {
344  return +1 * (100000 * m_nPhotos + 1083);
345  }//B_s0 decays to J/psi eta pi+ pi-
346  if (GenBsTag::PcheckDecay(genpart, 443, 221, 111, 111)) {
347  return +1 * (100000 * m_nPhotos + 1084);
348  }//B_s0 decays to J/psi eta pi0 pi0
349  if (GenBsTag::PcheckDecay(genpart, 443, 331, 211, -211)) {
350  return +1 * (100000 * m_nPhotos + 1085);
351  }//B_s0 decays to J/psi eta' pi+ pi-
352  if (GenBsTag::PcheckDecay(genpart, 443, 331, 111, 111)) {
353  return +1 * (100000 * m_nPhotos + 1086);
354  }//B_s0 decays to J/psi eta' pi0 pi0
355  if (GenBsTag::PcheckDecay(genpart, 443, 211, -211)) {
356  return +1 * (100000 * m_nPhotos + 1087);
357  }//B_s0 decays to J/psi pi+ pi-
358  if (GenBsTag::PcheckDecay(genpart, 443, 111, 111)) {
359  return +1 * (100000 * m_nPhotos + 1088);
360  }//B_s0 decays to J/psi pi0 pi0
361  if (GenBsTag::PcheckDecay(genpart, 100443, 331)) {
362  return +1 * (100000 * m_nPhotos + 1089);
363  }//B_s0 decays to psi(2S) eta'
364  if (GenBsTag::PcheckDecay(genpart, 100443, 221)) {
365  return +1 * (100000 * m_nPhotos + 1090);
366  }//B_s0 decays to psi(2S) eta
367  if (GenBsTag::PcheckDecay(genpart, 100443, 333)) {
368  return +1 * (100000 * m_nPhotos + 1091);
369  }//B_s0 decays to psi(2S) phi
370  if (GenBsTag::PcheckDecay(genpart, 100443, -321, 321)) {
371  return +1 * (100000 * m_nPhotos + 1092);
372  }//B_s0 decays to psi(2S) K- K+
373  if (GenBsTag::PcheckDecay(genpart, 100443, -311, 311)) {
374  return +1 * (100000 * m_nPhotos + 1093);
375  }//B_s0 decays to psi(2S) anti-K0 K0
376  if (GenBsTag::PcheckDecay(genpart, 100443, 311, -321, 211)) {
377  return +1 * (100000 * m_nPhotos + 1094);
378  }//B_s0 decays to psi(2S) K0 K- pi+
379  if (GenBsTag::PcheckDecay(genpart, 100443, -311, 311, 111)) {
380  return +1 * (100000 * m_nPhotos + 1095);
381  }//B_s0 decays to psi(2S) anti-K0 K0 pi0
382  if (GenBsTag::PcheckDecay(genpart, 100443, -321, 321, 111)) {
383  return +1 * (100000 * m_nPhotos + 1096);
384  }//B_s0 decays to psi(2S) K- K+ pi0
385  if (GenBsTag::PcheckDecay(genpart, 100443, 333, 211, -211)) {
386  return +1 * (100000 * m_nPhotos + 1097);
387  }//B_s0 decays to psi(2S) phi pi+ pi-
388  if (GenBsTag::PcheckDecay(genpart, 100443, 333, 111, 111)) {
389  return +1 * (100000 * m_nPhotos + 1098);
390  }//B_s0 decays to psi(2S) phi pi0 pi0
391  if (GenBsTag::PcheckDecay(genpart, 100443, 221, 211, -211)) {
392  return +1 * (100000 * m_nPhotos + 1099);
393  }//B_s0 decays to psi(2S) eta pi+ pi-
394  if (GenBsTag::PcheckDecay(genpart, 100443, 221, 111, 111)) {
395  return +1 * (100000 * m_nPhotos + 1100);
396  }//B_s0 decays to psi(2S) eta pi0 pi0
397  if (GenBsTag::PcheckDecay(genpart, 100443, 331, 211, -211)) {
398  return +1 * (100000 * m_nPhotos + 1101);
399  }//B_s0 decays to psi(2S) eta' pi+ pi-
400  if (GenBsTag::PcheckDecay(genpart, 100443, 331, 111, 111)) {
401  return +1 * (100000 * m_nPhotos + 1102);
402  }//B_s0 decays to psi(2S) eta' pi0 pi0
403  if (GenBsTag::PcheckDecay(genpart, 100443, 211, -211)) {
404  return +1 * (100000 * m_nPhotos + 1103);
405  }//B_s0 decays to psi(2S) pi+ pi-
406  if (GenBsTag::PcheckDecay(genpart, 100443, 111, 111)) {
407  return +1 * (100000 * m_nPhotos + 1104);
408  }//B_s0 decays to psi(2S) pi0 pi0
409  if (GenBsTag::PcheckDecay(genpart, 10441, 331)) {
410  return +1 * (100000 * m_nPhotos + 1105);
411  }//B_s0 decays to chi_c0 eta'
412  if (GenBsTag::PcheckDecay(genpart, 10441, 221)) {
413  return +1 * (100000 * m_nPhotos + 1106);
414  }//B_s0 decays to chi_c0 eta
415  if (GenBsTag::PcheckDecay(genpart, 333, 10441)) {
416  return +1 * (100000 * m_nPhotos + 1107);
417  }//B_s0 decays to phi chi_c0
418  if (GenBsTag::PcheckDecay(genpart, 10441, -321, 321)) {
419  return +1 * (100000 * m_nPhotos + 1108);
420  }//B_s0 decays to chi_c0 K- K+
421  if (GenBsTag::PcheckDecay(genpart, 10441, -311, 311)) {
422  return +1 * (100000 * m_nPhotos + 1109);
423  }//B_s0 decays to chi_c0 anti-K0 K0
424  if (GenBsTag::PcheckDecay(genpart, 10441, 311, -321, 211)) {
425  return +1 * (100000 * m_nPhotos + 1110);
426  }//B_s0 decays to chi_c0 K0 K- pi+
427  if (GenBsTag::PcheckDecay(genpart, 10441, -311, 311, 111)) {
428  return +1 * (100000 * m_nPhotos + 1111);
429  }//B_s0 decays to chi_c0 anti-K0 K0 pi0
430  if (GenBsTag::PcheckDecay(genpart, 10441, -321, 321, 111)) {
431  return +1 * (100000 * m_nPhotos + 1112);
432  }//B_s0 decays to chi_c0 K- K+ pi0
433  if (GenBsTag::PcheckDecay(genpart, 20443, 331)) {
434  return +1 * (100000 * m_nPhotos + 1113);
435  }//B_s0 decays to chi_c1 eta'
436  if (GenBsTag::PcheckDecay(genpart, 20443, 221)) {
437  return +1 * (100000 * m_nPhotos + 1114);
438  }//B_s0 decays to chi_c1 eta
439  if (GenBsTag::PcheckDecay(genpart, 20443, 333)) {
440  return +1 * (100000 * m_nPhotos + 1115);
441  }//B_s0 decays to chi_c1 phi
442  if (GenBsTag::PcheckDecay(genpart, 20443, -321, 321)) {
443  return +1 * (100000 * m_nPhotos + 1116);
444  }//B_s0 decays to chi_c1 K- K+
445  if (GenBsTag::PcheckDecay(genpart, 20443, -311, 311)) {
446  return +1 * (100000 * m_nPhotos + 1117);
447  }//B_s0 decays to chi_c1 anti-K0 K0
448  if (GenBsTag::PcheckDecay(genpart, 20443, 311, -321, 211)) {
449  return +1 * (100000 * m_nPhotos + 1118);
450  }//B_s0 decays to chi_c1 K0 K- pi+
451  if (GenBsTag::PcheckDecay(genpart, 20443, -311, 311, 111)) {
452  return +1 * (100000 * m_nPhotos + 1119);
453  }//B_s0 decays to chi_c1 anti-K0 K0 pi0
454  if (GenBsTag::PcheckDecay(genpart, 20443, -321, 321, 111)) {
455  return +1 * (100000 * m_nPhotos + 1120);
456  }//B_s0 decays to chi_c1 K- K+ pi0
457  if (GenBsTag::PcheckDecay(genpart, 20443, 333, 211, -211)) {
458  return +1 * (100000 * m_nPhotos + 1121);
459  }//B_s0 decays to chi_c1 phi pi+ pi-
460  if (GenBsTag::PcheckDecay(genpart, 20443, 333, 111, 111)) {
461  return +1 * (100000 * m_nPhotos + 1122);
462  }//B_s0 decays to chi_c1 phi pi0 pi0
463  if (GenBsTag::PcheckDecay(genpart, 20443, 221, 211, -211)) {
464  return +1 * (100000 * m_nPhotos + 1123);
465  }//B_s0 decays to chi_c1 eta pi+ pi-
466  if (GenBsTag::PcheckDecay(genpart, 20443, 221, 111, 111)) {
467  return +1 * (100000 * m_nPhotos + 1124);
468  }//B_s0 decays to chi_c1 eta pi0 pi0
469  if (GenBsTag::PcheckDecay(genpart, 20443, 331, 211, -211)) {
470  return +1 * (100000 * m_nPhotos + 1125);
471  }//B_s0 decays to chi_c1 eta' pi+ pi-
472  if (GenBsTag::PcheckDecay(genpart, 20443, 331, 111, 111)) {
473  return +1 * (100000 * m_nPhotos + 1126);
474  }//B_s0 decays to chi_c1 eta' pi0 pi0
475  if (GenBsTag::PcheckDecay(genpart, 445, 331)) {
476  return +1 * (100000 * m_nPhotos + 1127);
477  }//B_s0 decays to chi_c2 eta'
478  if (GenBsTag::PcheckDecay(genpart, 445, 221)) {
479  return +1 * (100000 * m_nPhotos + 1128);
480  }//B_s0 decays to chi_c2 eta
481  if (GenBsTag::PcheckDecay(genpart, 445, -321, 321)) {
482  return +1 * (100000 * m_nPhotos + 1129);
483  }//B_s0 decays to chi_c2 K- K+
484  if (GenBsTag::PcheckDecay(genpart, 445, -311, 311)) {
485  return +1 * (100000 * m_nPhotos + 1130);
486  }//B_s0 decays to chi_c2 anti-K0 K0
487  if (GenBsTag::PcheckDecay(genpart, 445, 311, -321, 211)) {
488  return +1 * (100000 * m_nPhotos + 1131);
489  }//B_s0 decays to chi_c2 K0 K- pi+
490  if (GenBsTag::PcheckDecay(genpart, 445, -311, 311, 111)) {
491  return +1 * (100000 * m_nPhotos + 1132);
492  }//B_s0 decays to chi_c2 anti-K0 K0 pi0
493  if (GenBsTag::PcheckDecay(genpart, 445, -321, 321, 111)) {
494  return +1 * (100000 * m_nPhotos + 1133);
495  }//B_s0 decays to chi_c2 K- K+ pi0
496  if (GenBsTag::PcheckDecay(genpart, 441, 331)) {
497  return +1 * (100000 * m_nPhotos + 1134);
498  }//B_s0 decays to eta_c eta'
499  if (GenBsTag::PcheckDecay(genpart, 441, 221)) {
500  return +1 * (100000 * m_nPhotos + 1135);
501  }//B_s0 decays to eta_c eta
502  if (GenBsTag::PcheckDecay(genpart, 333, 441)) {
503  return +1 * (100000 * m_nPhotos + 1136);
504  }//B_s0 decays to phi eta_c
505  if (GenBsTag::PcheckDecay(genpart, 441, -321, 321)) {
506  return +1 * (100000 * m_nPhotos + 1137);
507  }//B_s0 decays to eta_c K- K+
508  if (GenBsTag::PcheckDecay(genpart, 441, 311, -311)) {
509  return +1 * (100000 * m_nPhotos + 1138);
510  }//B_s0 decays to eta_c K0 anti-K0
511  if (GenBsTag::PcheckDecay(genpart, 441, 311, -321, 211)) {
512  return +1 * (100000 * m_nPhotos + 1139);
513  }//B_s0 decays to eta_c K0 K- pi+
514  if (GenBsTag::PcheckDecay(genpart, 441, 311, -311, 111)) {
515  return +1 * (100000 * m_nPhotos + 1140);
516  }//B_s0 decays to eta_c K0 anti-K0 pi0
517  if (GenBsTag::PcheckDecay(genpart, 441, -321, 321, 111)) {
518  return +1 * (100000 * m_nPhotos + 1141);
519  }//B_s0 decays to eta_c K- K+ pi0
520  if (GenBsTag::PcheckDecay(genpart, 441, 333, 211, -211)) {
521  return +1 * (100000 * m_nPhotos + 1142);
522  }//B_s0 decays to eta_c phi pi+ pi-
523  if (GenBsTag::PcheckDecay(genpart, 441, 333, 111, 111)) {
524  return +1 * (100000 * m_nPhotos + 1143);
525  }//B_s0 decays to eta_c phi pi0 pi0
526  if (GenBsTag::PcheckDecay(genpart, 441, 221, 211, -211)) {
527  return +1 * (100000 * m_nPhotos + 1144);
528  }//B_s0 decays to eta_c eta pi+ pi-
529  if (GenBsTag::PcheckDecay(genpart, 441, 221, 111, 111)) {
530  return +1 * (100000 * m_nPhotos + 1145);
531  }//B_s0 decays to eta_c eta pi0 pi0
532  if (GenBsTag::PcheckDecay(genpart, 441, 331, 211, -211)) {
533  return +1 * (100000 * m_nPhotos + 1146);
534  }//B_s0 decays to eta_c eta' pi+ pi-
535  if (GenBsTag::PcheckDecay(genpart, 441, 331, 111, 111)) {
536  return +1 * (100000 * m_nPhotos + 1147);
537  }//B_s0 decays to eta_c eta' pi0 pi0
538  if (GenBsTag::PcheckDecay(genpart, 100441, 331)) {
539  return +1 * (100000 * m_nPhotos + 1148);
540  }//B_s0 decays to eta_c(2S) eta'
541  if (GenBsTag::PcheckDecay(genpart, 100441, 221)) {
542  return +1 * (100000 * m_nPhotos + 1149);
543  }//B_s0 decays to eta_c(2S) eta
544  if (GenBsTag::PcheckDecay(genpart, 333, 100441)) {
545  return +1 * (100000 * m_nPhotos + 1150);
546  }//B_s0 decays to phi eta_c(2S)
547  if (GenBsTag::PcheckDecay(genpart, 100441, -321, 321)) {
548  return +1 * (100000 * m_nPhotos + 1151);
549  }//B_s0 decays to eta_c(2S) K- K+
550  if (GenBsTag::PcheckDecay(genpart, 100441, -311, 311)) {
551  return +1 * (100000 * m_nPhotos + 1152);
552  }//B_s0 decays to eta_c(2S) anti-K0 K0
553  if (GenBsTag::PcheckDecay(genpart, 100441, 311, -321, 211)) {
554  return +1 * (100000 * m_nPhotos + 1153);
555  }//B_s0 decays to eta_c(2S) K0 K- pi+
556  if (GenBsTag::PcheckDecay(genpart, 100441, -311, 311, 111)) {
557  return +1 * (100000 * m_nPhotos + 1154);
558  }//B_s0 decays to eta_c(2S) anti-K0 K0 pi0
559  if (GenBsTag::PcheckDecay(genpart, 100441, -321, 321, 111)) {
560  return +1 * (100000 * m_nPhotos + 1155);
561  }//B_s0 decays to eta_c(2S) K- K+ pi0
562  if (GenBsTag::PcheckDecay(genpart, 10443, 331)) {
563  return +1 * (100000 * m_nPhotos + 1156);
564  }//B_s0 decays to h_c eta'
565  if (GenBsTag::PcheckDecay(genpart, 10443, 221)) {
566  return +1 * (100000 * m_nPhotos + 1157);
567  }//B_s0 decays to h_c eta
568  if (GenBsTag::PcheckDecay(genpart, 10443, 333)) {
569  return +1 * (100000 * m_nPhotos + 1158);
570  }//B_s0 decays to h_c phi
571  if (GenBsTag::PcheckDecay(genpart, 10443, -321, 321)) {
572  return +1 * (100000 * m_nPhotos + 1159);
573  }//B_s0 decays to h_c K- K+
574  if (GenBsTag::PcheckDecay(genpart, 10443, -311, 311)) {
575  return +1 * (100000 * m_nPhotos + 1160);
576  }//B_s0 decays to h_c anti-K0 K0
577  if (GenBsTag::PcheckDecay(genpart, 10443, 311, -321, 211)) {
578  return +1 * (100000 * m_nPhotos + 1161);
579  }//B_s0 decays to h_c K0 K- pi+
580  if (GenBsTag::PcheckDecay(genpart, 10443, -311, 311, 111)) {
581  return +1 * (100000 * m_nPhotos + 1162);
582  }//B_s0 decays to h_c anti-K0 K0 pi0
583  if (GenBsTag::PcheckDecay(genpart, 10443, -321, 321, 111)) {
584  return +1 * (100000 * m_nPhotos + 1163);
585  }//B_s0 decays to h_c K- K+ pi0
586  if (GenBsTag::PcheckDecay(genpart, 443, 333, 333)) {
587  return +1 * (100000 * m_nPhotos + 1164);
588  }//B_s0 decays to J/psi phi phi
589  if (GenBsTag::PcheckDecay(genpart, 443, 310)) {
590  return +1 * (100000 * m_nPhotos + 1165);
591  }//B_s0 decays to J/psi K_S0
592  if (GenBsTag::PcheckDecay(genpart, 443, 313)) {
593  return +1 * (100000 * m_nPhotos + 1166);
594  }//B_s0 decays to J/psi K*0
595  if (GenBsTag::PcheckDecay(genpart, 443, 211, -211, 211, -211)) {
596  return +1 * (100000 * m_nPhotos + 1167);
597  }//B_s0 decays to J/psi pi+ pi- pi+ pi-
598  if (GenBsTag::PcheckDecay(genpart, 443, 20223)) {
599  return +1 * (100000 * m_nPhotos + 1168);
600  }//B_s0 decays to J/psi f_1
601  if (GenBsTag::PcheckDecay(genpart, 100443, 321, -211)) {
602  return +1 * (100000 * m_nPhotos + 1169);
603  }//B_s0 decays to psi(2S) K+ pi-
604  if (GenBsTag::PcheckDecay(genpart, 100443, 313)) {
605  return +1 * (100000 * m_nPhotos + 1170);
606  }//B_s0 decays to psi(2S) K*0
607  if (GenBsTag::PcheckDecay(genpart, -10433, 211)) {
608  return +1 * (100000 * m_nPhotos + 1171);
609  }//B_s0 decays to D_s1- pi+
610  if (GenBsTag::PcheckDecay(genpart, -10433, 213)) {
611  return +1 * (100000 * m_nPhotos + 1172);
612  }//B_s0 decays to D_s1- rho+
613  if (GenBsTag::PcheckDecay(genpart, -435, 211)) {
614  return +1 * (100000 * m_nPhotos + 1173);
615  }//B_s0 decays to D_s2*- pi+
616  if (GenBsTag::PcheckDecay(genpart, -433, 211)) {
617  return +1 * (100000 * m_nPhotos + 1174);
618  }//B_s0 decays to D_s*- pi+
619  if (GenBsTag::PcheckDecay(genpart, -431, 211)) {
620  return +1 * (100000 * m_nPhotos + 1175);
621  }//B_s0 decays to D_s- pi+
622  if (GenBsTag::PcheckDecay(genpart, 213, -431)) {
623  return +1 * (100000 * m_nPhotos + 1176);
624  }//B_s0 decays to rho+ D_s-
625  if (GenBsTag::PcheckDecay(genpart, -433, 213)) {
626  return +1 * (100000 * m_nPhotos + 1177);
627  }//B_s0 decays to D_s*- rho+
628  if (GenBsTag::PcheckDecay(genpart, 20213, -431)) {
629  return +1 * (100000 * m_nPhotos + 1178);
630  }//B_s0 decays to a_1+ D_s-
631  if (GenBsTag::PcheckDecay(genpart, -431, 113, 211)) {
632  return +1 * (100000 * m_nPhotos + 1179);
633  }//B_s0 decays to D_s- rho0 pi+
634  if (GenBsTag::PcheckDecay(genpart, -431, 213, 111)) {
635  return +1 * (100000 * m_nPhotos + 1180);
636  }//B_s0 decays to D_s- rho+ pi0
637  if (GenBsTag::PcheckDecay(genpart, -431, -211, 211, 211)) {
638  return +1 * (100000 * m_nPhotos + 1181);
639  }//B_s0 decays to D_s- pi- pi+ pi+
640  if (GenBsTag::PcheckDecay(genpart, -431, 111, 211, 111)) {
641  return +1 * (100000 * m_nPhotos + 1182);
642  }//B_s0 decays to D_s- pi0 pi+ pi0
643  if (GenBsTag::PcheckDecay(genpart, -433, 20213)) {
644  return +1 * (100000 * m_nPhotos + 1183);
645  }//B_s0 decays to D_s*- a_1+
646  if (GenBsTag::PcheckDecay(genpart, -433, 113, 211)) {
647  return +1 * (100000 * m_nPhotos + 1184);
648  }//B_s0 decays to D_s*- rho0 pi+
649  if (GenBsTag::PcheckDecay(genpart, -433, 213, 111)) {
650  return +1 * (100000 * m_nPhotos + 1185);
651  }//B_s0 decays to D_s*- rho+ pi0
652  if (GenBsTag::PcheckDecay(genpart, -433, -211, 211, 211)) {
653  return +1 * (100000 * m_nPhotos + 1186);
654  }//B_s0 decays to D_s*- pi- pi+ pi+
655  if (GenBsTag::PcheckDecay(genpart, -433, 111, 211, 111)) {
656  return +1 * (100000 * m_nPhotos + 1187);
657  }//B_s0 decays to D_s*- pi0 pi+ pi0
658  if (GenBsTag::PcheckDecay(genpart, -423, -311)) {
659  return +1 * (100000 * m_nPhotos + 1188);
660  }//B_s0 decays to anti-D*0 anti-K0
661  if (GenBsTag::PcheckDecay(genpart, -421, -311)) {
662  return +1 * (100000 * m_nPhotos + 1189);
663  }//B_s0 decays to anti-D0 anti-K0
664  if (GenBsTag::PcheckDecay(genpart, -313, -421)) {
665  return +1 * (100000 * m_nPhotos + 1190);
666  }//B_s0 decays to anti-K*0 anti-D0
667  if (GenBsTag::PcheckDecay(genpart, -423, -313)) {
668  return +1 * (100000 * m_nPhotos + 1191);
669  }//B_s0 decays to anti-D*0 anti-K*0
670  if (GenBsTag::PcheckDecay(genpart, 2212, -2212)) {
671  return +1 * (100000 * m_nPhotos + 1192);
672  }//B_s0 decays to p+ anti-p-
673  if (GenBsTag::PcheckDecay(genpart, -4301, 2101)) {
674  return +1 * (100000 * m_nPhotos + 1193);
675  }//B_s0 decays to anti-cs_0 ud_0
676  if (GenBsTag::PcheckDecay(genpart, -4303, 2103)) {
677  return +1 * (100000 * m_nPhotos + 1194);
678  }//B_s0 decays to anti-cs_1 ud_1
679  if (GenBsTag::PcheckDecay(genpart, 2, -1, -4, 3)) {
680  return +1 * (100000 * m_nPhotos + 1195);
681  }//B_s0 decays to u anti-d anti-c s
682  if (GenBsTag::PcheckDecay(genpart, 2, -1, -4, 3)) {
683  return +1 * (100000 * m_nPhotos + 1196);
684  }//B_s0 decays to u anti-d anti-c s
685  if (GenBsTag::PcheckDecay(genpart, 2, -4, -1, 3)) {
686  return +1 * (100000 * m_nPhotos + 1197);
687  }//B_s0 decays to u anti-c anti-d s
688  if (GenBsTag::PcheckDecay(genpart, 4, -3, -2, 3)) {
689  return +1 * (100000 * m_nPhotos + 1198);
690  }//B_s0 decays to c anti-s anti-u s
691  if (GenBsTag::PcheckDecay(genpart, 2, -3, -4, 3)) {
692  return +1 * (100000 * m_nPhotos + 1199);
693  }//B_s0 decays to u anti-s anti-c s
694  if (GenBsTag::PcheckDecay(genpart, 2, -3, -4, 3)) {
695  return +1 * (100000 * m_nPhotos + 1200);
696  }//B_s0 decays to u anti-s anti-c s
697  if (GenBsTag::PcheckDecay(genpart, 2, -4, -3, 3)) {
698  return +1 * (100000 * m_nPhotos + 1201);
699  }//B_s0 decays to u anti-c anti-s s
700  if (GenBsTag::PcheckDecay(genpart, 4, -1, -4, 3)) {
701  return +1 * (100000 * m_nPhotos + 1202);
702  }//B_s0 decays to c anti-d anti-c s
703  if (GenBsTag::PcheckDecay(genpart, 4, -1, -4, 3)) {
704  return +1 * (100000 * m_nPhotos + 1203);
705  }//B_s0 decays to c anti-d anti-c s
706  if (GenBsTag::PcheckDecay(genpart, 2, -2, -1, 3)) {
707  return +1 * (100000 * m_nPhotos + 1204);
708  }//B_s0 decays to u anti-u anti-d s
709  if (GenBsTag::PcheckDecay(genpart, 1, -1, -1, 3)) {
710  return +1 * (100000 * m_nPhotos + 1205);
711  }//B_s0 decays to d anti-d anti-d s
712  if (GenBsTag::PcheckDecay(genpart, 3, -3, -1, 3)) {
713  return +1 * (100000 * m_nPhotos + 1206);
714  }//B_s0 decays to s anti-s anti-d s
715  if (GenBsTag::PcheckDecay(genpart, 2, -2, -3, 3)) {
716  return +1 * (100000 * m_nPhotos + 1207);
717  }//B_s0 decays to u anti-u anti-s s
718  if (GenBsTag::PcheckDecay(genpart, 1, -1, -3, 3)) {
719  return +1 * (100000 * m_nPhotos + 1208);
720  }//B_s0 decays to d anti-d anti-s s
721  if (GenBsTag::PcheckDecay(genpart, 3, -3, -3, 3)) {
722  return +1 * (100000 * m_nPhotos + 1209);
723  }//B_s0 decays to s anti-s anti-s s
724  if (GenBsTag::PcheckDecay(genpart, -3, 3)) {
725  return +1 * (100000 * m_nPhotos + 1210);
726  }//B_s0 decays to anti-s s
727  if (GenBsTag::PcheckDecay(genpart, -321, -11, 12)) {
728  return +1 * (100000 * m_nPhotos + 1211);
729  }//B_s0 decays to K- e+ nu_e
730  if (GenBsTag::PcheckDecay(genpart, -323, -11, 12)) {
731  return +1 * (100000 * m_nPhotos + 1212);
732  }//B_s0 decays to K*- e+ nu_e
733  if (GenBsTag::PcheckDecay(genpart, -10323, -11, 12)) {
734  return +1 * (100000 * m_nPhotos + 1213);
735  }//B_s0 decays to K_1- e+ nu_e
736  if (GenBsTag::PcheckDecay(genpart, -20323, -11, 12)) {
737  return +1 * (100000 * m_nPhotos + 1214);
738  }//B_s0 decays to K'_1- e+ nu_e
739  if (GenBsTag::PcheckDecay(genpart, -321, -13, 14)) {
740  return +1 * (100000 * m_nPhotos + 1215);
741  }//B_s0 decays to K- mu+ nu_mu
742  if (GenBsTag::PcheckDecay(genpart, -323, -13, 14)) {
743  return +1 * (100000 * m_nPhotos + 1216);
744  }//B_s0 decays to K*- mu+ nu_mu
745  if (GenBsTag::PcheckDecay(genpart, -10323, -13, 14)) {
746  return +1 * (100000 * m_nPhotos + 1217);
747  }//B_s0 decays to K_1- mu+ nu_mu
748  if (GenBsTag::PcheckDecay(genpart, -20323, -13, 14)) {
749  return +1 * (100000 * m_nPhotos + 1218);
750  }//B_s0 decays to K'_1- mu+ nu_mu
751  if (GenBsTag::PcheckDecay(genpart, -321, 321)) {
752  return +1 * (100000 * m_nPhotos + 1219);
753  }//B_s0 decays to K- K+
754  if (GenBsTag::PcheckDecay(genpart, -311, 311)) {
755  return +1 * (100000 * m_nPhotos + 1220);
756  }//B_s0 decays to anti-K0 K0
757  if (GenBsTag::PcheckDecay(genpart, 310, 310)) {
758  return +1 * (100000 * m_nPhotos + 1221);
759  }//B_s0 decays to K_S0 K_S0
760  if (GenBsTag::PcheckDecay(genpart, 130, 130)) {
761  return +1 * (100000 * m_nPhotos + 1222);
762  }//B_s0 decays to K_L0 K_L0
763  if (GenBsTag::PcheckDecay(genpart, 211, -321)) {
764  return +1 * (100000 * m_nPhotos + 1223);
765  }//B_s0 decays to pi+ K-
766  if (GenBsTag::PcheckDecay(genpart, 111, -311)) {
767  return +1 * (100000 * m_nPhotos + 1224);
768  }//B_s0 decays to pi0 anti-K0
769  if (GenBsTag::PcheckDecay(genpart, 211, -211)) {
770  return +1 * (100000 * m_nPhotos + 1225);
771  }//B_s0 decays to pi+ pi-
772  if (GenBsTag::PcheckDecay(genpart, 223, 221)) {
773  return +1 * (100000 * m_nPhotos + 1226);
774  }//B_s0 decays to omega eta
775  if (GenBsTag::PcheckDecay(genpart, 223, 331)) {
776  return +1 * (100000 * m_nPhotos + 1227);
777  }//B_s0 decays to omega eta'
778  if (GenBsTag::PcheckDecay(genpart, 333, 221)) {
779  return +1 * (100000 * m_nPhotos + 1228);
780  }//B_s0 decays to phi eta
781  if (GenBsTag::PcheckDecay(genpart, 333, 331)) {
782  return +1 * (100000 * m_nPhotos + 1229);
783  }//B_s0 decays to phi eta'
784  if (GenBsTag::PcheckDecay(genpart, 223, 311)) {
785  return +1 * (100000 * m_nPhotos + 1230);
786  }//B_s0 decays to omega K0
787  if (GenBsTag::PcheckDecay(genpart, 333, 311)) {
788  return +1 * (100000 * m_nPhotos + 1231);
789  }//B_s0 decays to phi K0
790  if (GenBsTag::PcheckDecay(genpart, -323, 211)) {
791  return +1 * (100000 * m_nPhotos + 1232);
792  }//B_s0 decays to K*- pi+
793  if (GenBsTag::PcheckDecay(genpart, 213, -321)) {
794  return +1 * (100000 * m_nPhotos + 1233);
795  }//B_s0 decays to rho+ K-
796  if (GenBsTag::PcheckDecay(genpart, 113, 311)) {
797  return +1 * (100000 * m_nPhotos + 1234);
798  }//B_s0 decays to rho0 K0
799  if (GenBsTag::PcheckDecay(genpart, -313, 111)) {
800  return +1 * (100000 * m_nPhotos + 1235);
801  }//B_s0 decays to anti-K*0 pi0
802  if (GenBsTag::PcheckDecay(genpart, 323, -321)) {
803  return +1 * (100000 * m_nPhotos + 1236);
804  }//B_s0 decays to K*+ K-
805  if (GenBsTag::PcheckDecay(genpart, 313, -311)) {
806  return +1 * (100000 * m_nPhotos + 1237);
807  }//B_s0 decays to K*0 anti-K0
808  if (GenBsTag::PcheckDecay(genpart, 313, 310)) {
809  return +1 * (100000 * m_nPhotos + 1238);
810  }//B_s0 decays to K*0 K_S0
811  if (GenBsTag::PcheckDecay(genpart, 313, 130)) {
812  return +1 * (100000 * m_nPhotos + 1239);
813  }//B_s0 decays to K*0 K_L0
814  if (GenBsTag::PcheckDecay(genpart, -323, 321)) {
815  return +1 * (100000 * m_nPhotos + 1240);
816  }//B_s0 decays to K*- K+
817  if (GenBsTag::PcheckDecay(genpart, -313, 311)) {
818  return +1 * (100000 * m_nPhotos + 1241);
819  }//B_s0 decays to anti-K*0 K0
820  if (GenBsTag::PcheckDecay(genpart, -313, 310)) {
821  return +1 * (100000 * m_nPhotos + 1242);
822  }//B_s0 decays to anti-K*0 K_S0
823  if (GenBsTag::PcheckDecay(genpart, -313, 130)) {
824  return +1 * (100000 * m_nPhotos + 1243);
825  }//B_s0 decays to anti-K*0 K_L0
826  if (GenBsTag::PcheckDecay(genpart, 331, 331)) {
827  return +1 * (100000 * m_nPhotos + 1244);
828  }//B_s0 decays to eta' eta'
829  if (GenBsTag::PcheckDecay(genpart, 331, 221)) {
830  return +1 * (100000 * m_nPhotos + 1245);
831  }//B_s0 decays to eta' eta
832  if (GenBsTag::PcheckDecay(genpart, 221, 221)) {
833  return +1 * (100000 * m_nPhotos + 1246);
834  }//B_s0 decays to eta eta
835  if (GenBsTag::PcheckDecay(genpart, -311, 331)) {
836  return +1 * (100000 * m_nPhotos + 1247);
837  }//B_s0 decays to anti-K0 eta'
838  if (GenBsTag::PcheckDecay(genpart, -311, 221)) {
839  return +1 * (100000 * m_nPhotos + 1248);
840  }//B_s0 decays to anti-K0 eta
841  if (GenBsTag::PcheckDecay(genpart, -313, 331)) {
842  return +1 * (100000 * m_nPhotos + 1249);
843  }//B_s0 decays to anti-K*0 eta'
844  if (GenBsTag::PcheckDecay(genpart, -313, 221)) {
845  return +1 * (100000 * m_nPhotos + 1250);
846  }//B_s0 decays to anti-K*0 eta
847  if (GenBsTag::PcheckDecay(genpart, 213, -323)) {
848  return +1 * (100000 * m_nPhotos + 1251);
849  }//B_s0 decays to rho+ K*-
850  if (GenBsTag::PcheckDecay(genpart, 113, -313)) {
851  return +1 * (100000 * m_nPhotos + 1252);
852  }//B_s0 decays to rho0 anti-K*0
853  if (GenBsTag::PcheckDecay(genpart, 223, -313)) {
854  return +1 * (100000 * m_nPhotos + 1253);
855  }//B_s0 decays to omega anti-K*0
856  if (GenBsTag::PcheckDecay(genpart, -323, 323)) {
857  return +1 * (100000 * m_nPhotos + 1254);
858  }//B_s0 decays to K*- K*+
859  if (GenBsTag::PcheckDecay(genpart, -313, 313)) {
860  return +1 * (100000 * m_nPhotos + 1255);
861  }//B_s0 decays to anti-K*0 K*0
862  if (GenBsTag::PcheckDecay(genpart, 333, 333)) {
863  return +1 * (100000 * m_nPhotos + 1256);
864  }//B_s0 decays to phi phi
865  if (GenBsTag::PcheckDecay(genpart, 333, -313)) {
866  return +1 * (100000 * m_nPhotos + 1257);
867  }//B_s0 decays to phi anti-K*0
868  if (GenBsTag::PcheckDecay(genpart, -13, 13)) {
869  return +1 * (100000 * m_nPhotos + 1258);
870  }//B_s0 decays to mu+ mu-
871  if (GenBsTag::PcheckDecay(genpart, -15, 15)) {
872  return +1 * (100000 * m_nPhotos + 1259);
873  }//B_s0 decays to tau+ tau-
874  if (GenBsTag::PcheckDecay(genpart, 333, 22)) {
875  return +1 * (100000 * m_nPhotos + 1260);
876  }//B_s0 decays to phi gamma
877  if (GenBsTag::PcheckDecay(genpart, 333, -11, 11)) {
878  return +1 * (100000 * m_nPhotos + 1261);
879  }//B_s0 decays to phi e+ e-
880  if (GenBsTag::PcheckDecay(genpart, 333, -13, 13)) {
881  return +1 * (100000 * m_nPhotos + 1262);
882  }//B_s0 decays to phi mu+ mu-
883  if (GenBsTag::PcheckDecay(genpart, 22, 22)) {
884  return +1 * (100000 * m_nPhotos + 1263);
885  }//B_s0 decays to gamma gamma
886  if (GenBsTag::PcheckDecay(genpart, 431, -321)) {
887  return +1 * (100000 * m_nPhotos + 1264);
888  }//B_s0 decays to D_s+ K-
889  return +1 * genpart.size();
890 }// Rest of the B_s0 decays
891 
892 
893 int GenBsTag::Mode_anti_Bs0(std::vector<int> genpart)
894 {
895  if (GenBsTag::PcheckDecay(genpart, 431, 11, -12)) {
896  return -1 * (100000 * m_nPhotos + 1001);
897  }//anti-B_s0 decays to D_s+ e- anti-nu_e
898  if (GenBsTag::PcheckDecay(genpart, 433, 11, -12)) {
899  return -1 * (100000 * m_nPhotos + 1002);
900  }//anti-B_s0 decays to D_s*+ e- anti-nu_e
901  if (GenBsTag::PcheckDecay(genpart, 10433, 11, -12)) {
902  return -1 * (100000 * m_nPhotos + 1003);
903  }//anti-B_s0 decays to D_s1+ e- anti-nu_e
904  if (GenBsTag::PcheckDecay(genpart, 10431, 11, -12)) {
905  return -1 * (100000 * m_nPhotos + 1004);
906  }//anti-B_s0 decays to D_s0*+ e- anti-nu_e
907  if (GenBsTag::PcheckDecay(genpart, 20433, 11, -12)) {
908  return -1 * (100000 * m_nPhotos + 1005);
909  }//anti-B_s0 decays to D'_s1+ e- anti-nu_e
910  if (GenBsTag::PcheckDecay(genpart, 435, 11, -12)) {
911  return -1 * (100000 * m_nPhotos + 1006);
912  }//anti-B_s0 decays to D_s2*+ e- anti-nu_e
913  if (GenBsTag::PcheckDecay(genpart, 431, 13, -14)) {
914  return -1 * (100000 * m_nPhotos + 1007);
915  }//anti-B_s0 decays to D_s+ mu- anti-nu_mu
916  if (GenBsTag::PcheckDecay(genpart, 433, 13, -14)) {
917  return -1 * (100000 * m_nPhotos + 1008);
918  }//anti-B_s0 decays to D_s*+ mu- anti-nu_mu
919  if (GenBsTag::PcheckDecay(genpart, 10433, 13, -14)) {
920  return -1 * (100000 * m_nPhotos + 1009);
921  }//anti-B_s0 decays to D_s1+ mu- anti-nu_mu
922  if (GenBsTag::PcheckDecay(genpart, 10431, 13, -14)) {
923  return -1 * (100000 * m_nPhotos + 1010);
924  }//anti-B_s0 decays to D_s0*+ mu- anti-nu_mu
925  if (GenBsTag::PcheckDecay(genpart, 20433, 13, -14)) {
926  return -1 * (100000 * m_nPhotos + 1011);
927  }//anti-B_s0 decays to D'_s1+ mu- anti-nu_mu
928  if (GenBsTag::PcheckDecay(genpart, 435, 13, -14)) {
929  return -1 * (100000 * m_nPhotos + 1012);
930  }//anti-B_s0 decays to D_s2*+ mu- anti-nu_mu
931  if (GenBsTag::PcheckDecay(genpart, 431, 15, -16)) {
932  return -1 * (100000 * m_nPhotos + 1013);
933  }//anti-B_s0 decays to D_s+ tau- anti-nu_tau
934  if (GenBsTag::PcheckDecay(genpart, 433, 15, -16)) {
935  return -1 * (100000 * m_nPhotos + 1014);
936  }//anti-B_s0 decays to D_s*+ tau- anti-nu_tau
937  if (GenBsTag::PcheckDecay(genpart, 10433, 15, -16)) {
938  return -1 * (100000 * m_nPhotos + 1015);
939  }//anti-B_s0 decays to D_s1+ tau- anti-nu_tau
940  if (GenBsTag::PcheckDecay(genpart, 10431, 15, -16)) {
941  return -1 * (100000 * m_nPhotos + 1016);
942  }//anti-B_s0 decays to D_s0*+ tau- anti-nu_tau
943  if (GenBsTag::PcheckDecay(genpart, 20433, 15, -16)) {
944  return -1 * (100000 * m_nPhotos + 1017);
945  }//anti-B_s0 decays to D'_s1+ tau- anti-nu_tau
946  if (GenBsTag::PcheckDecay(genpart, 435, 15, -16)) {
947  return -1 * (100000 * m_nPhotos + 1018);
948  }//anti-B_s0 decays to D_s2*+ tau- anti-nu_tau
949  if (GenBsTag::PcheckDecay(genpart, -431, 431)) {
950  return -1 * (100000 * m_nPhotos + 1019);
951  }//anti-B_s0 decays to D_s- D_s+
952  if (GenBsTag::PcheckDecay(genpart, 433, -431)) {
953  return -1 * (100000 * m_nPhotos + 1020);
954  }//anti-B_s0 decays to D_s*+ D_s-
955  if (GenBsTag::PcheckDecay(genpart, -433, 431)) {
956  return -1 * (100000 * m_nPhotos + 1021);
957  }//anti-B_s0 decays to D_s*- D_s+
958  if (GenBsTag::PcheckDecay(genpart, -433, 433)) {
959  return -1 * (100000 * m_nPhotos + 1022);
960  }//anti-B_s0 decays to D_s*- D_s*+
961  if (GenBsTag::PcheckDecay(genpart, -431, 411, 311)) {
962  return -1 * (100000 * m_nPhotos + 1023);
963  }//anti-B_s0 decays to D_s- D+ K0
964  if (GenBsTag::PcheckDecay(genpart, -431, -421, 321)) {
965  return -1 * (100000 * m_nPhotos + 1024);
966  }//anti-B_s0 decays to D_s- anti-D0 K+
967  if (GenBsTag::PcheckDecay(genpart, -433, 411, 311)) {
968  return -1 * (100000 * m_nPhotos + 1025);
969  }//anti-B_s0 decays to D_s*- D+ K0
970  if (GenBsTag::PcheckDecay(genpart, -433, 421, 321)) {
971  return -1 * (100000 * m_nPhotos + 1026);
972  }//anti-B_s0 decays to D_s*- D0 K+
973  if (GenBsTag::PcheckDecay(genpart, -431, 411, 111, 311)) {
974  return -1 * (100000 * m_nPhotos + 1027);
975  }//anti-B_s0 decays to D_s- D+ pi0 K0
976  if (GenBsTag::PcheckDecay(genpart, -431, 421, 211, 311)) {
977  return -1 * (100000 * m_nPhotos + 1028);
978  }//anti-B_s0 decays to D_s- D0 pi+ K0
979  if (GenBsTag::PcheckDecay(genpart, -431, 411, -211, 321)) {
980  return -1 * (100000 * m_nPhotos + 1029);
981  }//anti-B_s0 decays to D_s- D+ pi- K+
982  if (GenBsTag::PcheckDecay(genpart, -431, 421, 111, 321)) {
983  return -1 * (100000 * m_nPhotos + 1030);
984  }//anti-B_s0 decays to D_s- D0 pi0 K+
985  if (GenBsTag::PcheckDecay(genpart, -433, 411, 111, 311)) {
986  return -1 * (100000 * m_nPhotos + 1031);
987  }//anti-B_s0 decays to D_s*- D+ pi0 K0
988  if (GenBsTag::PcheckDecay(genpart, -433, 421, 211, 311)) {
989  return -1 * (100000 * m_nPhotos + 1032);
990  }//anti-B_s0 decays to D_s*- D0 pi+ K0
991  if (GenBsTag::PcheckDecay(genpart, -433, 411, -211, 321)) {
992  return -1 * (100000 * m_nPhotos + 1033);
993  }//anti-B_s0 decays to D_s*- D+ pi- K+
994  if (GenBsTag::PcheckDecay(genpart, -433, 421, 111, 321)) {
995  return -1 * (100000 * m_nPhotos + 1034);
996  }//anti-B_s0 decays to D_s*- D0 pi0 K+
997  if (GenBsTag::PcheckDecay(genpart, 433, -423, -321)) {
998  return -1 * (100000 * m_nPhotos + 1035);
999  }//anti-B_s0 decays to D_s*+ anti-D*0 K-
1000  if (GenBsTag::PcheckDecay(genpart, 433, -413, -311)) {
1001  return -1 * (100000 * m_nPhotos + 1036);
1002  }//anti-B_s0 decays to D_s*+ D*- anti-K0
1003  if (GenBsTag::PcheckDecay(genpart, 433, -421, -321)) {
1004  return -1 * (100000 * m_nPhotos + 1037);
1005  }//anti-B_s0 decays to D_s*+ anti-D0 K-
1006  if (GenBsTag::PcheckDecay(genpart, 433, -411, -311)) {
1007  return -1 * (100000 * m_nPhotos + 1038);
1008  }//anti-B_s0 decays to D_s*+ D- anti-K0
1009  if (GenBsTag::PcheckDecay(genpart, 431, -423, -321)) {
1010  return -1 * (100000 * m_nPhotos + 1039);
1011  }//anti-B_s0 decays to D_s+ anti-D*0 K-
1012  if (GenBsTag::PcheckDecay(genpart, 431, -413, -311)) {
1013  return -1 * (100000 * m_nPhotos + 1040);
1014  }//anti-B_s0 decays to D_s+ D*- anti-K0
1015  if (GenBsTag::PcheckDecay(genpart, 431, -421, -321)) {
1016  return -1 * (100000 * m_nPhotos + 1041);
1017  }//anti-B_s0 decays to D_s+ anti-D0 K-
1018  if (GenBsTag::PcheckDecay(genpart, 431, -411, -311)) {
1019  return -1 * (100000 * m_nPhotos + 1042);
1020  }//anti-B_s0 decays to D_s+ D- anti-K0
1021  if (GenBsTag::PcheckDecay(genpart, 433, -423, -323)) {
1022  return -1 * (100000 * m_nPhotos + 1043);
1023  }//anti-B_s0 decays to D_s*+ anti-D*0 K*-
1024  if (GenBsTag::PcheckDecay(genpart, 433, -413, -313)) {
1025  return -1 * (100000 * m_nPhotos + 1044);
1026  }//anti-B_s0 decays to D_s*+ D*- anti-K*0
1027  if (GenBsTag::PcheckDecay(genpart, 433, -421, -323)) {
1028  return -1 * (100000 * m_nPhotos + 1045);
1029  }//anti-B_s0 decays to D_s*+ anti-D0 K*-
1030  if (GenBsTag::PcheckDecay(genpart, 433, -411, -313)) {
1031  return -1 * (100000 * m_nPhotos + 1046);
1032  }//anti-B_s0 decays to D_s*+ D- anti-K*0
1033  if (GenBsTag::PcheckDecay(genpart, 431, -423, -323)) {
1034  return -1 * (100000 * m_nPhotos + 1047);
1035  }//anti-B_s0 decays to D_s+ anti-D*0 K*-
1036  if (GenBsTag::PcheckDecay(genpart, 431, -413, -313)) {
1037  return -1 * (100000 * m_nPhotos + 1048);
1038  }//anti-B_s0 decays to D_s+ D*- anti-K*0
1039  if (GenBsTag::PcheckDecay(genpart, 431, -421, -323)) {
1040  return -1 * (100000 * m_nPhotos + 1049);
1041  }//anti-B_s0 decays to D_s+ anti-D0 K*-
1042  if (GenBsTag::PcheckDecay(genpart, 431, -411, -313)) {
1043  return -1 * (100000 * m_nPhotos + 1050);
1044  }//anti-B_s0 decays to D_s+ D- anti-K*0
1045  if (GenBsTag::PcheckDecay(genpart, -431, 411)) {
1046  return -1 * (100000 * m_nPhotos + 1051);
1047  }//anti-B_s0 decays to D_s- D+
1048  if (GenBsTag::PcheckDecay(genpart, 413, -431)) {
1049  return -1 * (100000 * m_nPhotos + 1052);
1050  }//anti-B_s0 decays to D*+ D_s-
1051  if (GenBsTag::PcheckDecay(genpart, -433, 411)) {
1052  return -1 * (100000 * m_nPhotos + 1053);
1053  }//anti-B_s0 decays to D_s*- D+
1054  if (GenBsTag::PcheckDecay(genpart, -433, 413)) {
1055  return -1 * (100000 * m_nPhotos + 1054);
1056  }//anti-B_s0 decays to D_s*- D*+
1057  if (GenBsTag::PcheckDecay(genpart, -411, 411, 311)) {
1058  return -1 * (100000 * m_nPhotos + 1055);
1059  }//anti-B_s0 decays to D- D+ K0
1060  if (GenBsTag::PcheckDecay(genpart, -411, -421, 321)) {
1061  return -1 * (100000 * m_nPhotos + 1056);
1062  }//anti-B_s0 decays to D- anti-D0 K+
1063  if (GenBsTag::PcheckDecay(genpart, -413, 411, 311)) {
1064  return -1 * (100000 * m_nPhotos + 1057);
1065  }//anti-B_s0 decays to D*- D+ K0
1066  if (GenBsTag::PcheckDecay(genpart, -413, 421, 321)) {
1067  return -1 * (100000 * m_nPhotos + 1058);
1068  }//anti-B_s0 decays to D*- D0 K+
1069  if (GenBsTag::PcheckDecay(genpart, -411, 411, 111, 311)) {
1070  return -1 * (100000 * m_nPhotos + 1059);
1071  }//anti-B_s0 decays to D- D+ pi0 K0
1072  if (GenBsTag::PcheckDecay(genpart, -411, 421, 211, 311)) {
1073  return -1 * (100000 * m_nPhotos + 1060);
1074  }//anti-B_s0 decays to D- D0 pi+ K0
1075  if (GenBsTag::PcheckDecay(genpart, -411, 411, -211, 321)) {
1076  return -1 * (100000 * m_nPhotos + 1061);
1077  }//anti-B_s0 decays to D- D+ pi- K+
1078  if (GenBsTag::PcheckDecay(genpart, -411, 421, 111, 321)) {
1079  return -1 * (100000 * m_nPhotos + 1062);
1080  }//anti-B_s0 decays to D- D0 pi0 K+
1081  if (GenBsTag::PcheckDecay(genpart, -413, 411, 111, 311)) {
1082  return -1 * (100000 * m_nPhotos + 1063);
1083  }//anti-B_s0 decays to D*- D+ pi0 K0
1084  if (GenBsTag::PcheckDecay(genpart, -413, 421, 211, 311)) {
1085  return -1 * (100000 * m_nPhotos + 1064);
1086  }//anti-B_s0 decays to D*- D0 pi+ K0
1087  if (GenBsTag::PcheckDecay(genpart, -413, 411, -211, 321)) {
1088  return -1 * (100000 * m_nPhotos + 1065);
1089  }//anti-B_s0 decays to D*- D+ pi- K+
1090  if (GenBsTag::PcheckDecay(genpart, -413, 421, 111, 321)) {
1091  return -1 * (100000 * m_nPhotos + 1066);
1092  }//anti-B_s0 decays to D*- D0 pi0 K+
1093  if (GenBsTag::PcheckDecay(genpart, 433, -321)) {
1094  return -1 * (100000 * m_nPhotos + 1067);
1095  }//anti-B_s0 decays to D_s*+ K-
1096  if (GenBsTag::PcheckDecay(genpart, 431, -321)) {
1097  return -1 * (100000 * m_nPhotos + 1068);
1098  }//anti-B_s0 decays to D_s+ K-
1099  if (GenBsTag::PcheckDecay(genpart, 433, -323)) {
1100  return -1 * (100000 * m_nPhotos + 1069);
1101  }//anti-B_s0 decays to D_s*+ K*-
1102  if (GenBsTag::PcheckDecay(genpart, -323, 431)) {
1103  return -1 * (100000 * m_nPhotos + 1070);
1104  }//anti-B_s0 decays to K*- D_s+
1105  if (GenBsTag::PcheckDecay(genpart, 443, 331)) {
1106  return -1 * (100000 * m_nPhotos + 1071);
1107  }//anti-B_s0 decays to J/psi eta'
1108  if (GenBsTag::PcheckDecay(genpart, 443, 221)) {
1109  return -1 * (100000 * m_nPhotos + 1072);
1110  }//anti-B_s0 decays to J/psi eta
1111  if (GenBsTag::PcheckDecay(genpart, 443, 333)) {
1112  return -1 * (100000 * m_nPhotos + 1073);
1113  }//anti-B_s0 decays to J/psi phi
1114  if (GenBsTag::PcheckDecay(genpart, 443, 311)) {
1115  return -1 * (100000 * m_nPhotos + 1074);
1116  }//anti-B_s0 decays to J/psi K0
1117  if (GenBsTag::PcheckDecay(genpart, 443, -321, 321)) {
1118  return -1 * (100000 * m_nPhotos + 1075);
1119  }//anti-B_s0 decays to J/psi K- K+
1120  if (GenBsTag::PcheckDecay(genpart, 443, -311, 311)) {
1121  return -1 * (100000 * m_nPhotos + 1076);
1122  }//anti-B_s0 decays to J/psi anti-K0 K0
1123  if (GenBsTag::PcheckDecay(genpart, 443, 311, -321, 211)) {
1124  return -1 * (100000 * m_nPhotos + 1077);
1125  }//anti-B_s0 decays to J/psi K0 K- pi+
1126  if (GenBsTag::PcheckDecay(genpart, 443, -311, 321, -211)) {
1127  return -1 * (100000 * m_nPhotos + 1078);
1128  }//anti-B_s0 decays to J/psi anti-K0 K+ pi-
1129  if (GenBsTag::PcheckDecay(genpart, 443, -311, 311, 111)) {
1130  return -1 * (100000 * m_nPhotos + 1079);
1131  }//anti-B_s0 decays to J/psi anti-K0 K0 pi0
1132  if (GenBsTag::PcheckDecay(genpart, 443, -321, 321, 111)) {
1133  return -1 * (100000 * m_nPhotos + 1080);
1134  }//anti-B_s0 decays to J/psi K- K+ pi0
1135  if (GenBsTag::PcheckDecay(genpart, 443, 333, 211, -211)) {
1136  return -1 * (100000 * m_nPhotos + 1081);
1137  }//anti-B_s0 decays to J/psi phi pi+ pi-
1138  if (GenBsTag::PcheckDecay(genpart, 443, 333, 111, 111)) {
1139  return -1 * (100000 * m_nPhotos + 1082);
1140  }//anti-B_s0 decays to J/psi phi pi0 pi0
1141  if (GenBsTag::PcheckDecay(genpart, 443, 221, 211, -211)) {
1142  return -1 * (100000 * m_nPhotos + 1083);
1143  }//anti-B_s0 decays to J/psi eta pi+ pi-
1144  if (GenBsTag::PcheckDecay(genpart, 443, 221, 111, 111)) {
1145  return -1 * (100000 * m_nPhotos + 1084);
1146  }//anti-B_s0 decays to J/psi eta pi0 pi0
1147  if (GenBsTag::PcheckDecay(genpart, 443, 331, 211, -211)) {
1148  return -1 * (100000 * m_nPhotos + 1085);
1149  }//anti-B_s0 decays to J/psi eta' pi+ pi-
1150  if (GenBsTag::PcheckDecay(genpart, 443, 331, 111, 111)) {
1151  return -1 * (100000 * m_nPhotos + 1086);
1152  }//anti-B_s0 decays to J/psi eta' pi0 pi0
1153  if (GenBsTag::PcheckDecay(genpart, 443, 211, -211)) {
1154  return -1 * (100000 * m_nPhotos + 1087);
1155  }//anti-B_s0 decays to J/psi pi+ pi-
1156  if (GenBsTag::PcheckDecay(genpart, 443, 111, 111)) {
1157  return -1 * (100000 * m_nPhotos + 1088);
1158  }//anti-B_s0 decays to J/psi pi0 pi0
1159  if (GenBsTag::PcheckDecay(genpart, 100443, 331)) {
1160  return -1 * (100000 * m_nPhotos + 1089);
1161  }//anti-B_s0 decays to psi(2S) eta'
1162  if (GenBsTag::PcheckDecay(genpart, 100443, 221)) {
1163  return -1 * (100000 * m_nPhotos + 1090);
1164  }//anti-B_s0 decays to psi(2S) eta
1165  if (GenBsTag::PcheckDecay(genpart, 100443, 333)) {
1166  return -1 * (100000 * m_nPhotos + 1091);
1167  }//anti-B_s0 decays to psi(2S) phi
1168  if (GenBsTag::PcheckDecay(genpart, 100443, -321, 321)) {
1169  return -1 * (100000 * m_nPhotos + 1092);
1170  }//anti-B_s0 decays to psi(2S) K- K+
1171  if (GenBsTag::PcheckDecay(genpart, 100443, -311, 311)) {
1172  return -1 * (100000 * m_nPhotos + 1093);
1173  }//anti-B_s0 decays to psi(2S) anti-K0 K0
1174  if (GenBsTag::PcheckDecay(genpart, 100443, -311, 321, -211)) {
1175  return -1 * (100000 * m_nPhotos + 1094);
1176  }//anti-B_s0 decays to psi(2S) anti-K0 K+ pi-
1177  if (GenBsTag::PcheckDecay(genpart, 100443, -311, 311, 111)) {
1178  return -1 * (100000 * m_nPhotos + 1095);
1179  }//anti-B_s0 decays to psi(2S) anti-K0 K0 pi0
1180  if (GenBsTag::PcheckDecay(genpart, 100443, -321, 321, 111)) {
1181  return -1 * (100000 * m_nPhotos + 1096);
1182  }//anti-B_s0 decays to psi(2S) K- K+ pi0
1183  if (GenBsTag::PcheckDecay(genpart, 100443, 333, 211, -211)) {
1184  return -1 * (100000 * m_nPhotos + 1097);
1185  }//anti-B_s0 decays to psi(2S) phi pi+ pi-
1186  if (GenBsTag::PcheckDecay(genpart, 100443, 333, 111, 111)) {
1187  return -1 * (100000 * m_nPhotos + 1098);
1188  }//anti-B_s0 decays to psi(2S) phi pi0 pi0
1189  if (GenBsTag::PcheckDecay(genpart, 100443, 221, 211, -211)) {
1190  return -1 * (100000 * m_nPhotos + 1099);
1191  }//anti-B_s0 decays to psi(2S) eta pi+ pi-
1192  if (GenBsTag::PcheckDecay(genpart, 100443, 221, 111, 111)) {
1193  return -1 * (100000 * m_nPhotos + 1100);
1194  }//anti-B_s0 decays to psi(2S) eta pi0 pi0
1195  if (GenBsTag::PcheckDecay(genpart, 100443, 331, 211, -211)) {
1196  return -1 * (100000 * m_nPhotos + 1101);
1197  }//anti-B_s0 decays to psi(2S) eta' pi+ pi-
1198  if (GenBsTag::PcheckDecay(genpart, 100443, 331, 111, 111)) {
1199  return -1 * (100000 * m_nPhotos + 1102);
1200  }//anti-B_s0 decays to psi(2S) eta' pi0 pi0
1201  if (GenBsTag::PcheckDecay(genpart, 100443, 211, -211)) {
1202  return -1 * (100000 * m_nPhotos + 1103);
1203  }//anti-B_s0 decays to psi(2S) pi+ pi-
1204  if (GenBsTag::PcheckDecay(genpart, 100443, 111, 111)) {
1205  return -1 * (100000 * m_nPhotos + 1104);
1206  }//anti-B_s0 decays to psi(2S) pi0 pi0
1207  if (GenBsTag::PcheckDecay(genpart, 10441, 331)) {
1208  return -1 * (100000 * m_nPhotos + 1105);
1209  }//anti-B_s0 decays to chi_c0 eta'
1210  if (GenBsTag::PcheckDecay(genpart, 10441, 221)) {
1211  return -1 * (100000 * m_nPhotos + 1106);
1212  }//anti-B_s0 decays to chi_c0 eta
1213  if (GenBsTag::PcheckDecay(genpart, 333, 10441)) {
1214  return -1 * (100000 * m_nPhotos + 1107);
1215  }//anti-B_s0 decays to phi chi_c0
1216  if (GenBsTag::PcheckDecay(genpart, 10441, -321, 321)) {
1217  return -1 * (100000 * m_nPhotos + 1108);
1218  }//anti-B_s0 decays to chi_c0 K- K+
1219  if (GenBsTag::PcheckDecay(genpart, 10441, -311, 311)) {
1220  return -1 * (100000 * m_nPhotos + 1109);
1221  }//anti-B_s0 decays to chi_c0 anti-K0 K0
1222  if (GenBsTag::PcheckDecay(genpart, 10441, -311, 321, -211)) {
1223  return -1 * (100000 * m_nPhotos + 1110);
1224  }//anti-B_s0 decays to chi_c0 anti-K0 K+ pi-
1225  if (GenBsTag::PcheckDecay(genpart, 10441, -311, 311, 111)) {
1226  return -1 * (100000 * m_nPhotos + 1111);
1227  }//anti-B_s0 decays to chi_c0 anti-K0 K0 pi0
1228  if (GenBsTag::PcheckDecay(genpart, 10441, -321, 321, 111)) {
1229  return -1 * (100000 * m_nPhotos + 1112);
1230  }//anti-B_s0 decays to chi_c0 K- K+ pi0
1231  if (GenBsTag::PcheckDecay(genpart, 20443, 331)) {
1232  return -1 * (100000 * m_nPhotos + 1113);
1233  }//anti-B_s0 decays to chi_c1 eta'
1234  if (GenBsTag::PcheckDecay(genpart, 20443, 221)) {
1235  return -1 * (100000 * m_nPhotos + 1114);
1236  }//anti-B_s0 decays to chi_c1 eta
1237  if (GenBsTag::PcheckDecay(genpart, 20443, 333)) {
1238  return -1 * (100000 * m_nPhotos + 1115);
1239  }//anti-B_s0 decays to chi_c1 phi
1240  if (GenBsTag::PcheckDecay(genpart, 20443, -321, 321)) {
1241  return -1 * (100000 * m_nPhotos + 1116);
1242  }//anti-B_s0 decays to chi_c1 K- K+
1243  if (GenBsTag::PcheckDecay(genpart, 20443, -311, 311)) {
1244  return -1 * (100000 * m_nPhotos + 1117);
1245  }//anti-B_s0 decays to chi_c1 anti-K0 K0
1246  if (GenBsTag::PcheckDecay(genpart, 20443, -311, 321, -211)) {
1247  return -1 * (100000 * m_nPhotos + 1118);
1248  }//anti-B_s0 decays to chi_c1 anti-K0 K+ pi-
1249  if (GenBsTag::PcheckDecay(genpart, 20443, -311, 311, 111)) {
1250  return -1 * (100000 * m_nPhotos + 1119);
1251  }//anti-B_s0 decays to chi_c1 anti-K0 K0 pi0
1252  if (GenBsTag::PcheckDecay(genpart, 20443, -321, 321, 111)) {
1253  return -1 * (100000 * m_nPhotos + 1120);
1254  }//anti-B_s0 decays to chi_c1 K- K+ pi0
1255  if (GenBsTag::PcheckDecay(genpart, 20443, 333, 211, -211)) {
1256  return -1 * (100000 * m_nPhotos + 1121);
1257  }//anti-B_s0 decays to chi_c1 phi pi+ pi-
1258  if (GenBsTag::PcheckDecay(genpart, 20443, 333, 111, 111)) {
1259  return -1 * (100000 * m_nPhotos + 1122);
1260  }//anti-B_s0 decays to chi_c1 phi pi0 pi0
1261  if (GenBsTag::PcheckDecay(genpart, 20443, 221, 211, -211)) {
1262  return -1 * (100000 * m_nPhotos + 1123);
1263  }//anti-B_s0 decays to chi_c1 eta pi+ pi-
1264  if (GenBsTag::PcheckDecay(genpart, 20443, 221, 111, 111)) {
1265  return -1 * (100000 * m_nPhotos + 1124);
1266  }//anti-B_s0 decays to chi_c1 eta pi0 pi0
1267  if (GenBsTag::PcheckDecay(genpart, 20443, 331, 211, -211)) {
1268  return -1 * (100000 * m_nPhotos + 1125);
1269  }//anti-B_s0 decays to chi_c1 eta' pi+ pi-
1270  if (GenBsTag::PcheckDecay(genpart, 20443, 331, 111, 111)) {
1271  return -1 * (100000 * m_nPhotos + 1126);
1272  }//anti-B_s0 decays to chi_c1 eta' pi0 pi0
1273  if (GenBsTag::PcheckDecay(genpart, 445, 331)) {
1274  return -1 * (100000 * m_nPhotos + 1127);
1275  }//anti-B_s0 decays to chi_c2 eta'
1276  if (GenBsTag::PcheckDecay(genpart, 445, 221)) {
1277  return -1 * (100000 * m_nPhotos + 1128);
1278  }//anti-B_s0 decays to chi_c2 eta
1279  if (GenBsTag::PcheckDecay(genpart, 445, -321, 321)) {
1280  return -1 * (100000 * m_nPhotos + 1129);
1281  }//anti-B_s0 decays to chi_c2 K- K+
1282  if (GenBsTag::PcheckDecay(genpart, 445, -311, 311)) {
1283  return -1 * (100000 * m_nPhotos + 1130);
1284  }//anti-B_s0 decays to chi_c2 anti-K0 K0
1285  if (GenBsTag::PcheckDecay(genpart, 445, -311, 321, -211)) {
1286  return -1 * (100000 * m_nPhotos + 1131);
1287  }//anti-B_s0 decays to chi_c2 anti-K0 K+ pi-
1288  if (GenBsTag::PcheckDecay(genpart, 445, -311, 311, 111)) {
1289  return -1 * (100000 * m_nPhotos + 1132);
1290  }//anti-B_s0 decays to chi_c2 anti-K0 K0 pi0
1291  if (GenBsTag::PcheckDecay(genpart, 445, -321, 321, 111)) {
1292  return -1 * (100000 * m_nPhotos + 1133);
1293  }//anti-B_s0 decays to chi_c2 K- K+ pi0
1294  if (GenBsTag::PcheckDecay(genpart, 441, 331)) {
1295  return -1 * (100000 * m_nPhotos + 1134);
1296  }//anti-B_s0 decays to eta_c eta'
1297  if (GenBsTag::PcheckDecay(genpart, 441, 221)) {
1298  return -1 * (100000 * m_nPhotos + 1135);
1299  }//anti-B_s0 decays to eta_c eta
1300  if (GenBsTag::PcheckDecay(genpart, 333, 441)) {
1301  return -1 * (100000 * m_nPhotos + 1136);
1302  }//anti-B_s0 decays to phi eta_c
1303  if (GenBsTag::PcheckDecay(genpart, 441, -321, 321)) {
1304  return -1 * (100000 * m_nPhotos + 1137);
1305  }//anti-B_s0 decays to eta_c K- K+
1306  if (GenBsTag::PcheckDecay(genpart, 441, -311, 311)) {
1307  return -1 * (100000 * m_nPhotos + 1138);
1308  }//anti-B_s0 decays to eta_c anti-K0 K0
1309  if (GenBsTag::PcheckDecay(genpart, 441, -311, 321, -211)) {
1310  return -1 * (100000 * m_nPhotos + 1139);
1311  }//anti-B_s0 decays to eta_c anti-K0 K+ pi-
1312  if (GenBsTag::PcheckDecay(genpart, 441, -311, 311, 111)) {
1313  return -1 * (100000 * m_nPhotos + 1140);
1314  }//anti-B_s0 decays to eta_c anti-K0 K0 pi0
1315  if (GenBsTag::PcheckDecay(genpart, 441, -321, 321, 111)) {
1316  return -1 * (100000 * m_nPhotos + 1141);
1317  }//anti-B_s0 decays to eta_c K- K+ pi0
1318  if (GenBsTag::PcheckDecay(genpart, 441, 333, 211, -211)) {
1319  return -1 * (100000 * m_nPhotos + 1142);
1320  }//anti-B_s0 decays to eta_c phi pi+ pi-
1321  if (GenBsTag::PcheckDecay(genpart, 441, 333, 111, 111)) {
1322  return -1 * (100000 * m_nPhotos + 1143);
1323  }//anti-B_s0 decays to eta_c phi pi0 pi0
1324  if (GenBsTag::PcheckDecay(genpart, 441, 221, 211, -211)) {
1325  return -1 * (100000 * m_nPhotos + 1144);
1326  }//anti-B_s0 decays to eta_c eta pi+ pi-
1327  if (GenBsTag::PcheckDecay(genpart, 441, 221, 111, 111)) {
1328  return -1 * (100000 * m_nPhotos + 1145);
1329  }//anti-B_s0 decays to eta_c eta pi0 pi0
1330  if (GenBsTag::PcheckDecay(genpart, 441, 331, 211, -211)) {
1331  return -1 * (100000 * m_nPhotos + 1146);
1332  }//anti-B_s0 decays to eta_c eta' pi+ pi-
1333  if (GenBsTag::PcheckDecay(genpart, 441, 331, 111, 111)) {
1334  return -1 * (100000 * m_nPhotos + 1147);
1335  }//anti-B_s0 decays to eta_c eta' pi0 pi0
1336  if (GenBsTag::PcheckDecay(genpart, 100441, 331)) {
1337  return -1 * (100000 * m_nPhotos + 1148);
1338  }//anti-B_s0 decays to eta_c(2S) eta'
1339  if (GenBsTag::PcheckDecay(genpart, 100441, 221)) {
1340  return -1 * (100000 * m_nPhotos + 1149);
1341  }//anti-B_s0 decays to eta_c(2S) eta
1342  if (GenBsTag::PcheckDecay(genpart, 333, 100441)) {
1343  return -1 * (100000 * m_nPhotos + 1150);
1344  }//anti-B_s0 decays to phi eta_c(2S)
1345  if (GenBsTag::PcheckDecay(genpart, 100441, -321, 321)) {
1346  return -1 * (100000 * m_nPhotos + 1151);
1347  }//anti-B_s0 decays to eta_c(2S) K- K+
1348  if (GenBsTag::PcheckDecay(genpart, 100441, -311, 311)) {
1349  return -1 * (100000 * m_nPhotos + 1152);
1350  }//anti-B_s0 decays to eta_c(2S) anti-K0 K0
1351  if (GenBsTag::PcheckDecay(genpart, 100441, -311, 321, -211)) {
1352  return -1 * (100000 * m_nPhotos + 1153);
1353  }//anti-B_s0 decays to eta_c(2S) anti-K0 K+ pi-
1354  if (GenBsTag::PcheckDecay(genpart, 100441, -311, 311, 111)) {
1355  return -1 * (100000 * m_nPhotos + 1154);
1356  }//anti-B_s0 decays to eta_c(2S) anti-K0 K0 pi0
1357  if (GenBsTag::PcheckDecay(genpart, 100441, -321, 321, 111)) {
1358  return -1 * (100000 * m_nPhotos + 1155);
1359  }//anti-B_s0 decays to eta_c(2S) K- K+ pi0
1360  if (GenBsTag::PcheckDecay(genpart, 10443, 331)) {
1361  return -1 * (100000 * m_nPhotos + 1156);
1362  }//anti-B_s0 decays to h_c eta'
1363  if (GenBsTag::PcheckDecay(genpart, 10443, 221)) {
1364  return -1 * (100000 * m_nPhotos + 1157);
1365  }//anti-B_s0 decays to h_c eta
1366  if (GenBsTag::PcheckDecay(genpart, 10443, 333)) {
1367  return -1 * (100000 * m_nPhotos + 1158);
1368  }//anti-B_s0 decays to h_c phi
1369  if (GenBsTag::PcheckDecay(genpart, 10443, -321, 321)) {
1370  return -1 * (100000 * m_nPhotos + 1159);
1371  }//anti-B_s0 decays to h_c K- K+
1372  if (GenBsTag::PcheckDecay(genpart, 10443, -311, 311)) {
1373  return -1 * (100000 * m_nPhotos + 1160);
1374  }//anti-B_s0 decays to h_c anti-K0 K0
1375  if (GenBsTag::PcheckDecay(genpart, 10443, -311, 321, -211)) {
1376  return -1 * (100000 * m_nPhotos + 1161);
1377  }//anti-B_s0 decays to h_c anti-K0 K+ pi-
1378  if (GenBsTag::PcheckDecay(genpart, 10443, -311, 311, 111)) {
1379  return -1 * (100000 * m_nPhotos + 1162);
1380  }//anti-B_s0 decays to h_c anti-K0 K0 pi0
1381  if (GenBsTag::PcheckDecay(genpart, 10443, -321, 321, 111)) {
1382  return -1 * (100000 * m_nPhotos + 1163);
1383  }//anti-B_s0 decays to h_c K- K+ pi0
1384  if (GenBsTag::PcheckDecay(genpart, 443, 333, 333)) {
1385  return -1 * (100000 * m_nPhotos + 1164);
1386  }//anti-B_s0 decays to J/psi phi phi
1387  if (GenBsTag::PcheckDecay(genpart, 443, 310)) {
1388  return -1 * (100000 * m_nPhotos + 1165);
1389  }//anti-B_s0 decays to J/psi K_S0
1390  if (GenBsTag::PcheckDecay(genpart, 443, -313)) {
1391  return -1 * (100000 * m_nPhotos + 1166);
1392  }//anti-B_s0 decays to J/psi anti-K*0
1393  if (GenBsTag::PcheckDecay(genpart, 443, 211, -211, 211, -211)) {
1394  return -1 * (100000 * m_nPhotos + 1167);
1395  }//anti-B_s0 decays to J/psi pi+ pi- pi+ pi-
1396  if (GenBsTag::PcheckDecay(genpart, 443, 20223)) {
1397  return -1 * (100000 * m_nPhotos + 1168);
1398  }//anti-B_s0 decays to J/psi f_1
1399  if (GenBsTag::PcheckDecay(genpart, 100443, -321, 211)) {
1400  return -1 * (100000 * m_nPhotos + 1169);
1401  }//anti-B_s0 decays to psi(2S) K- pi+
1402  if (GenBsTag::PcheckDecay(genpart, 100443, -313)) {
1403  return -1 * (100000 * m_nPhotos + 1170);
1404  }//anti-B_s0 decays to psi(2S) anti-K*0
1405  if (GenBsTag::PcheckDecay(genpart, 10433, -211)) {
1406  return -1 * (100000 * m_nPhotos + 1171);
1407  }//anti-B_s0 decays to D_s1+ pi-
1408  if (GenBsTag::PcheckDecay(genpart, 10433, -213)) {
1409  return -1 * (100000 * m_nPhotos + 1172);
1410  }//anti-B_s0 decays to D_s1+ rho-
1411  if (GenBsTag::PcheckDecay(genpart, 435, -211)) {
1412  return -1 * (100000 * m_nPhotos + 1173);
1413  }//anti-B_s0 decays to D_s2*+ pi-
1414  if (GenBsTag::PcheckDecay(genpart, 433, -211)) {
1415  return -1 * (100000 * m_nPhotos + 1174);
1416  }//anti-B_s0 decays to D_s*+ pi-
1417  if (GenBsTag::PcheckDecay(genpart, 431, -211)) {
1418  return -1 * (100000 * m_nPhotos + 1175);
1419  }//anti-B_s0 decays to D_s+ pi-
1420  if (GenBsTag::PcheckDecay(genpart, -213, 431)) {
1421  return -1 * (100000 * m_nPhotos + 1176);
1422  }//anti-B_s0 decays to rho- D_s+
1423  if (GenBsTag::PcheckDecay(genpart, 433, -213)) {
1424  return -1 * (100000 * m_nPhotos + 1177);
1425  }//anti-B_s0 decays to D_s*+ rho-
1426  if (GenBsTag::PcheckDecay(genpart, -20213, 431)) {
1427  return -1 * (100000 * m_nPhotos + 1178);
1428  }//anti-B_s0 decays to a_1- D_s+
1429  if (GenBsTag::PcheckDecay(genpart, 431, 113, -211)) {
1430  return -1 * (100000 * m_nPhotos + 1179);
1431  }//anti-B_s0 decays to D_s+ rho0 pi-
1432  if (GenBsTag::PcheckDecay(genpart, 431, -213, 111)) {
1433  return -1 * (100000 * m_nPhotos + 1180);
1434  }//anti-B_s0 decays to D_s+ rho- pi0
1435  if (GenBsTag::PcheckDecay(genpart, 431, 211, -211, -211)) {
1436  return -1 * (100000 * m_nPhotos + 1181);
1437  }//anti-B_s0 decays to D_s+ pi+ pi- pi-
1438  if (GenBsTag::PcheckDecay(genpart, 431, 111, -211, 111)) {
1439  return -1 * (100000 * m_nPhotos + 1182);
1440  }//anti-B_s0 decays to D_s+ pi0 pi- pi0
1441  if (GenBsTag::PcheckDecay(genpart, 433, -20213)) {
1442  return -1 * (100000 * m_nPhotos + 1183);
1443  }//anti-B_s0 decays to D_s*+ a_1-
1444  if (GenBsTag::PcheckDecay(genpart, 433, 113, -211)) {
1445  return -1 * (100000 * m_nPhotos + 1184);
1446  }//anti-B_s0 decays to D_s*+ rho0 pi-
1447  if (GenBsTag::PcheckDecay(genpart, 433, -213, 111)) {
1448  return -1 * (100000 * m_nPhotos + 1185);
1449  }//anti-B_s0 decays to D_s*+ rho- pi0
1450  if (GenBsTag::PcheckDecay(genpart, 433, 211, -211, -211)) {
1451  return -1 * (100000 * m_nPhotos + 1186);
1452  }//anti-B_s0 decays to D_s*+ pi+ pi- pi-
1453  if (GenBsTag::PcheckDecay(genpart, 433, 111, -211, 111)) {
1454  return -1 * (100000 * m_nPhotos + 1187);
1455  }//anti-B_s0 decays to D_s*+ pi0 pi- pi0
1456  if (GenBsTag::PcheckDecay(genpart, 423, 311)) {
1457  return -1 * (100000 * m_nPhotos + 1188);
1458  }//anti-B_s0 decays to D*0 K0
1459  if (GenBsTag::PcheckDecay(genpart, 421, 311)) {
1460  return -1 * (100000 * m_nPhotos + 1189);
1461  }//anti-B_s0 decays to D0 K0
1462  if (GenBsTag::PcheckDecay(genpart, 313, 421)) {
1463  return -1 * (100000 * m_nPhotos + 1190);
1464  }//anti-B_s0 decays to K*0 D0
1465  if (GenBsTag::PcheckDecay(genpart, 423, 313)) {
1466  return -1 * (100000 * m_nPhotos + 1191);
1467  }//anti-B_s0 decays to D*0 K*0
1468  if (GenBsTag::PcheckDecay(genpart, 2212, -2212)) {
1469  return -1 * (100000 * m_nPhotos + 1192);
1470  }//anti-B_s0 decays to p+ anti-p-
1471  if (GenBsTag::PcheckDecay(genpart, 4301, -2101)) {
1472  return -1 * (100000 * m_nPhotos + 1193);
1473  }//anti-B_s0 decays to cs_0 anti-ud_0
1474  if (GenBsTag::PcheckDecay(genpart, 4303, -2103)) {
1475  return -1 * (100000 * m_nPhotos + 1194);
1476  }//anti-B_s0 decays to cs_1 anti-ud_1
1477  if (GenBsTag::PcheckDecay(genpart, -2, 1, 4, -3)) {
1478  return -1 * (100000 * m_nPhotos + 1195);
1479  }//anti-B_s0 decays to anti-u d c anti-s
1480  if (GenBsTag::PcheckDecay(genpart, -2, 1, 4, -3)) {
1481  return -1 * (100000 * m_nPhotos + 1196);
1482  }//anti-B_s0 decays to anti-u d c anti-s
1483  if (GenBsTag::PcheckDecay(genpart, -2, 4, 1, -3)) {
1484  return -1 * (100000 * m_nPhotos + 1197);
1485  }//anti-B_s0 decays to anti-u c d anti-s
1486  if (GenBsTag::PcheckDecay(genpart, -4, 3, 2, -3)) {
1487  return -1 * (100000 * m_nPhotos + 1198);
1488  }//anti-B_s0 decays to anti-c s u anti-s
1489  if (GenBsTag::PcheckDecay(genpart, -2, 3, 4, -3)) {
1490  return -1 * (100000 * m_nPhotos + 1199);
1491  }//anti-B_s0 decays to anti-u s c anti-s
1492  if (GenBsTag::PcheckDecay(genpart, -2, 3, 4, -3)) {
1493  return -1 * (100000 * m_nPhotos + 1200);
1494  }//anti-B_s0 decays to anti-u s c anti-s
1495  if (GenBsTag::PcheckDecay(genpart, -2, 4, 3, -3)) {
1496  return -1 * (100000 * m_nPhotos + 1201);
1497  }//anti-B_s0 decays to anti-u c s anti-s
1498  if (GenBsTag::PcheckDecay(genpart, -4, 1, 4, -3)) {
1499  return -1 * (100000 * m_nPhotos + 1202);
1500  }//anti-B_s0 decays to anti-c d c anti-s
1501  if (GenBsTag::PcheckDecay(genpart, -4, 1, 4, -3)) {
1502  return -1 * (100000 * m_nPhotos + 1203);
1503  }//anti-B_s0 decays to anti-c d c anti-s
1504  if (GenBsTag::PcheckDecay(genpart, -2, 2, 1, -3)) {
1505  return -1 * (100000 * m_nPhotos + 1204);
1506  }//anti-B_s0 decays to anti-u u d anti-s
1507  if (GenBsTag::PcheckDecay(genpart, -1, 1, 1, -3)) {
1508  return -1 * (100000 * m_nPhotos + 1205);
1509  }//anti-B_s0 decays to anti-d d d anti-s
1510  if (GenBsTag::PcheckDecay(genpart, -3, 3, 1, -3)) {
1511  return -1 * (100000 * m_nPhotos + 1206);
1512  }//anti-B_s0 decays to anti-s s d anti-s
1513  if (GenBsTag::PcheckDecay(genpart, -2, 2, 3, -3)) {
1514  return -1 * (100000 * m_nPhotos + 1207);
1515  }//anti-B_s0 decays to anti-u u s anti-s
1516  if (GenBsTag::PcheckDecay(genpart, -1, 1, 3, -3)) {
1517  return -1 * (100000 * m_nPhotos + 1208);
1518  }//anti-B_s0 decays to anti-d d s anti-s
1519  if (GenBsTag::PcheckDecay(genpart, -3, 3, 3, -3)) {
1520  return -1 * (100000 * m_nPhotos + 1209);
1521  }//anti-B_s0 decays to anti-s s s anti-s
1522  if (GenBsTag::PcheckDecay(genpart, 3, -3)) {
1523  return -1 * (100000 * m_nPhotos + 1210);
1524  }//anti-B_s0 decays to s anti-s
1525  if (GenBsTag::PcheckDecay(genpart, 321, 11, -12)) {
1526  return -1 * (100000 * m_nPhotos + 1211);
1527  }//anti-B_s0 decays to K+ e- anti-nu_e
1528  if (GenBsTag::PcheckDecay(genpart, 323, 11, -12)) {
1529  return -1 * (100000 * m_nPhotos + 1212);
1530  }//anti-B_s0 decays to K*+ e- anti-nu_e
1531  if (GenBsTag::PcheckDecay(genpart, 10323, 11, -12)) {
1532  return -1 * (100000 * m_nPhotos + 1213);
1533  }//anti-B_s0 decays to K_1+ e- anti-nu_e
1534  if (GenBsTag::PcheckDecay(genpart, 20323, 11, -12)) {
1535  return -1 * (100000 * m_nPhotos + 1214);
1536  }//anti-B_s0 decays to K'_1+ e- anti-nu_e
1537  if (GenBsTag::PcheckDecay(genpart, 321, 13, -14)) {
1538  return -1 * (100000 * m_nPhotos + 1215);
1539  }//anti-B_s0 decays to K+ mu- anti-nu_mu
1540  if (GenBsTag::PcheckDecay(genpart, 323, 13, -14)) {
1541  return -1 * (100000 * m_nPhotos + 1216);
1542  }//anti-B_s0 decays to K*+ mu- anti-nu_mu
1543  if (GenBsTag::PcheckDecay(genpart, 10323, 13, -14)) {
1544  return -1 * (100000 * m_nPhotos + 1217);
1545  }//anti-B_s0 decays to K_1+ mu- anti-nu_mu
1546  if (GenBsTag::PcheckDecay(genpart, 20323, 13, -14)) {
1547  return -1 * (100000 * m_nPhotos + 1218);
1548  }//anti-B_s0 decays to K'_1+ mu- anti-nu_mu
1549  if (GenBsTag::PcheckDecay(genpart, -321, 321)) {
1550  return -1 * (100000 * m_nPhotos + 1219);
1551  }//anti-B_s0 decays to K- K+
1552  if (GenBsTag::PcheckDecay(genpart, -311, 311)) {
1553  return -1 * (100000 * m_nPhotos + 1220);
1554  }//anti-B_s0 decays to anti-K0 K0
1555  if (GenBsTag::PcheckDecay(genpart, 310, 310)) {
1556  return -1 * (100000 * m_nPhotos + 1221);
1557  }//anti-B_s0 decays to K_S0 K_S0
1558  if (GenBsTag::PcheckDecay(genpart, 130, 130)) {
1559  return -1 * (100000 * m_nPhotos + 1222);
1560  }//anti-B_s0 decays to K_L0 K_L0
1561  if (GenBsTag::PcheckDecay(genpart, -211, 321)) {
1562  return -1 * (100000 * m_nPhotos + 1223);
1563  }//anti-B_s0 decays to pi- K+
1564  if (GenBsTag::PcheckDecay(genpart, 111, 311)) {
1565  return -1 * (100000 * m_nPhotos + 1224);
1566  }//anti-B_s0 decays to pi0 K0
1567  if (GenBsTag::PcheckDecay(genpart, 211, -211)) {
1568  return -1 * (100000 * m_nPhotos + 1225);
1569  }//anti-B_s0 decays to pi+ pi-
1570  if (GenBsTag::PcheckDecay(genpart, 223, 221)) {
1571  return -1 * (100000 * m_nPhotos + 1226);
1572  }//anti-B_s0 decays to omega eta
1573  if (GenBsTag::PcheckDecay(genpart, 223, 331)) {
1574  return -1 * (100000 * m_nPhotos + 1227);
1575  }//anti-B_s0 decays to omega eta'
1576  if (GenBsTag::PcheckDecay(genpart, 333, 221)) {
1577  return -1 * (100000 * m_nPhotos + 1228);
1578  }//anti-B_s0 decays to phi eta
1579  if (GenBsTag::PcheckDecay(genpart, 333, 331)) {
1580  return -1 * (100000 * m_nPhotos + 1229);
1581  }//anti-B_s0 decays to phi eta'
1582  if (GenBsTag::PcheckDecay(genpart, 223, -311)) {
1583  return -1 * (100000 * m_nPhotos + 1230);
1584  }//anti-B_s0 decays to omega anti-K0
1585  if (GenBsTag::PcheckDecay(genpart, 333, -311)) {
1586  return -1 * (100000 * m_nPhotos + 1231);
1587  }//anti-B_s0 decays to phi anti-K0
1588  if (GenBsTag::PcheckDecay(genpart, 323, -211)) {
1589  return -1 * (100000 * m_nPhotos + 1232);
1590  }//anti-B_s0 decays to K*+ pi-
1591  if (GenBsTag::PcheckDecay(genpart, -213, 321)) {
1592  return -1 * (100000 * m_nPhotos + 1233);
1593  }//anti-B_s0 decays to rho- K+
1594  if (GenBsTag::PcheckDecay(genpart, 113, 311)) {
1595  return -1 * (100000 * m_nPhotos + 1234);
1596  }//anti-B_s0 decays to rho0 K0
1597  if (GenBsTag::PcheckDecay(genpart, 313, 111)) {
1598  return -1 * (100000 * m_nPhotos + 1235);
1599  }//anti-B_s0 decays to K*0 pi0
1600  if (GenBsTag::PcheckDecay(genpart, -323, 321)) {
1601  return -1 * (100000 * m_nPhotos + 1236);
1602  }//anti-B_s0 decays to K*- K+
1603  if (GenBsTag::PcheckDecay(genpart, -313, 311)) {
1604  return -1 * (100000 * m_nPhotos + 1237);
1605  }//anti-B_s0 decays to anti-K*0 K0
1606  if (GenBsTag::PcheckDecay(genpart, -313, 310)) {
1607  return -1 * (100000 * m_nPhotos + 1238);
1608  }//anti-B_s0 decays to anti-K*0 K_S0
1609  if (GenBsTag::PcheckDecay(genpart, -313, 130)) {
1610  return -1 * (100000 * m_nPhotos + 1239);
1611  }//anti-B_s0 decays to anti-K*0 K_L0
1612  if (GenBsTag::PcheckDecay(genpart, 323, -321)) {
1613  return -1 * (100000 * m_nPhotos + 1240);
1614  }//anti-B_s0 decays to K*+ K-
1615  if (GenBsTag::PcheckDecay(genpart, 313, -311)) {
1616  return -1 * (100000 * m_nPhotos + 1241);
1617  }//anti-B_s0 decays to K*0 anti-K0
1618  if (GenBsTag::PcheckDecay(genpart, 313, 310)) {
1619  return -1 * (100000 * m_nPhotos + 1242);
1620  }//anti-B_s0 decays to K*0 K_S0
1621  if (GenBsTag::PcheckDecay(genpart, 313, 130)) {
1622  return -1 * (100000 * m_nPhotos + 1243);
1623  }//anti-B_s0 decays to K*0 K_L0
1624  if (GenBsTag::PcheckDecay(genpart, 331, 331)) {
1625  return -1 * (100000 * m_nPhotos + 1244);
1626  }//anti-B_s0 decays to eta' eta'
1627  if (GenBsTag::PcheckDecay(genpart, 331, 221)) {
1628  return -1 * (100000 * m_nPhotos + 1245);
1629  }//anti-B_s0 decays to eta' eta
1630  if (GenBsTag::PcheckDecay(genpart, 221, 221)) {
1631  return -1 * (100000 * m_nPhotos + 1246);
1632  }//anti-B_s0 decays to eta eta
1633  if (GenBsTag::PcheckDecay(genpart, 311, 331)) {
1634  return -1 * (100000 * m_nPhotos + 1247);
1635  }//anti-B_s0 decays to K0 eta'
1636  if (GenBsTag::PcheckDecay(genpart, 311, 221)) {
1637  return -1 * (100000 * m_nPhotos + 1248);
1638  }//anti-B_s0 decays to K0 eta
1639  if (GenBsTag::PcheckDecay(genpart, 313, 331)) {
1640  return -1 * (100000 * m_nPhotos + 1249);
1641  }//anti-B_s0 decays to K*0 eta'
1642  if (GenBsTag::PcheckDecay(genpart, 313, 221)) {
1643  return -1 * (100000 * m_nPhotos + 1250);
1644  }//anti-B_s0 decays to K*0 eta
1645  if (GenBsTag::PcheckDecay(genpart, -213, 323)) {
1646  return -1 * (100000 * m_nPhotos + 1251);
1647  }//anti-B_s0 decays to rho- K*+
1648  if (GenBsTag::PcheckDecay(genpart, 113, 313)) {
1649  return -1 * (100000 * m_nPhotos + 1252);
1650  }//anti-B_s0 decays to rho0 K*0
1651  if (GenBsTag::PcheckDecay(genpart, 223, 313)) {
1652  return -1 * (100000 * m_nPhotos + 1253);
1653  }//anti-B_s0 decays to omega K*0
1654  if (GenBsTag::PcheckDecay(genpart, -323, 323)) {
1655  return -1 * (100000 * m_nPhotos + 1254);
1656  }//anti-B_s0 decays to K*- K*+
1657  if (GenBsTag::PcheckDecay(genpart, -313, 313)) {
1658  return -1 * (100000 * m_nPhotos + 1255);
1659  }//anti-B_s0 decays to anti-K*0 K*0
1660  if (GenBsTag::PcheckDecay(genpart, 333, 333)) {
1661  return -1 * (100000 * m_nPhotos + 1256);
1662  }//anti-B_s0 decays to phi phi
1663  if (GenBsTag::PcheckDecay(genpart, 333, 313)) {
1664  return -1 * (100000 * m_nPhotos + 1257);
1665  }//anti-B_s0 decays to phi K*0
1666  if (GenBsTag::PcheckDecay(genpart, 13, -13)) {
1667  return -1 * (100000 * m_nPhotos + 1258);
1668  }//anti-B_s0 decays to mu- mu+
1669  if (GenBsTag::PcheckDecay(genpart, 15, -15)) {
1670  return -1 * (100000 * m_nPhotos + 1259);
1671  }//anti-B_s0 decays to tau- tau+
1672  if (GenBsTag::PcheckDecay(genpart, 333, 22)) {
1673  return -1 * (100000 * m_nPhotos + 1260);
1674  }//anti-B_s0 decays to phi gamma
1675  if (GenBsTag::PcheckDecay(genpart, 333, 11, -11)) {
1676  return -1 * (100000 * m_nPhotos + 1261);
1677  }//anti-B_s0 decays to phi e- e+
1678  if (GenBsTag::PcheckDecay(genpart, 333, 13, -13)) {
1679  return -1 * (100000 * m_nPhotos + 1262);
1680  }//anti-B_s0 decays to phi mu- mu+
1681  if (GenBsTag::PcheckDecay(genpart, 22, 22)) {
1682  return -1 * (100000 * m_nPhotos + 1263);
1683  }//anti-B_s0 decays to gamma gamma
1684  if (GenBsTag::PcheckDecay(genpart, -431, 321)) {
1685  return -1 * (100000 * m_nPhotos + 1264);
1686  }//anti-B_s0 decays to D_s- K+
1687  return -1 * (int)genpart.size();
1688 }// Rest of the anti-B_s0 decays
int Mode_Bs0(std::vector< int > genDAU)
returns Bs0 mode identifier
Definition: GenBsTag.cc:95
int Mode_anti_Bs0(std::vector< int > genDAU)
returns Bs0bar mode identifier
Definition: GenBsTag.cc:893
int m_nPhotos
number of photons
Definition: GenBsTag.h:35
bool PcheckDecay(std::vector< int > gp, int da1, int da2)
check decay with two daughters
Definition: GenBsTag.cc:16
GenBsTag()
Constructor.
Abstract base class for different kinds of events.