ATLAS Offline Software
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 #include "RecoTypes.h"
25 
27  : public ManagedMonitorToolBase
28 {
29 
30 public:
32  PhysValTau( const std::string& type,
33  const std::string& name,
34  const IInterface* parent );
35 
36  // Athena algtool's Hooks
37  virtual StatusCode initialize();
38  virtual StatusCode bookHistograms();
39  virtual StatusCode fillHistograms();
40  virtual StatusCode procHistograms();
41 
42 
43 private:
44  // Containers
45  std::string m_TauJetContainerName;
47 
48  bool m_isMC;
49 
50  //Variable Definitions
51 
52  /*keeps track of matched tau jets*/
53  std::vector<size_t> m_matched_itr;
54 
55  // Tool used for truth-matching
56  ToolHandle<TauAnalysisTools::ITauTruthMatchingTool> m_truthTool;
57  // Tool used to select "primitive" and "nominal" taus
58  ToolHandle<TauAnalysisTools::ITauSelectionTool> m_primTauSel;
59  ToolHandle<TauAnalysisTools::ITauSelectionTool> m_nomiTauSel;
60 
61  //Histograms
62  // general tau all prongs plots
63  std::unique_ptr<TauValidationPlots> m_oTauValidationPlots;
64  // TauValidationPlots m_oTauValidationPlots;
65  bool matchTrueAndRecoTau (const xAOD::TauJetContainer *&taus, const xAOD::TruthParticle* trueTau, const xAOD::TauJet* &matchedRecoTau );
66 
67 };
68 
69 #endif //> !TAUDQA_PHYSVALTAU_H
PhysValTau::PhysValTau
PhysValTau(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition: PhysValTau.cxx:25
PhysValTau::m_nomiTauSel
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_nomiTauSel
Definition: PhysValTau.h:59
PhysValTau
Definition: PhysValTau.h:28
TauValidationPlots.h
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
PhysValTau::m_primTauSel
ToolHandle< TauAnalysisTools::ITauSelectionTool > m_primTauSel
Definition: PhysValTau.h:58
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:63
ManagedMonitorToolBase.h
ITauTruthMatchingTool.h
PhysValTau::m_TruthParticleContainerName
std::string m_TruthParticleContainerName
Definition: PhysValTau.h:46
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:41
PhysValTau::m_isMC
bool m_isMC
Are we running over MC data?
Definition: PhysValTau.h:48
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:53
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
PhysValTau::m_TauJetContainerName
std::string m_TauJetContainerName
Definition: PhysValTau.h:45
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PhysValTau::initialize
virtual StatusCode initialize()
Definition: PhysValTau.cxx:42
PhysValTau::m_truthTool
ToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_truthTool
Definition: PhysValTau.h:56
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PhysValTau::bookHistograms
virtual StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: PhysValTau.cxx:57
PhysValTau::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: PhysValTau.cxx:247
PhysValTau::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: PhysValTau.cxx:74
RecoTypes.h