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"
22
23// EDM include(s):
24#include "xAODTau/DiTauJet.h"
25
26// ROOT include(s):
27#include "TFile.h"
28
29namespace ADD_CMODE(TauAnalysisTools)
30{
31
34class IDiTauSelectionTool : public virtual asg::IAsgTool
35{
36
38 ASG_TOOL_INTERFACE( TauAnalysisTools::IDiTauSelectionTool )
39
40public:
42 virtual StatusCode initialize() = 0;
43
45 virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
46
48 virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
49
51 virtual asg::AcceptData accept( const xAOD::DiTauJet& tau ) const = 0;
52
54 virtual void setOutFile( TFile* fOutFile ) = 0;
55
57 virtual void writeControlHistograms() = 0;
58}; // class IDiTauSelectionTool
59
60} // namespace ADD_CMODE(TauAnalysisTools)
61
62#endif // TAUANALYSISTOOLS_IDITAUONSELECTIONTOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
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
void initialize()