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#include "PATCore/AcceptData.h"
17#include "PATCore/AcceptInfo.h"
18
19// ROOT include(s):
20#include "TH1F.h"
21
22#include <memory>
23
24namespace TauAnalysisTools
25{
26
28
30{
31
32public:
33 TauSelectionCut(const std::string& sName, TauAnalysisTools::TauSelectionTool* tTST);
34 virtual ~TauSelectionCut();
35
37 void fillHistogramCutPre(const xAOD::TauJet& xTau);
38 void fillHistogramCut(const xAOD::TauJet& xTau);
39 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
40 virtual bool accept(const xAOD::TauJet& xTau,
42 std::unique_ptr<TH1F> CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
43
44 const std::string& getName()
45 {
46 return m_sName;
47 };
48
49 void setProperty(const std::string& name, const std::string& value);
50
51protected:
52 std::string m_sName;
53
54 std::unique_ptr<TH1F> m_hHistCutPre;
55 std::unique_ptr<TH1F> m_hHistCut;
56
58
59 void declareProperty(const std::string& name, std::string& loc);
60 std::map<std::string, std::string&> m_mProperties;
61 std::string getProperty(const std::string& name);
62
63private:
64 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const = 0;
65};
66
68 : public TauSelectionCut
69{
70public:
72 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
73 virtual bool accept(const xAOD::TauJet& xTau,
74 asg::AcceptData& accept) override;
75private:
76 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
77};
78
80 : public TauSelectionCut
81{
82public:
84 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
85 virtual bool accept(const xAOD::TauJet& xTau,
86 asg::AcceptData& accept) override;
87private:
88 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
89};
90
92 : public TauSelectionCut
93{
94public:
96 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
97 virtual bool accept(const xAOD::TauJet& xTau,
98 asg::AcceptData& accept) override;
99private:
100 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
101};
102
104 : public TauSelectionCut
105{
106public:
108 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
109 virtual bool accept(const xAOD::TauJet& xTau,
110 asg::AcceptData& accept) override;
111private:
112 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
113};
114
116 : public TauSelectionCut
117{
118public:
120 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
121 virtual bool accept(const xAOD::TauJet& xTau,
122 asg::AcceptData& accept) override;
123private:
124 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
125};
126
128 : public TauSelectionCut
129{
130public:
132 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
133 virtual bool accept(const xAOD::TauJet& xTau,
134 asg::AcceptData& accept) override;
135private:
136 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
137};
138
140 : public TauSelectionCut
141{
142public:
144 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
145 virtual bool accept(const xAOD::TauJet& xTau,
146 asg::AcceptData& accept) override;
147private:
148 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
149};
150
152 : public TauSelectionCut
153{
154public:
156 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
157 virtual bool accept(const xAOD::TauJet& xTau,
158 asg::AcceptData& accept) override;
159private:
160 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
161};
162
164 : public TauSelectionCut
165{
166public:
168 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
169 virtual bool accept(const xAOD::TauJet& xTau,
170 asg::AcceptData& accept) override;
171private:
172 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
173};
174
175//added by Li-Gang Xia < ligang.xia@cern.ch >
176//to remove taus overlapping with muons satisfying pt > 2 GeV and not calo-tagged
178 : public TauSelectionCut
179{
180public:
182 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
183 virtual bool accept(const xAOD::TauJet& xTau,
184 asg::AcceptData& accept) override;
185private:
186 bool m_bTauMuonOLR; //False: overlapped, the tau is not kept. True: not overlapped, the tau is kept.)
187 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
188};
189
190
191}
192
193#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".