ATLAS Offline Software
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"
15 
16 
27 
28 class HIEventShapeIndex;
29 class IHIUEModulatorTool;
30 
31 class IHISubtractorTool : virtual public asg::IAsgTool {
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 
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
IHISubtractorTool::getIndex
virtual const HIEventShapeIndex * getIndex() const =0
IHISubtractorTool::setModulator
virtual void setModulator(const IHIUEModulatorTool *)=0
IParticle.h
index
Definition: index.py:1
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:40
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
IHISubtractorTool::setIndex
virtual void setIndex(const HIEventShapeIndex *)=0
xAOD::HIEventShape_v2
Interface class for the HI reconstruction EDM.
Definition: HIEventShape_v2.h:31
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CaloCluster.h
HIEventShapeContainer.h
IHISubtractorTool::minEnergyForMoments
virtual float minEnergyForMoments() const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
IHISubtractorTool::getShape
virtual const xAOD::HIEventShapeContainer * getShape() const =0
HIEventShapeIndex
Definition: HIEventShapeIndex.h:17
IHISubtractorTool::subtractWithMoments
virtual void subtractWithMoments(xAOD::CaloCluster *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *index, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *shape) const =0
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::getModulator
virtual const IHIUEModulatorTool * getModulator() 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
IHISubtractorTool
Abstract interface for tools that implement constituent based subtraction.
Definition: IHISubtractorTool.h:31
IHISubtractorTool::usesCells
virtual bool usesCells() const =0
IHISubtractorTool::~IHISubtractorTool
virtual ~IHISubtractorTool()
Definition: IHISubtractorTool.h:36
ToolHandle.h
IHISubtractorTool::setShape
virtual void setShape(const xAOD::HIEventShapeContainer *)=0
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26