ATLAS Offline Software
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
JetTagInfo
src
SETrackInfo.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
JetTagInfo/SETrackInfo.h
"
6
#include "GaudiKernel/MsgStream.h"
7
#include <iostream>
8
9
namespace
Analysis
{
10
11
SETrackInfo::SETrackInfo
() :
m_electron
(
ElementLink
<
ElectronContainer
>()),
12
m_photon
(
ElementLink
<
PhotonContainer
>()),
13
m_valD0wrtPV
(0),
14
m_pTrel
(0)
15
{
16
}
17
18
SETrackInfo::SETrackInfo
(
const
ElectronContainer
* coll,
19
const
Electron
* mu,
20
double
d0val,
21
double
pTrel
,
22
const
std::vector<double>&
tagLikelihood
) {
23
ElementLink<ElectronContainer>
link;
24
if
( link.toContainedElement(*coll,
const_cast<
Electron
*
>
(mu)) ) {
25
m_electron
= link;
26
}
27
m_valD0wrtPV
= d0val;
28
m_pTrel
=
pTrel
;
29
m_tagLikelihood
=
tagLikelihood
;
30
}
31
32
SETrackInfo::SETrackInfo
(
const
PhotonContainer
* coll,
33
const
Photon
* mu,
34
double
d0val,
35
double
pTrel
,
36
const
std::vector<double>&
tagLikelihood
) {
37
ElementLink<PhotonContainer>
link;
38
if
( link.toContainedElement(*coll,
const_cast<
Photon
*
>
(mu)) ) {
39
m_photon
= link;
40
}
41
m_valD0wrtPV
= d0val;
42
m_pTrel
=
pTrel
;
43
m_tagLikelihood
=
tagLikelihood
;
44
}
45
46
SETrackInfo::SETrackInfo
(
const
ElementLink<ElectronContainer>
& eleLink,
47
double
d0val,
48
double
pTrel
,
49
std::vector<double>&&
tagLikelihood
)
50
:
m_electron
(eleLink),
51
m_valD0wrtPV
(d0val),
52
m_pTrel
(
pTrel
),
53
m_tagLikelihood
(
std
::move (
tagLikelihood
))
54
{
55
}
56
57
SETrackInfo::SETrackInfo
(
const
ElementLink<PhotonContainer>
& gamLink,
58
double
d0val,
59
double
pTrel
,
60
std::vector<double>&&
tagLikelihood
)
61
:
m_photon
(gamLink),
62
m_valD0wrtPV
(d0val),
63
m_pTrel
(
pTrel
),
64
m_tagLikelihood
(
std
::move (
tagLikelihood
))
65
{
66
}
67
68
const
egamma
*
SETrackInfo::electron
()
const
{
69
if
(
m_electron
.isValid() ) {
70
return
*(
m_electron
);
71
}
else
if
(
m_photon
.isValid() ) {
72
return
*(
m_photon
);
73
}
else
{
74
return
0;
75
}
76
}
77
78
bool
SETrackInfo::isPhoton
()
const
{
79
if
(
m_photon
.isValid() )
return
true
;
80
return
false
;
81
}
82
83
MsgStream&
operator<<
( MsgStream& out,
const
SETrackInfo
& info) {
84
const
egamma
* tp = info.electron();
85
double
phi
= 0.;
86
double
ipt = 0.;
87
double
cth = 0.;
88
if
(tp) {
89
phi
= tp->
phi
();
90
ipt = tp->
iPt
();
91
cth = tp->
cotTh
();
92
}
93
out <<
" -> SETrackInfo "
94
<<
" isPhoton = "
<< info.isPhoton()
95
<<
" d0wrtPV= "
<< info.d0Value()
96
<<
" original 1/pt,phi,cotTh = "
<<ipt<<
" "
<<
phi
<<
" "
<<cth
97
<<
" pTrel= "
<< info.pTrel()
98
<<
endmsg
;
99
return
out;
100
}
101
102
std::ostream&
operator<<
( std::ostream& out,
const
SETrackInfo
& info) {
103
const
egamma
* tp = info.electron();
104
double
phi
= 0.;
105
double
ipt = 0.;
106
double
cth = 0.;
107
if
(tp) {
108
phi
= tp->
phi
();
109
ipt = tp->
iPt
();
110
cth = tp->
cotTh
();
111
}
112
out <<
" -> SETrackInfo "
113
<<
" isPhoton = "
<< info.isPhoton()
114
<<
" d0wrtPV= "
<< info.d0Value()
115
<<
" original 1/pt,phi,cotTh = "
<<ipt<<
" "
<<
phi
<<
" "
<<cth
116
<<
" pTrel= "
<< info.pTrel()
117
<< std::endl;
118
return
out;
119
}
120
121
}
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:63
SETrackInfo.h
Analysis::Electron
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/Electron.h:20
Analysis::Photon
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h:20
Analysis::SETrackInfo
Definition
SETrackInfo.h:20
Analysis::SETrackInfo::electron
const egamma * electron() const
Definition
SETrackInfo.cxx:68
Analysis::SETrackInfo::tagLikelihood
const std::vector< double > & tagLikelihood() const
Definition
SETrackInfo.h:45
Analysis::SETrackInfo::SETrackInfo
SETrackInfo()
Definition
SETrackInfo.cxx:11
Analysis::SETrackInfo::m_valD0wrtPV
double m_valD0wrtPV
Definition
SETrackInfo.h:51
Analysis::SETrackInfo::m_photon
ElementLink< PhotonContainer > m_photon
Definition
SETrackInfo.h:50
Analysis::SETrackInfo::pTrel
double pTrel() const
Definition
SETrackInfo.h:44
Analysis::SETrackInfo::m_pTrel
double m_pTrel
Definition
SETrackInfo.h:52
Analysis::SETrackInfo::m_tagLikelihood
std::vector< double > m_tagLikelihood
vector to hold the taglikelihood (signal plus N background)
Definition
SETrackInfo.h:53
Analysis::SETrackInfo::m_electron
ElementLink< ElectronContainer > m_electron
Definition
SETrackInfo.h:49
Analysis::SETrackInfo::isPhoton
bool isPhoton() const
Definition
SETrackInfo.cxx:78
ElectronContainer
Class to define the ElectronContainer.
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/ElectronContainer.h:32
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:39
ParticleImpl::cotTh
virtual double cotTh() const
cottan theta
Definition
ParticleImpl.h:624
ParticleImpl::iPt
virtual double iPt() const
inverse of transverse momentum
Definition
ParticleImpl.h:564
ParticleImpl::phi
virtual double phi() const
phi in [-pi,pi[
Definition
ParticleImpl.h:524
PhotonContainer
Class to define the PhotonContainer.
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/PhotonContainer.h:30
egamma
elec/gamma data class.
Definition
egamma.h:58
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition
BTaggingCnvAlg.h:20
Analysis::operator<<
MsgStream & operator<<(MsgStream &out, const IPInfoBase &)
output.
Definition
IPInfoBase.cxx:47
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.16.1