ATLAS Offline Software
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 
11 {
12  this->setName(name);
13 }
14 
16 {
17  return new JetINav4MomAssociation( *this );
18 }
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 
JetAssociationBase::NameType
name_t NameType
Definition: JetAssociationBase.h:29
Navigable< INavigable4MomentumCollection, double >::getConstituentPtr
virtual const constituent_type * getConstituentPtr(constituent_iter iter) const
Navigable< INavigable4MomentumCollection, double >::putElement
void putElement(const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
JetINav4MomAssociation::set_inav4momentum
void set_inav4momentum(const INavigable4MomentumCollection *theContainer, const INavigable4Momentum *the_inav4momentum, double weight=1)
Definition: JetINav4MomAssociation.cxx:32
JetINav4MomAssociation::clone
virtual JetAssociationBase * clone() const
a clone method for the proper workings of the copy constructor
Definition: JetINav4MomAssociation.cxx:15
Navigable< INavigable4MomentumCollection, double >::begin
virtual object_iter begin() const
Navigable< INavigable4MomentumCollection, double >::contains
bool contains(const constituent_type *aConstituent) const
JetAssociationBase::setName
void setName(const name_t &name)
Definition: JetAssociationBase.cxx:15
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
JetINav4MomAssociation.h
Navigable< INavigable4MomentumCollection, double >::getConstituents
const constituent_coll & getConstituents() const
Definition: Navigable.h:290
Navigable< INavigable4MomentumCollection, double >::remove
bool remove(const constituent_type *aConstituent)
JetAssociationBase
Definition: JetAssociationBase.h:21
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
JetINav4MomAssociation::index_type
Navigable< INavigable4MomentumCollection, double >::external_index_type index_type
Definition: JetINav4MomAssociation.h:35
JetINav4MomAssociation::inav4momentum
const INavigable4Momentum * inav4momentum() const
get jet directly without token
Definition: JetINav4MomAssociation.cxx:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Navigable< INavigable4MomentumCollection, double >::getParameter
double getParameter(const constituent_type *aConstituent) const
JetINav4MomAssociation::getinav4momentumWeight
double getinav4momentumWeight(const INavigable4Momentum *the_inav4momentum) const
Definition: JetINav4MomAssociation.cxx:68
Navigable< INavigable4MomentumCollection, double >::size
virtual unsigned int size() const
INavigable4Momentum
Definition: INavigable4Momentum.h:21
JetINav4MomAssociation::JetINav4MomAssociation
JetINav4MomAssociation()
constructor