ATLAS Offline Software
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/master/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"
20 
21 // EDM include(s):
22 #include "xAODTau/TauJet.h"
23 
24 // ROOT include(s):
25 #include "TFile.h"
26 
27 namespace TauAnalysisTools
28 {
29 
32 class ITauSelectionTool : public virtual asg::IAsgTool
33 {
34 
37 
38 public:
40  virtual StatusCode initialize() = 0;
41 
43  virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
44 
46  virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
47 
49  virtual asg::AcceptData accept( const xAOD::TauJet& tau ) const = 0;
50 
52  virtual void setOutFile( TFile* fOutFile ) = 0;
53 
55  virtual void writeControlHistograms() = 0;
56 }; // class ITauSelectionTool
57 
58 } // namespace TauAnalysisTools
59 
60 #endif // TAUANALYSISTOOLS_ITAUONSELECTIONTOOL_H
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TauAnalysisTools::ITauSelectionTool::initialize
virtual StatusCode initialize()=0
Declare the interface that the class provides.
TauAnalysisTools::ITauSelectionTool::setOutFile
virtual void setOutFile(TFile *fOutFile)=0
Set output file for histograms.
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
TauAnalysisTools::ITauSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *p) const =0
Get the decision using a generic IParticle pointer.
TauAnalysisTools::ITauSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::TauJet &tau) const =0
Get the decision for a specific TauJet object.
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
TauAnalysisTools::ITauSelectionTool
Interface for tau selector tool.
Definition: ITauSelectionTool.h:33
asg::AcceptInfo
Definition: AcceptInfo.h:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
AcceptData.h
TauAnalysisTools::ITauSelectionTool::writeControlHistograms
virtual void writeControlHistograms()=0
Write control histograms to output file.
TauAnalysisTools::ITauSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Get an object describing the "selection steps" of the tool.
AcceptInfo.h
TauJet.h
asg::AcceptData
Definition: AcceptData.h:30