ATLAS Offline Software
Loading...
Searching...
No Matches
ITauToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TAURECTOOLS_ITAUTOOLBASE_H
6#define TAURECTOOLS_ITAUTOOLBASE_H
7
8#include "AsgTools/IAsgTool.h"
9#include "xAODTau/TauJet.h"
15#include <boost/dynamic_bitset.hpp>
16
17#ifndef XAOD_ANALYSIS
19#endif
20
28
29class ITauToolBase : virtual public asg::IAsgTool
30{
31 public:
32
34
35 virtual ~ITauToolBase() {}
36
37 //-----------------------------------------------------------------
39 //-----------------------------------------------------------------
40 virtual StatusCode initialize() = 0;
41
42 //-----------------------------------------------------------------
44 //-----------------------------------------------------------------
45 virtual StatusCode eventInitialize() = 0;
46
47 //-----------------------------------------------------------------
49 //-----------------------------------------------------------------
50 virtual StatusCode execute(xAOD::TauJet& pTau) const = 0;
51 virtual StatusCode executeVertexFinder(xAOD::TauJet& pTau,
52 const xAOD::VertexContainer* vertexContainer = nullptr) const = 0;
53 virtual StatusCode executeTrackFinder(xAOD::TauJet& pTau, xAOD::TauTrackContainer& tauTrackContainer) const = 0;
54 virtual StatusCode executeTrackClassifier(xAOD::TauJet& pTau, xAOD::TauTrackContainer& tauTrackContainer) const = 0;
55 virtual StatusCode executeShotFinder(xAOD::TauJet& pTau, xAOD::CaloClusterContainer& shotClusterContainer, xAOD::PFOContainer& PFOContainer ) const = 0;
56 virtual StatusCode executePi0ClusterCreator(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer,
57 xAOD::PFOContainer& hadronicPFOContainer,
58 const xAOD::CaloClusterContainer& pCaloClusterContainer ) const = 0;
59 virtual StatusCode executeVertexVariables(xAOD::TauJet& pTau, xAOD::VertexContainer& vertexContainer ) const = 0;
60 virtual StatusCode executePi0ClusterScaler(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer, xAOD::PFOContainer& chargedPFOContainer ) const = 0;
61 virtual StatusCode executePi0nPFO(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer) const = 0;
62 virtual StatusCode executePanTau(xAOD::TauJet& pTau, xAOD::ParticleContainer& particleContainer, xAOD::PFOContainer& neutralPFOContainer) const = 0;
63
64#ifdef XAOD_ANALYSIS
65 // non-const version is needed in THOR
66 virtual StatusCode executeDev(xAOD::TauJet& pTau) = 0;
67#else
68 // CaloCellContainer not available in AnalysisBase
69 virtual StatusCode executePi0CreateROI(xAOD::TauJet& pTau, CaloConstCellContainer& caloCellContainer, boost::dynamic_bitset<>& map ) const = 0;
70#endif
71
72 //-----------------------------------------------------------------
74 //-----------------------------------------------------------------
75 virtual StatusCode eventFinalize() = 0;
76
77 //-----------------------------------------------------------------
79 //-----------------------------------------------------------------
80 virtual StatusCode finalize() = 0;
81
82 //make pure
83 virtual StatusCode readConfig() = 0;
84
85};
86
87#endif // TAURECTOOLS_ITAUTOOLBASE_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
CaloCellContainer that can accept const cell pointers.
CaloCellContainer that can accept const cell pointers.
The base class for all tau tools.
virtual StatusCode executeVertexVariables(xAOD::TauJet &pTau, xAOD::VertexContainer &vertexContainer) const =0
virtual StatusCode executeVertexFinder(xAOD::TauJet &pTau, const xAOD::VertexContainer *vertexContainer=nullptr) const =0
virtual StatusCode executeTrackClassifier(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const =0
virtual StatusCode readConfig()=0
virtual StatusCode executePi0ClusterCreator(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &hadronicPFOContainer, const xAOD::CaloClusterContainer &pCaloClusterContainer) const =0
virtual StatusCode execute(xAOD::TauJet &pTau) const =0
Execute - called for each tau candidate.
virtual StatusCode eventInitialize()=0
Event initializer - called at the beginning of each event.
virtual StatusCode executePanTau(xAOD::TauJet &pTau, xAOD::ParticleContainer &particleContainer, xAOD::PFOContainer &neutralPFOContainer) const =0
virtual StatusCode executePi0CreateROI(xAOD::TauJet &pTau, CaloConstCellContainer &caloCellContainer, boost::dynamic_bitset<> &map) const =0
virtual StatusCode executePi0ClusterScaler(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &chargedPFOContainer) const =0
virtual StatusCode initialize()=0
Tool initializer.
virtual StatusCode eventFinalize()=0
Event finalizer - called at the end of each event.
virtual StatusCode executeShotFinder(xAOD::TauJet &pTau, xAOD::CaloClusterContainer &shotClusterContainer, xAOD::PFOContainer &PFOContainer) const =0
virtual StatusCode executeTrackFinder(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const =0
virtual StatusCode executePi0nPFO(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer) const =0
virtual StatusCode finalize()=0
Finalizer.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
STL class.
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
ParticleContainer_v1 ParticleContainer
Define the latest version of the particle class.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TauJet_v3 TauJet
Definition of the current "tau version".
TauTrackContainer_v1 TauTrackContainer
Definition of the current TauTrack container version.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.