ATLAS Offline Software
DiTauSelectionCuts.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
6 #define TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
7 
8 /*
9  original author: Dirk Duschinger
10  mail: dirk.duschinger@cern.ch
11  contact email: antonio.de.maria@cern.ch
12  documentation in: https://gitlab.cern.ch/atlas/athena/-/blob/master/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst
13 */
14 
15 // Framework include(s):
16 #include "xAODTau/DiTauJet.h"
17 #include "PATCore/AcceptData.h"
18 #include "PATCore/AcceptInfo.h"
19 
20 // ROOT include(s):
21 #include "TH1F.h"
22 
23 namespace TauAnalysisTools
24 {
25 
26 class DiTauSelectionTool;
27 
29 {
30 
31 public:
32  DiTauSelectionCut(const std::string& sName, TauAnalysisTools::DiTauSelectionTool* tDTST);
33  virtual ~DiTauSelectionCut();
34 
36  void fillHistogramCutPre(const xAOD::DiTauJet& xTau);
37  void fillHistogramCut(const xAOD::DiTauJet& xTau);
38  virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
39  virtual bool accept(const xAOD::DiTauJet& xTau,
40  asg::AcceptData& accept) = 0;
41  TH1F* CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
42 
43  const std::string& getName()
44  {
45  return m_sName;
46  };
47 
48  void setProperty(const std::string& name, const std::string& value);
49 
50 protected:
51  std::string m_sName;
52 
55 
57 
58  void declareProperty(const std::string& name, std::string& loc);
59  std::map<std::string, std::string&> m_mProperties;
60  std::string getProperty(const std::string& name);
61 
62 private:
63  virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const = 0;
64 };
65 
67  : public DiTauSelectionCut
68 {
69 public:
71  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
72  virtual bool accept(const xAOD::DiTauJet& xTau,
73  asg::AcceptData& accept) override;
74 private:
75  virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
76 };
77 
79  : public DiTauSelectionCut
80 {
81 public:
83  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
84  virtual bool accept(const xAOD::DiTauJet& xTau,
85  asg::AcceptData& accept) override;
86 private:
87  virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
88 };
89 
91  : public DiTauSelectionCut
92 {
93 public:
95  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
96  virtual bool accept(const xAOD::DiTauJet& xTau,
97  asg::AcceptData& accept) override;
98 private:
99  virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
100 };
101 
102 
103 }
104 
105 #endif // TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
grepfile.info
info
Definition: grepfile.py:38
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
TauAnalysisTools::DiTauSelectionCutAbsEta::DiTauSelectionCutAbsEta
DiTauSelectionCutAbsEta(DiTauSelectionTool *tDTST)
Definition: DiTauSelectionCuts.cxx:143
TauAnalysisTools::DiTauSelectionCutPt::setAcceptInfo
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
Definition: DiTauSelectionCuts.cxx:108
TauAnalysisTools::DiTauSelectionCut::fillHistogramCut
void fillHistogramCut(const xAOD::DiTauJet &xTau)
Definition: DiTauSelectionCuts.cxx:59
TauAnalysisTools::DiTauSelectionCut
Definition: DiTauSelectionCuts.h:29
athena.value
value
Definition: athena.py:122
TauAnalysisTools::DiTauSelectionCut::setAcceptInfo
virtual void setAcceptInfo(asg::AcceptInfo &info) const =0
TauAnalysisTools::DiTauSelectionCut::CreateControlPlot
TH1F * CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
Definition: DiTauSelectionCuts.cxx:40
TauAnalysisTools::DiTauSelectionCut::writeControlHistograms
void writeControlHistograms()
Definition: DiTauSelectionCuts.cxx:33
TauAnalysisTools::DiTauSelectionCut::fillHistogramCutPre
void fillHistogramCutPre(const xAOD::DiTauJet &xTau)
Definition: DiTauSelectionCuts.cxx:53
TauAnalysisTools::DiTauSelectionCut::m_sName
std::string m_sName
Definition: DiTauSelectionCuts.h:51
TauAnalysisTools::DiTauSelectionCutAbsEta::fillHistogram
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
Definition: DiTauSelectionCuts.cxx:151
TauAnalysisTools::DiTauSelectionCut::accept
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept)=0
TauAnalysisTools::DiTauSelectionCutNSubjets::accept
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
Definition: DiTauSelectionCuts.cxx:202
TauAnalysisTools::DiTauSelectionCutNSubjets::DiTauSelectionCutNSubjets
DiTauSelectionCutNSubjets(DiTauSelectionTool *tDTST)
Definition: DiTauSelectionCuts.cxx:182
TauAnalysisTools::DiTauSelectionCut::m_hHistCut
TH1F * m_hHistCut
Definition: DiTauSelectionCuts.h:54
TauAnalysisTools::DiTauSelectionCut::DiTauSelectionCut
DiTauSelectionCut(const std::string &sName, TauAnalysisTools::DiTauSelectionTool *tDTST)
Definition: DiTauSelectionCuts.cxx:16
asg::AcceptInfo
Definition: AcceptInfo.h:28
TauAnalysisTools::DiTauSelectionCut::m_mProperties
std::map< std::string, std::string & > m_mProperties
Definition: DiTauSelectionCuts.h:59
TauAnalysisTools::DiTauSelectionCutNSubjets
Definition: DiTauSelectionCuts.h:92
TauAnalysisTools::DiTauSelectionCutPt
Definition: DiTauSelectionCuts.h:68
TauAnalysisTools::DiTauSelectionCut::getName
const std::string & getName()
Definition: DiTauSelectionCuts.h:43
TauAnalysisTools::DiTauSelectionCut::m_hHistCutPre
TH1F * m_hHistCutPre
Definition: DiTauSelectionCuts.h:53
AcceptData.h
DiTauJet.h
TauAnalysisTools::DiTauSelectionCutAbsEta::setAcceptInfo
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
Definition: DiTauSelectionCuts.cxx:157
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TauAnalysisTools::DiTauSelectionCutAbsEta
Definition: DiTauSelectionCuts.h:80
TauAnalysisTools::DiTauSelectionCutPt::DiTauSelectionCutPt
DiTauSelectionCutPt(DiTauSelectionTool *tDTST)
Definition: DiTauSelectionCuts.cxx:94
AcceptInfo.h
TauAnalysisTools::DiTauSelectionCut::~DiTauSelectionCut
virtual ~DiTauSelectionCut()
Definition: DiTauSelectionCuts.cxx:25
TauAnalysisTools::DiTauSelectionCut::m_tDTST
DiTauSelectionTool * m_tDTST
Definition: DiTauSelectionCuts.h:56
TH1F
Definition: rootspy.cxx:320
TauAnalysisTools::DiTauSelectionCut::fillHistogram
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const =0
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
TauAnalysisTools::DiTauSelectionCut::declareProperty
void declareProperty(const std::string &name, std::string &loc)
Definition: DiTauSelectionCuts.cxx:75
TauAnalysisTools::DiTauSelectionTool
Definition: DiTauSelectionTool.h:41
TauAnalysisTools::DiTauSelectionCut::getProperty
std::string getProperty(const std::string &name)
Definition: DiTauSelectionCuts.cxx:82
asg::AcceptData
Definition: AcceptData.h:30
TauAnalysisTools::DiTauSelectionCutAbsEta::accept
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
Definition: DiTauSelectionCuts.cxx:163
TauAnalysisTools::DiTauSelectionCutPt::fillHistogram
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
Definition: DiTauSelectionCuts.cxx:102
TauAnalysisTools::DiTauSelectionCutNSubjets::setAcceptInfo
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
Definition: DiTauSelectionCuts.cxx:196
TauAnalysisTools::DiTauSelectionCut::setProperty
void setProperty(const std::string &name, const std::string &value)
Definition: DiTauSelectionCuts.cxx:66
TauAnalysisTools::DiTauSelectionCutNSubjets::fillHistogram
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
Definition: DiTauSelectionCuts.cxx:190
TauAnalysisTools::DiTauSelectionCutPt::accept
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
Definition: DiTauSelectionCuts.cxx:114