ATLAS Offline Software
TauAxisSetter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAURECTOOLS_TAUAXISSETTER_H
6 #define TAURECTOOLS_TAUAXISSETTER_H
7 
9 
10 #include "AsgTools/ToolHandle.h"
11 
12 #include "xAODPFlow/FlowElement.h"
13 #include "PFlowUtils/FEHelpers.h"
14 
28 class TauAxisSetter : public TauRecToolBase {
29 
30 public:
31 
33 
34 
35  TauAxisSetter(const std::string& name);
36 
38  virtual ~TauAxisSetter() = default;
39 
41  virtual StatusCode execute(xAOD::TauJet& tau) const override;
42 
43 private:
44 
46  TLorentzVector getVertexCorrectedP4(const xAOD::JetConstituent& constituent,
47  const Amg::Vector3D& position) const;
48 
50  TLorentzVector getVertexCorrectedP4(const xAOD::FlowElement& fe,
51  const Amg::Vector3D& position) const;
52 
53  Gaudi::Property<double> m_clusterCone {this, "ClusterCone", 0.2, "cone of tau candidate"};
54  Gaudi::Property<bool> m_doVertexCorrection {this, "VertexCorrection", true, "switch of tau vertex correction"};
55 };
56 
57 #endif // TAURECTOOLS_TAUAXISSETTER_H
FEHelpers.h
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
TauAxisSetter::~TauAxisSetter
virtual ~TauAxisSetter()=default
Destructor.
TauRecToolBase.h
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
FlowElement.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauAxisSetter
Set Tau "Detector Axis" and "Intermediate Axis".
Definition: TauAxisSetter.h:28
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauAxisSetter::m_doVertexCorrection
Gaudi::Property< bool > m_doVertexCorrection
Definition: TauAxisSetter.h:54
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TauAxisSetter::m_clusterCone
Gaudi::Property< double > m_clusterCone
Definition: TauAxisSetter.h:53
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
TauAxisSetter::execute
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execution of this tool.
Definition: TauAxisSetter.cxx:21
TauAxisSetter::getVertexCorrectedP4
TLorentzVector getVertexCorrectedP4(const xAOD::JetConstituent &constituent, const Amg::Vector3D &position) const
Get the vertex corrected four momentum.
Definition: TauAxisSetter.cxx:126
xAOD::JetConstituent
4-vector of jet constituent at the scale used during jet finding.
Definition: JetConstituentVector.h:61
ToolHandle.h
TauAxisSetter::TauAxisSetter
TauAxisSetter(const std::string &name)
Constructor.
Definition: TauAxisSetter.cxx:17
xAOD::FlowElement_v1
A detector object made of other lower level object(s)
Definition: FlowElement_v1.h:25