ATLAS Offline Software
HIClusterSubtraction.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // HIClusterSubtraction.h
6 
7 #ifndef __HIJETREC_HICLUSTERSUBTRACTION_H__
8 #define __HIJETREC_HICLUSTERSUBTRACTION_H__
9 
22 
23 #include "AsgTools/AsgTool.h"
26 #include "AsgTools/ToolHandle.h"
32 
35 
37 
38 class HIClusterSubtraction : virtual public asg::AsgTool,
39  virtual public IJetExecuteTool
40 {
42 public:
43  HIClusterSubtraction(const std::string& name);
44  virtual StatusCode initialize();
45  virtual ~HIClusterSubtraction() {};
46 
47  virtual int execute() const;
48 
50 
51 
52 private:
54  SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inClusterKey { this, "ClusterKey", "ClusterKey", "Name of the input Cluster Container"};
56  SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outClusterKey { this, "OutClusterKey", "OutClusterKey", "Name of the output Cluster Container (deep Copy)"};
58  SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_eventShapeKey { this, "EventShapeKey", "EventShapeKey", "Name of HIEventShapeContainer defining background"};
60  SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer { this, "VertexContainer", "PrimaryVertices", "Vertex container for primary vertices"};
61 
62  // Tool handles
63  ToolHandle<IHISubtractorTool> m_subtractorTool { this, "Subtractor", "HIJetSubtractorToolBase", "Handle to IHISubtractorTool which does calculates subtracted kinematics" };
64  ToolHandle<IHIUEModulatorTool> m_modulatorTool { this, "Modulator" , "HIUEModulatorTool" , "Handle to IHIModulatorTool" };
65  ToolHandle<IHIEventShapeMapTool> m_eventShapeMapTool { this, "EventShapeMapTool", "HIEventShapeMapTool", "Handle to Event Shape Map Tool"};
66  ToolHandleArray<CaloClusterCollectionProcessor> m_clusterCorrectionTools { this, "ClusterCorrectionTools", {}, "" };
67 
68  // Booleans
69  Gaudi::Property< bool > m_setMoments { this, "SetMoments", true, "Set Moments boolean switch"};
70  Gaudi::Property< bool > m_updateMode { this, "UpdateOnly", false, "Update Mode boolean switch"};
71  //Moving the origin correction directly here
72  Gaudi::Property< bool > m_originCorrection { this, "ApplyOriginCorrection", false, "Apply Origin Correction boolean switch"};
73 
74 };
75 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
HIClusterSubtraction::m_inClusterKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inClusterKey
Name of input cluster container.
Definition: HIClusterSubtraction.h:54
HIEventShapeMapTool.h
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
HIClusterSubtraction::m_originCorrection
Gaudi::Property< bool > m_originCorrection
Definition: HIClusterSubtraction.h:72
HIClusterSubtraction::HIClusterSubtraction
HIClusterSubtraction(const std::string &name)
Definition: HIClusterSubtraction.cxx:22
HIClusterSubtraction::~HIClusterSubtraction
virtual ~HIClusterSubtraction()
Definition: HIClusterSubtraction.h:45
HIClusterSubtraction::m_vertexContainer
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer
|brief Name of Vertex Container for origin correction
Definition: HIClusterSubtraction.h:60
IJetExecuteTool
IJetExecuteTool is a dual-use tool interface for generic tools, i.e. those that behave like algorithm...
Definition: IJetExecuteTool.h:19
HIClusterSubtraction::m_setMoments
Gaudi::Property< bool > m_setMoments
Definition: HIClusterSubtraction.h:69
SG::ReadHandleKey< xAOD::CaloClusterContainer >
HIClusterSubtraction::m_outClusterKey
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outClusterKey
|brief New writeHandleKey to store the shallow copy used for new CaloClusterTreatment
Definition: HIClusterSubtraction.h:56
HIClusterSubtraction::execute
virtual int execute() const
Method to be called for each event.
Definition: HIClusterSubtraction.cxx:83
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
HIClusterSubtraction::m_updateMode
Gaudi::Property< bool > m_updateMode
Definition: HIClusterSubtraction.h:70
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
SG::WriteHandleKey< xAOD::CaloClusterContainer >
IJetExecuteTool.h
HIClusterSubtraction::m_eventShapeMapTool
ToolHandle< IHIEventShapeMapTool > m_eventShapeMapTool
Definition: HIClusterSubtraction.h:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HIEventShapeContainer.h
HIClusterSubtraction::m_clusterCorrectionTools
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterCorrectionTools
Definition: HIClusterSubtraction.h:66
HIClusterSubtraction::m_subtractorTool
ToolHandle< IHISubtractorTool > m_subtractorTool
Definition: HIClusterSubtraction.h:63
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloClusterCollectionProcessor.h
Base class for cluster processing tools called from CaloClusterMaker.
IHISubtractorTool.h
HIClusterSubtraction
Algorithm that applies background subtraction to clusters. The subtraction needs to be handled separa...
Definition: HIClusterSubtraction.h:40
VertexContainer.h
HIClusterSubtraction::doOriginCorrection
bool doOriginCorrection(xAOD::CaloCluster *cl, const xAOD::Vertex *origin, xAOD::IParticle::FourMom_t &p4_cl) const
Definition: HIClusterSubtraction.cxx:46
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
IHIUEModulatorTool.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CaloClusterContainer.h
HIClusterSubtraction::m_eventShapeKey
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_eventShapeKey
Name of HIEventShapeContainer defining background.
Definition: HIClusterSubtraction.h:58
ToolHandle.h
AsgTool.h
HIClusterSubtraction::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: HIClusterSubtraction.cxx:28
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
HIClusterSubtraction::m_modulatorTool
ToolHandle< IHIUEModulatorTool > m_modulatorTool
Definition: HIClusterSubtraction.h:64