26{
27 std::string nameStr = name;
28 MCSignal* signal;
29
30 if (!nameStr.compare("alicePrimary")) {
31 MCProng prong(1);
32 prong.SetSourceBit(0, MCProng::kPhysicalPrimary);
33 signal = new MCSignal(1, name, "ALICE primaries");
34 signal->AddProng(prong);
35 return signal;
36 }
37 if (!nameStr.compare("electron")) {
38 MCProng prong(1, {11}, {true}, {false}, {0}, {0}, {false});
39 signal = new MCSignal(name, "Inclusive electrons", {prong}, {-1});
40 return signal;
41 }
42 if (!nameStr.compare("electronPrimary")) {
43 MCProng prong(1, {11}, {true}, {false}, {0}, {0}, {false});
44 prong.SetSourceBit(0, MCProng::kPhysicalPrimary);
45 signal = new MCSignal(name, "Primary electrons", {prong}, {-1});
46 return signal;
47 }
48 if (!nameStr.compare("pionPrimary")) {
49 MCProng prong(1, {211}, {true}, {false}, {0}, {0}, {false});
50 prong.SetSourceBit(0, MCProng::kPhysicalPrimary);
51 signal = new MCSignal(name, "Primary electrons", {prong}, {-1});
52 return signal;
53 }
54 if (!nameStr.compare("photon")) {
55 MCProng prong(1, {22}, {true}, {false}, {0}, {0}, {false});
56 signal = new MCSignal(name, "Photon", {prong}, {-1});
57 return signal;
58 }
59 if (!nameStr.compare("kaonFromPhi")) {
60 MCProng prong(2, {321, 333}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
61 signal = new MCSignal(name, "Kaons from phi-mesons", {prong}, {-1});
62 return signal;
63 }
64 if (!nameStr.compare("phiMeson")) {
65 MCProng prong(1, {333}, {true}, {false}, {0}, {0}, {false});
66 signal = new MCSignal(name, "phi meson", {prong}, {-1});
67 return signal;
68 }
69 if (!nameStr.compare("muon")) {
70 MCProng prong(1, {13}, {true}, {false}, {0}, {0}, {false});
71 signal = new MCSignal(name, "Inclusive muons", {prong}, {-1});
72 return signal;
73 }
74 if (!nameStr.compare("electronNOTfromTransport")) {
75 MCProng prong(1);
76 prong.SetPDGcode(0, 11, true);
77 prong.SetSourceBit(0, MCProng::kProducedInTransport, true);
78 signal = new MCSignal(name, "Electrons which are not produced during transport in detector", {prong}, {-1});
79 return signal;
80 }
81 if (!nameStr.compare("eFromNonpromptJpsi")) {
82 MCProng prong(3, {11, 443, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
83 signal = new MCSignal(name, "Electrons from beauty jpsi decays", {prong}, {-1});
84 return signal;
85 }
86 if (!nameStr.compare("eFromPromptJpsi")) {
87 MCProng prong(3, {11, 443, 503}, {true, true, true}, {false, false, true}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
88 signal = new MCSignal(name, "Electrons from prompt jpsi decays", {prong}, {-1});
89 return signal;
90 }
91 if (!nameStr.compare("Jpsi")) {
92 MCProng prong(1, {443}, {true}, {false}, {0}, {0}, {false});
93 signal = new MCSignal(name, "Inclusive jpsi", {prong}, {-1});
94 return signal;
95 }
96 if (!nameStr.compare("nonPromptJpsi")) {
97 MCProng prong(2, {443, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
98 signal = new MCSignal(name, "Non-prompt jpsi", {prong}, {-1});
99 return signal;
100 }
101 if (!nameStr.compare("promptJpsi")) {
102 MCProng prong(2, {443, 503}, {true, true}, {false, true}, {0, 0}, {0, 0}, {false, false});
103 signal = new MCSignal(name, "Prompt jpsi (not from beauty)", {prong}, {-1});
104 return signal;
105 }
106 if (!nameStr.compare("eFromNonpromptPsi2S")) {
107 MCProng prong(3, {11, 100443, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
108 signal = new MCSignal(name, "Electrons from beauty psi2s decays", {prong}, {-1});
109 return signal;
110 }
111 if (!nameStr.compare("eFromPromptPsi2S")) {
112 MCProng prong(3, {11, 100443, 503}, {true, true, true}, {false, false, true}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
113 signal = new MCSignal(name, "Electrons from prompt psi2s decays", {prong}, {-1});
114 return signal;
115 }
116 if (!nameStr.compare("Psi2S")) {
117 MCProng prong(1, {100443}, {true}, {false}, {0}, {0}, {false});
118 signal = new MCSignal(name, "Inclusive psi2s", {prong}, {-1});
119 return signal;
120 }
121 if (!nameStr.compare("nonPromptPsi2S")) {
122 MCProng prong(2, {100443, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
123 signal = new MCSignal(name, "Non-prompt psi2s", {prong}, {-1});
124 return signal;
125 }
126 if (!nameStr.compare("promptPsi2S")) {
127 MCProng prong(2, {100443, 503}, {true, true}, {false, true}, {0, 0}, {0, 0}, {false, false});
128 signal = new MCSignal(name, "Prompt psi2s (not from beauty)", {prong}, {-1});
129 return signal;
130 }
131 if (!nameStr.compare("anyBeautyHadron")) {
132 MCProng prong(1, {503}, {true}, {false}, {0}, {0}, {false});
133 signal = new MCSignal(name, "All beauty hadrons", {prong}, {-1});
134 return signal;
135 }
136 if (!nameStr.compare("Bc")) {
137 MCProng prong(1, {541}, {true}, {false}, {0}, {0}, {false});
138 signal = new MCSignal(name, "Bc", {prong}, {-1});
139 return signal;
140 }
141 if (!nameStr.compare("mumuFromJpsiFromBc")) {
142 MCProng prong(3, {13, 443, 541}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
143 signal = new MCSignal(name, "Muon pair from jpsi from Bc decays", {prong, prong}, {1, 1});
144 return signal;
145 }
146 if (!nameStr.compare("muFromBc")) {
147 MCProng prong(2, {13, 541}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
148 signal = new MCSignal(name, "Muon from Bc decays", {prong}, {1});
149 return signal;
150 }
151 if (!nameStr.compare("mumumuFromBc")) {
152 MCProng prongMuFromJpsi(3, {13, 443, 541}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
153 MCProng prongMuFromBc(2, {13, 541}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
154 signal = new MCSignal(name, "Trimuon from Bc decays", {prongMuFromJpsi, prongMuFromJpsi, prongMuFromBc}, {2, 2, 1});
155 return signal;
156 }
157 if (!nameStr.compare("everythingFromBeauty")) {
158 MCProng prong(2, {0, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
159 signal = new MCSignal(name, "Everything from beauty", {prong}, {-1});
160 return signal;
161 }
162 if (!nameStr.compare("everythingFromEverythingFromBeauty")) {
163 MCProng prong(3, {0, 0, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
164 signal = new MCSignal(name, "Everything from everything from beauty", {prong}, {-1});
165 return signal;
166 }
167 if (!nameStr.compare("allCharmHadrons")) {
168 MCProng prong(1, {403}, {true}, {false}, {0}, {0}, {false});
169 signal = new MCSignal(name, "All charm hadrons", {prong}, {-1});
170 return signal;
171 }
172 if (!nameStr.compare("allCharmFromBeauty")) {
173 MCProng prong(2, {403, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
174 signal = new MCSignal(name, "All charm hadrons from beauty", {prong}, {-1});
175 return signal;
176 }
177 if (!nameStr.compare("allPromptCharm")) {
178 MCProng prong(2, {403, 503}, {true, true}, {false, true}, {0, 0}, {0, 0}, {false, false});
179 signal = new MCSignal(name, "All prompt charm hadrons (not from beauty)", {prong}, {-1});
180 return signal;
181 }
182 if (!nameStr.compare("electronFromPi0")) {
183 MCProng prong(2, {11, 111}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
184 signal = new MCSignal(name, "Electrons from pi0 decays", {prong}, {-1});
185 return signal;
186 }
187 if (!nameStr.compare("Pi0decayTOe")) {
188 MCProng prong(2, {111, 11}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
189 prong.SetSignalInTime(true);
190 signal = new MCSignal(name, "Pi0 decays into an electron", {prong}, {-1});
191 return signal;
192 }
193 if (!nameStr.compare("Pi0")) {
194 MCProng prong(1, {111}, {true}, {false}, {0}, {0}, {false});
195
196 signal = new MCSignal(name, "Pi0", {prong}, {-1});
197 return signal;
198 }
199 if (!nameStr.compare("LMeeLFQ")) {
200 MCProng prong(1, {900}, {true}, {false}, {0}, {0}, {false});
201
202 signal = new MCSignal(name, "light flavor mesons + quarkonia", {prong}, {-1});
203 return signal;
204 }
205 if (!nameStr.compare("LMeeLF")) {
206 MCProng prong(1, {901}, {true}, {false}, {0}, {0}, {false});
207
208 signal = new MCSignal(name, "ligh flavor mesons", {prong}, {-1});
209 return signal;
210 }
211 if (!nameStr.compare("electronFromDs")) {
212 MCProng prong(2, {11, 431}, {true, true}, {false, false}, {0, 0}, {0, 0}, {true, true});
213 signal = new MCSignal(name, "Electrons from Ds decays", {prong}, {-1});
214 return signal;
215 }
216 if (!nameStr.compare("dsMeson")) {
217 MCProng prong(1, {431}, {true}, {false}, {0}, {0}, {true});
218 signal = new MCSignal(name, "Ds mesons", {prong}, {-1});
219 return signal;
220 }
221 if (!nameStr.compare("electronFromPC")) {
222 MCProng prong(2, {11, 22}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
223 signal = new MCSignal(name, "electron from a photon conversion", {prong}, {-1});
224 return signal;
225 }
226
227
228 if (!nameStr.compare("dielectron")) {
229 MCProng prong(1, {11}, {true}, {false}, {0}, {0}, {false});
230 signal = new MCSignal("dielectron", "Electron pair", {prong, prong}, {-1, -1});
231 return signal;
232 }
233 if (!nameStr.compare("dimuon")) {
234 MCProng prong(1, {13}, {true}, {false}, {0}, {0}, {false});
235 signal = new MCSignal("dielectron", "Electron pair", {prong, prong}, {-1, -1});
236 return signal;
237 }
238 if (!nameStr.compare("electronMuonPair")) {
239 MCProng electron(1, {11}, {true}, {false}, {0}, {0}, {false});
240 MCProng muon(1, {13}, {true}, {false}, {0}, {0}, {false});
241 signal = new MCSignal(name, "Electron-muon pair", {electron, muon}, {-1, -1});
242 return signal;
243 }
244 if (!nameStr.compare("dielectronFromPC")) {
245 MCProng prong(2, {11, 22}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
246 signal = new MCSignal(name, "dielectron from a photon conversion", {prong, prong}, {1, 1});
247 return signal;
248 }
249 if (!nameStr.compare("dielectronPCPi0")) {
250 MCProng prong(3, {11, 22, 111}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
251 signal = new MCSignal(name, "dielectron from a photon conversion from a pi0", {prong, prong}, {1, 1});
252 return signal;
253 }
254
255
256 if (!nameStr.compare("eFromPi0")) {
257 MCProng prong(2, {11, 111}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
258 signal = new MCSignal(name, "Electrons from pi0 decays", {prong}, {-1});
259 return signal;
260 }
261 if (!nameStr.compare("eFromEta")) {
262 MCProng prong(2, {11, 221}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
263 signal = new MCSignal(name, "Electrons from eta decays", {prong}, {-1});
264 return signal;
265 }
266 if (!nameStr.compare("eFromEtaPrime")) {
267 MCProng prong(2, {11, 331}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
268 signal = new MCSignal(name, "Electrons from eta' decays", {prong}, {-1});
269 return signal;
270 }
271 if (!nameStr.compare("eFromRho")) {
272 MCProng prong(2, {11, 113}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
273 signal = new MCSignal(name, "Electrons from rho decays", {prong}, {-1});
274 return signal;
275 }
276 if (!nameStr.compare("eFromOmega")) {
277 MCProng prong(2, {11, 223}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
278 signal = new MCSignal(name, "Electrons from omega decays", {prong}, {-1});
279 return signal;
280 }
281 if (!nameStr.compare("eFromPhi")) {
282 MCProng prong(2, {11, 333}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
283 signal = new MCSignal(name, "Electrons from phi decays", {prong}, {-1});
284 return signal;
285 }
286 if (!nameStr.compare("eFromJpsi")) {
287 MCProng prong(2, {11, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
288 signal = new MCSignal(name, "Electrons from jpsi decays", {prong}, {-1});
289 return signal;
290 }
291 if (!nameStr.compare("muFromJpsi")) {
292 MCProng prong(2, {13, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
293 signal = new MCSignal(name, "muons from jpsi decays", {prong}, {-1});
294 return signal;
295 }
296 if (!nameStr.compare("eFromPsi2S")) {
297 MCProng prong(2, {11, 100443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
298 signal = new MCSignal(name, "Electrons from psi2s decays", {prong}, {-1});
299 return signal;
300 }
301 if (!nameStr.compare("muFromPsi2S")) {
302 MCProng prong(2, {13, 100443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
303 signal = new MCSignal(name, "muons from psi2s decays", {prong}, {-1});
304 return signal;
305 }
306 if (!nameStr.compare("eFromLMeeLFQ")) {
307 MCProng prong(2, {11, 900}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
308
309 prong.SetSignalInTime(false);
310 signal = new MCSignal(name, "Electrons from LF meson + quarkonia decays", {prong}, {-1});
311 return signal;
312 }
313 if (!nameStr.compare("LFQdecayToE")) {
314 MCProng prong(2, {900, 11}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
315
316 prong.SetSignalInTime(true);
317 signal = new MCSignal(name, "LF meson + quarkonia decays into e", {prong}, {-1});
318 return signal;
319 }
320 if (!nameStr.compare("eFromLMeeLF")) {
321 MCProng prong(2, {11, 901}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
322
323 signal = new MCSignal(name, "Electrons from LF meson decays", {prong}, {-1});
324 return signal;
325 }
326 if (!nameStr.compare("eFromHc")) {
327 MCProng prong(2, {11, 402}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
328 signal = new MCSignal(name, "Electrons from open charmed hadron decays", {prong}, {-1});
329 return signal;
330 }
331 if (!nameStr.compare("eFromHb")) {
332 MCProng prong(2, {11, 502}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
333 signal = new MCSignal(name, "Electrons from open beauty hadron decays", {prong}, {-1});
334 return signal;
335 }
336 if (!nameStr.compare("eFromMc")) {
337 MCProng prong(2, {11, 401}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
338 signal = new MCSignal(name, "Electrons from open charmed meson decays", {prong}, {-1});
339 return signal;
340 }
341 if (!nameStr.compare("eFromMb")) {
342 MCProng prong(2, {11, 501}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
343 signal = new MCSignal(name, "Electrons from open beauty meson decays", {prong}, {-1});
344 return signal;
345 }
346 if (!nameStr.compare("eFromBc")) {
347 MCProng prong(2, {11, 4001}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
348 signal = new MCSignal(name, "Electrons from open charmed baryon decays", {prong}, {-1});
349 return signal;
350 }
351 if (!nameStr.compare("eFromBb")) {
352 MCProng prong(2, {11, 5001}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
353 signal = new MCSignal(name, "Electrons from open beauty baryon decays", {prong}, {-1});
354 return signal;
355 }
356 if (!nameStr.compare("eFromPromptHc")) {
357 MCProng prong(3, {11, 402, 502}, {true, true, true}, {false, false, true}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
358 signal = new MCSignal(name, "Electrons from open charmed hadron decays", {prong}, {-1});
359 return signal;
360 }
361 if (!nameStr.compare("eFromNonPromptHc")) {
362 MCProng prong(3, {11, 402, 502}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
363 signal = new MCSignal(name, "Electrons from open charmed hadron decays from b hadron decays", {prong}, {-1});
364 return signal;
365 }
366 if (!nameStr.compare("HFdecayToE")) {
367 MCProng prong(2, {902, 11}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
368
369 prong.SetSignalInTime(true);
370 signal = new MCSignal(name, "Open charm and beauty to electrons", {prong}, {-1});
371 return signal;
372 }
373
374
375
376
377
378
379
380
381
382 if (!nameStr.compare("eeFromPi0")) {
383 MCProng prong(2, {11, 111}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
384 signal = new MCSignal(name, "ee pairs from pi0 decays", {prong, prong}, {1, 1});
385 return signal;
386 }
387 if (!nameStr.compare("eeFromEta")) {
388 MCProng prong(2, {11, 221}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
389 signal = new MCSignal(name, "ee pairs from eta decays", {prong, prong}, {1, 1});
390 return signal;
391 }
392 if (!nameStr.compare("eeFromEtaprime")) {
393 MCProng prong(2, {11, 331}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
394 signal = new MCSignal(name, "ee pairs from eta' decays", {prong, prong}, {1, 1});
395 return signal;
396 }
397 if (!nameStr.compare("eeFromRho")) {
398 MCProng prong(2, {11, 113}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
399 signal = new MCSignal(name, "ee pairs from rho decays", {prong, prong}, {1, 1});
400 return signal;
401 }
402 if (!nameStr.compare("eeFromOmega")) {
403 MCProng prong(2, {11, 223}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
404 signal = new MCSignal(name, "ee pairs from omega decays", {prong, prong}, {1, 1});
405 return signal;
406 }
407 if (!nameStr.compare("eeFromPhi")) {
408 MCProng prong(2, {11, 333}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
409 signal = new MCSignal(name, "ee pairs from phi decays", {prong, prong}, {1, 1});
410 return signal;
411 }
412 if (!nameStr.compare("eeFromJpsi")) {
413 MCProng prong(2, {11, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
414 signal = new MCSignal(name, "ee pairs from j/psi decays", {prong, prong}, {1, 1});
415 return signal;
416 }
417 if (!nameStr.compare("mumuFromJpsi")) {
418 MCProng prong(2, {13, 443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
419 signal = new MCSignal(name, "mumu pairs from j/psi decays", {prong, prong}, {1, 1});
420 return signal;
421 }
422 if (!nameStr.compare("eeFromPsi2S")) {
423 MCProng prong(2, {11, 100443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
424 signal = new MCSignal(name, "ee pairs from psi2s decays", {prong, prong}, {1, 1});
425 return signal;
426 }
427 if (!nameStr.compare("mumuFromPsi2S")) {
428 MCProng prong(2, {13, 100443}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
429 signal = new MCSignal(name, "mumu pairs from psi2s decays", {prong, prong}, {1, 1});
430 return signal;
431 }
432 if (!nameStr.compare("eeFromLMeeLFQ")) {
433 MCProng prong(2, {11, 900}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
434 signal = new MCSignal(name, "ee pairs from light flavor meson + quarkonia decays", {prong, prong}, {1, 1});
435 return signal;
436 }
437 if (!nameStr.compare("eeFromLMeeLF")) {
438 MCProng prong(2, {11, 901}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
439 signal = new MCSignal(name, "ee pairs from light flavor meson decays", {prong, prong}, {1, 1});
440 return signal;
441 }
442
443
444
445 if (!nameStr.compare("eeFromCCNoCheck")) {
446 MCProng prong(2, {11, 402}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
447 signal = new MCSignal(name, "ee pairs from c->e and c->e without check", {prong, prong}, {-1, -1});
448 return signal;
449 }
450
451
452 if (!nameStr.compare("eeFromCC")) {
453 MCProng prong(3, {11, 402, 502}, {true, true, true}, {false, false, true}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
454 signal = new MCSignal(name, "ee pairs from c->e and c->e", {prong, prong}, {-1, -1});
455 return signal;
456 }
457
458
459 if (!nameStr.compare("eeFromBB")) {
460 MCProng prong(2, {11, 502}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
461 signal = new MCSignal(name, "ee pairs from b->e and b->e", {prong, prong}, {-1, -1});
462 return signal;
463 }
464
465
466 if (!nameStr.compare("eeFromBtoC")) {
467 MCProng prong(3, {11, 402, 502}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
468 signal = new MCSignal(name, "ee pairs from b->c->e and b->c->e", {prong, prong}, {-1, -1});
469 return signal;
470 }
471
472
473 if (!nameStr.compare("eeFromBandBtoC")) {
474 MCProng prongB(2, {11, 502}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
475 MCProng prongBtoC(3, {11, 402, 502}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
476 signal = new MCSignal(name, "ee pairs from b->e and b->c->e", {prongB, prongBtoC}, {-1, -1});
477 return signal;
478 }
479
480
481 if (!nameStr.compare("eeFromSingleBandBtoC")) {
482 MCProng prongB(2, {11, 502}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
483 MCProng prongBtoC(3, {11, 402, 502}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
484 signal = new MCSignal(name, "ee pairs from b->e and b->c->e (single b)", {prongB, prongBtoC}, {1, 2});
485 return signal;
486 }
487
488
489
490 if (!nameStr.compare("beautyPairs")) {
491 MCProng prong(1, {503}, {true}, {false}, {0}, {0}, {false});
492 signal = new MCSignal("beautyPairs", "Beauty hadron pair", {prong, prong}, {-1, -1});
493 return signal;
494 }
495 if (!nameStr.compare("everythingFromBeautyPairs")) {
496 MCProng prong(2, {0, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
497 signal = new MCSignal("everythingFromBeautyPairs", "Everything from beauty hadrons pair", {prong, prong}, {-1, -1});
498 return signal;
499 }
500 if (!nameStr.compare("everythingFromEverythingFromBeautyPairsCM")) {
501 MCProng prong(3, {0, 0, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
502 signal = new MCSignal("everythingFromEverythingFromBeautyPairs", "Everything from everything from beauty hadrons pair with common grand-mother", {prong, prong}, {2, 2});
503 return signal;
504 }
505 if (!nameStr.compare("everythingFromBeautyANDeverythingFromEverythingFromBeautyPairs")) {
506 MCProng prong1(3, {0, 0, 503}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
507 MCProng prong2(2, {0, 503}, {true, true}, {false, false}, {0, 0}, {0, 0}, {false, false});
508 signal = new MCSignal("everythingFromBeautyANDeverythingFromEverythingFromBeautyPairs", "Everything beauty and everything from everything from beauty hadrons pair", {prong1, prong2}, {2, 1});
509 return signal;
510 }
511 return nullptr;
512}