ATLAS Offline Software
Loading...
Searching...
No Matches
MissingETComposition Class Referenceabstract

#include <MissingETComposition.h>

Inheritance diagram for MissingETComposition:
Collaboration diagram for MissingETComposition:

Classes

class  const_iterator

Public Types

typedef INavigable4MomentumCollection collection_t
typedef collection_t::base_value_type object_t
typedef MissingETHandlers::Weight weight_t
typedef Navigable< collection_t, weight_tbase_t
typedef base_t::object_iter iiterator_t
typedef typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, MissingETHandlers::Weight >::type constituent_coll
typedef constituent_coll::iterator constituent_iter
typedef constituent_coll::const_iterator constituent_const_iter
typedef INavigable4MomentumCollection container_type
 Object container type.
typedef MissingETHandlers::Weight parameter_type
 \ brief Relational parameter type
typedef NavigationDefaults::DefaultChildColl< container_type, parameter_typenavhelper_t
 Collection manager type.
typedef INavigable4MomentumCollection::base_value_type constituent_type
typedef INavigable4MomentumCollection::reference constituent_ptr_ref
typedef INavigable4MomentumCollection::const_reference constituent_const_ptr_ref
typedef INavigable4MomentumCollection::value_type constituent_ptr
typedef SG::GenerateIndexingPolicy< INavigable4MomentumCollection >::type::index_type external_index_type
typedef NavigableIterator< INavigable4MomentumCollection, MissingETHandlers::Weight, typename NavigationDefaults::DefaultChildColl< INavigable4MomentumCollection, MissingETHandlers::Weight >::typeobject_iter

Public Member Functions

 MissingETComposition ()
virtual ~MissingETComposition ()
void insert (const collection_t *pColl, const object_t *pObj, weight_t weight)
weight_t getWeight (const object_t *pObj) const
template<class OBJECT>
weight_t getWeight (const_iterator< OBJECT > fObj) const
template<class OBJECT>
const_iterator< OBJECT > beginIterator () const
template<class OBJECT>
const_iterator< OBJECT > endIterator () const
template<class OBJECT>
const_iterator< OBJECT > find (const OBJECT *pObj) const
template<class OBJECT>
bool fillMissingET (MissingET *pMET, unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
template<class OBJECT>
MissingETgetMissingET (unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
virtual void fillToken (INavigationToken &navToken) const
void putElement (const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight(), size_t sizeHint=0)
void insertElement (const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight(), size_t sizeHint=0)
void reweight (const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight())
bool remove (const constituent_type *aConstituent)
bool removeAll ()
bool replace (const INavigable4MomentumCollection *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
MissingETHandlers::Weight getParameter (const constituent_type *aConstituent) const
const INavigable4MomentumCollectiongetContainer (const constituent_type *aConstituent) const
bool getIndex (const constituent_type *aConstituent, external_index_type &theIndex) const
virtual void fillToken (INavigationToken &thisToken, const std::any &weight) const =0

Protected Member Functions

const constituent_collgetConstituents () const
const constituent_collgetPtrToConstituents () const
virtual const constituent_typegetConstituentPtr (constituent_iter iter) const
virtual MissingETHandlers::Weight getConstituentPar (constituent_iter iter) const
void dumpStore () const

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

Member Typedef Documentation

◆ base_t

◆ collection_t

◆ constituent_coll

◆ constituent_const_iter

Definition at line 103 of file Navigable.h.

◆ constituent_const_ptr_ref

◆ constituent_iter

◆ constituent_ptr

◆ constituent_ptr_ref

◆ constituent_type

◆ container_type

◆ external_index_type

◆ iiterator_t

◆ navhelper_t

◆ object_iter

◆ object_t

◆ parameter_type

◆ weight_t

Constructor & Destructor Documentation

◆ MissingETComposition()

◆ ~MissingETComposition()

MissingETComposition::~MissingETComposition ( )
virtual

Member Function Documentation

◆ apply()

◆ begin()

◆ beginIterator()

template<class OBJECT>
const_iterator< OBJECT > MissingETComposition::beginIterator ( ) const
inline

Definition at line 407 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

408 {
409 if (this->begin() != this->end()) {
410 const_iterator<OBJECT> temp(static_cast<const base_t*>(this), this->begin());
411 if ((*temp)==0) {++temp; return temp;}
412 return temp;
413 }
414 else { return const_iterator<OBJECT>(static_cast<const base_t*>(this), this->begin()); }
415 }

◆ contains()

◆ dumpStore()

◆ end()

◆ endIterator()

template<class OBJECT>
const_iterator< OBJECT > MissingETComposition::endIterator ( ) const
inline

Definition at line 418 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

419 {
420 return const_iterator<OBJECT>(static_cast<const base_t*>(this), this->end());
421 }

◆ fillMissingET()

template<class OBJECT>
bool MissingETComposition::fillMissingET ( MissingET * pMET,
unsigned short rejectTag = (MissingETtags::PILEUP_CORRECTED |         MissingETtags::REMOVED_CLUSTER) ) const
inline

Definition at line 434 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

437 {
438 // sanity check
439 if ( pMET == 0 ) return false;
440 // sum up
441 float px(0.);
442 float py(0.);
443 float et(0.);
444 float eta(0.);
445 float e(0.);
448 for ( ; fObj != lObj; ++fObj )
449 {
450 if ( !MissingETtags::usesTags(fObj.statusWord(),rejectTag) )
451 {
452 px += (*fObj)->px() * fObj.getParameter().wpx();
453 py += (*fObj)->py() * fObj.getParameter().wpy();
454 et += (*fObj)->et() * fObj.getParameter().wet();
455 // eta
456 eta += (*fObj)->eta() * (*fObj)->e() * fObj.getParameter().wet();
457 e += (*fObj)->e() * fObj.getParameter().wet();
458 }
459 }
460 // get eta
461 eta = e != 0. ? eta/e : 0.;
462 //
463 pMET->add(px,py,et,eta,1.0);
464 return true;
465 }
Scalar eta() const
pseudorapidity method
float et(const xAOD::jFexSRJetRoI *j)
virtual void add(double theEx, double theEy, double theEt, double theEta, double weight)
static bool usesTags(bitmask_t tag, bitmask_t test)

◆ fillToken() [1/2]

virtual void INavigable::fillToken ( INavigationToken & thisToken,
const std::any & weight ) const
pure virtualinherited

Implemented in Analysis::ISvxAssociation, Analysis::ISvxConstituent, Analysis::Muon, Analysis::MuonAssociation, Analysis::ParticleShallowClone, Analysis::TauJet, CaloClusterNavigable, constituent_iter< ElectronContainer, double >, constituent_iter< INavigable4MomentumCollection, double >, constituent_iter< JetCollection, double >, constituent_iter< MuonContainer, double >, constituent_iter< PhotonContainer, double >, constituent_iter< TrackParticleContainer, double >, eflowObject, egamma, external_index_type< CaloCellContainer, double >, external_index_type< ElectronContainer, double >, external_index_type< INavigable4MomentumCollection, double >, external_index_type< JetCollection, double >, external_index_type< MuonContainer, double >, external_index_type< PhotonContainer, double >, external_index_type< TrackParticleContainer, double >, Jet, Nav4MomWrapper< Navigable_t, P4Momentum_t >, Navigable< CONT, RPAR, COLL >, Navigable< CaloClusterContainer >, Navigable< collection_t, weight_t >, Navigable< INavigable4MomentumCollection, double >, NavigableTerminalNode, object_iter< CaloCellContainer, double >, object_iter< TrackParticleContainer, double >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< ::Analysis::MuonNavigation, ::P4ImplIPtCotThPhiM >, ParticleImpl< ::Analysis::TauJetNavigation, ::P4ImplEEtaPhiM >, ParticleImpl< CompositeParticleNavigation, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< egammaNavigation, P4ImplEEtaPhiM >, ParticleImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleImpl< NavigableTerminalNode, P4ImplEEtaPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplIPtCotThPhiM, ParticleEvent::Base >, ParticleImpl< NavigableTerminalNode, P4ImplPxPyPzE, ParticleEvent::Base >, ParticleImpl< NeutrinoNavigation, P4ImplPxPyPzE >, ParticleImpl< TruthParticleNavigation, TruthParticleMomentum, TruthParticleBase >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, ParticleSigStateImpl< INavigable_t, I4Momentum_t, IParticle_t >, and ParticleSigStateImpl< Navigable< INavigable4MomentumCollection, double >, P4ImplPxPyPzE, ParticleEvent::Base >.

◆ fillToken() [2/2]

◆ find()

template<class OBJECT>
const_iterator< OBJECT > MissingETComposition::find ( const OBJECT * pObj) const
inline

Definition at line 424 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

425 {
428 while ( fObj != lObj && pObj != *fObj ) { ++fObj; }
429 return fObj;
430 }

◆ getConstituentPar()

◆ getConstituentPtr()

◆ getConstituents()

◆ getContainer()

◆ getIndex()

◆ getMissingET()

template<class OBJECT>
MissingET * MissingETComposition::getMissingET ( unsigned short rejectTag = (MissingETtags::PILEUP_CORRECTED | MissingETtags::REMOVED_CLUSTER)) const
inline

Definition at line 469 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

472 {
473 //
475 if ( this->fillMissingET<OBJECT>(pMET,rejectTag) ) return pMET;
476 // error raised
477 if ( pMET != 0 ) delete pMET;
478 return (MissingET*)0;
479 }
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
Definition RecTPCnv.cxx:64
bool fillMissingET(MissingET *pMET, unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const

◆ getParameter()

◆ getPtrToConstituents()

Definition at line 294 of file Navigable.h.

295 { return &m_constituents; }

◆ getWeight() [1/2]

weight_t MissingETComposition::getWeight ( const object_t * pObj) const
inline

Definition at line 395 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

396 {
397 return this->getParameter(pObj);
398 }
MissingETHandlers::Weight getParameter(const constituent_type *aConstituent) const

◆ getWeight() [2/2]

template<class OBJECT>
weight_t MissingETComposition::getWeight ( const_iterator< OBJECT > fObj) const
inline

Definition at line 401 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

402 {
403 return fObj.getParameter();
404 }

◆ insert()

void MissingETComposition::insert ( const collection_t * pColl,
const object_t * pObj,
weight_t weight )
inline

Definition at line 389 of file Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h.

391 {
392 this->insertElement(pColl,pObj,weight);
393 }
void insertElement(const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight(), size_t sizeHint=0)

◆ insertElement()

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

◆ putElement()

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

◆ remove()

◆ removeAll()

◆ replace()

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

◆ reweight()

◆ size()

◆ toKidsAfterAccept()

◆ toKidsAfterReject()

Member Data Documentation

◆ m_constituents


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