ATLAS Offline Software
Loading...
Searching...
No Matches
TauSelectionCuts.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_TAUSELECTIONCUTS_H
6#define TAUANALYSISTOOLS_TAUSELECTIONCUTS_H
7
8/*
9 author: Dirk Duschinger
10 mail: dirk.duschinger@cern.ch
11 documentation in: https://gitlab.cern.ch/atlas/athena/-/blob/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst
12*/
13
14// Framework include(s):
15#include "xAODTau/TauJet.h"
16
17
18// ROOT include(s):
19#include "TH1F.h"
20
21#include <memory>
22
23namespace asg{
24 class AcceptData;
25 class AcceptInfo;
26}
27
28namespace TauAnalysisTools
29{
30
32
34{
35
36public:
37 TauSelectionCut(const std::string& sName, TauAnalysisTools::TauSelectionTool* tTST);
38 virtual ~TauSelectionCut();
39
41 void fillHistogramCutPre(const xAOD::TauJet& xTau);
42 void fillHistogramCut(const xAOD::TauJet& xTau);
43 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
44 virtual bool accept(const xAOD::TauJet& 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::TauJet& xTau, TH1F& hHist) const = 0;
69};
70
72 : public TauSelectionCut
73{
74public:
76 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
77 virtual bool accept(const xAOD::TauJet& xTau,
78 asg::AcceptData& accept) override;
79private:
80 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
81};
82
84 : public TauSelectionCut
85{
86public:
88 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
89 virtual bool accept(const xAOD::TauJet& xTau,
90 asg::AcceptData& accept) override;
91private:
92 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
93};
94
96 : public TauSelectionCut
97{
98public:
100 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
101 virtual bool accept(const xAOD::TauJet& xTau,
102 asg::AcceptData& accept) override;
103private:
104 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
105};
106
108 : public TauSelectionCut
109{
110public:
112 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
113 virtual bool accept(const xAOD::TauJet& xTau,
114 asg::AcceptData& accept) override;
115private:
116 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
117};
118
120 : public TauSelectionCut
121{
122public:
124 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
125 virtual bool accept(const xAOD::TauJet& xTau,
126 asg::AcceptData& accept) override;
127private:
128 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
129};
130
132 : public TauSelectionCut
133{
134public:
136 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
137 virtual bool accept(const xAOD::TauJet& xTau,
138 asg::AcceptData& accept) override;
139private:
140 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
141};
142
144 : public TauSelectionCut
145{
146public:
148 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
149 virtual bool accept(const xAOD::TauJet& xTau,
150 asg::AcceptData& accept) override;
151private:
152 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
153};
154
156 : public TauSelectionCut
157{
158public:
160 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
161 virtual bool accept(const xAOD::TauJet& xTau,
162 asg::AcceptData& accept) override;
163private:
164 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
165};
166
168 : public TauSelectionCut
169{
170public:
172 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
173 virtual bool accept(const xAOD::TauJet& xTau,
174 asg::AcceptData& accept) override;
175private:
176 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
177};
178
179//added by Li-Gang Xia < ligang.xia@cern.ch >
180//to remove taus overlapping with muons satisfying pt > 2 GeV and not calo-tagged
182 : public TauSelectionCut
183{
184public:
186 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
187 virtual bool accept(const xAOD::TauJet& xTau,
188 asg::AcceptData& accept) override;
189private:
190 bool m_bTauMuonOLR; //False: overlapped, the tau is not kept. True: not overlapped, the tau is kept.)
191 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
192};
193
194
195}
196
197#endif // TAUANALYSISTOOLS_TAUSELECTIONCUTS_H
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
TauSelectionCutPt(TauSelectionTool *tTST)
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const override
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept) override
virtual void setAcceptInfo(asg::AcceptInfo &info) const override
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const =0
void fillHistogramCutPre(const xAOD::TauJet &xTau)
void declareProperty(const std::string &name, std::string &loc)
void setProperty(const std::string &name, const std::string &value)
virtual void setAcceptInfo(asg::AcceptInfo &info) const =0
std::string getProperty(const std::string &name)
virtual bool accept(const xAOD::TauJet &xTau, asg::AcceptData &accept)=0
void fillHistogramCut(const xAOD::TauJet &xTau)
std::unique_ptr< TH1F > CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
TauSelectionCut(const std::string &sName, TauAnalysisTools::TauSelectionTool *tTST)
std::unique_ptr< TH1F > m_hHistCut
std::map< std::string, std::string & > m_mProperties
std::unique_ptr< TH1F > m_hHistCutPre
TauJet_v3 TauJet
Definition of the current "tau version".
Definition TauJet.h:17