ATLAS Offline Software
Loading...
Searching...
No Matches
IBuildTruthTaus.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TAUANALYSISTOOLS_IBUILDTRUTHTAUS_H
8#define TAUANALYSISTOOLS_IBUILDTRUTHTAUS_H
9
10/*
11 author: Dirk Duschinger
12 mail: dirk.duschinger@cern.ch
13 documentation in: ../README.rst
14*/
15
16// Framework include(s):
17#include "AsgTools/IAsgTool.h"
18
19// EDM include(s):
22// dummy EventContext for AnalysisBase
24
25namespace TauAnalysisTools
26{
27
29 public virtual asg::IAsgTool
30{
31
34
35public:
37 {
38 public:
39 virtual ~ITruthTausEvent() = default;
40 };
41
42 // initialize the tool
43 virtual StatusCode initialize() = 0;
44
45 // set truth matching mode, instead of truth building mode
46 virtual void setTruthMatchingMode() = 0;
47
48 virtual StatusCode retrieveTruthTaus() = 0;
49 virtual StatusCode retrieveTruthTaus(ITruthTausEvent& truthTausEvent, const EventContext& ctx) const = 0;
50
51}; // class IBuildTruthTaus
52
53} // namespace TauAnalysisTools
54
55#endif // TAUANALYSISTOOLS_IBUILDTRUTHTAUS_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Declare the interface that the class provides.
virtual StatusCode retrieveTruthTaus(ITruthTausEvent &truthTausEvent, const EventContext &ctx) const =0
virtual StatusCode retrieveTruthTaus()=0
virtual void setTruthMatchingMode()=0
virtual StatusCode initialize()=0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41