ATLAS Offline Software
Loading...
Searching...
No Matches
IDiTauSelectionTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TAUANALYSISTOOLS_IDITAUONSELECTIONTOOL_H
8#define TAUANALYSISTOOLS_IDITAUONSELECTIONTOOL_H
9
10/*
11 author: Dirk Duschinger
12 mail: dirk.duschinger@cern.ch
13 contact email: antonio.de.maria@cern.ch
14 documentation in: https://gitlab.cern.ch/atlas/athena/-/blob/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-DiTauSelectionTool.rst
15*/
16
17// Framework include(s):
18#include "AsgTools/IAsgTool.h"
19#include "PATCore/AcceptInfo.h"
20#include "PATCore/AcceptData.h"
21
22// EDM include(s):
23#include "xAODTau/DiTauJet.h"
24
25// ROOT include(s):
26#include "TFile.h"
27
28namespace TauAnalysisTools
29{
30
33class IDiTauSelectionTool : public virtual asg::IAsgTool
34{
35
38
39public:
41 virtual StatusCode initialize() = 0;
42
44 virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
45
47 virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
48
50 virtual asg::AcceptData accept( const xAOD::DiTauJet& tau ) const = 0;
51
53 virtual void setOutFile( TFile* fOutFile ) = 0;
54
56 virtual void writeControlHistograms() = 0;
57}; // class IDiTauSelectionTool
58
59} // namespace TauAnalysisTools
60
61#endif // TAUANALYSISTOOLS_IDITAUONSELECTIONTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Interface for tau selector tool.
virtual asg::AcceptData accept(const xAOD::DiTauJet &tau) const =0
Get the decision for a specific TauJet object.
virtual StatusCode initialize()=0
Declare the interface that the class provides.
virtual void writeControlHistograms()=0
Write control histograms to output file.
virtual void setOutFile(TFile *fOutFile)=0
Set output file for histograms.
virtual asg::AcceptData accept(const xAOD::IParticle *p) const =0
Get the decision using a generic IParticle pointer.
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Get an object describing the "selection steps" of the tool.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17