ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaEvent
src
ElectronAssociation.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/ElectronAssociation.h
"
7
8
namespace
Analysis
9
{
10
ElectronAssociation::ElectronAssociation
(
const
NameType
&
name
)
11
{
12
this->
setName
(name);
13
}
14
15
JetAssociationBase
*
ElectronAssociation::clone
()
const
16
{
17
return
new
ElectronAssociation
( *
this
);
18
}
19
20
const
Electron
*
ElectronAssociation::electron
()
const
21
{
22
//get electron 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
ElectronAssociation::set_electron
(
const
ElectronContainer
* theContainer,
33
const
Electron
* the_electron,
34
double
weight)
35
{
36
double
newWeight = weight;
37
// electron already in collection
38
if
( this->
contains
(the_electron) )
39
{
40
// update weight
41
newWeight *= this->
getElectronWeight
(the_electron);
42
// remove the previous electron
43
this->
remove
(the_electron);
44
}
45
46
// from Navigable base
47
this->
putElement
(theContainer,the_electron,newWeight);
48
}
49
50
void
ElectronAssociation::set_electron
(
const
ElectronContainer
* theContainer,
51
const
index_type
& theIndex,
52
double
weight)
53
{
54
double
newWeight = weight;
55
// electron already in collection
56
if
( this->
contains
(theContainer,theIndex) )
57
{
58
// update weight
59
newWeight *= this->
getElectronWeight
(theContainer,theIndex);
60
// remove the previous electron
61
this->
remove
(theContainer,theIndex);
62
}
63
64
// from Navigable base
65
this->
putElement
(theContainer,theIndex,newWeight);
66
}
67
68
double
ElectronAssociation::getElectronWeight
(
const
Electron
* the_electron)
const
69
{
70
// from Navigable
71
return
(this->
contains
(the_electron) )
72
? this->
getParameter
(the_electron)
73
: 0.;
74
}
75
76
double
ElectronAssociation::getElectronWeight
(
const
ElectronContainer
* 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
}
ElectronAssociation.h
Analysis::ElectronAssociation::set_electron
void set_electron(const ElectronContainer *theContainer, const Electron *the_electron, double weight=1)
Definition
ElectronAssociation.cxx:32
Analysis::ElectronAssociation::clone
virtual JetAssociationBase * clone() const
a clone method for the proper workings of the copy constructor
Definition
ElectronAssociation.cxx:15
Analysis::ElectronAssociation::index_type
Navigable< ElectronContainer, double >::external_index_type index_type
Definition
ElectronAssociation.h:29
Analysis::ElectronAssociation::electron
const Electron * electron() const
get electron directly without token
Definition
ElectronAssociation.cxx:20
Analysis::ElectronAssociation::getElectronWeight
double getElectronWeight(const Electron *the_electron) const
Definition
ElectronAssociation.cxx:68
Analysis::ElectronAssociation::ElectronAssociation
ElectronAssociation()=default
constructor
Analysis::Electron
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/Electron.h:20
ElectronContainer
Class to define the ElectronContainer.
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/ElectronContainer.h:32
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< ElectronContainer, double >::getConstituents
const constituent_coll & getConstituents() const
Definition
Navigable.h:290
Navigable< ElectronContainer, double >::size
virtual unsigned int size() const
Navigable< ElectronContainer, double >::begin
virtual object_iter begin() const
Navigable< ElectronContainer, double >::remove
bool remove(const constituent_type *aConstituent)
Navigable< ElectronContainer, double >::putElement
void putElement(const ElectronContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
Navigable< ElectronContainer, double >::getParameter
double getParameter(const constituent_type *aConstituent) const
Navigable< ElectronContainer, double >::contains
bool contains(const constituent_type *aConstituent) const
Navigable< ElectronContainer, double >::getConstituentPtr
virtual const constituent_type * getConstituentPtr(constituent_iter iter) const
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition
IConstituent.h:25
Generated on
for ATLAS Offline Software by
1.17.0