ATLAS Offline Software
Loading...
Searching...
No Matches
JetINav4MomAssociation.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8= default;
9
14
19
21{
22 //get jet from Navigable
23 if (this->size() ==0)
24 return nullptr;
25 else if (this->size() > 1)
26 return nullptr;
27 // this shouldn't happen
28 else
29 return getConstituentPtr((this->getConstituents()).begin());
30}
31
33 const INavigable4Momentum* the_inav4momentum,
34 double weight)
35{
36 double newWeight = weight;
37 // jet already in collection
38 if ( this->contains(the_inav4momentum) )
39 {
40 // update weight
41 newWeight *= this->getinav4momentumWeight(the_inav4momentum);
42 // remove the previous jet
43 this->remove(the_inav4momentum);
44 }
45
46 // from Navigable base
47 this->putElement(theContainer,the_inav4momentum,newWeight);
48}
49
51 index_type& theIndex,
52 double weight)
53{
54 double newWeight = weight;
55 // jet already in collection
56 if ( this->contains(theContainer,theIndex) )
57 {
58 // update weight
59 newWeight *= this->getinav4momentumWeight(theContainer,theIndex);
60 // remove the previous jet
61 this->remove(theContainer,theIndex);
62 }
63
64 // from Navigable base
65 this->putElement(theContainer,theIndex,newWeight);
66}
67
69{
70 // from Navigable
71 return (this->contains(the_inav4momentum) )
72 ? this->getParameter(the_inav4momentum)
73 : 0.;
74}
75
77 index_type& theIndex) const
78{
79 // from Navigable
80 return (this->contains(theContainer,theIndex))
81 ? this->getParameter(theContainer,theIndex)
82 : 0.;
83}
84
85
DataVector< INavigable4Momentum > INavigable4MomentumCollection
void setName(const name_t &name)
const name_t & name() const
double getinav4momentumWeight(const INavigable4Momentum *the_inav4momentum) const
JetINav4MomAssociation()
constructor
void set_inav4momentum(const INavigable4MomentumCollection *theContainer, const INavigable4Momentum *the_inav4momentum, double weight=1)
virtual JetAssociationBase * clone() const
a clone method for the proper workings of the copy constructor
const INavigable4Momentum * inav4momentum() const
get jet directly without token
Navigable< INavigable4MomentumCollection, double >::external_index_type index_type
const constituent_coll & getConstituents() const
Definition Navigable.h:290
bool remove(const constituent_type *aConstituent)
void putElement(const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
double getParameter(const constituent_type *aConstituent) const
bool contains(const constituent_type *aConstituent) const
virtual const constituent_type * getConstituentPtr(constituent_iter iter) const