ATLAS Offline Software
PhysicsAnalysis
TrackingID
InDetTrackSystematicsTools
InDetTrackSystematicsTools
JetTrackFilterTool.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
/*
3
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
4
*/
5
6
#ifndef INDETTRACKSYSTEMATICSTOOLS_JETTRACKFILTERTOOL_H
7
#define INDETTRACKSYSTEMATICSTOOLS_JETTRACKFILTERTOOL_H
8
9
#include "
InDetTrackSystematicsTools/IJetTrackFilterTool.h
"
10
#include "
AsgTools/AsgTool.h
"
11
#include "
AsgTools/ToolHandle.h
"
12
#include "
PATInterfaces/SystematicVariation.h
"
13
#include "
PATInterfaces/SystematicSet.h
"
14
#include "
xAODTracking/TrackParticleFwd.h
"
15
#include "
xAODJet/JetContainer.h
"
16
#include "
InDetTrackSystematicsTools/InDetTrackSystematicsTool.h
"
17
18
#include <string>
19
20
class
TH1
;
21
class
TH2
;
22
class
TRandom3;
23
class
TFile;
24
25
namespace
InDet
{
26
27
class
IInDetTrackTruthOriginTool;
28
32
33
class
JetTrackFilterTool
34
:
public
virtual
IJetTrackFilterTool
35
,
public
virtual
InDetTrackSystematicsTool
36
// , public asg::AsgTool
37
{
38
39
// create constructor for Athena
40
ASG_TOOL_CLASS
(
JetTrackFilterTool
,
41
InDet::IJetTrackFilterTool
)
42
43
public
:
44
// create constructor for standalone Root
45
JetTrackFilterTool
(
const
std::string&
name
);
46
virtual
~
JetTrackFilterTool
();
47
48
// static const InterfaceID& interfaceID();
49
virtual
StatusCode
initialize
()
override
;
50
virtual
void
prepare
()
override
{};
51
52
// right now this returns a bool; if we want to implement the ASG selection tool interface then this will need to change to a TAccept
53
virtual
bool
accept
(
const
xAOD::TrackParticle
*,
const
xAOD::Jet
* )
const override
;
54
virtual
bool
accept
(
const
xAOD::TrackParticle
*,
const
xAOD::JetContainer
* )
const override
;
55
57
virtual
bool
isAffectedBySystematic
(
const
CP::SystematicVariation
& )
const override
;
59
virtual
CP::SystematicSet
affectingSystematics
()
const override
;
61
virtual
CP::SystematicSet
recommendedSystematics
()
const override
;
63
virtual
StatusCode
applySystematicVariation
(
const
CP::SystematicSet
& )
override
;
64
65
private
:
66
67
float
getNomTrkEff
(
const
xAOD::TrackParticle
*)
const
;
68
69
int
m_seed
= 0;
70
std::unique_ptr<TRandom3>
m_rnd
;
71
double
m_deltaR
= 0.1;
72
float
m_trkEffSystScale
= 1.0;
73
74
TH2
*
m_trkNomEff
=
nullptr
;
75
76
// allow the user to configure which calibration file to use if desired
77
std::string
m_calibFileNomEff
;
78
79
double
m_effUncertTIDE
= 0.24;
80
double
m_fakeUncertTIDE
= 0.35;
81
82
ToolHandle< IInDetTrackTruthOriginTool >
m_trackOriginTool
;
83
84
};
// class JetTrackFilterTool
85
86
}
// namespace InDet
87
88
#endif
InDet::JetTrackFilterTool::m_calibFileNomEff
std::string m_calibFileNomEff
Definition:
JetTrackFilterTool.h:77
InDet::InDetTrackSystematicsTool
Definition:
InDetTrackSystematicsTool.h:22
InDet
DUMMY Primary Vertex Finder.
Definition:
VP1ErrorUtils.h:36
InDet::JetTrackFilterTool::initialize
virtual StatusCode initialize() override
Definition:
JetTrackFilterTool.cxx:45
InDet::JetTrackFilterTool::m_deltaR
double m_deltaR
Definition:
JetTrackFilterTool.h:71
SystematicSet.h
CP::SystematicSet
Class to wrap a set of SystematicVariations.
Definition:
SystematicSet.h:31
InDet::JetTrackFilterTool::m_effUncertTIDE
double m_effUncertTIDE
Definition:
JetTrackFilterTool.h:79
CP::SystematicVariation
Definition:
SystematicVariation.h:47
InDet::JetTrackFilterTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const override
returns: list of recommended systematics to use with this tool
Definition:
JetTrackFilterTool.cxx:146
InDet::JetTrackFilterTool::m_trkEffSystScale
float m_trkEffSystScale
Definition:
JetTrackFilterTool.h:72
InDet::JetTrackFilterTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &) override
configure the tool to apply a given list of systematic variations
Definition:
JetTrackFilterTool.cxx:151
InDet::JetTrackFilterTool::m_rnd
std::unique_ptr< TRandom3 > m_rnd
Definition:
JetTrackFilterTool.h:70
InDet::JetTrackFilterTool::accept
virtual bool accept(const xAOD::TrackParticle *, const xAOD::Jet *) const override
Definition:
JetTrackFilterTool.cxx:69
InDet::JetTrackFilterTool::getNomTrkEff
float getNomTrkEff(const xAOD::TrackParticle *) const
Definition:
JetTrackFilterTool.cxx:125
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::JetTrackFilterTool::m_trkNomEff
TH2 * m_trkNomEff
Definition:
JetTrackFilterTool.h:74
InDet::JetTrackFilterTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const override
returns: list of systematics this tool can be affected by
Definition:
JetTrackFilterTool.cxx:141
InDet::JetTrackFilterTool::m_seed
int m_seed
Definition:
JetTrackFilterTool.h:69
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
TH2
Definition:
rootspy.cxx:373
IJetTrackFilterTool.h
InDet::JetTrackFilterTool
Definition:
JetTrackFilterTool.h:37
InDet::JetTrackFilterTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &) const override
returns: whether the tool is affected by the systematic
Definition:
JetTrackFilterTool.cxx:136
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:192
InDetTrackSystematicsTool.h
xAOD::Jet_v1
Class describing a jet.
Definition:
Jet_v1.h:57
JetContainer.h
InDet::JetTrackFilterTool::prepare
virtual void prepare() override
Definition:
JetTrackFilterTool.h:50
TH1
Definition:
rootspy.cxx:268
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition:
AsgToolMacros.h:68
TrackParticleFwd.h
InDet::JetTrackFilterTool::m_trackOriginTool
ToolHandle< IInDetTrackTruthOriginTool > m_trackOriginTool
Definition:
JetTrackFilterTool.h:82
InDet::JetTrackFilterTool::m_fakeUncertTIDE
double m_fakeUncertTIDE
Definition:
JetTrackFilterTool.h:80
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
ToolHandle.h
InDet::IJetTrackFilterTool
Definition:
IJetTrackFilterTool.h:24
AsgTool.h
SystematicVariation.h
Generated on Sun Jun 30 2024 21:19:02 for ATLAS Offline Software by
1.8.18