Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PANTAUALGS_TOOL_HELPERFUNCTIONS
6 #define PANTAUALGS_TOOL_HELPERFUNCTIONS
7 
8 #include <string>
9 #include <iostream>
10 #include <vector>
11 
13 #include "AsgTools/ToolHandle.h"
14 
15 class TLorentzVector;
16 class TVector3;
17 
18 namespace PanTau {
19  class TauConstituent;
20 }
21 
22 class TVector3;
23 
24 namespace PanTau {
25 
27 
28  public:
29 
30  // from PhysicsAnalysis/TauID/TauDiscriminant/TauDiscriminant/MethodBase.h
31  HelperFunctions(const std::string& name = ""):
33  m_name(name)
34  {}
35 
36  virtual ~HelperFunctions () {};
37 
38  virtual std::string convertNumberToString(double x) const;
39 
40  virtual int getBinIndex(const std::vector<double>& binEdges, double value) const;
41 
42  virtual double stddev(double sumOfSquares, double sumOfValues, int numConsts) const;
43  virtual double deltaRprime(const TVector3& vec1, const TVector3& vec2) const;
44 
45 #ifdef XAOD_ANALYSIS
46  template<class T>
47  static StatusCode bindToolHandle( ToolHandle<T>& handle, std::string tool_name){
48  T* tool = dynamic_cast<T*> (asg::ToolStore::get(tool_name));
49  if(!tool->isInitialized())
50  if (tool->initialize().isFailure())
51  return StatusCode::FAILURE;
52  handle = ToolHandle<T>(tool);
53  return StatusCode::SUCCESS;
54  }
55 #else
56  template<class T>
57  static StatusCode bindToolHandle( ToolHandle<T>& , std::string){return StatusCode::SUCCESS;}
58 #endif
59 
60  const std::string& getName() const
61  {
62  return m_name;
63  }
64 
65 
66  private:
67 
68  std::string m_name;
69 
70 
71  }; //end class Tool_HelperFunctions
72 
73 
74 }//end namespace PanTau
75 
76 
77 
78 
79 #endif // PANTAUALGS_TOOL_HELPERFUNCTIONS
D3PDMakerTestInstan::vec2
std::vector< D3PDTest::MyVec2 > vec2
Definition: D3PDMakerTestDict.h:14
asg::AsgMessaging::AsgMessaging
AsgMessaging(const std::string &name)
Constructor with a name.
Definition: AsgMessaging.cxx:17
athena.value
value
Definition: athena.py:124
x
#define x
PanTau::HelperFunctions::deltaRprime
virtual double deltaRprime(const TVector3 &vec1, const TVector3 &vec2) const
Definition: Reconstruction/PanTau/PanTauAlgs/Root/HelperFunctions.cxx:50
AsgMessaging.h
PanTau::HelperFunctions
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:26
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PanTau::HelperFunctions::getBinIndex
virtual int getBinIndex(const std::vector< double > &binEdges, double value) const
Definition: Reconstruction/PanTau/PanTauAlgs/Root/HelperFunctions.cxx:22
PanTau::HelperFunctions::convertNumberToString
virtual std::string convertNumberToString(double x) const
Definition: Reconstruction/PanTau/PanTauAlgs/Root/HelperFunctions.cxx:15
PanTau::HelperFunctions::HelperFunctions
HelperFunctions(const std::string &name="")
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:31
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
PanTau::HelperFunctions::bindToolHandle
static StatusCode bindToolHandle(ToolHandle< T > &, std::string)
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:57
PanTau::HelperFunctions::~HelperFunctions
virtual ~HelperFunctions()
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:36
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
PanTau::HelperFunctions::m_name
std::string m_name
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:68
asg::ToolStore::get
static IAsgTool * get(const std::string &name, bool silent=false)
Retrieve a tool by name.
Definition: ToolStore.cxx:57
PanTau
xAOD EDM
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:18
PanTau::HelperFunctions::stddev
virtual double stddev(double sumOfSquares, double sumOfValues, int numConsts) const
Definition: Reconstruction/PanTau/PanTauAlgs/Root/HelperFunctions.cxx:37
PanTau::HelperFunctions::getName
const std::string & getName() const
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:60
PanTau::TauConstituent
Definition: TauConstituent.h:25
ToolHandle.h