ATLAS Offline Software
DRAssociationTool.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 EVENTCOMMOND3PDMAKER_DRASSOCIATIONTOOL_H
17 #define EVENTCOMMOND3PDMAKER_DRASSOCIATIONTOOL_H
18 
19 
23 #include "xAODBase/IParticle.h"
24 #include "GaudiKernel/ToolHandle.h"
25 
26 
27 namespace D3PD {
28 
29 
47  : public SingleAssociationTool<Types<INavigable4Momentum, xAOD::IParticle> >
48 {
49 public:
51 
52 
59  DRAssociationTool (const std::string& type,
60  const std::string& name,
61  const IInterface* parent);
62 
63 
65  virtual StatusCode initialize() override;
66 
67 
77  const std::type_info& ti) override;
78 
79 
83  virtual StatusCode book() override;
84 
85 
92  virtual const INavigable4Momentum* get (const INavigable4Momentum& p) override;
93 
94 
101  virtual const xAOD::IParticle* get (const xAOD::IParticle& p) override;
102 
103 
104 private:
106  ToolHandle<ICollectionGetterTool> m_getter;
107 
109  float m_drcut;
110 
112  float* m_dr;
113 };
114 
115 
116 } // namespace D3PD
117 
118 
119 
120 #endif // not EVENTCOMMOND3PDMAKER_DRASSOCIATIONTOOL_H
D3PD::DRAssociationTool::configureD3PD
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti) override
Configure during initialization: type-check.
Definition: DRAssociationTool.cxx:71
D3PD::IAddVariable
Common interface for adding a variable to a tuple.
Definition: IAddVariable.h:70
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
IParticle.h
INavigable4Momentum.h
D3PD::DRAssociationTool::m_getter
ToolHandle< ICollectionGetterTool > m_getter
Property: The getter for the target collection.
Definition: DRAssociationTool.h:106
D3PD::DRAssociationTool::m_dr
float * m_dr
Variable: DR to associated object.
Definition: DRAssociationTool.h:112
tree
TChain * tree
Definition: tile_monitor.h:30
ICollectionGetterTool.h
Abstract interface to get a collection of objects and iterate over it.
D3PD::SingleAssociationTool
Type-safe wrapper for single associator tools.
Definition: SingleAssociationTool.h:133
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
SingleAssociationTool.h
Type-safe wrapper for single associator tools.
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::DRAssociationTool::Base
SingleAssociationTool< Types< INavigable4Momentum, xAOD::IParticle > > Base
Definition: DRAssociationTool.h:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::DRAssociationTool::get
virtual const INavigable4Momentum * get(const INavigable4Momentum &p) override
Return the target object.
Definition: DRAssociationTool.cxx:97
D3PD::DRAssociationTool::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Definition: DRAssociationTool.cxx:52
D3PD::DRAssociationTool::m_drcut
float m_drcut
Property: DR cut.
Definition: DRAssociationTool.h:109
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
INavigable4Momentum
Definition: INavigable4Momentum.h:21
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::DRAssociationTool::book
virtual StatusCode book() override
Create any needed tuple variables.
Definition: DRAssociationTool.cxx:83
D3PD::DRAssociationTool
Associate to particle closest in DR.
Definition: DRAssociationTool.h:48
D3PD::DRAssociationTool::DRAssociationTool
DRAssociationTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: DRAssociationTool.cxx:33