ATLAS Offline Software
Loading...
Searching...
No Matches
ITauSelectionTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TAUANALYSISTOOLS_ITAUONSELECTIONTOOL_H
8#define TAUANALYSISTOOLS_ITAUONSELECTIONTOOL_H
9
10/*
11 author: Dirk Duschinger
12 mail: dirk.duschinger@cern.ch
13 documentation in: https://gitlab.cern.ch/atlas/athena/-/blob/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst
14*/
15
16// Framework include(s):
17#include "AsgTools/IAsgTool.h"
18#include "PATCore/AcceptInfo.h"
19#include "PATCore/AcceptData.h"
21
22// EDM include(s):
23#include "xAODTau/TauJet.h"
24
25// ROOT include(s):
26#include "TFile.h"
27
28namespace ADD_CMODE(TauAnalysisTools)
29{
30
33class ITauSelectionTool : public virtual asg::IAsgTool
34{
35
37 ASG_TOOL_INTERFACE( TauAnalysisTools::ITauSelectionTool )
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::TauJet& tau ) const = 0;
51
53 virtual void setOutFile( TFile* fOutFile ) = 0;
54
56 virtual void writeControlHistograms() = 0;
57}; // class ITauSelectionTool
58
59} // namespace ADD_CMODE(TauAnalysisTools)
60
61#endif // TAUANALYSISTOOLS_ITAUONSELECTIONTOOL_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.
TauJet_v3 TauJet
Definition of the current "tau version".
Definition TauJet.h:17
void initialize()