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#include "PATCore/AcceptData.h"
18#include "PATCore/AcceptInfo.h"
19
20// ROOT include(s):
21#include "TH1F.h"
22
23#include <memory>
24
25namespace TauAnalysisTools
26{
27
29
31{
32
33public:
34 DiTauSelectionCut(const std::string& sName, TauAnalysisTools::DiTauSelectionTool* tDTST);
35 virtual ~DiTauSelectionCut();
36
38 void fillHistogramCutPre(const xAOD::DiTauJet& xTau);
39 void fillHistogramCut(const xAOD::DiTauJet& xTau);
40 virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
41 virtual bool accept(const xAOD::DiTauJet& xTau,
43 std::unique_ptr<TH1F> CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
44
45 const std::string& getName()
46 {
47 return m_sName;
48 };
49
50 void setProperty(const std::string& name, const std::string& value);
51
52protected:
53 std::string m_sName;
54
55 std::unique_ptr<TH1F> m_hHistCutPre;
56 std::unique_ptr<TH1F> m_hHistCut;
57
59
60 void declareProperty(const std::string& name, std::string& loc);
61 std::map<std::string, std::string&> m_mProperties;
62 std::string getProperty(const std::string& name);
63
64private:
65 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const = 0;
66};
67
69 : public DiTauSelectionCut
70{
71public:
73 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
74 virtual bool accept(const xAOD::DiTauJet& xTau,
75 asg::AcceptData& accept) override;
76private:
77 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
78};
79
81 : public DiTauSelectionCut
82{
83public:
85 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
86 virtual bool accept(const xAOD::DiTauJet& xTau,
87 asg::AcceptData& accept) override;
88private:
89 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
90};
91
93 : public DiTauSelectionCut
94{
95public:
97 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
98 virtual bool accept(const xAOD::DiTauJet& xTau,
99 asg::AcceptData& accept) override;
100private:
101 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
102};
103
105 : public DiTauSelectionCut
106{
107public:
109 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
110 virtual bool accept(const xAOD::DiTauJet& xTau,
111 asg::AcceptData& accept) override;
112private:
114 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
115};
116
117// class to perform ditau ID selection
119 : public DiTauSelectionCut
120{
121public:
123 // method to add message about cut setup
124 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
125 // method to check if ditau passes the cut and return decision
126 virtual bool accept(const xAOD::DiTauJet& xTau,
127 asg::AcceptData& accept) override;
128private:
129 // method to fill control histograms
130 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
131};
132
133// class to perform ditau ID selection based on WPs
135 : public DiTauSelectionCut
136{
137public:
139 virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
140 virtual bool accept(const xAOD::DiTauJet& xTau,
141 asg::AcceptData& accept) override;
142private:
143 virtual void fillHistogram(const xAOD::DiTauJet& xTau, TH1F& hHist) const override;
144};
145
146}
147
148#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