ATLAS Offline Software
Loading...
Searching...
No Matches
TruthBornLeptonCollectionMaker.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TruthBornLeptonCollectionMaker.h
8
9#ifndef DERIVATIONFRAMEWORK_TRUTHBORNLEPTONCOLLECTIONMAKER_H
10#define DERIVATIONFRAMEWORK_TRUTHBORNLEPTONCOLLECTIONMAKER_H
11
12// Base classes
15// EDM includes for the particles we need
17// R/W/D key handles
21// For the Metadata store
22#include "GaudiKernel/ServiceHandle.h"
23// STL includes
24#include <string>
25
26// Forward declarations
27class StoreGateSvc;
28
29namespace DerivationFramework {
30
31 class TruthBornLeptonCollectionMaker : public extends<AthAlgTool, IAugmentationTool> {
32 public:
33 TruthBornLeptonCollectionMaker(const std::string& t, const std::string& n, const IInterface* p);
35 StatusCode initialize();
36 virtual StatusCode addBranches(const EventContext& ctx) const;
37
38 private:
41 {this, "ParticlesKey", "TruthParticles", "Name of TruthParticle key for input"};
43 {this, "Input_classifierParticleOrigin", m_particlesKey, "classifierParticleOrigin", "Particle origin decoration"};
45 {this, "Input_classifierParticleType",m_particlesKey, "classifierParticleType", "Particle type decoration"};
47 {this, "Input_classifierParticleOutCome", m_particlesKey, "classifierParticleOutCome", "Particle outcome decoration"};
49 {this, "Input_Classification", m_particlesKey, "Classification", "Classification code decoration"};
50
52 {this, "NewCollectionName", "", "Name of TruthParticle key for output"};
53 // Decorators - FIXME we should not need to use WriteDecorHandleKeys here.
55 {this, "classifierParticleOrigin", m_collectionName, "classifierParticleOrigin", "Particle origin decoration"};
57 {this, "classifierParticleType",m_collectionName, "classifierParticleType", "Particle type decoration"};
59 {this, "classifierParticleOutCome", m_collectionName, "classifierParticleOutCome", "Particle outcome decoration"};
61 {this, "Classification", m_collectionName, "Classification", "Classification code decoration"};
62
65 bool hasBareDescendent( const xAOD::TruthParticle* p ) const;
66 };
67}
68
69#endif // DERIVATIONFRAMEWORK_TRUTHBORNLEPTONCOLLECTIONMAKER_H
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.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
< Input particle collection key
bool hasBareDescendent(const xAOD::TruthParticle *p) const
Helper function for finding bare descendents of born leptons.
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_originDecoratorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_typeDecoratorKey
ServiceHandle< StoreGateSvc > m_metaStore
Handle on the metadata store for init.
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_classificationAccessorKey
Output particle collection key.
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeAccessorKey
virtual StatusCode addBranches(const EventContext &ctx) const
SG::WriteHandleKey< xAOD::TruthParticleContainer > m_collectionName
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_outcomeDecoratorKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_originAccessorKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_typeAccessorKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_classificationDecoratorKey
TruthBornLeptonCollectionMaker(const std::string &t, const std::string &n, const IInterface *p)
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.
THE reconstruction tool.
TruthParticle_v1 TruthParticle
Typedef to implementation.