ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigMonitoring
TrigIDR4Monitoring
src
TauJetTraits.h
Go to the documentation of this file.
1
// emacs: this is -*- c++ -*-
13
14
#ifndef IDTPM2_TAUJETTRAITS_H
15
#define IDTPM2_TAUJETTRAITS_H
16
17
#include "
xAODTau/TauJetContainer.h
"
18
19
#include "
TrackTraits.h
"
20
21
#include <cmath>
22
#include <iostream>
23
28
29
template
<>
30
struct
TrackTraits
<
xAOD
::TauJet> :
public
TrackTraitsBase
<xAOD::TauJet> {
31
32
private
:
33
38
inline
static
const
SG::ConstAccessor<xAOD::TauTrack_v1::TrackParticleLinks_t>
m_trackAcc
= {
"trackLinks"
};
39
40
public
:
41
42
static
float
eta
(
const
xAOD::TauJet
& t) {
return
t.eta(); }
43
static
float
phi
(
const
xAOD::TauJet
& t) {
return
t.phi(); }
44
47
static
float
pt
(
const
xAOD::TauJet
& t) {
return
t.pt(); }
48
49
static
float
theta
(
const
xAOD::TauJet
& t) {
return
2*std::atan(std::exp(-t.eta())); }
50
static
float
qOverP
(
const
xAOD::TauJet
& t) {
return
t.charge()*std::sin(
theta
(t))/std::fabs(t.pt()); }
51
52
static
float
E
(
const
xAOD::TauJet
& t) {
return
t.e(); }
53
54
static
float
ET
(
const
xAOD::TauJet
& t) {
return
t.e()*std::sin(
theta
(t)); }
55
56
static
float
m
(
const
xAOD::TauJet
& t) {
return
t.m(); }
57
58
static
float
p
(
const
xAOD::TauJet
& t) {
59
double
th =
theta
(t);
60
if
( th==0 )
throw
std::runtime_error(
"divide by 0 - tau theta is 0"
);
61
return
t.pt()/std::sin(th);
62
}
63
64
static
float
charge
(
const
xAOD::TauJet
& t) {
return
t.charge(); }
65
67
template
<
typename
U>
68
static
void
addChildren
(
const
xAOD::TauJet
& t, std::vector<U>& v) {
69
auto
tt = t.tracks();
70
for
(
size_t
i=0 ; i<tt.size() ; i++ ) {
71
const
auto
& links =
m_trackAcc
(*tt[i]);
72
if
( !links.empty() && links[0].isValid() ) v.emplace_back(tt[i]->track());
76
// else std::cerr << "duff TauTrack ElementLink for: " << tt[i] << std::endl;
77
}
78
}
79
80
};
81
82
83
84
85
#endif
// IDTPM2_TAUJETTRAITS_H
86
87
88
89
90
91
92
theta
Scalar theta() const
theta method
Definition
AmgMatrixBasePlugin.h:75
TauJetContainer.h
TrackTraits.h
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition
ConstAccessor.h:55
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
TrackTraitsBase
raw track traits - use for the TrackParticle by default, specialise for anything else,...
Definition
TrackTraits.h:47
TrackTraits< xAOD::TauJet >::p
static float p(const xAOD::TauJet &t)
Definition
TauJetTraits.h:58
TrackTraits< xAOD::TauJet >::qOverP
static float qOverP(const xAOD::TauJet &t)
Definition
TauJetTraits.h:50
TrackTraits< xAOD::TauJet >::theta
static float theta(const xAOD::TauJet &t)
Definition
TauJetTraits.h:49
TrackTraits< xAOD::TauJet >::addChildren
static void addChildren(const xAOD::TauJet &t, std::vector< U > &v)
talk about insanity ,...
Definition
TauJetTraits.h:68
TrackTraits< xAOD::TauJet >::charge
static float charge(const xAOD::TauJet &t)
Definition
TauJetTraits.h:64
TrackTraits< xAOD::TauJet >::m
static float m(const xAOD::TauJet &t)
Definition
TauJetTraits.h:56
TrackTraits< xAOD::TauJet >::ET
static float ET(const xAOD::TauJet &t)
Definition
TauJetTraits.h:54
TrackTraits< xAOD::TauJet >::m_trackAcc
static const SG::ConstAccessor< xAOD::TauTrack_v1::TrackParticleLinks_t > m_trackAcc
the TauTrack may not always have an valid ElementLink but the TauTrack code does not properly check w...
Definition
TauJetTraits.h:38
TrackTraits< xAOD::TauJet >::pt
static float pt(const xAOD::TauJet &t)
is tau pt signed ?
Definition
TauJetTraits.h:47
TrackTraits< xAOD::TauJet >::eta
static float eta(const xAOD::TauJet &t)
Definition
TauJetTraits.h:42
TrackTraits< xAOD::TauJet >::phi
static float phi(const xAOD::TauJet &t)
Definition
TauJetTraits.h:43
TrackTraits< xAOD::TauJet >::E
static float E(const xAOD::TauJet &t)
Definition
TauJetTraits.h:52
TrackTraits
Definition
TrackTraits.h:123
Generated on
for ATLAS Offline Software by
1.17.0