16 static const std::map<std::string, PartonSchemeConfig> registry = {
143 {{
"TruthTop",
"TruthBottom"},
154 {{
"MC_b_beforeFSR"},
"MC_b_beforeFSR", 0,
true},
155 {{
"MC_bbar_beforeFSR"},
"MC_bbar_beforeFSR", 0,
true},
156 {{
"MC_b_afterFSR"},
"MC_b_afterFSR", 0,
true},
157 {{
"MC_bbar_afterFSR"},
"MC_bbar_afterFSR", 0,
true},
164 {{
"TruthTop",
"TruthCharm"},
175 {{
"MC_c_beforeFSR"},
"MC_c_beforeFSR", 0,
true},
176 {{
"MC_cbar_beforeFSR"},
"MC_cbar_beforeFSR", 0,
true},
177 {{
"MC_c_afterFSR"},
"MC_c_afterFSR", 0,
true},
178 {{
"MC_cbar_afterFSR"},
"MC_cbar_afterFSR", 0,
true},
185 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthElectrons",
186 "TruthMuons",
"TruthTaus"},
201 {{
"TruthTop",
"TruthBosonsWithDecayParticles"},
211 {{
"MC_Wm_beforeFSR",
"MC_Wp_beforeFSR"},
"MC_W_beforeFSR", 0},
212 {{
"MC_WmDecay1_beforeFSR",
"MC_WpDecay1_beforeFSR"},
213 "MC_Wdecay1_beforeFSR",
215 {{
"MC_WmDecay2_beforeFSR",
"MC_WpDecay2_beforeFSR"},
216 "MC_Wdecay2_beforeFSR",
218 {{
"MC_Wm_afterFSR",
"MC_Wp_afterFSR"},
"MC_W_afterFSR", 0},
219 {{
"MC_WmDecay1_afterFSR",
"MC_WpDecay1_afterFSR"},
220 "MC_Wdecay1_afterFSR",
222 {{
"MC_WmDecay2_afterFSR",
"MC_WpDecay2_afterFSR"},
223 "MC_Wdecay2_afterFSR",
231 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthBottom"},
247 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthPhotons"},
263 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthBottom"},
271 {{
"MC_t_beforeFSR",
"MC_tbar_beforeFSR"},
"MC_t_beforeFSR", 0},
272 {{
"MC_t_b_beforeFSR",
"MC_tbar_bbar_beforeFSR"},
273 "MC_b_beforeFSR_from_t",
275 {{
"MC_t_afterFSR",
"MC_tbar_afterFSR"},
"MC_t_afterFSR", 0},
276 {{
"MC_t_b_afterFSR",
"MC_tbar_bbar_afterFSR"},
277 "MC_b_afterFSR_from_t",
280 {{
"MC_t_W_beforeFSR",
"MC_tbar_W_beforeFSR"},
281 "MC_W_beforeFSR_from_t",
283 {{
"MC_t_W_afterFSR",
"MC_tbar_W_afterFSR"},
284 "MC_W_afterFSR_from_t",
286 {{
"MC_t_WDecay1_beforeFSR",
"MC_tbar_WDecay1_beforeFSR"},
287 "MC_Wdecay1_beforeFSR_from_t",
289 {{
"MC_t_WDecay1_afterFSR",
"MC_tbar_WDecay1_afterFSR"},
290 "MC_Wdecay1_afterFSR_from_t",
292 {{
"MC_t_WDecay2_beforeFSR",
"MC_tbar_WDecay2_beforeFSR"},
293 "MC_Wdecay2_beforeFSR_from_t",
295 {{
"MC_t_WDecay2_afterFSR",
"MC_tbar_WDecay2_afterFSR"},
296 "MC_Wdecay2_afterFSR_from_t",
299 {{
"MC_b_beforeFSR",
"MC_bbar_beforeFSR"},
"MC_b_beforeFSR", 0},
300 {{
"MC_b_afterFSR",
"MC_bbar_afterFSR"},
"MC_b_afterFSR", 0},
307 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthBottom"},
315 {{
"MC_t_beforeFSR",
"MC_tbar_beforeFSR",
"MC_b_t_beforeFSR",
316 "MC_bbar_tbar_beforeFSR"},
319 {{
"MC_t_b_beforeFSR",
"MC_tbar_bbar_beforeFSR",
320 "MC_b_t_b_beforeFSR",
"MC_bbar_tbar_bbar_beforeFSR"},
321 "MC_b_beforeFSR_from_t",
323 {{
"MC_t_W_beforeFSR",
"MC_tbar_W_beforeFSR",
"MC_b_t_W_beforeFSR",
324 "MC_bbar_tbar_W_beforeFSR"},
325 "MC_W_beforeFSR_from_t",
327 {{
"MC_t_WDecay1_beforeFSR",
"MC_tbar_WDecay1_beforeFSR",
328 "MC_b_t_WDecay1_beforeFSR",
"MC_bbar_tbar_WDecay1_beforeFSR"},
329 "MC_Wdecay1_beforeFSR_from_t",
331 {{
"MC_t_WDecay2_beforeFSR",
"MC_tbar_WDecay2_beforeFSR",
332 "MC_b_t_WDecay2_beforeFSR",
"MC_bbar_tbar_WDecay2_beforeFSR"},
333 "MC_Wdecay2_beforeFSR_from_t",
335 {{
"MC_t_afterFSR",
"MC_tbar_afterFSR",
"MC_b_t_afterFSR",
336 "MC_bbar_tbar_afterFSR"},
339 {{
"MC_t_b_afterFSR",
"MC_tbar_bbar_afterFSR",
"MC_b_t_b_afterFSR",
340 "MC_bbar_tbar_bbar_afterFSR"},
341 "MC_b_afterFSR_from_t",
343 {{
"MC_t_W_afterFSR",
"MC_tbar_W_afterFSR",
"MC_b_t_W_afterFSR",
344 "MC_bbar_tbar_W_afterFSR"},
345 "MC_W_afterFSR_from_t",
347 {{
"MC_t_WDecay1_afterFSR",
"MC_tbar_WDecay1_afterFSR",
348 "MC_b_t_WDecay1_afterFSR",
"MC_bbar_tbar_WDecay1_afterFSR"},
349 "MC_Wdecay1_afterFSR_from_t",
351 {{
"MC_t_WDecay2_afterFSR",
"MC_tbar_WDecay2_afterFSR",
352 "MC_b_t_WDecay2_afterFSR",
"MC_bbar_tbar_WDecay2_afterFSR"},
353 "MC_Wdecay2_afterFSR_from_t",
356 {{
"MC_b_beforeFSR",
"MC_bbar_beforeFSR"},
"MC_b_beforeFSR", 0},
357 {{
"MC_b_afterFSR",
"MC_bbar_afterFSR"},
"MC_b_afterFSR", 0},
359 {{
"MC_b_W_beforeFSR",
"MC_bbar_W_beforeFSR",
"MC_W_beforeFSR"},
362 {{
"MC_b_W_afterFSR",
"MC_bbar_W_afterFSR",
"MC_W_afterFSR"},
365 {{
"MC_b_WDecay1_beforeFSR",
"MC_bbar_WDecay1_beforeFSR",
366 "MC_WDecay1_beforeFSR"},
367 "MC_Wdecay1_beforeFSR",
369 {{
"MC_b_WDecay2_beforeFSR",
"MC_bbar_WDecay2_beforeFSR",
370 "MC_WDecay2_beforeFSR"},
371 "MC_Wdecay2_beforeFSR",
373 {{
"MC_b_WDecay1_afterFSR",
"MC_bbar_WDecay1_afterFSR",
374 "MC_WDecay1_afterFSR"},
375 "MC_Wdecay1_afterFSR",
377 {{
"MC_b_WDecay2_afterFSR",
"MC_bbar_WDecay2_afterFSR",
378 "MC_WDecay2_afterFSR"},
379 "MC_Wdecay2_afterFSR",
387 {{
"TruthTop",
"TruthBosonsWithDecayParticles",
"TruthPhotons",
396 {{
"MC_t_beforeFSR",
"MC_tbar_beforeFSR"},
"MC_t_beforeFSR", 0},
397 {{
"MC_t_b_beforeFSR",
"MC_tbar_bbar_beforeFSR"},
398 "MC_b_beforeFSR_from_t",
400 {{
"MC_t_afterFSR",
"MC_tbar_afterFSR"},
"MC_t_afterFSR", 0},
401 {{
"MC_t_b_afterFSR",
"MC_tbar_bbar_afterFSR"},
402 "MC_b_afterFSR_from_t",
405 {{
"MC_t_W_beforeFSR",
"MC_tbar_W_beforeFSR"},
406 "MC_W_beforeFSR_from_t",
408 {{
"MC_t_W_afterFSR",
"MC_tbar_W_afterFSR"},
409 "MC_W_afterFSR_from_t",
411 {{
"MC_t_WDecay1_beforeFSR",
"MC_tbar_WDecay1_beforeFSR"},
412 "MC_Wdecay1_beforeFSR_from_t",
414 {{
"MC_t_WDecay1_afterFSR",
"MC_tbar_WDecay1_afterFSR"},
415 "MC_Wdecay1_afterFSR_from_t",
417 {{
"MC_t_WDecay2_beforeFSR",
"MC_tbar_WDecay2_beforeFSR"},
418 "MC_Wdecay2_beforeFSR_from_t",
420 {{
"MC_t_WDecay2_afterFSR",
"MC_tbar_WDecay2_afterFSR"},
421 "MC_Wdecay2_afterFSR_from_t",
424 {{
"MC_b_beforeFSR",
"MC_bbar_beforeFSR"},
"MC_b_beforeFSR", 0},
425 {{
"MC_b_afterFSR",
"MC_bbar_afterFSR"},
"MC_b_afterFSR", 0},
432 {{
"TruthTop",
"TruthBosonsWithDecayParticles"},
438 {{
"MC_t_beforeFSR",
"MC_tbar_beforeFSR",
"MC_b_t_beforeFSR",
439 "MC_bbar_tbar_beforeFSR"},
442 {{
"MC_t_b_beforeFSR",
"MC_tbar_bbar_beforeFSR",
443 "MC_b_t_b_beforeFSR",
"MC_bbar_tbar_bbar_beforeFSR"},
444 "MC_b_beforeFSR_from_t",
446 {{
"MC_t_Wp_beforeFSR",
"MC_tbar_Wm_beforeFSR",
447 "MC_b_t_Wp_beforeFSR",
"MC_bbar_tbar_Wm_beforeFSR"},
448 "MC_W_beforeFSR_from_t",
450 {{
"MC_t_WpDecay1_beforeFSR",
"MC_tbar_WmDecay1_beforeFSR",
451 "MC_b_t_WpDecay1_beforeFSR",
"MC_bbar_tbar_WmDecay1_beforeFSR"},
452 "MC_Wdecay1_beforeFSR_from_t",
454 {{
"MC_t_WpDecay2_beforeFSR",
"MC_tbar_WmDecay2_beforeFSR",
455 "MC_b_t_WpDecay2_beforeFSR",
"MC_bbar_tbar_WmDecay2_beforeFSR"},
456 "MC_Wdecay2_beforeFSR_from_t",
458 {{
"MC_t_afterFSR",
"MC_tbar_afterFSR",
"MC_b_t_afterFSR",
459 "MC_bbar_tbar_afterFSR"},
462 {{
"MC_t_b_afterFSR",
"MC_tbar_bbar_afterFSR",
"MC_b_t_b_afterFSR",
463 "MC_bbar_tbar_bbar_afterFSR"},
464 "MC_b_afterFSR_from_t",
466 {{
"MC_t_Wp_afterFSR",
"MC_tbar_Wm_afterFSR",
"MC_b_t_Wp_afterFSR",
467 "MC_bbar_tbar_Wm_afterFSR"},
468 "MC_W_afterFSR_from_t",
470 {{
"MC_t_WpDecay1_afterFSR",
"MC_tbar_WmDecay1_afterFSR",
471 "MC_b_t_WpDecay1_afterFSR",
"MC_bbar_tbar_WmDecay1_afterFSR"},
472 "MC_Wdecay1_afterFSR_from_t",
474 {{
"MC_t_WpDecay2_afterFSR",
"MC_tbar_WmDecay2_afterFSR",
475 "MC_b_t_WpDecay2_afterFSR",
"MC_bbar_tbar_WmDecay2_afterFSR"},
476 "MC_Wdecay2_afterFSR_from_t",
479 {{
"MC_b_beforeFSR",
"MC_bbar_beforeFSR"},
"MC_b_beforeFSR", 0},
480 {{
"MC_b_afterFSR",
"MC_bbar_afterFSR"},
"MC_b_afterFSR", 0},
482 {{
"MC_Wp_beforeFSR",
"MC_Wm_beforeFSR"},
"MC_W_beforeFSR", 0},
483 {{
"MC_Wp_afterFSR",
"MC_Wm_afterFSR"},
"MC_W_afterFSR", 0},
484 {{
"MC_WpDecay1_beforeFSR",
"MC_WmDecay1_beforeFSR"},
485 "MC_Wdecay1_beforeFSR",
487 {{
"MC_WpDecay2_beforeFSR",
"MC_WmDecay2_beforeFSR"},
488 "MC_Wdecay2_beforeFSR",
490 {{
"MC_WpDecay1_afterFSR",
"MC_WmDecay1_afterFSR"},
491 "MC_Wdecay1_afterFSR",
493 {{
"MC_WpDecay2_afterFSR",
"MC_WmDecay2_afterFSR"},
494 "MC_Wdecay2_afterFSR",
508 {{
"MC_t_beforeFSR"},
"MC_t1_beforeFSR", 0},
509 {{
"MC_t_b_beforeFSR"},
"MC_b_beforeFSR_from_t1", 0},
510 {{
"MC_t_W_beforeFSR"},
"MC_W_beforeFSR_from_t1", 0},
511 {{
"MC_t_WDecay1_beforeFSR"},
"MC_Wdecay1_beforeFSR_from_t1", 0},
512 {{
"MC_t_WDecay2_beforeFSR"},
"MC_Wdecay2_beforeFSR_from_t1", 0},
513 {{
"MC_t_afterFSR"},
"MC_t1_afterFSR", 0},
514 {{
"MC_t_b_afterFSR"},
"MC_b_afterFSR_from_t1", 0},
515 {{
"MC_t_W_afterFSR"},
"MC_W_afterFSR_from_t1", 0},
516 {{
"MC_t_WDecay1_afterFSR"},
"MC_Wdecay1_afterFSR_from_t1", 0},
517 {{
"MC_t_WDecay2_afterFSR"},
"MC_Wdecay2_afterFSR_from_t1", 0},
519 {{
"MC_t_beforeFSR"},
"MC_t2_beforeFSR", 1},
520 {{
"MC_t_b_beforeFSR"},
"MC_b_beforeFSR_from_t2", 1},
521 {{
"MC_t_W_beforeFSR"},
"MC_W_beforeFSR_from_t2", 1},
522 {{
"MC_t_WDecay1_beforeFSR"},
"MC_Wdecay1_beforeFSR_from_t2", 1},
523 {{
"MC_t_WDecay2_beforeFSR"},
"MC_Wdecay2_beforeFSR_from_t2", 1},
524 {{
"MC_t_afterFSR"},
"MC_t2_afterFSR", 1},
525 {{
"MC_t_b_afterFSR"},
"MC_b_afterFSR_from_t2", 1},
526 {{
"MC_t_W_afterFSR"},
"MC_W_afterFSR_from_t2", 1},
527 {{
"MC_t_WDecay1_afterFSR"},
"MC_Wdecay1_afterFSR_from_t2", 1},
528 {{
"MC_t_WDecay2_afterFSR"},
"MC_Wdecay2_afterFSR_from_t2", 1},
530 {{
"MC_tbar_beforeFSR"},
"MC_tbar1_beforeFSR", 0},
531 {{
"MC_tbar_bbar_beforeFSR"},
"MC_bbar_beforeFSR_from_tbar1", 0},
532 {{
"MC_tbar_W_beforeFSR"},
"MC_W_beforeFSR_from_tbar1", 0},
533 {{
"MC_tbar_WDecay1_beforeFSR"},
534 "MC_Wdecay1_beforeFSR_from_tbar1",
536 {{
"MC_tbar_WDecay2_beforeFSR"},
537 "MC_Wdecay2_beforeFSR_from_tbar1",
539 {{
"MC_tbar_afterFSR"},
"MC_tbar1_afterFSR", 0},
540 {{
"MC_tbar_bbar_afterFSR"},
"MC_bbar_afterFSR_from_tbar1", 0},
541 {{
"MC_tbar_W_afterFSR"},
"MC_W_afterFSR_from_tbar1", 0},
542 {{
"MC_tbar_WDecay1_afterFSR"},
"MC_Wdecay1_afterFSR_from_tbar1", 0},
543 {{
"MC_tbar_WDecay2_afterFSR"},
"MC_Wdecay2_afterFSR_from_tbar1", 0},
545 {{
"MC_tbar_beforeFSR"},
"MC_tbar2_beforeFSR", 1},
546 {{
"MC_tbar_bbar_beforeFSR"},
"MC_bbar_beforeFSR_from_tbar2", 1},
547 {{
"MC_tbar_W_beforeFSR"},
"MC_W_beforeFSR_from_tbar2", 1},
548 {{
"MC_tbar_WDecay1_beforeFSR"},
549 "MC_Wdecay1_beforeFSR_from_tbar2",
551 {{
"MC_tbar_WDecay2_beforeFSR"},
552 "MC_Wdecay2_beforeFSR_from_tbar2",
554 {{
"MC_tbar_afterFSR"},
"MC_tbar2_afterFSR", 1},
555 {{
"MC_tbar_bbar_afterFSR"},
"MC_bbar_afterFSR_from_tbar2", 1},
556 {{
"MC_tbar_W_afterFSR"},
"MC_W_afterFSR_from_tbar2", 1},
557 {{
"MC_tbar_WDecay1_afterFSR"},
"MC_Wdecay1_afterFSR_from_tbar2", 1},
558 {{
"MC_tbar_WDecay2_afterFSR"},
"MC_Wdecay2_afterFSR_from_tbar2", 1},
566 {{
"TruthBosonsWithDecayParticles",
"TruthElectrons",
"TruthMuons",
567 "TruthTaus",
"TruthNeutrinos"},
580 {{
"TruthBosonsWithDecayParticles"},
592 {{
"TruthBosonsWithDecayParticles",
"TruthElectrons",
"TruthMuons",
593 "TruthTaus",
"TruthNeutrinos"},
606 {{
"TruthBosonsWithDecayParticles"},
619 {{
"TruthBosonsWithDecayParticles",
"TruthBottom",
"TruthMuons",
627 {{
"MC_b_beforeFSR",
"MC_bbar_beforeFSR"},
"MC_b_beforeFSR", 2},
628 {{
"MC_b_afterFSR",
"MC_bbar_afterFSR"},
"MC_b_afterFSR", 1},
635 {{
"TruthBosonsWithDecayParticles",
"TruthTaus",
"TruthNeutrinos"},
645 auto it = registry.find(schemeName);
646 if (it == registry.end()) {
647 throw std::runtime_error(
"Unknown parton scheme: " + schemeName);
Select isolated Photons, Electrons and Muons.
@ Z
FillZPartonHistory(history, parent, dec, count, mode)
@ Ttbar
FillTtbarPartonHistory.
@ W
FillWPartonHistory(history, parent, dec, count, mode)
@ Ztautau
FillZtautauPartonHistory(history, parent, dec, count, mode)
@ Higgs
FillHiggsPartonHistory(history, mode, dec)
@ Top
FillTopPartonHistory.
@ AntiTop
FillAntiTopPartonHistory.
@ Gamma
FillGammaPartonHistory(history, parent, dec)
const PartonSchemeConfig & getSchemeConfig(const std::string &schemeName)
Returns the configuration for a given scheme name.
@ FourTop
Initialize4TopDecorators()
@ VectorAntiBottom
InitializeVectorAntiBottomDecorators()
@ VectorAntiCharm
InitializeVectorAntiCharmDecorators()
@ Bottom
InitializeBottomDecorators()
@ VectorBottom
InitializeVectorBottomDecorators()
@ Ttbar
InitializeTtbarDecorators()
@ VectorCharm
InitializeVectorCharmDecorators()
@ Higgs
InitializeHiggsDecorators()
@ Top
InitializeTopDecorators()
@ AntiBottom
InitializeAntiBottomDecorators()
@ AntiTop
InitializeAntiTopDecorators()
@ Photon
InitializePhotonDecorators()
Top-level configuration for a named parton history scheme.