ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaEvent
src
PhotonAssociation.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#include "
egammaEvent/PhotonAssociation.h
"
7
8
namespace
Analysis
9
{
10
PhotonAssociation::PhotonAssociation
(
const
NameType
&
name
)
11
{
12
this->
setName
(name);
13
}
14
15
JetAssociationBase
*
PhotonAssociation::clone
()
const
16
{
17
return
new
PhotonAssociation
( *
this
);
18
}
19
20
const
Photon
*
PhotonAssociation::photon
()
const
21
{
22
//get photon from Navigable
23
if
(this->
size
() ==0)
24
return
nullptr
;
25
if
(this->
size
() > 1)
26
return
nullptr
;
27
// this shouldn't happen
28
else
29
return
getConstituentPtr
((this->
getConstituents
()).
begin
());
30
}
31
32
void
PhotonAssociation::set_photon
(
const
PhotonContainer
* theContainer,
33
const
Photon
* the_photon,
34
double
weight)
35
{
36
double
newWeight = weight;
37
// photon already in collection
38
if
( this->
contains
(the_photon) )
39
{
40
// update weight
41
newWeight *= this->
getPhotonWeight
(the_photon);
42
// remove the previous photon
43
this->
remove
(the_photon);
44
}
45
46
// from Navigable base
47
this->
putElement
(theContainer,the_photon,newWeight);
48
}
49
50
void
PhotonAssociation::set_photon
(
const
PhotonContainer
* theContainer,
51
const
index_type
& theIndex,
52
double
weight)
53
{
54
double
newWeight = weight;
55
// photon already in collection
56
if
( this->
contains
(theContainer,theIndex) )
57
{
58
// update weight
59
newWeight *= this->
getPhotonWeight
(theContainer,theIndex);
60
// remove the previous photon
61
this->
remove
(theContainer,theIndex);
62
}
63
64
// from Navigable base
65
this->
putElement
(theContainer,theIndex,newWeight);
66
}
67
68
double
PhotonAssociation::getPhotonWeight
(
const
Photon
* the_photon)
const
69
{
70
// from Navigable
71
return
(this->
contains
(the_photon) )
72
? this->
getParameter
(the_photon)
73
: 0.;
74
}
75
76
double
PhotonAssociation::getPhotonWeight
(
const
PhotonContainer
* theContainer,
77
const
index_type
& theIndex)
const
78
{
79
// from Navigable
80
return
(this->
contains
(theContainer,theIndex))
81
? this->
getParameter
(theContainer,theIndex)
82
: 0.;
83
}
84
}
PhotonAssociation.h
Analysis::PhotonAssociation::photon
const Photon * photon() const
get photon directly without token
Definition
PhotonAssociation.cxx:20
Analysis::PhotonAssociation::set_photon
void set_photon(const PhotonContainer *theContainer, const Photon *the_photon, double weight=1)
Definition
PhotonAssociation.cxx:32
Analysis::PhotonAssociation::clone
virtual JetAssociationBase * clone() const
a clone method for the proper workings of the copy constructor
Definition
PhotonAssociation.cxx:15
Analysis::PhotonAssociation::PhotonAssociation
PhotonAssociation()=default
constructor
Analysis::PhotonAssociation::getPhotonWeight
double getPhotonWeight(const Photon *the_photon) const
Definition
PhotonAssociation.cxx:68
Analysis::PhotonAssociation::index_type
Navigable< PhotonContainer, double >::external_index_type index_type
Definition
PhotonAssociation.h:29
Analysis::Photon
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/Photon.h:20
JetAssociationBase::setName
void setName(const name_t &name)
Definition
JetAssociationBase.cxx:15
JetAssociationBase::NameType
name_t NameType
Definition
JetAssociationBase.h:29
JetAssociationBase::name
const name_t & name() const
Definition
JetAssociationBase.cxx:20
JetAssociationBase::JetAssociationBase
JetAssociationBase()
Definition
JetAssociationBase.cxx:10
Navigable< PhotonContainer, double >::getConstituents
const constituent_coll & getConstituents() const
Definition
Navigable.h:290
Navigable< PhotonContainer, double >::size
virtual unsigned int size() const
Navigable< PhotonContainer, double >::begin
virtual object_iter begin() const
Navigable< PhotonContainer, double >::remove
bool remove(const constituent_type *aConstituent)
Navigable< PhotonContainer, double >::putElement
void putElement(const PhotonContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
Navigable< PhotonContainer, double >::getParameter
double getParameter(const constituent_type *aConstituent) const
Navigable< PhotonContainer, double >::contains
bool contains(const constituent_type *aConstituent) const
Navigable< PhotonContainer, double >::getConstituentPtr
virtual const constituent_type * getConstituentPtr(constituent_iter iter) const
PhotonContainer
Class to define the PhotonContainer.
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/PhotonContainer.h:30
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition
IConstituent.h:25
Generated on
for ATLAS Offline Software by
1.17.0