ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
DerivationFramework
DerivationFrameworkEGamma
DerivationFrameworkEGamma
EGInvariantMassTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// EGInvariantMassTool.h
7
// author: giovanni.marchiori@cern.ch
9
10
#ifndef DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
11
#define DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
12
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "
DerivationFrameworkInterfaces/IAugmentationTool.h
"
15
//
16
#include "
ExpressionEvaluation/ExpressionParserUser.h
"
17
#include "GaudiKernel/EventContext.h"
18
#include "
StoreGate/ReadHandleKey.h
"
19
#include "
xAODBase/IParticleContainer.h
"
20
//
21
#include <string>
22
#include <vector>
23
namespace
DerivationFramework
{
24
25
enum
EEGInvariantMassToolParser
26
{
27
kParser1
,
28
kParser2
,
29
kNumEGInvariantMassToolParser
30
};
31
class
EGInvariantMassTool
:
public
extends<ExpressionParserUser<AthAlgTool, kNumEGInvariantMassToolParser>, IAugmentationTool>
32
{
33
public
:
34
35
using
base_class::base_class;
36
37
virtual
StatusCode
initialize
()
override
final
;
38
virtual
StatusCode
addBranches
(
const
EventContext& ctx)
const
override
final
;
39
40
private
:
41
StatusCode
getInvariantMasses
(
const
EventContext& ctx,
42
std::vector<float>&)
const
;
43
44
Gaudi::Property<std::string>
m_expression1
{
this
,
"Object1Requirements"
,
"true"
};
45
Gaudi::Property<std::string>
m_expression2
{
this
,
"Object2Requirements"
,
"true"
};
46
SG::WriteHandleKey<std::vector<float>
>
m_sgName
{
this
,
47
"StoreGateEntryName"
,
48
""
,
49
"SG key of output object"
};
50
51
SG::ReadHandleKey<xAOD::IParticleContainer>
m_container1Name
{
52
this
,
53
"Container1Name"
,
54
""
,
55
"SG key of first container"
56
};
57
SG::ReadHandleKey<xAOD::IParticleContainer>
m_container2Name
{
58
this
,
59
"Container2Name"
,
60
""
,
61
"SG key of second container"
62
};
63
64
SG::ReadHandleKey<std::vector<float>
>
m_pt1BranchName
{
65
this
,
66
"Pt1BranchName"
,
67
""
,
68
"Pt1 if different than default"
69
};
70
71
SG::ReadHandleKey<std::vector<float>
>
m_eta1BranchName
{
72
this
,
73
"Eta1BranchName"
,
74
""
,
75
"Eta1 if different than default"
76
};
77
78
SG::ReadHandleKey<std::vector<float>
>
m_phi1BranchName
{
79
this
,
80
"Phi1BranchName"
,
81
""
,
82
"Phi1 if different than default"
83
};
84
85
SG::ReadHandleKey<std::vector<float>
>
m_pt2BranchName
{
86
this
,
87
"Pt2BranchName"
,
88
""
,
89
"Pt2 if different than default"
90
};
91
92
SG::ReadHandleKey<std::vector<float>
>
m_eta2BranchName
{
93
this
,
94
"Eta2BranchName"
,
95
""
,
96
"Eta2 if different than default"
97
};
98
99
SG::ReadHandleKey<std::vector<float>
>
m_phi2BranchName
{
100
this
,
101
"Phi2BranchName"
,
102
""
,
103
"Phi2 if different than default"
104
};
105
106
Gaudi::Property<float>
m_mass1Hypothesis
{
this
,
"Mass1Hypothesis"
, 0.f};
107
Gaudi::Property<float>
m_mass2Hypothesis
{
this
,
"Mass2Hypothesis"
, 0.f};
108
Gaudi::Property<float>
m_mindR
{
this
,
"MinDeltaR"
, 0.f};
109
Gaudi::Property<bool>
m_checkCharge
{
this
,
"CheckCharge"
,
true
};
110
Gaudi::Property<bool>
m_doTransverseMass
{
this
,
"DoTransverseMass"
,
true
};
111
};
112
}
113
114
#endif
// DERIVATIONFRAMEWORK_EGINVARIANTMASSTOOL_H
AthAlgTool.h
ExpressionParserUser.h
IAugmentationTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::EGInvariantMassTool
Definition
EGInvariantMassTool.h:32
DerivationFramework::EGInvariantMassTool::m_mindR
Gaudi::Property< float > m_mindR
Definition
EGInvariantMassTool.h:108
DerivationFramework::EGInvariantMassTool::m_eta1BranchName
SG::ReadHandleKey< std::vector< float > > m_eta1BranchName
Definition
EGInvariantMassTool.h:71
DerivationFramework::EGInvariantMassTool::m_mass2Hypothesis
Gaudi::Property< float > m_mass2Hypothesis
Definition
EGInvariantMassTool.h:107
DerivationFramework::EGInvariantMassTool::m_pt1BranchName
SG::ReadHandleKey< std::vector< float > > m_pt1BranchName
Definition
EGInvariantMassTool.h:64
DerivationFramework::EGInvariantMassTool::m_container1Name
SG::ReadHandleKey< xAOD::IParticleContainer > m_container1Name
Definition
EGInvariantMassTool.h:51
DerivationFramework::EGInvariantMassTool::m_container2Name
SG::ReadHandleKey< xAOD::IParticleContainer > m_container2Name
Definition
EGInvariantMassTool.h:57
DerivationFramework::EGInvariantMassTool::m_checkCharge
Gaudi::Property< bool > m_checkCharge
Definition
EGInvariantMassTool.h:109
DerivationFramework::EGInvariantMassTool::m_sgName
SG::WriteHandleKey< std::vector< float > > m_sgName
Definition
EGInvariantMassTool.h:46
DerivationFramework::EGInvariantMassTool::m_phi1BranchName
SG::ReadHandleKey< std::vector< float > > m_phi1BranchName
Definition
EGInvariantMassTool.h:78
DerivationFramework::EGInvariantMassTool::m_mass1Hypothesis
Gaudi::Property< float > m_mass1Hypothesis
Definition
EGInvariantMassTool.h:106
DerivationFramework::EGInvariantMassTool::m_doTransverseMass
Gaudi::Property< bool > m_doTransverseMass
Definition
EGInvariantMassTool.h:110
DerivationFramework::EGInvariantMassTool::getInvariantMasses
StatusCode getInvariantMasses(const EventContext &ctx, std::vector< float > &) const
Definition
EGInvariantMassTool.cxx:77
DerivationFramework::EGInvariantMassTool::initialize
virtual StatusCode initialize() override final
Definition
EGInvariantMassTool.cxx:22
DerivationFramework::EGInvariantMassTool::m_eta2BranchName
SG::ReadHandleKey< std::vector< float > > m_eta2BranchName
Definition
EGInvariantMassTool.h:92
DerivationFramework::EGInvariantMassTool::m_expression2
Gaudi::Property< std::string > m_expression2
Definition
EGInvariantMassTool.h:45
DerivationFramework::EGInvariantMassTool::m_pt2BranchName
SG::ReadHandleKey< std::vector< float > > m_pt2BranchName
Definition
EGInvariantMassTool.h:85
DerivationFramework::EGInvariantMassTool::m_phi2BranchName
SG::ReadHandleKey< std::vector< float > > m_phi2BranchName
Definition
EGInvariantMassTool.h:99
DerivationFramework::EGInvariantMassTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition
EGInvariantMassTool.cxx:61
DerivationFramework::EGInvariantMassTool::m_expression1
Gaudi::Property< std::string > m_expression1
Definition
EGInvariantMassTool.h:44
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
DerivationFramework::EEGInvariantMassToolParser
EEGInvariantMassToolParser
Definition
EGInvariantMassTool.h:26
DerivationFramework::kNumEGInvariantMassToolParser
@ kNumEGInvariantMassToolParser
Definition
EGInvariantMassTool.h:29
DerivationFramework::kParser2
@ kParser2
Definition
EGInvariantMassTool.h:28
DerivationFramework::kParser1
@ kParser1
Definition
EGInvariantMassTool.h:27
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0