5#ifndef TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
6#define TAUANALYSISTOOLS_DITAUSELECTIONCUTS_H
29namespace ADD_CMODE(TauAnalysisTools)
32class DiTauSelectionTool;
34class DiTauSelectionCut
38 DiTauSelectionCut(
const std::string& sName, DiTauSelectionTool* tDTST);
39 virtual ~DiTauSelectionCut();
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 DiTauSelectionTool* m_tDTST{};
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::DiTauJet& xTau, TH1F& hHist)
const = 0;
72class DiTauSelectionCutPt
73 :
public DiTauSelectionCut
76 DiTauSelectionCutPt(DiTauSelectionTool* tDTST);
77 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
79 asg::AcceptData& accept)
override;
81 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;
84class DiTauSelectionCutAbsEta
85 :
public DiTauSelectionCut
88 DiTauSelectionCutAbsEta(DiTauSelectionTool* tDTST);
89 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
91 asg::AcceptData& accept)
override;
93 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;
96class DiTauSelectionCutNSubjets
97 :
public DiTauSelectionCut
100 DiTauSelectionCutNSubjets(DiTauSelectionTool* tDTST);
101 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
103 asg::AcceptData& accept)
override;
105 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;
108class DiTauSelectionCutAbsCharge
109 :
public DiTauSelectionCut
112 DiTauSelectionCutAbsCharge(DiTauSelectionTool* tDTST);
113 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
115 asg::AcceptData& accept)
override;
117 float m_bDiTauCharge;
118 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;
122class DiTauSelectionCutOmniScore
123 :
public DiTauSelectionCut
126 DiTauSelectionCutOmniScore(DiTauSelectionTool* tDTST);
128 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
131 asg::AcceptData& accept)
override;
134 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;
138class DiTauSelectionCutOmniIDWP
139 :
public DiTauSelectionCut
142 DiTauSelectionCutOmniIDWP(DiTauSelectionTool* tDTST);
143 virtual void setAcceptInfo (asg::AcceptInfo& info)
const override;
145 asg::AcceptData& accept)
override;
147 virtual void fillHistogram(
const xAOD::DiTauJet& xTau, TH1F& hHist)
const override;