5#ifndef TAUANALYSISTOOLS_TAUSELECTIONCUTS_H
6#define TAUANALYSISTOOLS_TAUSELECTIONCUTS_H
29namespace ADD_CMODE(TauAnalysisTools)
32class TauSelectionTool;
38 TauSelectionCut(
const std::string& sName, TauSelectionTool* tTST);
39 virtual ~TauSelectionCut();
41 void writeControlHistograms();
44 virtual void setAcceptInfo (asg::AcceptInfo& info)
const = 0;
46 asg::AcceptData& accept) = 0;
47 std::unique_ptr<TH1F> CreateControlPlot(
const char* sName,
const char* sTitle,
int iBins,
double dXLow,
double dXUp);
54 void setProperty(
const std::string& name,
const std::string& value);
59 std::unique_ptr<TH1F> m_hHistCutPre;
60 std::unique_ptr<TH1F> m_hHistCut;
62 TauSelectionTool* m_tTST;
64 void declareProperty(
const std::string& name, std::string& loc);
65 std::map<std::string, std::string&> m_mProperties;
69 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const = 0;
72class TauSelectionCutPt
73 :
public TauSelectionCut
76 TauSelectionCutPt(TauSelectionTool* tTST);
77 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
79 asg::AcceptData& accept)
override;
81 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
84class TauSelectionCutAbsEta
85 :
public TauSelectionCut
88 TauSelectionCutAbsEta(TauSelectionTool* tTST);
89 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
91 asg::AcceptData& accept)
override;
93 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
96class TauSelectionCutAbsCharge
97 :
public TauSelectionCut
100 TauSelectionCutAbsCharge(TauSelectionTool* tTST);
101 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
103 asg::AcceptData& accept)
override;
105 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
108class TauSelectionCutNTracks
109 :
public TauSelectionCut
112 TauSelectionCutNTracks(TauSelectionTool* tTST);
113 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
115 asg::AcceptData& accept)
override;
117 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
120class TauSelectionCutRNNJetScoreSigTrans
121 :
public TauSelectionCut
124 TauSelectionCutRNNJetScoreSigTrans(TauSelectionTool* tTST);
125 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
127 asg::AcceptData& accept)
override;
129 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
132class TauSelectionCutGNTauScoreSigTrans
133 :
public TauSelectionCut
136 TauSelectionCutGNTauScoreSigTrans(TauSelectionTool* tTST);
137 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
139 asg::AcceptData& accept)
override;
141 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
144class TauSelectionCutJetIDWP
145 :
public TauSelectionCut
148 TauSelectionCutJetIDWP(TauSelectionTool* tTST);
149 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
151 asg::AcceptData& accept)
override;
153 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
156class TauSelectionCutRNNEleScoreSigTrans
157 :
public TauSelectionCut
160 TauSelectionCutRNNEleScoreSigTrans(TauSelectionTool* tTST);
161 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
163 asg::AcceptData& accept)
override;
165 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
168class TauSelectionCutEleIDWP
169 :
public TauSelectionCut
172 TauSelectionCutEleIDWP(TauSelectionTool* tTST);
173 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
175 asg::AcceptData& accept)
override;
177 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;
182class TauSelectionCutMuonOLR
183 :
public TauSelectionCut
186 TauSelectionCutMuonOLR(TauSelectionTool* tTST);
187 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
189 asg::AcceptData& accept)
override;
192 virtual void fillHistogram(
const xAOD::TauJet& xTau, TH1F& hHist)
const override;