ATLAS Offline Software
Loading...
Searching...
No Matches
Analysis::MuonAssociation Class Reference

#include <MuonAssociation.h>

Inheritance diagram for Analysis::MuonAssociation:
Collaboration diagram for Analysis::MuonAssociation:

Public Types

typedef JetKeyDescriptor::key_t name_t
typedef name_t NameType
typedef typename NavigationDefaults::DefaultChildColl< MuonContainer, double >::type constituent_coll
typedef constituent_coll::iterator constituent_iter
typedef constituent_coll::const_iterator constituent_const_iter
typedef MuonContainer container_type
 Object container type.
typedef double parameter_type
 \ brief Relational parameter type
typedef NavigationDefaults::DefaultChildColl< container_type, parameter_typenavhelper_t
 Collection manager type.
typedef MuonContainer::base_value_type constituent_type
typedef MuonContainer::reference constituent_ptr_ref
typedef MuonContainer::const_reference constituent_const_ptr_ref
typedef MuonContainer::value_type constituent_ptr
typedef SG::GenerateIndexingPolicy< MuonContainer >::type::index_type external_index_type
typedef NavigableIterator< MuonContainer, double, typename NavigationDefaults::DefaultChildColl< MuonContainer, double >::typeobject_iter

Public Member Functions

 MuonAssociation ()
 constructor
 MuonAssociation (const NameType &name)
 constructor
 ~MuonAssociation ()=default
virtual JetAssociationBaseclone () const
 a clone method for the proper workings of the copy constructor
const Muonmuon () const
 get muon directly without token
void fillToken (INavigationToken &) const
void fillToken (INavigationToken &, const std::any &) const
void set_muon (const MuonContainer *theContainer, const Muon *the_muon, double weight=1)
void set_muon (const MuonContainer *theContainer, const index_type &theIndex, double weight=1)
void set_association (const MuonContainer *theContainer, const Muon *the_muon, double weight=1)
void set_association (const MuonContainer *theContainer, const index_type &theIndex, double weight=1)
double getMuonWeight (const Muon *the_muon) const
double getMuonWeight (const MuonContainer *theContainer, const index_type &theIndex) const
void setName (const name_t &name)
const name_tname () const
size_t keyIndex () const
void putElement (const MuonContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
void insertElement (const MuonContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)
void reweight (const constituent_type *constituentObject, const double &objectParameter=double())
bool remove (const constituent_type *aConstituent)
bool removeAll ()
bool replace (const MuonContainer *newObjectContainer)
 replace old object container with a new container assumes that all objects have been or will be inserted to the new container
bool contains (const constituent_type *aConstituent) const
virtual object_iter begin () const
virtual object_iter end () const
virtual unsigned int size () const
double getParameter (const constituent_type *aConstituent) const
const MuonContainergetContainer (const constituent_type *aConstituent) const
bool getIndex (const constituent_type *aConstituent, external_index_type &theIndex) const

Protected Member Functions

const constituent_collgetConstituents () const
const constituent_collgetPtrToConstituents () const
virtual const constituent_typegetConstituentPtr (constituent_iter iter) const
virtual double getConstituentPar (constituent_iter iter) const
void dumpStore () const

Protected Attributes

size_t m_keyIndex
JetKeyDescriptorInstancem_jetKeyDescr

Private Types

typedef Navigable< MuonContainer, double >::external_index_type index_type
typedef Navigable< MuonContainer, double >::constituent_iter iter_type

Private Member Functions

virtual void apply (NavigationToken< constituent_type > &navToken) const
virtual void toKidsAfterAccept (INavigationToken &navToken) const
virtual void toKidsAfterReject (INavigationToken &navToken) const

Private Attributes

constituent_coll m_constituents

Detailed Description

Definition at line 23 of file MuonAssociation.h.

Member Typedef Documentation

◆ constituent_coll

typedef typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_coll
inherited

Definition at line 101 of file Navigable.h.

◆ constituent_const_iter

typedef constituent_coll::const_iterator Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_const_iter
inherited

Definition at line 103 of file Navigable.h.

◆ constituent_const_ptr_ref

typedef MuonContainer::const_reference Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_const_ptr_ref
inherited

Definition at line 151 of file Navigable.h.

◆ constituent_iter

typedef constituent_coll::iterator Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_iter
inherited

Definition at line 102 of file Navigable.h.

◆ constituent_ptr

typedef MuonContainer::value_type Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_ptr
inherited

Definition at line 152 of file Navigable.h.

◆ constituent_ptr_ref

typedef MuonContainer::reference Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_ptr_ref
inherited

Definition at line 150 of file Navigable.h.

◆ constituent_type

typedef MuonContainer::base_value_type Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::constituent_type
inherited

Definition at line 149 of file Navigable.h.

◆ container_type

typedef MuonContainer Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::container_type
inherited

Object container type.

Definition at line 110 of file Navigable.h.

◆ external_index_type

Definition at line 156 of file Navigable.h.

◆ index_type

◆ iter_type

◆ name_t

Definition at line 28 of file JetAssociationBase.h.

◆ NameType

Definition at line 29 of file JetAssociationBase.h.

◆ navhelper_t

Collection manager type.

Definition at line 114 of file Navigable.h.

◆ object_iter

◆ parameter_type

typedef double Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::parameter_type
inherited

\ brief Relational parameter type

Definition at line 112 of file Navigable.h.

Constructor & Destructor Documentation

◆ MuonAssociation() [1/2]

Analysis::MuonAssociation::MuonAssociation ( )

constructor

Definition at line 12 of file MuonAssociation.cxx.

13 { }

◆ MuonAssociation() [2/2]

Analysis::MuonAssociation::MuonAssociation ( const NameType & name)

constructor

Definition at line 15 of file MuonAssociation.cxx.

16 { this->setName(name); }
void setName(const name_t &name)
const name_t & name() const

◆ ~MuonAssociation()

Analysis::MuonAssociation::~MuonAssociation ( )
default

Member Function Documentation

◆ apply()

virtual void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::apply ( NavigationToken< constituent_type > & navToken) const
privatevirtualinherited

◆ begin()

virtual object_iter Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::begin ( ) const
virtualinherited

◆ clone()

JetAssociationBase * Analysis::MuonAssociation::clone ( ) const
virtual

a clone method for the proper workings of the copy constructor

Implements JetAssociationBase.

Definition at line 18 of file MuonAssociation.cxx.

19 { return new MuonAssociation( *this );}

◆ contains()

bool Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::contains ( const constituent_type * aConstituent) const
inherited

◆ dumpStore()

void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::dumpStore ( ) const
protectedinherited

◆ end()

virtual object_iter Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::end ( ) const
virtualinherited

◆ fillToken() [1/2]

void Analysis::MuonAssociation::fillToken ( INavigationToken & ) const
inlinevirtual

Implements INavigable.

Definition at line 41 of file MuonAssociation.h.

41{ };

◆ fillToken() [2/2]

void Analysis::MuonAssociation::fillToken ( INavigationToken & ,
const std::any &  ) const
inlinevirtual

Implements INavigable.

Definition at line 43 of file MuonAssociation.h.

43{ };

◆ getConstituentPar()

virtual double Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getConstituentPar ( constituent_iter iter) const
protectedvirtualinherited

◆ getConstituentPtr()

virtual const constituent_type * Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getConstituentPtr ( constituent_iter iter) const
protectedvirtualinherited

◆ getConstituents()

const constituent_coll & Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getConstituents ( ) const
inlineprotectedinherited

Definition at line 290 of file Navigable.h.

290{ return m_constituents; }

◆ getContainer()

const MuonContainer * Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getContainer ( const constituent_type * aConstituent) const
inherited

◆ getIndex()

bool Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getIndex ( const constituent_type * aConstituent,
external_index_type & theIndex ) const
inherited

◆ getMuonWeight() [1/2]

double Analysis::MuonAssociation::getMuonWeight ( const Muon * the_muon) const

Definition at line 71 of file MuonAssociation.cxx.

72 {
73 // from Navigable
74 return (this->contains(the_muon) )
75 ? this->getParameter(the_muon)
76 : 0.;
77 }
double getParameter(const constituent_type *aConstituent) const
bool contains(const constituent_type *aConstituent) const

◆ getMuonWeight() [2/2]

double Analysis::MuonAssociation::getMuonWeight ( const MuonContainer * theContainer,
const index_type & theIndex ) const

Definition at line 79 of file MuonAssociation.cxx.

81 {
82 // from Navigable
83 return (this->contains(theContainer,theIndex))
84 ? this->getParameter(theContainer,theIndex)
85 : 0.;
86 }

◆ getParameter()

double Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getParameter ( const constituent_type * aConstituent) const
inherited

◆ getPtrToConstituents()

const constituent_coll * Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::getPtrToConstituents ( ) const
inlineprotectedinherited

Definition at line 294 of file Navigable.h.

295 { return &m_constituents; }

◆ insertElement()

void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::insertElement ( const MuonContainer * objectContainer,
const constituent_type * constituentObject,
const double & objectParameter = RPAR(),
size_t sizeHint = 0 )
inherited

◆ keyIndex()

size_t JetAssociationBase::keyIndex ( ) const
inlineinherited

Definition at line 35 of file JetAssociationBase.h.

35{ return m_keyIndex; }

◆ muon()

const Muon * Analysis::MuonAssociation::muon ( ) const

get muon directly without token

Definition at line 21 of file MuonAssociation.cxx.

22 {
23 //get muon from Navigable
24 if (this->size() ==0)
25 return 0;
26 else if (this->size() > 1)
27 return 0;
28 // this shouldn't happen
29 else
30 return getConstituentPtr((this->getConstituents()).begin());
31 }
const constituent_coll & getConstituents() const
Definition Navigable.h:290
virtual unsigned int size() const
virtual object_iter begin() const
virtual const constituent_type * getConstituentPtr(constituent_iter iter) const

◆ name()

const JetAssociationBase::name_t & JetAssociationBase::name ( ) const
inherited

Definition at line 20 of file JetAssociationBase.cxx.

21{
23}
JetKeyDescriptorInstance * m_jetKeyDescr
static const key_t AssoCat
Index category for jet associations.

◆ putElement()

void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::putElement ( const MuonContainer * objectContainer,
const constituent_type * constituentObject,
const double & objectParameter = RPAR(),
size_t sizeHint = 0 )
inherited

◆ remove()

bool Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::remove ( const constituent_type * aConstituent)
inherited

◆ removeAll()

bool Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::removeAll ( )
inlineinherited

Definition at line 237 of file Navigable.h.

237{ m_constituents.clear(); return this->size() == 0 ; }

◆ replace()

bool Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::replace ( const MuonContainer * newObjectContainer)
inherited

replace old object container with a new container assumes that all objects have been or will be inserted to the new container

◆ reweight()

void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::reweight ( const constituent_type * constituentObject,
const double & objectParameter = RPAR() )
inherited

◆ set_association() [1/2]

void Analysis::MuonAssociation::set_association ( const MuonContainer * theContainer,
const index_type & theIndex,
double weight = 1 )
inline

Definition at line 58 of file MuonAssociation.h.

60 {
61 set_muon(theContainer, theIndex, weight);
62 }
void set_muon(const MuonContainer *theContainer, const Muon *the_muon, double weight=1)

◆ set_association() [2/2]

void Analysis::MuonAssociation::set_association ( const MuonContainer * theContainer,
const Muon * the_muon,
double weight = 1 )
inline

Definition at line 52 of file MuonAssociation.h.

54 {
55 set_muon(theContainer, the_muon, weight);
56 }

◆ set_muon() [1/2]

void Analysis::MuonAssociation::set_muon ( const MuonContainer * theContainer,
const index_type & theIndex,
double weight = 1 )

Definition at line 52 of file MuonAssociation.cxx.

55 {
56 double newWeight = weight;
57 // muon already in collection
58 if ( this->contains(theContainer,theIndex) )
59 {
60 // update weight
61 newWeight *= this->getMuonWeight(theContainer,theIndex);
62 // remove the previous muon
63 this->remove(theContainer,theIndex);
64 }
65
66 // from Navigable base
67 this->putElement(theContainer,theIndex,newWeight);
68
69 }
double getMuonWeight(const Muon *the_muon) const
bool remove(const constituent_type *aConstituent)
void putElement(const MuonContainer *objectContainer, const constituent_type *constituentObject, const double &objectParameter=double(), size_t sizeHint=0)

◆ set_muon() [2/2]

void Analysis::MuonAssociation::set_muon ( const MuonContainer * theContainer,
const Muon * the_muon,
double weight = 1 )

Definition at line 33 of file MuonAssociation.cxx.

36 {
37 double newWeight = weight;
38 // muon already in collection
39 if ( this->contains(the_muon) )
40 {
41 // update weight
42 newWeight *= this->getMuonWeight(the_muon);
43 // remove the previous muon
44 this->remove(the_muon);
45 }
46
47 // from Navigable base
48 this->putElement(theContainer,the_muon,newWeight);
49
50 }

◆ setName()

void JetAssociationBase::setName ( const name_t & name)
inherited

Definition at line 15 of file JetAssociationBase.cxx.

◆ size()

virtual unsigned int Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::size ( ) const
virtualinherited

◆ toKidsAfterAccept()

virtual void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::toKidsAfterAccept ( INavigationToken & navToken) const
privatevirtualinherited

◆ toKidsAfterReject()

virtual void Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::toKidsAfterReject ( INavigationToken & navToken) const
privatevirtualinherited

Member Data Documentation

◆ m_constituents

constituent_coll Navigable< MuonContainer, double, typename NavigationDefaults::DefaultChildColl<MuonContainer, double>::type >::m_constituents
privateinherited

Definition at line 345 of file Navigable.h.

◆ m_jetKeyDescr

JetKeyDescriptorInstance* JetAssociationBase::m_jetKeyDescr
protectedinherited

Definition at line 57 of file JetAssociationBase.h.

◆ m_keyIndex

size_t JetAssociationBase::m_keyIndex
protectedinherited

Definition at line 56 of file JetAssociationBase.h.


The documentation for this class was generated from the following files: