ATLAS Offline Software
PanTauProcessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PANTAU_PANTAUPROCESSOR_H
6 #define PANTAU_PANTAUPROCESSOR_H
7 
8 // Gaudi includes
9 #include "AsgTools/AsgTool.h"
10 #include "AsgTools/ToolHandle.h"
11 
13 #include "xAODPFlow/PFOContainer.h"
14 
15 // C++ includes
16 #include <string>
17 #include <map>
18 #include <vector>
19 
20 // PanTau includes
26 
27 namespace PanTau
28 {
29 
40  class PanTauProcessor : virtual public TauRecToolBase
41  {
42  public:
43 
45 
46  PanTauProcessor(const std::string& name);
48 
49  virtual StatusCode initialize();
50  virtual StatusCode finalize();
51  virtual StatusCode executePanTau(xAOD::TauJet& pTau, xAOD::ParticleContainer& pi0Container, xAOD::PFOContainer& neutralPFOContainer) const;
52 
53  private:
54 
55  std::string m_Name_InputAlg;
56 
57  //Tools used in seed building
58  ToolHandle<PanTau::ITool_InformationStore> m_Tool_InformationStore;
59  ToolHandle<PanTau::ITool_TauConstituentGetter> m_Tool_TauConstituentGetter;
60  ToolHandle<PanTau::ITool_TauConstituentSelector> m_Tool_TauConstituentSelector;
61  ToolHandle<PanTau::ITool_PanTauTools> m_Tool_FeatureExtractor;
62 
63  //Tools used in seed finalizing
64  ToolHandle<PanTau::ITool_PanTauTools> m_Tool_DecayModeDeterminator;
65  ToolHandle<PanTau::ITool_DetailsArranger> m_Tool_DetailsArranger;
66 
67  //Tools used in seed building
72 
73  //Tools used in seed finalizing
76 
77  std::vector<double> m_Config_PtBins;
78  double m_Config_MinPt = 0.0;
79  double m_Config_MaxPt = 0.0;
80 
81  static void fillDefaultValuesToTau(xAOD::TauJet* tauJet) ;
82 
83 
84  }; //end class
85 } // end of namespace
86 
87 #endif
PanTau::PanTauProcessor::m_Tool_TauConstituentSelector
ToolHandle< PanTau::ITool_TauConstituentSelector > m_Tool_TauConstituentSelector
Definition: PanTauProcessor.h:60
PanTau::PanTauProcessor::m_Tool_DetailsArrangerName
std::string m_Tool_DetailsArrangerName
Definition: PanTauProcessor.h:75
PanTau::PanTauProcessor::m_Tool_DecayModeDeterminatorName
std::string m_Tool_DecayModeDeterminatorName
Definition: PanTauProcessor.h:74
PanTau::PanTauProcessor::finalize
virtual StatusCode finalize()
Finalizer.
Definition: PanTauProcessor.cxx:80
PanTau::PanTauProcessor::~PanTauProcessor
~PanTauProcessor()
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
PanTau::PanTauProcessor::PanTauProcessor
PanTauProcessor(const std::string &name)
Definition: PanTauProcessor.cxx:18
ITool_PanTauTools.h
PanTau::PanTauProcessor::m_Tool_FeatureExtractor
ToolHandle< PanTau::ITool_PanTauTools > m_Tool_FeatureExtractor
Definition: PanTauProcessor.h:61
TauRecToolBase.h
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
PFOContainer.h
PanTau::PanTauProcessor::m_Config_MinPt
double m_Config_MinPt
Definition: PanTauProcessor.h:78
PanTau::PanTauProcessor::m_Tool_TauConstituentSelectorName
std::string m_Tool_TauConstituentSelectorName
Definition: PanTauProcessor.h:70
ITool_InformationStore.h
PanTau::PanTauProcessor::executePanTau
virtual StatusCode executePanTau(xAOD::TauJet &pTau, xAOD::ParticleContainer &pi0Container, xAOD::PFOContainer &neutralPFOContainer) const
Definition: PanTauProcessor.cxx:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITool_TauConstituentSelector.h
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
PanTau::PanTauProcessor::initialize
virtual StatusCode initialize()
Tool initializer.
Definition: PanTauProcessor.cxx:52
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
PanTau::PanTauProcessor::m_Config_PtBins
std::vector< double > m_Config_PtBins
Definition: PanTauProcessor.h:77
ITool_TauConstituentGetter.h
PanTau::PanTauProcessor::m_Name_InputAlg
std::string m_Name_InputAlg
Definition: PanTauProcessor.h:55
PanTau::PanTauProcessor::m_Tool_TauConstituentGetterName
std::string m_Tool_TauConstituentGetterName
Definition: PanTauProcessor.h:69
PanTau::PanTauProcessor::m_Config_MaxPt
double m_Config_MaxPt
Definition: PanTauProcessor.h:79
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
PanTau::PanTauProcessor
Definition: PanTauProcessor.h:41
PanTau::PanTauProcessor::fillDefaultValuesToTau
static void fillDefaultValuesToTau(xAOD::TauJet *tauJet)
Definition: PanTauProcessor.cxx:181
PanTau::PanTauProcessor::m_Tool_DecayModeDeterminator
ToolHandle< PanTau::ITool_PanTauTools > m_Tool_DecayModeDeterminator
Definition: PanTauProcessor.h:64
PanTau
xAOD EDM
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:18
ITool_DetailsArranger.h
PanTau::PanTauProcessor::m_Tool_TauConstituentGetter
ToolHandle< PanTau::ITool_TauConstituentGetter > m_Tool_TauConstituentGetter
Definition: PanTauProcessor.h:59
PanTau::PanTauProcessor::m_Tool_InformationStore
ToolHandle< PanTau::ITool_InformationStore > m_Tool_InformationStore
Definition: PanTauProcessor.h:58
ToolHandle.h
PanTau::PanTauProcessor::m_Tool_DetailsArranger
ToolHandle< PanTau::ITool_DetailsArranger > m_Tool_DetailsArranger
Definition: PanTauProcessor.h:65
AsgTool.h
PanTau::PanTauProcessor::m_Tool_FeatureExtractorName
std::string m_Tool_FeatureExtractorName
Definition: PanTauProcessor.h:71
PanTau::PanTauProcessor::m_Tool_InformationStoreName
std::string m_Tool_InformationStoreName
Definition: PanTauProcessor.h:68