ATLAS Offline Software
Loading...
Searching...
No Matches
TauAnalysisTools::DiTauSelectionCutNSubjets Class Reference

#include <DiTauSelectionCuts.h>

Inheritance diagram for TauAnalysisTools::DiTauSelectionCutNSubjets:
Collaboration diagram for TauAnalysisTools::DiTauSelectionCutNSubjets:

Public Member Functions

 DiTauSelectionCutNSubjets (DiTauSelectionTool *tDTST)
virtual void setAcceptInfo (asg::AcceptInfo &info) const override
virtual bool accept (const xAOD::DiTauJet &xTau, asg::AcceptData &accept) override
void writeControlHistograms ()
void fillHistogramCutPre (const xAOD::DiTauJet &xTau)
void fillHistogramCut (const xAOD::DiTauJet &xTau)
std::unique_ptr< TH1F > CreateControlPlot (const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
const std::string & getName ()
void setProperty (const std::string &name, const std::string &value)

Protected Member Functions

void declareProperty (const std::string &name, std::string &loc)
std::string getProperty (const std::string &name)

Protected Attributes

std::string m_sName
std::unique_ptr< TH1F > m_hHistCutPre
std::unique_ptr< TH1F > m_hHistCut
DiTauSelectionToolm_tDTST
std::map< std::string, std::string & > m_mProperties

Private Member Functions

virtual void fillHistogram (const xAOD::DiTauJet &xTau, TH1F &hHist) const override

Detailed Description

Definition at line 92 of file DiTauSelectionCuts.h.

Constructor & Destructor Documentation

◆ DiTauSelectionCutNSubjets()

DiTauSelectionCutNSubjets::DiTauSelectionCutNSubjets ( DiTauSelectionTool * tDTST)

Definition at line 173 of file DiTauSelectionCuts.cxx.

174 : DiTauSelectionCut("CutNSubjets", tDTST)
175{
176 m_hHistCutPre = CreateControlPlot("hNSubjets_pre","NSubjets_pre;di-#tau NSubjets; events",30,0,30);
177 m_hHistCut = CreateControlPlot("hNSubjets_cut","NSubjets_cut;di-#tau NSubjets; events",30,0,30);
178}
std::unique_ptr< TH1F > CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
DiTauSelectionCut(const std::string &sName, TauAnalysisTools::DiTauSelectionTool *tDTST)

Member Function Documentation

◆ accept()

bool DiTauSelectionCutNSubjets::accept ( const xAOD::DiTauJet & xTau,
asg::AcceptData & accept )
overridevirtual

Implements TauAnalysisTools::DiTauSelectionCut.

Definition at line 193 of file DiTauSelectionCuts.cxx.

195{
196 float nsubjets = xDiTau.nSubjets();
197 // in case of only one entry in vector, run for lower limits
198 if (m_tDTST->m_vNSubjetsRegion.size() == 1)
199 {
200 if ( nsubjets >= m_tDTST->m_vNSubjetsRegion.at(0) )
201 {
202 acceptData.setCutResult( "NSubjets", true );
203 return true;
204 }
205 }
206 unsigned int iNumNSubjetsRegion = m_tDTST->m_vNSubjetsRegion.size()/2;
207 for( unsigned int iNSubjetsRegion = 0; iNSubjetsRegion < iNumNSubjetsRegion; iNSubjetsRegion++ )
208 {
209 if ( nsubjets >= m_tDTST->m_vNSubjetsRegion.at(iNSubjetsRegion*2) and nsubjets <= m_tDTST->m_vNSubjetsRegion.at(iNSubjetsRegion*2+1))
210 {
211 acceptData.setCutResult( "NSubjets", true );
212 return true;
213 }
214 }
215 m_tDTST->msg() << MSG::VERBOSE << "DiTau failed NSubjets requirement, ditau number of subjets: " << nsubjets << endmsg;
216 return false;
217}
#define endmsg

◆ CreateControlPlot()

std::unique_ptr< TH1F > DiTauSelectionCut::CreateControlPlot ( const char * sName,
const char * sTitle,
int iBins,
double dXLow,
double dXUp )
inherited

Definition at line 31 of file DiTauSelectionCuts.cxx.

32{
33 if (m_tDTST->m_bCreateControlPlots)
34 {
35 auto hHist = std::make_unique<TH1F>(sName, sTitle, iBins, dXLow, dXUp);
36 hHist->SetDirectory(0);
37 return hHist;
38 }
39
40 return nullptr;
41}

◆ declareProperty()

void DiTauSelectionCut::declareProperty ( const std::string & name,
std::string & loc )
protectedinherited

Definition at line 66 of file DiTauSelectionCuts.cxx.

67{
68 std::pair<std::string, std::string&> p(name, loc);
69 m_mProperties.insert(p);
70}
std::map< std::string, std::string & > m_mProperties

◆ fillHistogram()

void DiTauSelectionCutNSubjets::fillHistogram ( const xAOD::DiTauJet & xTau,
TH1F & hHist ) const
overrideprivatevirtual

Implements TauAnalysisTools::DiTauSelectionCut.

Definition at line 181 of file DiTauSelectionCuts.cxx.

182{
183 hHist.Fill(xDiTau.nSubjets());
184}

◆ fillHistogramCut()

void DiTauSelectionCut::fillHistogramCut ( const xAOD::DiTauJet & xTau)
inherited

Definition at line 50 of file DiTauSelectionCuts.cxx.

51{
52 fillHistogram(xDiTau, *m_hHistCut);
53}
virtual void fillHistogram(const xAOD::DiTauJet &xTau, TH1F &hHist) const =0

◆ fillHistogramCutPre()

void DiTauSelectionCut::fillHistogramCutPre ( const xAOD::DiTauJet & xTau)
inherited

Definition at line 44 of file DiTauSelectionCuts.cxx.

45{
47}

◆ getName()

const std::string & TauAnalysisTools::DiTauSelectionCut::getName ( )
inlineinherited

Definition at line 45 of file DiTauSelectionCuts.h.

46 {
47 return m_sName;
48 };

◆ getProperty()

std::string DiTauSelectionCut::getProperty ( const std::string & name)
protectedinherited

Definition at line 73 of file DiTauSelectionCuts.cxx.

74{
75 std::map<std::string, std::string&>::iterator it = m_mProperties.find(name);
76 if(it == m_mProperties.end() )
77 throw std::runtime_error (("Undeclared property: " + name + "\n").c_str());
78
79 return it->second;
80}

◆ setAcceptInfo()

void DiTauSelectionCutNSubjets::setAcceptInfo ( asg::AcceptInfo & info) const
overridevirtual

Implements TauAnalysisTools::DiTauSelectionCut.

Definition at line 187 of file DiTauSelectionCuts.cxx.

188{
189 info.addCut( "NSubjets",
190 "Selection of ditaus according to their number of subjets" );
191}

◆ setProperty()

void DiTauSelectionCut::setProperty ( const std::string & name,
const std::string & value )
inherited

Definition at line 57 of file DiTauSelectionCuts.cxx.

58{
59 std::map<std::string, std::string&>::iterator it = m_mProperties.find(name);
60 if(it == m_mProperties.end() )
61 throw std::runtime_error (("Undeclared property: " + name + "\n").c_str());
62 it->second = value;
63}

◆ writeControlHistograms()

void DiTauSelectionCut::writeControlHistograms ( )
inherited

Definition at line 24 of file DiTauSelectionCuts.cxx.

25{
26 m_hHistCutPre->Write();
27 m_hHistCut->Write();
28}

Member Data Documentation

◆ m_hHistCut

std::unique_ptr<TH1F> TauAnalysisTools::DiTauSelectionCut::m_hHistCut
protectedinherited

Definition at line 56 of file DiTauSelectionCuts.h.

◆ m_hHistCutPre

std::unique_ptr<TH1F> TauAnalysisTools::DiTauSelectionCut::m_hHistCutPre
protectedinherited

Definition at line 55 of file DiTauSelectionCuts.h.

◆ m_mProperties

std::map<std::string, std::string&> TauAnalysisTools::DiTauSelectionCut::m_mProperties
protectedinherited

Definition at line 61 of file DiTauSelectionCuts.h.

◆ m_sName

std::string TauAnalysisTools::DiTauSelectionCut::m_sName
protectedinherited

Definition at line 53 of file DiTauSelectionCuts.h.

◆ m_tDTST

DiTauSelectionTool* TauAnalysisTools::DiTauSelectionCut::m_tDTST
protectedinherited

Definition at line 58 of file DiTauSelectionCuts.h.


The documentation for this class was generated from the following files: