ATLAS Offline Software
Loading...
Searching...
No Matches
MissingETAssociationMap_v1.h
Go to the documentation of this file.
1// -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef XAODMISSINGET_VERSIONS_MISSINGETASSOCIATIONMAP_V1_H
8#define XAODMISSINGET_VERSIONS_MISSINGETASSOCIATIONMAP_V1_H
9
11
12#include "xAODJet/Jet.h"
14
15#include <string>
16#include <vector>
17#include <map>
18
19#include <iostream>
20
21namespace xAOD
22{
23
24 // Forward declarations
27
28 class MissingETAssociationMap_v1 : public DataVector<MissingETAssociation_v1>
29 {
30 public:
31
40
50 const_iterator find(const Jet* pJet) const;
58 iterator find(const Jet* pJet);
59 size_t findIndex(const Jet* pJet) const;
60 //
68 const_iterator findByJetConst(const IParticle* pConst) const;
76 iterator findByJetConst(const IParticle* pConst);
93 size_t findIndexByJetConst(const IParticle* pConst) const;
94 size_t findIndexByJetConst(const ElementLink<IParticleContainer>& pConstLink) const;
102
111 bool setJetConstituents(const Jet* pJet);
119 bool setJetConstituents(const std::vector<ElementLink<IParticleContainer> >& constLinks, const Jet* pJet);
127 bool setJetConstituents(const std::vector<ElementLink<IParticleContainer> >& constLinks, size_t jetIndex);
133 bool identifyOverlaps();
134 void clearOverlaps();
152
153 protected:
154
156 void f_clearJetConstMap();
157 std::map<ElementLink<IParticleContainer>, size_t> m_jetConstLinks;
158
174 const_iterator f_findConst(const Jet* pJet) const;
175 iterator f_find(const Jet* pJet);
177
178
179 }; // class xAOD::MissingETAssociationMap_v1
180} // namespace xAOD
181
182#include "xAODCore/BaseInfo.h"
184
185#endif
#define SG_BASE(D, B)
Declare that class D derives from class B.
An STL vector of pointers that by default owns its pointed-to elements.
Derived DataVector<T>.
Definition DataVector.h:795
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
DataModel_detail::iterator< DataVector > iterator
Definition DataVector.h:842
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
STL class.
Class providing the definition of the 4-vector interface.
bool setJetConstituents(const Jet *pJet)
Set constituent map for a jet.
void f_setJetConstMap(std::map< ElementLink< IParticleContainer >, size_t > map)
MissingETAssociationMap_v1(SG::OwnershipPolicy own=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
Default constructor.
std::map< ElementLink< IParticleContainer >, size_t > m_jetConstLinks
Map jet constituents to the jet index.
const_iterator find(const Jet *pJet) const
Find association from jet pointer.
const IParticleContainer * getUniqueSignals(const IParticleContainer *signals, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::TrackCluster) const
Extract a container of constituents that are not in jets.
virtual ~MissingETAssociationMap_v1()
Base class destructor.
size_t findIndexByJetConst(const IParticle *pConst) const
const MissingETAssociation_v1 * getMiscAssociation() const
Get an association for miscellaneous objects not associated to jets.
const_iterator f_findConst(const Jet *pJet) const
Find contribution by reference jet pointer.
const IParticleContainer * getOverlapRemovedSignals(const MissingETAssociationHelper &helper, const IParticleContainer *signals, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::TrackCluster) const
Extract a container of constituents that do not overlap physics objects.
const_iterator findByJetConst(const IParticle *pConst) const
Find association from jet constituent.
bool identifyOverlaps()
Do overlap-finding in all associations.
MET association descriptor contains object links and corresponding parameters.
@ TrackCluster
Both cluster and track based.
@ DEFAULT_TRACK_INDICES
Default value.
OwnershipPolicy
@ OWN_ELEMENTS
this data object owns its elements
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.