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

#include <TauSelectionCuts.h>

Inheritance diagram for TauAnalysisTools::TauSelectionCutNTracks:
Collaboration diagram for TauAnalysisTools::TauSelectionCutNTracks:

Public Member Functions

 TauSelectionCutNTracks (TauSelectionTool *tTST)
virtual void setAcceptInfo (asg::AcceptInfo &info) const override
virtual bool accept (const xAOD::TauJet &xTau, asg::AcceptData &accept) override
void writeControlHistograms ()
void fillHistogramCutPre (const xAOD::TauJet &xTau)
void fillHistogramCut (const xAOD::TauJet &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
TauSelectionTool * m_tTST
std::map< std::string, std::string & > m_mProperties

Private Member Functions

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

Detailed Description

Definition at line 107 of file TauSelectionCuts.h.

Constructor & Destructor Documentation

◆ TauSelectionCutNTracks()

TauSelectionCutNTracks::TauSelectionCutNTracks ( TauSelectionTool * tTST)

Definition at line 219 of file TauSelectionCuts.cxx.

220 : TauSelectionCut("CutNTrack", tTST)
221{
222 m_hHistCutPre = CreateControlPlot("hNTrack_pre","NTrack_pre;number of tracks; events",22,-1.5,20.5);
223 m_hHistCut = CreateControlPlot("hNTrack_cut","NTrack_cut;number of tracks; events",22,-1.5,20.5);
224}
std::unique_ptr< TH1F > CreateControlPlot(const char *sName, const char *sTitle, int iBins, double dXLow, double dXUp)
TauSelectionCut(const std::string &sName, TauAnalysisTools::TauSelectionTool *tTST)
std::unique_ptr< TH1F > m_hHistCut
std::unique_ptr< TH1F > m_hHistCutPre

Member Function Documentation

◆ accept()

bool TauSelectionCutNTracks::accept ( const xAOD::TauJet & xTau,
asg::AcceptData & accept )
overridevirtual

Implements TauAnalysisTools::TauSelectionCut.

Definition at line 239 of file TauSelectionCuts.cxx.

241{
242 // check track multiplicity, if tau has one of the number of tracks requiered then return true; false otherwise
243 for( size_t iNumTrack = 0; iNumTrack < m_tTST->m_vNTracks.size(); iNumTrack++ )
244 {
245 if ( static_cast<unsigned> (xTau.nTracks()) == m_tTST->m_vNTracks.at(iNumTrack) )
246 {
247 acceptData.setCutResult( "NTrack", true );
248 return true;
249 }
250 }
251 m_tTST->msg() << MSG::VERBOSE << "Tau failed nTracks requirement, tau number of tracks: " << xTau.nTracks() << endmsg;
252 return false;
253}
#define endmsg
size_t nTracks(TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged) const

◆ CreateControlPlot()

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

Definition at line 40 of file TauSelectionCuts.cxx.

41{
42 if (m_tTST->m_bCreateControlPlots)
43 {
44 auto hHist = std::make_unique<TH1F>(sName, sTitle, iBins, dXLow, dXUp);
45 hHist->SetDirectory(0);
46 return hHist;
47 }
48
49 return nullptr;
50}

◆ declareProperty()

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

Definition at line 75 of file TauSelectionCuts.cxx.

76{
77 m_mProperties.try_emplace(name, loc);
78}
std::map< std::string, std::string & > m_mProperties

◆ fillHistogram()

void TauSelectionCutNTracks::fillHistogram ( const xAOD::TauJet & xTau,
TH1F & hHist ) const
overrideprivatevirtual

Implements TauAnalysisTools::TauSelectionCut.

Definition at line 227 of file TauSelectionCuts.cxx.

228{
229 hHist.Fill(xTau.nTracks());
230}

◆ fillHistogramCut()

void TauSelectionCut::fillHistogramCut ( const xAOD::TauJet & xTau)
inherited

Definition at line 59 of file TauSelectionCuts.cxx.

60{
62}
virtual void fillHistogram(const xAOD::TauJet &xTau, TH1F &hHist) const =0

◆ fillHistogramCutPre()

void TauSelectionCut::fillHistogramCutPre ( const xAOD::TauJet & xTau)
inherited

Definition at line 53 of file TauSelectionCuts.cxx.

54{
56}

◆ getName()

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

Definition at line 48 of file TauSelectionCuts.h.

49 {
50 return m_sName;
51 };

◆ getProperty()

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

Definition at line 81 of file TauSelectionCuts.cxx.

82{
83 std::map<std::string, std::string&>::iterator it = m_mProperties.find(name);
84 if(it == m_mProperties.end() )
85 throw std::runtime_error (("Undeclared property: " + name + "\n").c_str());
86
87 return it->second;
88}

◆ setAcceptInfo()

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

Implements TauAnalysisTools::TauSelectionCut.

Definition at line 233 of file TauSelectionCuts.cxx.

234{
235 info.addCut( "NTrack",
236 "Selection of taus according to their number of associated tracks" );
237}

◆ setProperty()

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

Definition at line 66 of file TauSelectionCuts.cxx.

67{
68 std::map<std::string, std::string&>::iterator it = m_mProperties.find(name);
69 if(it == m_mProperties.end() )
70 throw std::runtime_error (("Undeclared property: " + name + "\n").c_str());
71 it->second = value;
72}

◆ writeControlHistograms()

void TauSelectionCut::writeControlHistograms ( )
inherited

Definition at line 33 of file TauSelectionCuts.cxx.

34{
35 m_hHistCutPre->Write();
36 m_hHistCut->Write();
37}

Member Data Documentation

◆ m_hHistCut

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

Definition at line 59 of file TauSelectionCuts.h.

◆ m_hHistCutPre

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

Definition at line 58 of file TauSelectionCuts.h.

◆ m_mProperties

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

Definition at line 64 of file TauSelectionCuts.h.

◆ m_sName

std::string TauAnalysisTools::TauSelectionCut::m_sName
protectedinherited

Definition at line 56 of file TauSelectionCuts.h.

◆ m_tTST

TauSelectionTool* TauAnalysisTools::TauSelectionCut::m_tTST
protectedinherited

Definition at line 61 of file TauSelectionCuts.h.


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