ATLAS Offline Software
TruthParticleChildAssociationTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef TRUTHD3PDMAKER_TRUTHPARTICLECHILDASSOCIATIONTOOL_H
17 #define TRUTHD3PDMAKER_TRUTHPARTICLECHILDASSOCIATIONTOOL_H
18 
19 
22 #include <vector>
23 
24 
25 namespace D3PD {
26 
27 
36  : public MultiAssociationTool<xAOD::TruthParticle>
37 {
38 public:
40 
41 
48  TruthParticleChildAssociationTool (const std::string& type,
49  const std::string& name,
50  const IInterface* parent);
51 
52 
54  virtual StatusCode initialize() override;
55 
56 
61  virtual StatusCode reset (const xAOD::TruthParticle& p) override;
62 
63 
69  virtual const xAOD::TruthParticle* next() override;
70 
71 
72 private:
74  std::vector<const xAOD::TruthParticle*> m_xaod_children;
75 
77  unsigned int m_i;
78 };
79 
80 
81 } // namespace D3PD
82 
83 
84 #endif // not TRUTHD3PDMAKER_TRUTHPARTICLECHILDASSOCIATIONTOOL_H
85 
D3PD::TruthParticleChildAssociationTool::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: TruthParticleChildAssociationTool.cxx:40
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MultiAssociationTool.h
Type-safe wrapper for multiple-target associator tools.
D3PD::TruthParticleChildAssociationTool
Associate all particles within a DR cut.
Definition: TruthParticleChildAssociationTool.h:37
D3PD::TruthParticleChildAssociationTool::m_i
unsigned int m_i
Current index.
Definition: TruthParticleChildAssociationTool.h:77
D3PD::MultiAssociationTool
Type-safe wrapper for multiple-target associator tools.
Definition: MultiAssociationTool.h:158
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::TruthParticleChildAssociationTool::TruthParticleChildAssociationTool
TruthParticleChildAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: TruthParticleChildAssociationTool.cxx:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::TruthParticleChildAssociationTool::m_xaod_children
std::vector< const xAOD::TruthParticle * > m_xaod_children
Vector of xAOD pointers.
Definition: TruthParticleChildAssociationTool.h:74
D3PD::TruthParticleChildAssociationTool::Base
MultiAssociationTool< xAOD::TruthParticle > Base
Definition: TruthParticleChildAssociationTool.h:39
TruthParticle.h
D3PD::TruthParticleChildAssociationTool::next
virtual const xAOD::TruthParticle * next() override
Return a pointer to the next element in the association.
Definition: TruthParticleChildAssociationTool.cxx:78
D3PD::TruthParticleChildAssociationTool::reset
virtual StatusCode reset(const xAOD::TruthParticle &p) override
Start the iteration for a new association.
Definition: TruthParticleChildAssociationTool.cxx:51