ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauSelectionCuts.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_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#include "PATCore/AcceptData.h"
18#include "PATCore/AcceptInfo.h"
19
20// ROOT include(s):
21#include "TH1F.h"
22
23namespace TauAnalysisTools
24{
25
27
29{
30
31public:
32 DiTauSelectionCut(const std::string& sName, TauAnalysisTools::DiTauSelectionTool* tDTST);
33 virtual ~DiTauSelectionCut();
34
36 void fillHistogramCutPre(const xAOD::DiTauJet& xTau);
37 void fillHistogramCut(const xAOD::DiTauJet& xTau);
38 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
39 virtual bool accept(const xAOD::DiTauJet& xTau,
41 TH1F* CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
42
43 const std::string& getName()
44 {
45 return m_sName;
46 };
47
48 void setProperty(const std::string& name, const std::string& value);
49
50protected:
51 std::string m_sName;
52
55
57
58 void declareProperty(const std::string& name, std::string& loc);
59 std::map<std::string, std::string&> m_mProperties;
60 std::string getProperty(const std::string& name);
61
62private:
63 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const = 0;
64};
65
67 : public DiTauSelectionCut
68{
69public:
71 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
72 virtual bool accept(const xAOD::DiTauJet& xTau,
73 asg::AcceptData& accept) override;
74private:
75 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
76};
77
79 : public DiTauSelectionCut
80{
81public:
83 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
84 virtual bool accept(const xAOD::DiTauJet& xTau,
85 asg::AcceptData& accept) override;
86private:
87 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
88};
89
91 : public DiTauSelectionCut
92{
93public:
95 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
96 virtual bool accept(const xAOD::DiTauJet& xTau,
97 asg::AcceptData& accept) override;
98private:
99 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
100};
101
103 : public DiTauSelectionCut
104{
105public:
107 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
108 virtual bool accept(const xAOD::DiTauJet& xTau,
109 asg::AcceptData& accept) override;
110private:
112 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
113};
114
115// class to perform ditau ID selection
117 : public DiTauSelectionCut
118{
119public:
121 // method to add message about cut setup
122 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
123 // method to check if ditau passes the cut and return decision
124 virtual bool accept(const xAOD::DiTauJet& xTau,
125 asg::AcceptData& accept) override;
126private:
127 // method to fill control histograms
128 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
129};
130
131// class to perform ditau ID selection based on WPs
133 : public DiTauSelectionCut
134{
135public:
137 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
138 virtual bool accept(const xAOD::DiTauJet& xTau,
139 asg::AcceptData& accept) override;
140private:
141 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
142};
143
144}
145
146#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
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)
TH1F * CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
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