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"
19
20// EDM include(s):
23// dummy EventContext for AnalysisBase
25
26namespace ADD_CMODE(TauAnalysisTools)
27{
28
29class IBuildTruthTaus :
30 public virtual asg::IAsgTool
31{
32
34 ASG_TOOL_INTERFACE( TauAnalysisTools::IBuildTruthTaus )
35
36public:
37 class ITruthTausEvent
38 {
39 public:
40 virtual ~ITruthTausEvent() = default;
41 };
42
43 // initialize the tool
44 virtual StatusCode initialize() = 0;
45
46 // set truth matching mode, instead of truth building mode
47 virtual void setTruthMatchingMode() = 0;
48
49 virtual StatusCode retrieveTruthTaus() = 0;
50 virtual StatusCode retrieveTruthTaus(ITruthTausEvent& truthTausEvent, const EventContext& ctx) const = 0;
51
52}; // class IBuildTruthTaus
53
54} // namespace ADD_CMODE(TauAnalysisTools)
55
56#endif // TAUANALYSISTOOLS_IBUILDTRUTHTAUS_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
void initialize()