Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PhysValTau.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 //
3 // Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4 //
5 #ifndef TAUDQA_PHYSVALTAU_H
6 #define TAUDQA_PHYSVALTAU_H
7 
8 // STL includes
9 #include <memory>
10 #include <string>
11 #include <vector>
12 
13 // FrameWork includes
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "GaudiKernel/ToolHandle.h"
16 
17 // Local includes
21 
22 // Local includes
23 #include "TauValidationPlots.h"
24 
26  : public ManagedMonitorToolBase
27 {
28 
29 public:
31  PhysValTau( const std::string& type,
32  const std::string& name,
33  const IInterface* parent );
34 
35  // Athena algtool's Hooks
36  virtual StatusCode initialize();
37  virtual StatusCode bookHistograms();
38  virtual StatusCode fillHistograms();
39  virtual StatusCode procHistograms();
40 
41 
42 private:
43  // Containers
44  std::string m_TauJetContainerName;
46 
47  bool m_isMC;
48 
49  //Variable Definitions
50 
51  /*keeps track of matched tau jets*/
52  std::vector<size_t> m_matched_itr;
53 
54  // Tool used for truth-matching
55  ToolHandle<TauAnalysisTools::ITauTruthMatchingTool> m_truthTool;
56  // Tool used to select "primitive" and "nominal" taus
57  ToolHandle<TauAnalysisTools::ITauSelectionTool> m_primTauSel;
58  ToolHandle<TauAnalysisTools::ITauSelectionTool> m_nomiTauSel;
59 
60  //Histograms
61  // general tau all prongs plots
62  std::unique_ptr<TauValidationPlots> m_oTauValidationPlots;
63  // TauValidationPlots m_oTauValidationPlots;
64  bool matchTrueAndRecoTau (const xAOD::TauJetContainer *&taus, const xAOD::TruthParticle* trueTau, const xAOD::TauJet* &matchedRecoTau );
65 
66 };
67 
68 #endif //> !TAUDQA_PHYSVALTAU_H
PhysValTau::PhysValTau
PhysValTau(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition: PhysValTau.cxx:26
PhysValTau::m_nomiTauSel
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_nomiTauSel
Definition: PhysValTau.h:58
PhysValTau
Definition: PhysValTau.h:27
TauValidationPlots.h
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:73
PhysValTau::m_primTauSel
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_primTauSel
Definition: PhysValTau.h:57
ITauSelectionTool.h
PhysValTau::matchTrueAndRecoTau
bool matchTrueAndRecoTau(const xAOD::TauJetContainer *&taus, const xAOD::TruthParticle *trueTau, const xAOD::TauJet *&matchedRecoTau)
PhysValTau::m_oTauValidationPlots
std::unique_ptr< TauValidationPlots > m_oTauValidationPlots
Definition: PhysValTau.h:62
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ManagedMonitorToolBase.h
ITauTruthMatchingTool.h
PhysValTau::m_TruthParticleContainerName
std::string m_TruthParticleContainerName
Definition: PhysValTau.h:45
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
PhysValTau::m_isMC
bool m_isMC
Are we running over MC data?
Definition: PhysValTau.h:47
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PhysValTau::m_matched_itr
std::vector< size_t > m_matched_itr
Definition: PhysValTau.h:52
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
PhysValTau::m_TauJetContainerName
std::string m_TauJetContainerName
Definition: PhysValTau.h:44
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
PhysValTau::initialize
virtual StatusCode initialize()
Definition: PhysValTau.cxx:43
PhysValTau::m_truthTool
ToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_truthTool
Definition: PhysValTau.h:55
PhysValTau::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: PhysValTau.cxx:58
PhysValTau::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: PhysValTau.cxx:261
PhysValTau::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: PhysValTau.cxx:75