ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
HeavyIonRec
HIJetRec
HIJetRec
IHISubtractorTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// IHISubtractorTool.h
6
7
#ifndef HIJETREC_IHISUBTRACTORTOOL_H
8
#define HIJETREC_IHISUBTRACTORTOOL_H
9
10
#include "
AsgTools/IAsgTool.h
"
11
#include "
AsgTools/ToolHandle.h
"
12
#include "
xAODBase/IParticle.h
"
13
#include "
xAODHIEvent/HIEventShapeContainer.h
"
14
#include "
xAODCaloEvent/CaloCluster.h
"
15
16
27
28
class
HIEventShapeIndex
;
29
class
IHIUEModulatorTool
;
30
31
class
IHISubtractorTool
:
virtual
public
asg::IAsgTool
{
32
ASG_TOOL_INTERFACE
(
IHISubtractorTool
)
33
34
public
:
35
36
virtual
~IHISubtractorTool
() { };
37
40
41
virtual
void
subtract
(
xAOD::IParticle::FourMom_t
&,
const
xAOD::IParticle
*,
const
xAOD::HIEventShapeContainer
*,
const
HIEventShapeIndex
*,
const
ToolHandle<IHIUEModulatorTool>&,
const
xAOD::HIEventShape
* shape )
const
= 0;
42
virtual
void
subtractWithMoments
(
xAOD::CaloCluster
*,
const
xAOD::HIEventShapeContainer
*,
const
HIEventShapeIndex
*
index
,
const
ToolHandle<IHIUEModulatorTool>&,
const
xAOD::HIEventShape
* shape )
const
= 0;
43
49
virtual
void
updateUsingCluster
(
xAOD::HIEventShapeContainer
* shape,
const
HIEventShapeIndex
*
index
,
const
xAOD::CaloCluster
* cl)
const
= 0;
50
virtual
float
minEnergyForMoments
()
const
= 0;
51
virtual
bool
usesCells
()
const
= 0;
52
53
virtual
const
xAOD::HIEventShapeContainer
*
getShape
()
const
= 0;
54
virtual
const
HIEventShapeIndex
*
getIndex
()
const
= 0;
55
virtual
const
IHIUEModulatorTool
*
getModulator
()
const
= 0;
56
virtual
void
setShape
(
const
xAOD::HIEventShapeContainer
*) = 0;
57
virtual
void
setIndex
(
const
HIEventShapeIndex
*) = 0;
58
virtual
void
setModulator
(
const
IHIUEModulatorTool
*) = 0;
59
60
};
61
62
#endif
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
IParticle.h
CaloCluster.h
HIEventShapeContainer.h
IAsgTool.h
ToolHandle.h
HIEventShapeIndex
Definition
HIEventShapeIndex.h:16
IHISubtractorTool
Abstract interface for tools that implement constituent based subtraction.
Definition
IHISubtractorTool.h:31
IHISubtractorTool::updateUsingCluster
virtual void updateUsingCluster(xAOD::HIEventShapeContainer *shape, const HIEventShapeIndex *index, const xAOD::CaloCluster *cl) const =0
Method to update the shape based on a given cluster two sets of indices are passed by reference and u...
IHISubtractorTool::~IHISubtractorTool
virtual ~IHISubtractorTool()
Definition
IHISubtractorTool.h:36
IHISubtractorTool::subtractWithMoments
virtual void subtractWithMoments(xAOD::CaloCluster *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *index, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *shape) const =0
IHISubtractorTool::getIndex
virtual const HIEventShapeIndex * getIndex() const =0
IHISubtractorTool::getShape
virtual const xAOD::HIEventShapeContainer * getShape() const =0
IHISubtractorTool::setShape
virtual void setShape(const xAOD::HIEventShapeContainer *)=0
IHISubtractorTool::setIndex
virtual void setIndex(const HIEventShapeIndex *)=0
IHISubtractorTool::setModulator
virtual void setModulator(const IHIUEModulatorTool *)=0
IHISubtractorTool::getModulator
virtual const IHIUEModulatorTool * getModulator() const =0
IHISubtractorTool::usesCells
virtual bool usesCells() const =0
IHISubtractorTool::minEnergyForMoments
virtual float minEnergyForMoments() const =0
IHISubtractorTool::subtract
virtual void subtract(xAOD::IParticle::FourMom_t &, const xAOD::IParticle *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *shape) const =0
Abstract method where particle itself is not modified IParticle::FourMom_t containing kinematics afte...
IHIUEModulatorTool
Abstract interface for tools that can provide UE modulation given an HIEventShape.
Definition
IHIUEModulatorTool.h:25
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition
IAsgTool.h:41
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:69
index
Definition
index.py:1
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::HIEventShapeContainer
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.
Definition
HIEventShapeContainer.h:17
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