ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauSelectionCuts.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst
13*/
14
15// Framework include(s):
16#include "xAODTau/DiTauJet.h"
17
18// ROOT include(s):
19#include "TH1F.h"
20
21#include <memory>
22
23namespace asg{
24 class AcceptInfo;
25 class AcceptData;
26}
27
28namespace TauAnalysisTools
29{
30
32
34{
35
36public:
37 DiTauSelectionCut(const std::string& sName, TauAnalysisTools::DiTauSelectionTool* tDTST);
38 virtual ~DiTauSelectionCut();
39
41 void fillHistogramCutPre(const xAOD::DiTauJet& xTau);
42 void fillHistogramCut(const xAOD::DiTauJet& xTau);
43 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
44 virtual bool accept(const xAOD::DiTauJet& xTau,
46 std::unique_ptr<TH1F> CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
47
48 const std::string& getName()
49 {
50 return m_sName;
51 };
52
53 void setProperty(const std::string& name, const std::string& value);
54
55protected:
56 std::string m_sName;
57
58 std::unique_ptr<TH1F> m_hHistCutPre;
59 std::unique_ptr<TH1F> m_hHistCut;
60
62
63 void declareProperty(const std::string& name, std::string& loc);
64 std::map<std::string, std::string&> m_mProperties;
65 std::string getProperty(const std::string& name);
66
67private:
68 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const = 0;
69};
70
72 : public DiTauSelectionCut
73{
74public:
76 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
77 virtual bool accept(const xAOD::DiTauJet& xTau,
78 asg::AcceptData& accept) override;
79private:
80 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
81};
82
84 : public DiTauSelectionCut
85{
86public:
88 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
89 virtual bool accept(const xAOD::DiTauJet& xTau,
90 asg::AcceptData& accept) override;
91private:
92 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
93};
94
96 : public DiTauSelectionCut
97{
98public:
100 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
101 virtual bool accept(const xAOD::DiTauJet& xTau,
102 asg::AcceptData& accept) override;
103private:
104 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
105};
106
108 : public DiTauSelectionCut
109{
110public:
112 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
113 virtual bool accept(const xAOD::DiTauJet& xTau,
114 asg::AcceptData& accept) override;
115private:
117 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
118};
119
120// class to perform ditau ID selection
122 : public DiTauSelectionCut
123{
124public:
126 // method to add message about cut setup
127 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
128 // method to check if ditau passes the cut and return decision
129 virtual bool accept(const xAOD::DiTauJet& xTau,
130 asg::AcceptData& accept) override;
131private:
132 // method to fill control histograms
133 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
134};
135
136// class to perform ditau ID selection based on WPs
138 : public DiTauSelectionCut
139{
140public:
142 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
143 virtual bool accept(const xAOD::DiTauJet& xTau,
144 asg::AcceptData& accept) override;
145private:
146 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
147};
148
149}
150
151#endif // TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
DiTauSelectionCutPt(DiTauSelectionTool *tDTST)
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
std::unique_ptr< TH1F > CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
virtual void setAcceptInfo(asg::AcceptInfo &info) const =0
std::map< std::string, std::string & > m_mProperties
void fillHistogramCut(const xAOD::DiTauJet &xTau)
void fillHistogramCutPre(const xAOD::DiTauJet &xTau)
void setProperty(const std::string &name, const std::string &value)
void declareProperty(const std::string &name, std::string &loc)
DiTauSelectionCut(const std::string &sName, TauAnalysisTools::DiTauSelectionTool *tDTST)
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const =0
virtual bool accept(const xAOD::DiTauJet &xTau, asg::AcceptData &accept)=0
std::string getProperty(const std::string &name)
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17