ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauSelectionCuts.h File Reference
#include "xAODTau/DiTauJet.h"
#include "ColumnarMode/ColumnarMode.h"
#include "TH1F.h"
#include <memory>
Include dependency graph for DiTauSelectionCuts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  asg

Functions

namespace ADD_CMODE (TauAnalysisTools)

Function Documentation

◆ ADD_CMODE()

namespace ADD_CMODE ( TauAnalysisTools )

Definition at line 1 of file DiTauSelectionCuts.h.

30{
31
32class DiTauSelectionTool;
33
34class DiTauSelectionCut
35{
36
37public:
38 DiTauSelectionCut(const std::string& sName, DiTauSelectionTool* tDTST);
39 virtual ~DiTauSelectionCut();
40
41 void writeControlHistograms();
42 void fillHistogramCutPre(const xAOD::DiTauJet& xTau);
43 void fillHistogramCut(const xAOD::DiTauJet& xTau);
44 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
45 virtual bool accept(const xAOD::DiTauJet& xTau,
46 asg::AcceptData& accept) = 0;
47 std::unique_ptr<TH1F> CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
48
49 const std::string& getName()
50 {
51 return m_sName;
52 };
53
54 void setProperty(const std::string& name, const std::string& value);
55
56protected:
57 std::string m_sName;
58
59 std::unique_ptr<TH1F> m_hHistCutPre;
60 std::unique_ptr<TH1F> m_hHistCut;
61
62 DiTauSelectionTool* m_tDTST{};
63
64 void declareProperty(const std::string& name, std::string& loc);
65 std::map<std::string, std::string&> m_mProperties;
66 std::string getProperty(const std::string& name);
67
68private:
69 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const = 0;
70};
71
72class DiTauSelectionCutPt
73 : public DiTauSelectionCut
74{
75public:
76 DiTauSelectionCutPt(DiTauSelectionTool* tDTST);
77 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
78 virtual bool accept(const xAOD::DiTauJet& xTau,
79 asg::AcceptData& accept) override;
80private:
81 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
82};
83
84class DiTauSelectionCutAbsEta
85 : public DiTauSelectionCut
86{
87public:
88 DiTauSelectionCutAbsEta(DiTauSelectionTool* tDTST);
89 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
90 virtual bool accept(const xAOD::DiTauJet& xTau,
91 asg::AcceptData& accept) override;
92private:
93 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
94};
95
96class DiTauSelectionCutNSubjets
97 : public DiTauSelectionCut
98{
99public:
100 DiTauSelectionCutNSubjets(DiTauSelectionTool* tDTST);
101 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
102 virtual bool accept(const xAOD::DiTauJet& xTau,
103 asg::AcceptData& accept) override;
104private:
105 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
106};
107
108class DiTauSelectionCutAbsCharge
109 : public DiTauSelectionCut
110{
111public:
112 DiTauSelectionCutAbsCharge(DiTauSelectionTool* tDTST);
113 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
114 virtual bool accept(const xAOD::DiTauJet& xTau,
115 asg::AcceptData& accept) override;
116private:
117 float m_bDiTauCharge;
118 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
119};
120
121// class to perform ditau ID selection
122class DiTauSelectionCutOmniScore
123 : public DiTauSelectionCut
124{
125public:
126 DiTauSelectionCutOmniScore(DiTauSelectionTool* tDTST);
127 // method to add message about cut setup
128 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
129 // method to check if ditau passes the cut and return decision
130 virtual bool accept(const xAOD::DiTauJet& xTau,
131 asg::AcceptData& accept) override;
132private:
133 // method to fill control histograms
134 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
135};
136
137// class to perform ditau ID selection based on WPs
138class DiTauSelectionCutOmniIDWP
139 : public DiTauSelectionCut
140{
141public:
142 DiTauSelectionCutOmniIDWP(DiTauSelectionTool* tDTST);
143 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
144 virtual bool accept(const xAOD::DiTauJet& xTau,
145 asg::AcceptData& accept) override;
146private:
147 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
148};
149
150}
void setProperty(columnar::PythonToolHandle &self, const std::string &key, nb::object value)
StatusCode accept(const xAOD::Muon *mu)
T getProperty(const asg::IAsgTool *interface_tool, const std::string &prop_name)
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17