ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
HeavyIonRec
HIJetRec
Root
HIUEModulatorTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef HIJETREC_HIUEMODULATORTOOL_H
6
#define HIJETREC_HIUEMODULATORTOOL_H
7
8
#include "
HIJetRec/IHIUEModulatorTool.h
"
9
#include "
AsgTools/AsgTool.h
"
10
11
#include "
xAODHIEvent/HIEventShapeContainer.h
"
12
13
#include "
StoreGate/ReadHandleKey.h
"
14
#include "
StoreGate/WriteHandleKey.h
"
15
16
class
HIUEModulatorTool
:
public
asg::AsgTool
,
virtual
public
IHIUEModulatorTool
17
{
18
ASG_TOOL_CLASS
(
HIUEModulatorTool
,
IHIUEModulatorTool
)
19
public
:
20
21
HIUEModulatorTool
(
const
std::string& myname);
22
23
virtual
float
getModulation
(
float
phi
,
const
xAOD::HIEventShape
* shape =
nullptr
)
const override
;
24
virtual
StatusCode
setEventShapeForModulation
(
const
xAOD::HIEventShape
* shape)
override
;
25
virtual
void
setHarmonics
(
const
std::vector<unsigned int>& v)
override
;
26
virtual
StatusCode
initialize
()
override
;
27
28
virtual
StatusCode
getShape
(
const
xAOD::HIEventShape
* & shape)
const override
;
29
30
static
float
modulate
(
const
std::vector<unsigned int>& nh_vector,
const
xAOD::HIEventShape
* shape,
float
phi
);
31
32
private
:
33
StatusCode
checkQVectorSize
(
const
xAOD::HIEventShape
* shape,
unsigned
int
n)
const
;
34
StatusCode
checkCompatibility
()
const
;
35
36
//Attempt to move to data handlers
37
//std::string m_shape_key;
38
//key attribute set to "empty string" to have consistency with previously set m_shape_key (NULLModifier)
39
SG::ReadHandleKey< xAOD::HIEventShapeContainer >
m_shape_key
{
this
,
"EventShapeKey"
,
""
,
"The input HI Event Shape"
};
40
41
const
xAOD::HIEventShape
*
m_shape
;
42
std::vector<unsigned int>
m_nh_vector
;
43
44
//bool m_do_v2;
45
Gaudi::Property< bool >
m_do_v2
{
this
,
"DoV2"
,
true
,
"Do V2 modulation"
};
46
//bool m_do_v3;
47
Gaudi::Property< bool >
m_do_v3
{
this
,
"DoV3"
,
true
,
"Do V3 modulation"
};
48
//bool m_do_v4;
49
Gaudi::Property< bool >
m_do_v4
{
this
,
"DoV4"
,
true
,
"Do V4 modulation"
};
50
51
};
52
#endif
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition
AsgToolMacros.h:68
AsgTool.h
HIEventShapeContainer.h
IHIUEModulatorTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
HIUEModulatorTool::getShape
virtual StatusCode getShape(const xAOD::HIEventShape *&shape) const override
Definition
HIUEModulatorTool.cxx:64
HIUEModulatorTool::setHarmonics
virtual void setHarmonics(const std::vector< unsigned int > &v) override
Definition
HIUEModulatorTool.cxx:48
HIUEModulatorTool::modulate
static float modulate(const std::vector< unsigned int > &nh_vector, const xAOD::HIEventShape *shape, float phi)
Definition
HIUEModulatorTool.cxx:90
HIUEModulatorTool::m_shape_key
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_shape_key
Definition
HIUEModulatorTool.h:39
HIUEModulatorTool::m_do_v2
Gaudi::Property< bool > m_do_v2
Definition
HIUEModulatorTool.h:45
HIUEModulatorTool::HIUEModulatorTool
HIUEModulatorTool(const std::string &myname)
Definition
HIUEModulatorTool.cxx:12
HIUEModulatorTool::setEventShapeForModulation
virtual StatusCode setEventShapeForModulation(const xAOD::HIEventShape *shape) override
Definition
HIUEModulatorTool.cxx:41
HIUEModulatorTool::checkQVectorSize
StatusCode checkQVectorSize(const xAOD::HIEventShape *shape, unsigned int n) const
Definition
HIUEModulatorTool.cxx:114
HIUEModulatorTool::m_shape
const xAOD::HIEventShape * m_shape
Definition
HIUEModulatorTool.h:41
HIUEModulatorTool::getModulation
virtual float getModulation(float phi, const xAOD::HIEventShape *shape=nullptr) const override
Definition
HIUEModulatorTool.cxx:53
HIUEModulatorTool::checkCompatibility
StatusCode checkCompatibility() const
Definition
HIUEModulatorTool.cxx:119
HIUEModulatorTool::m_nh_vector
std::vector< unsigned int > m_nh_vector
Definition
HIUEModulatorTool.h:42
HIUEModulatorTool::m_do_v4
Gaudi::Property< bool > m_do_v4
Definition
HIUEModulatorTool.h:49
HIUEModulatorTool::m_do_v3
Gaudi::Property< bool > m_do_v3
Definition
HIUEModulatorTool.h:47
HIUEModulatorTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition
HIUEModulatorTool.cxx:22
IHIUEModulatorTool
Abstract interface for tools that can provide UE modulation given an HIEventShape.
Definition
IHIUEModulatorTool.h:25
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition
AsgTool.h:47
xAOD::HIEventShape
HIEventShape_v2 HIEventShape
Definition of the latest event info version.
Definition
HIEventShape.h:16
Generated on
for ATLAS Offline Software by
1.17.0