ATLAS Offline Software
Loading...
Searching...
No Matches
TauSelectionCuts.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_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
22namespace TauAnalysisTools
23{
24
26
28{
29
30public:
31 TauSelectionCut(const std::string& sName, TauAnalysisTools::TauSelectionTool* tTST);
32 virtual ~TauSelectionCut();
33
35 void fillHistogramCutPre(const xAOD::TauJet& xTau);
36 void fillHistogramCut(const xAOD::TauJet& xTau);
37 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
38 virtual bool accept(const xAOD::TauJet& xTau,
40 TH1F* CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
41
42 const std::string& getName()
43 {
44 return m_sName;
45 };
46
47 void setProperty(const std::string& name, const std::string& value);
48
49protected:
50 std::string m_sName;
51
54
56
57 void declareProperty(const std::string& name, std::string& loc);
58 std::map<std::string, std::string&> m_mProperties;
59 std::string getProperty(const std::string& name);
60
61private:
62 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const = 0;
63};
64
66 : public TauSelectionCut
67{
68public:
70 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
71 virtual bool accept(const xAOD::TauJet& xTau,
72 asg::AcceptData& accept) override;
73private:
74 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
75};
76
78 : public TauSelectionCut
79{
80public:
82 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
83 virtual bool accept(const xAOD::TauJet& xTau,
84 asg::AcceptData& accept) override;
85private:
86 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
87};
88
90 : public TauSelectionCut
91{
92public:
94 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
95 virtual bool accept(const xAOD::TauJet& xTau,
96 asg::AcceptData& accept) override;
97private:
98 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
99};
100
102 : public TauSelectionCut
103{
104public:
106 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
107 virtual bool accept(const xAOD::TauJet& xTau,
108 asg::AcceptData& accept) override;
109private:
110 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
111};
112
114 : public TauSelectionCut
115{
116public:
118 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
119 virtual bool accept(const xAOD::TauJet& xTau,
120 asg::AcceptData& accept) override;
121private:
122 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
123};
124
126 : public TauSelectionCut
127{
128public:
130 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
131 virtual bool accept(const xAOD::TauJet& xTau,
132 asg::AcceptData& accept) override;
133private:
134 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
135};
136
138 : public TauSelectionCut
139{
140public:
142 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
143 virtual bool accept(const xAOD::TauJet& xTau,
144 asg::AcceptData& accept) override;
145private:
146 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
147};
148
150 : public TauSelectionCut
151{
152public:
154 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
155 virtual bool accept(const xAOD::TauJet& xTau,
156 asg::AcceptData& accept) override;
157private:
158 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
159};
160
162 : public TauSelectionCut
163{
164public:
166 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
167 virtual bool accept(const xAOD::TauJet& xTau,
168 asg::AcceptData& accept) override;
169private:
170 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
171};
172
173//added by Li-Gang Xia < ligang.xia@cern.ch >
174//to remove taus overlapping with muons satisfying pt > 2 GeV and not calo-tagged
176 : public TauSelectionCut
177{
178public:
180 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
181 virtual bool accept(const xAOD::TauJet& xTau,
182 asg::AcceptData& accept) override;
183private:
184 bool m_bTauMuonOLR; //False: overlapped, the tau is not kept. True: not overlapped, the tau is kept.)
185 virtual void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist) const override;
186};
187
188
189}
190
191#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)
TauSelectionCut(const std::string &sName, TauAnalysisTools::TauSelectionTool *tTST)
TH1F * CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
std::map< std::string, std::string & > m_mProperties
TauJet_v3 TauJet
Definition of the current "tau version".