5#ifndef DERIVATIONFRAMEWORK_TRUTHCOLLECTIONMAKER_H
6#define DERIVATIONFRAMEWORK_TRUTHCOLLECTIONMAKER_H
11#include "Gaudi/Property.h"
13#include "GaudiKernel/ToolHandle.h"
14#include "GaudiKernel/ServiceHandle.h"
32 using base_class::base_class;
34 virtual StatusCode
initialize()
override final;
35 virtual StatusCode
finalize()
override final;
36 virtual StatusCode
addBranches(
const EventContext& ctx)
const override final;
43 {
this,
"ParticlesKey",
"TruthParticles",
"ReadHandleKey for input TruthParticleContainer"};
45 {
this,
"OutputCollectionName",
"",
"WriteHandleKey for new TruthParticleContainer"};
48 {
this,
"ParticleSelectionString",
"",
"ExpressionEvaluation string for particle selection"};
50 {
this,
"Do_Compress",
false,
"Removes particles with the same pdgId in a decay chain (but keeps first and last)"};
52 {
this,
"Do_Sherpa",
false,
"Checks if there are truth W bosons in the current record. If not, tries to combine W daughters to create one"};
54 {
this,
"KeepNavigationInfo",
true,
"m_do_sherpa currently only works for W+jets"};
57 {
this,
"originalTruthParticle",
m_outputParticlesKey,
"originalTruthParticle",
"Name of the decoration linking to the original truth particle"};
59 {
this,
"classifierParticleOrigin",
m_outputParticlesKey,
"classifierParticleOrigin",
"Name of the decoration which records the particle origin as determined by the MCTruthClassifier"};
61 {
this,
"classifierParticleType",
m_outputParticlesKey,
"classifierParticleType",
"Name of the decoration which records the particle type as determined by the MCTruthClassifier"};
63 {
this,
"classifierParticleOutCome",
m_outputParticlesKey,
"classifierParticleOutCome",
"Name of the decoration which records the particle outcome as determined by the MCTruthClassifier"};
65 {
this,
"Classification",
m_outputParticlesKey,
"Classification",
"Name of the decoration which records the particle classification as determined by the MCTruthClassifier"};
67 {
this,
"motherID",
m_outputParticlesKey,
"motherID",
"Name of the decoration which records the ID of the particle's mother"};
69 {
this,
"daughterID",
m_outputParticlesKey,
"daughterID",
"Name of the decoration which records the ID of the particle's daughter"};
71 {
this,
"TopHadronOriginFlag",
m_outputParticlesKey,
"TopHadronOriginFlag",
"Name of the decoration which records the origin of hadrons from top decays"};
76 {
this,
"inputClassifierParticleOrigin",
m_particlesKey,
"classifierParticleOrigin",
"Particle origin"};
78 {
this,
"inputClassifierParticleType",
m_particlesKey,
"classifierParticleType",
"Particle type"};
80 {
this,
"inputClassifierParticleOutCome",
m_particlesKey,
"classifierParticleOutCome",
"Particle outcome"};
82 {
this,
"inputClassification",
m_particlesKey,
"Classification",
"Classification code"};
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Handle class for recording to StoreGate.
ServiceHandle< StoreGateSvc > m_metaStore
Handle on the metadata store for init.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
virtual StatusCode finalize() override final
Gaudi::Property< bool > m_do_compress
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_originReadDecorKey
virtual StatusCode initialize() override final
std::atomic< unsigned int > m_ntotpart
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_typeDecoratorKey
virtual StatusCode addBranches(const EventContext &ctx) const override final
std::atomic< unsigned int > m_npasspart
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeReadDecorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_linkDecoratorKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_classificationReadDecorKey
Gaudi::Property< std::string > m_partString
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_hadronOriginDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_originDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_daughterIDDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeDecoratorKey
SG::WriteHandleKey< xAOD::TruthParticleContainer > m_outputParticlesKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_classificationDecoratorKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_typeReadDecorKey
Gaudi::Property< bool > m_do_sherpa
Gaudi::Property< bool > m_keep_navigation_info
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_motherIDDecoratorKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The Athena Transient Store API.