ATLAS Offline Software
MissingETAssociation_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_MISSINGETASSOCIATION_v1_H
8 #define XAODMISSINGET_VERSIONS_MISSINGETASSOCIATION_v1_H
9 
11 
12 #include "xAODBase/IParticle.h"
14 
18 
19 #include <vector>
20 #include <set>
21 
22 namespace xAOD
23 {
24  // Forward declaration
25  class MissingETAssociationHelper;
26 
29  {
30  public:
31 
33 
35  class ConstVec
36  {
37  public:
39  ConstVec(float cpx,float cpy,float cpz,float ce,float sumpt);
40  ConstVec(const IParticle& ipar);
41  // ConstVec(const ConstVec& cvec); /*!< @brief Copy constructor */
45  float cpx() const;
46  float cpy() const;
47  float cpz() const;
48  float cpt() const;
49  float ce() const;
50  float sumpt() const;
54  void setCpx(float px);
55  void setCpy(float py);
56  void setCpz(float pz);
57  void setCe (float e);
58  void setSumpt (float sumpt);
62  float& cpx();
63  float& cpy();
64  float& cpz();
65  float& ce();
66  float& sumpt();
67  ConstVec& operator+=(const ConstVec& cvec);
68  ConstVec& operator-=(const ConstVec& cvec);
69  ConstVec& operator*=(float scale);
70  ConstVec& operator/=(float scale);
74  bool operator==(const ConstVec& cvec) const;
75  bool operator!=(const ConstVec& cvec) const;
77  private:
80  float m_cpx;
81  float m_cpy;
82  float m_cpz;
83  float m_ce;
84  float m_sumpt;
86  }; // MissingETComponent_v1::ConstVec
87 
88  explicit MissingETAssociation_v1(bool createStore=false);
89  MissingETAssociation_v1(const Jet* pjet, bool isMisc=false);
92  virtual ~MissingETAssociation_v1();
99  bool setRefJet(const Jet* pJet);
101  bool setRefJet(const JetContainer* pJetCont,size_t pJetIdx);
107  bool addObject(const IParticle* pPart,const std::vector<const IParticle*>& constlist);
114  const std::vector<float>& calpx() const;
115  float calpx(const IParticle* pPart) const;
116  float calpx(size_t keyIdx) const;
117  //
118  bool setCalPx(const std::vector<float>& calpxvec);
119  bool setCalPx(size_t keyIdx,float calpx);
120  //
121  const std::vector<float>& calpy() const;
122  float calpy(size_t keyIdx) const;
123  //
124  bool setCalPy(const std::vector<float>& calpyvec);
125  bool setCalPy(size_t keyIdx,float calpy);
126  //
127  const std::vector<float>& calpz() const;
128  float calpz(size_t keyIdx) const;
129  //
130  bool setCalPz(const std::vector<float>& calpzvec);
131  bool setCalPz(size_t keyIdx,float calpz);
132  //
133  const std::vector<float>& cale() const;
134  float cale(size_t keyIdx) const;
135  //
136  bool setCalE(const std::vector<float>& calevec);
137  bool setCalE(size_t keyIdx,float cale);
138  //
139  const std::vector<float>& calsumpt() const;
140  float calsumpt(size_t keyIdx) const;
141  //
142  bool setCalSumpt(const std::vector<float>& calsumptvec);
143  bool setCalSumpt(size_t keyIdx,float calsumpt);
144  //
145  const std::vector<MissingETBase::Types::bitmask_t>& calkey() const;
146  MissingETBase::Types::bitmask_t calkey(size_t keyIdx) const;
147  //
148  bool setCalKey(const std::vector<MissingETBase::Types::bitmask_t>& calkeyvec);
149  bool setCalKey(size_t keyIdx,MissingETBase::Types::bitmask_t calkey);
150  //
151  bool setCalVec(size_t keyIdx,const ConstVec& cvec=ConstVec());
152  bool setCalVec(size_t keyIdx,float calpx,float calpy,float calpz,float ce,float sumpt);
153  //
154  bool addCalVec(MissingETBase::Types::bitmask_t key,float calpx,float calpy,float calpz,float cale,float sumpt);
155  //
156  bool clearCalVecs();
157  //
159  const std::vector<float>& trkpx() const;
160  float trkpx(size_t keyIdx) const;
161  //
162  bool setTrkPx(const std::vector<float>& trkpxvec);
163  bool setTrkPx(size_t keyIdx,float trkpx);
164  //
165  const std::vector<float>& trkpy() const;
166  float trkpy(size_t keyIdx) const;
167  //
168  bool setTrkPy(const std::vector<float>& trkpyvec);
169  bool setTrkPy(size_t keyIdx,float trkpy);
170  //
171  const std::vector<float>& trkpz() const;
172  float trkpz(size_t keyIdx) const;
173  //
174  bool setTrkPz(const std::vector<float>& trkpzvec);
175  bool setTrkPz(size_t keyIdx,float trkpz);
176  //
177  const std::vector<float>& trke() const;
178  float trke(size_t keyIdx) const;
179  //
180  bool setTrkE(const std::vector<float>& trkevec);
181  bool setTrkE(size_t keyIdx,float trke);
182  //
183  const std::vector<float>& trksumpt() const;
184  float trksumpt(size_t keyIdx) const;
185  //
186  bool setTrkSumpt(const std::vector<float>& trksumptvec);
187  bool setTrkSumpt(size_t keyIdx,float trksumpt);
188  //
189  const std::vector<MissingETBase::Types::bitmask_t>& trkkey() const;
190  MissingETBase::Types::bitmask_t trkkey(size_t keyIdx) const;
191  //
192  bool setTrkKey(const std::vector<MissingETBase::Types::bitmask_t>& trkkeyvec);
193  bool setTrkKey(size_t keyIdx,MissingETBase::Types::bitmask_t trkkey);
194  //
195  bool setTrkVec(size_t keyIdx,const ConstVec& cvec=ConstVec());
196  bool setTrkVec(size_t keyIdx,float trkpx,float trkpy,float trkpz,float trke,float sumpt);
197  //
198  bool addTrkVec(MissingETBase::Types::bitmask_t key,float trkpx,float trkpy,float trkpz,float ce,float sumpt);
199  //
200  bool clearTrkVecs();
201  //
203  float jettrkpx() const;
204  float jettrkpy() const;
205  float jettrkpz() const;
206  float jettrke() const;
207  float jettrksumpt() const;
208  //
209  void setJetTrkPx(float px);
210  void setJetTrkPy(float py);
211  void setJetTrkPz(float pz);
212  void setJetTrkE(float e);
213  void setJetTrkSumpt(float sumpt);
214  void setJetTrkVec(const ConstVec& cvec=ConstVec());
215  void setJetTrkVec(float px,float py,float pz,float ce,float sumpt);
216  //
218  bool setJetLink(const MissingETBase::Types::jetlink_t& jetLnk);
222  //
223  const std::vector<std::vector<size_t> >& overlapIndices() const;
224  std::vector<size_t> overlapIndices(const IParticle* pPart) const;
225  std::vector<size_t> overlapIndices(size_t objIdx) const;
226  //
227  const std::vector<std::vector<unsigned char> >& overlapTypes() const;
228  std::vector<unsigned char> overlapTypes(const IParticle* pPart) const;
229  std::vector<unsigned char> overlapTypes(size_t objIdx) const;
230  //
231  void clearOverlaps();
232  bool setOverlaps(const std::vector<std::vector<size_t> >& overlapIndices,
233  const std::vector<std::vector<unsigned char> >& overlapTypes);
234  bool setOverlaps(const IParticle* pPart,const std::vector<size_t>& overlapIndices,
235  const std::vector<unsigned char>& overlapTypes);
236  bool setOverlaps(size_t objIdx,const std::vector<size_t>& overlapIndices,
237  const std::vector<unsigned char>& overlapTypes);
238  void setOverrideMom(const std::map<const IParticle*,ConstVec>& pOverride);
239  std::map<const IParticle*,ConstVec> overrideMom();
240  void addOverrideMom(std::map<const IParticle*,ConstVec> &pOverride);
248  bool removeContrib(const IParticle* pPart);
249  bool removeContrib(size_t objIdx);
250  bool removeContrib();
251  bool resetContrib(const IParticle* pPart);
252  bool resetContrib(size_t objIdx);
253  bool resetContrib();
258  const Jet* refJet() const;
259  const JetContainer* refJetContainer() const;
260  size_t refJetIndex() const;
261  std::vector<const IParticle*> objects() const;
262  std::vector<const IParticle*> objects(std::vector<ConstVec>& calVecs,std::vector<ConstVec>& trkVecs) const;
263  std::vector<const IParticle*> objects(const std::vector<float>*& calpxPtr,
264  const std::vector<float>*& calpyPtr,
265  const std::vector<float>*& calpzPtr,
266  const std::vector<float>*& calePtr,
267  const std::vector<float>*& calsumptPtr,
268  const std::vector<float>*& trkpxPtr,
269  const std::vector<float>*& trkpyPtr,
270  const std::vector<float>*& trkpzPtr,
271  const std::vector<float>*& trkePtr,
272  const std::vector<float>*& trksumptPtr) const;
273  ConstVec calVec(const IParticle* pPart) const;
274  ConstVec calVec(size_t keyIdx) const;
275  ConstVec trkVec(const IParticle* pPart) const;
276  ConstVec trkVec(size_t keyIdx) const;
277  ConstVec jetTrkVec() const;
281  bool addOverlap(const IParticle* pPart,size_t index, unsigned char type);
282  bool addOverlap(size_t objIdx,size_t index, unsigned char type);
284  bool identifyOverlaps();
285  bool identifyOverlaps(size_t objIdx);
286  bool identifyOverlaps(const IParticle* pPart);
294  bool hasAlternateConstVec() const;
296 
300  bool containsSignal(const IParticle* pSig) const;
301  bool containsPhysics(const IParticle* pPhys) const;
302  bool isMisc() const;
325  size_t findIndex(const IParticle* pPart) const;
329 
337  // void updateLinks();
338  // /*! @brief [Deprecated] Update link to reference jet only */
339  // void updateJetLink();
340  size_t size() const;
341  size_t sizeCal() const;
342  size_t sizeTrk() const;
344  bool empty() const;
352  bool operator==(const MissingETAssociation_v1& contrib) const;
353  bool operator!=(const MissingETAssociation_v1& contrib) const;
356  protected:
357 
359 
361  void createPrivateStore();
362 
371  //
372  std::vector<float>& f_calpx();
373  std::vector<float>& f_calpy();
374  std::vector<float>& f_calpz();
375  std::vector<float>& f_cale();
376  std::vector<float>& f_calsumpt();
377  std::vector<MissingETBase::Types::bitmask_t>& f_calkey();
378  //
379  std::vector<float>& f_trkpx();
380  std::vector<float>& f_trkpy();
381  std::vector<float>& f_trkpz();
382  std::vector<float>& f_trke();
383  std::vector<float>& f_trksumpt();
384  std::vector<MissingETBase::Types::bitmask_t>& f_trkkey();
385  //
386  float& f_jettrkpx();
387  float& f_jettrkpy();
388  float& f_jettrkpz();
389  float& f_jettrke();
390  float& f_jettrksumpt();
391  //
392  char& f_isMisc();
393  //
394  std::vector<std::vector<size_t> >& f_overlapIndices();
395  std::vector<std::vector<unsigned char> >& f_overlapTypes();
403  bool f_removeContrib(size_t objIdx);
404  void copyData(const MissingETAssociation_v1& assocDescr);
417  template<class POBJ,class LINK> void f_setObject(const POBJ* pObj,LINK& elemLink);
418  template<class LINK> bool f_setLink(LINK& elemLink);
423  void initCache();
427  std::vector<std::vector<ElementLink<IParticleContainer> > > m_objConstLinks;
429  private:
430  std::map<const IParticle*,ConstVec> m_override;
431 
437 
443 
449 
450  }; // MissingETAssociation_v1
451 }
452 
453 namespace MissingETBase
454 {
455  namespace Types
456  {
458  typedef std::vector<constvec_t> constvec_vector_t;
459  }
460 }
461 
477 #endif
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
xAOD::MissingETAssociation_v1::setOverrideMom
void setOverrideMom(const std::map< const IParticle *, ConstVec > &pOverride)
Set override momenta.
xAOD::MissingETAssociation_v1::initCache
void initCache()
initialise cache for overlap removal decisions
Definition: MissingETAssociation_v1.cxx:868
xAOD::MissingETAssociation_v1::refJetContainer
const JetContainer * refJetContainer() const
Access reference jet container holding reference jet.
xAOD::MissingETAssociation_v1::m_acc_trkpz
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_trkpz
Definition: MissingETAssociation_v1.h:440
xAOD::MissingETAssociation_v1::clearOverlaps
void clearOverlaps()
Clear the vectors of overlap indices
Definition: MissingETAssociation_v1.cxx:413
xAOD::MissingETAssociation_v1::setCalPx
bool setCalPx(const std::vector< float > &calpxvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:299
xAOD::MissingETAssociation_v1::f_calpy
std::vector< float > & f_calpy()
xAOD::MissingETAssociation_v1::objectLinks
const MissingETBase::Types::objlink_vector_t & objectLinks() const
Get the vector of links to the contributing physics or signal objects.
test_pyathena.px
px
Definition: test_pyathena.py:18
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
xAOD::MissingETAssociation_v1::operator!=
bool operator!=(const MissingETAssociation_v1 &contrib) const
Equality.
xAOD::MissingETAssociation_v1::setJetTrkPy
void setJetTrkPy(float py)
Set track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:398
xAOD::MissingETAssociation_v1::jettrkpx
float jettrkpx() const
Get the vector for a given object referenced by index.
IParticle.h
xAOD::MissingETAssociation_v1::overlapCalVec
ConstVec overlapCalVec(const MissingETAssociationHelper &helper) const
Retrieve total cluster-based vector to be subtracted from the jet.
Definition: MissingETAssociation_v1.cxx:772
xAOD::MissingETAssociation_v1::m_acc_calpz
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_calpz
Definition: MissingETAssociation_v1.h:434
xAOD::MissingETAssociation_v1::f_overlapTypes
std::vector< std::vector< unsigned char > > & f_overlapTypes()
record overlapTypes between constributing objects
xAOD::MissingETAssociation_v1::setJetTrkSumpt
void setJetTrkSumpt(float sumpt)
Set track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:404
ObjectType
ObjectType
Definition: BaseObject.h:11
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
xAOD::MissingETAssociation_v1
MET association descriptor contains object links and corresponding parameters.
Definition: MissingETAssociation_v1.h:29
xAOD::MissingETAssociation_v1::setTrkPy
bool setTrkPy(const std::vector< float > &trkpyvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:314
index
Definition: index.py:1
xAOD::MissingETAssociation_v1::operator=
MissingETAssociation_v1 & operator=(const MissingETAssociation_v1 &assocDescr)
Definition: MissingETAssociation_v1.cxx:121
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:446
xAOD::MissingETAssociation_v1::hasAlternateConstVec
bool hasAlternateConstVec() const
Definition: MissingETAssociation_v1.cxx:754
xAOD::MissingETAssociation_v1::removeContrib
bool removeContrib()
Remove all contributions.
Definition: MissingETAssociation_v1.cxx:213
xAOD::MissingETAssociation_v1::setJetTrkE
void setJetTrkE(float e)
Set track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:402
xAOD::MissingETAssociation_v1::cale
const std::vector< float > & cale() const
Get the vector of
xAOD::MissingETAssociation_v1::copyData
void copyData(const MissingETAssociation_v1 &assocDescr)
xAOD::MissingETAssociation_v1::setTrkSumpt
bool setTrkSumpt(const std::vector< float > &trksumptvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:320
xAOD::MissingETAssociation_v1::identifyOverlaps
bool identifyOverlaps()
Loop over contributing objects to identify those that share constituents.
Definition: MissingETAssociation_v1.cxx:600
xAOD::MissingETAssociation_v1::f_trksumpt
std::vector< float > & f_trksumpt()
operator*
MissingETBase::Types::constvec_t operator*(const MissingETBase::Types::constvec_t &cvec, float scale)
Scale constituent vector by multiplication.
MissingETCompositionBase.h
xAOD::MissingETAssociation_v1::resetContrib
bool resetContrib(const IParticle *pPart)
Reset the contribution parameters of an object referenced by a pointer.
xAOD::MissingETAssociation_v1::m_acc_jettrkpx
static const SG::AuxElement::Accessor< float > m_acc_jettrkpx
Definition: MissingETAssociation_v1.h:444
MissingETBase
General namespace for MET EDM software.
Definition: MissingETAssociation_v1.h:454
xAOD::MissingETAssociation_v1::identifyOverlaps
bool identifyOverlaps(const IParticle *pPart)
Search association for particles that share constituents with this one.
MissingET_v1.h
xAOD::MissingETAssociation_v1::ConstVec::ce
float & ce()
Returns reference to modifiable data word storing .
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::MissingETAssociation_v1::containsSignal
bool containsSignal(const IParticle *pSig) const
Check if this signal object matches the constituents of any contributing objects.
Definition: MissingETAssociation_v1.cxx:804
xAOD::MissingETAssociation_v1::f_trkpz
std::vector< float > & f_trkpz()
xAOD::MissingETAssociation_v1::overlapTypes
const std::vector< std::vector< unsigned char > > & overlapTypes() const
Get the list of object overlapTypes.
xAOD::MissingETAssociation_v1::jettrksumpt
float jettrksumpt() const
Get the sumpt for a given object referenced by index.
xAOD::MissingETAssociation_v1::ConstVec::m_ce
float m_ce
Definition: MissingETAssociation_v1.h:83
operator-
MissingETBase::Types::constvec_t operator-(const MissingETBase::Types::constvec_t &v0, const MissingETBase::Types::constvec_t &v2)
Subtract constituent vectors.
xAOD::MissingETAssociation_v1::ConstVec::operator!=
bool operator!=(const ConstVec &cvec) const
Inequality operator.
xAOD::MissingETAssociation_v1::addObject
bool addObject(const IParticle *pPart, const std::vector< const IParticle * > &constlist)
Add object (particle) from pointer reference with individual constituent vectors.
Definition: MissingETAssociation_v1.cxx:154
xAOD::MissingETAssociation_v1::m_acc_trkpx
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_trkpx
Definition: MissingETAssociation_v1.h:438
MissingETBase::Types::bitmask_t
uint64_t bitmask_t
Type for status word bit mask.
Definition: MissingETBase.h:39
MissingETBase::UsageHandler::OnlyCluster
@ OnlyCluster
CaloCluster based only.
Definition: MissingETCompositionBase.h:184
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
xAOD::MissingETAssociation_v1::jettrkpz
float jettrkpz() const
Get the vector for a given object referenced by pointer.
xAOD::MissingETAssociation_v1::setJetTrkPz
void setJetTrkPz(float pz)
Set track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:400
xAOD::MissingETAssociation_v1::m_acc_jettrke
static const SG::AuxElement::Accessor< float > m_acc_jettrke
Definition: MissingETAssociation_v1.h:447
xAOD::py
py
Definition: CompositeParticle_v1.cxx:160
xAOD::MissingETAssociation_v1::ConstVec::ConstVec
ConstVec(float cpx, float cpy, float cpz, float ce, float sumpt)
Constructor with parameters.
xAOD::MissingETAssociation_v1::setTrkE
bool setTrkE(const std::vector< float > &trkevec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:318
D3PD::Types
std::tuple< WrapType< TYPES >... > Types
A simple tuple of multiple types.
Definition: PhysicsAnalysis/D3PDMaker/D3PDMakerUtils/D3PDMakerUtils/Types.h:61
xAOD::MissingETAssociation_v1::overlapIndices
const std::vector< std::vector< size_t > > & overlapIndices() const
Get the list of object overlapIndices.
xAOD::MissingETAssociation_v1::hasOverlaps
bool hasOverlaps(const MissingETAssociationHelper &helper, const IParticle *pPart, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const
Check if any selected particles overlap this one.
xAOD::MissingETAssociation_v1::trksumpt
const std::vector< float > & trksumpt() const
Get the vector of
xAOD::MissingETAssociation_v1::hasOverlaps
bool hasOverlaps(const MissingETAssociationHelper &helper, size_t objIdx, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const
Check if any selected particles overlap this one.
Definition: MissingETAssociation_v1.cxx:719
xAOD::MissingETAssociation_v1::ConstVec
Vector sum of constituents for subtractive overlap removal.
Definition: MissingETAssociation_v1.h:36
xAOD::MissingETAssociation_v1::containsPhysics
bool containsPhysics(const IParticle *pPhys) const
Check if this physics object matches any contributing objects.
Definition: MissingETAssociation_v1.cxx:792
xAOD::MissingETAssociation_v1::testPolicy
static bool testPolicy(const xAOD::IParticle &part, MissingETBase::UsageHandler::Policy p)
Definition: MissingETAssociation_v1.cxx:875
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
xAOD::MissingETAssociation_v1::resetContrib
bool resetContrib()
Reset all contribution parameters.
Definition: MissingETAssociation_v1.cxx:249
xAOD::MissingETAssociation_v1::clearTrkVecs
bool clearTrkVecs()
Reset the track constituent vectors and keys.
xAOD::MissingETAssociation_v1::ConstVec::setCpx
void setCpx(float px)
Set .
xAOD::MissingETAssociation_v1::ConstVec::cpx
float & cpx()
Returns reference to modifiable data word storing .
runBeamSpotCalibration.helper
helper
Definition: runBeamSpotCalibration.py:112
xAOD::MissingETAssociation_v1::findIndex
size_t findIndex(const IParticle *pPart) const
Find index of given object in contributing object store.
Definition: MissingETAssociation_v1.cxx:268
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
xAOD::MissingETAssociation_v1::refJetIndex
size_t refJetIndex() const
Access index of reference jet in its container.
xAOD::MissingETAssociation_v1::calpx
const std::vector< float > & calpx() const
Get the vector of
xAOD::MissingETAssociation_v1::f_removeContrib
bool f_removeContrib(size_t objIdx)
Copy the contribution data from a source.
Definition: MissingETAssociation_v1.cxx:220
xAOD::MissingETAssociation_v1::setJetLink
bool setJetLink(const MissingETBase::Types::jetlink_t &jetLnk)
Set the link to the reference jet.
Definition: MissingETAssociation_v1.cxx:450
xAOD::MissingETAssociation_v1::removeContrib
bool removeContrib(const IParticle *pPart)
Remove a contribution referenced by an object pointer.
MissingETBase::Types::objlink_vector_t
std::vector< objlink_t > objlink_vector_t
Vector of object links type.
Definition: MissingETCompositionBase.h:58
xAOD::MissingETAssociation_v1::setCalSumpt
bool setCalSumpt(const std::vector< float > &calsumptvec)
Set the vector of sumpt
Definition: MissingETAssociation_v1.cxx:307
xAOD::MissingETAssociation_v1::ConstVec::cpy
float & cpy()
Returns reference to modifiable data word storing .
xAOD::MissingETAssociation_v1::setJetTrkVec
void setJetTrkVec(const ConstVec &cvec=ConstVec())
Set the track constituent vector for the reference jet.
xAOD::MissingETAssociation_v1::m_acc_trke
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_trke
Definition: MissingETAssociation_v1.h:441
parseMapping.v0
def v0
Definition: parseMapping.py:149
xAOD::MissingETAssociation_v1::overrideMom
std::map< const IParticle *, ConstVec > overrideMom()
Get override momenta.
xAOD::MissingETAssociation_v1::calsumpt
const std::vector< float > & calsumpt() const
Get the vector of sumpt
xAOD::e
setPy e
Definition: CompositeParticle_v1.cxx:166
xAOD::MissingETAssociation_v1::ConstVec::setCpy
void setCpy(float py)
Set .
IParticleContainer.h
xAOD::MissingETAssociation_v1::ConstVec::cpy
float cpy() const
Returns .
xAOD::MissingETAssociation_v1::ConstVec::sumpt
float sumpt() const
Returns sum of component pt.
xAOD::MissingETAssociation_v1::m_acc_cale
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_cale
Definition: MissingETAssociation_v1.h:435
xAOD::MissingETAssociation_v1::ConstVec::setCe
void setCe(float e)
Set .
MissingETBase::Types::constvec_t
xAOD::MissingETAssociation_v1::ConstVec constvec_t
Type for constituent vector.
Definition: MissingETAssociation_v1.h:457
xAOD::MissingETAssociation_v1::f_trkpy
std::vector< float > & f_trkpy()
xAOD::MissingETAssociation_v1::jettrkpy
float jettrkpy() const
Get the vector for a given object referenced by pointer.
xAOD::MissingETAssociation_v1::m_acc_calsumpt
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_calsumpt
Definition: MissingETAssociation_v1.h:436
xAOD::MissingETAssociation_v1::overlapIndices
std::vector< size_t > overlapIndices(const IParticle *pPart) const
Get the overlap indices for a given object referenced by pointer.
xAOD::MissingETAssociation_v1::trkkey
const std::vector< MissingETBase::Types::bitmask_t > & trkkey() const
Get the vector of trk keys.
Amg::pz
@ pz
Definition: GeoPrimitives.h:40
xAOD::MissingETAssociation_v1::~MissingETAssociation_v1
virtual ~MissingETAssociation_v1()
Assignment operator.
Definition: MissingETAssociation_v1.cxx:148
xAOD::MissingETAssociation_v1::setCalPy
bool setCalPy(const std::vector< float > &calpyvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:301
xAOD::MissingETAssociation_v1::setJetTrkPx
void setJetTrkPx(float px)
Set track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:396
xAOD::MissingETAssociation_v1::setTrkPx
bool setTrkPx(const std::vector< float > &trkpxvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:312
xAOD::MissingETAssociation_v1::f_jettrksumpt
float & f_jettrksumpt()
xAOD::MissingETAssociation_v1::ConstVec::operator/=
ConstVec & operator/=(float scale)
Scale vector by division.
Definition: MissingETAssociation_v1.cxx:71
operator/
MissingETBase::Types::constvec_t operator/(const MissingETBase::Types::constvec_t &cvec, float scale)
Scale constituent vector by division.
xAOD::MissingETAssociation_v1::addOverlap
bool addOverlap(const IParticle *pPart, size_t index, unsigned char type)
Add overlap index for a given contributing object referenced by pointer.
xAOD::MissingETAssociation_v1::setTrkVec
bool setTrkVec(size_t keyIdx, const ConstVec &cvec=ConstVec())
Set the track constituent vector of an object contribution referenced by index.
operator+
MissingETBase::Types::constvec_t operator+(const MissingETBase::Types::constvec_t &v0, const MissingETBase::Types::constvec_t &v2)
Add constituent vectors.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
xAOD::MissingETAssociation_v1::m_objConstLinks
std::vector< std::vector< ElementLink< IParticleContainer > > > m_objConstLinks
Cache object constituents for overlap-finding.
Definition: MissingETAssociation_v1.h:427
xAOD::MissingETAssociation_v1::jetLink
const MissingETBase::Types::jetlink_t & jetLink() const
Get the link to the reference jet.
xAOD::MissingETAssociation_v1::ConstVec::cpz
float cpz() const
Returns .
xAOD::MissingETAssociation_v1::f_jettrkpz
float & f_jettrkpz()
xAOD::MissingETAssociation_v1::calVec
ConstVec calVec(const IParticle *pPart) const
Get calo constituent vector for a given object.
Definition: MissingETAssociation_v1.cxx:540
xAOD::MissingETAssociation_v1::ConstVec::operator-=
ConstVec & operator-=(const ConstVec &cvec)
Subtract another vector.
Definition: MissingETAssociation_v1.cxx:57
xAOD::MissingETAssociation_v1::jetTrkVec
ConstVec jetTrkVec() const
Get track constituent vector for the reference jet.
Definition: MissingETAssociation_v1.cxx:570
xAOD::MissingETAssociation_v1::addCalVec
bool addCalVec(MissingETBase::Types::bitmask_t key, float calpx, float calpy, float calpz, float cale, float sumpt)
Add a key/vector pair for calo contributions.
Definition: MissingETAssociation_v1.cxx:347
MissingETBase::Types::constvec_vector_t
std::vector< constvec_t > constvec_vector_t
Vector type for constituent vector containers.
Definition: MissingETAssociation_v1.h:458
xAOD::MissingETAssociation_v1::ConstVec::operator*=
ConstVec & operator*=(float scale)
Scale vector by multiplication.
Definition: MissingETAssociation_v1.cxx:64
xAOD::MissingETAssociation_v1::setTrkKey
bool setTrkKey(const std::vector< MissingETBase::Types::bitmask_t > &trkkeyvec)
Set the vector of keys
Definition: MissingETAssociation_v1.cxx:322
xAOD::MissingETAssociation_v1::ConstVec::~ConstVec
~ConstVec()
Data class destructor.
MissingETBase::UsageHandler::Policy
Policy
Policies on usage checks.
Definition: MissingETCompositionBase.h:182
xAOD::JetFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition: JetTypes.h:17
xAOD::MissingETAssociation_v1::f_jetLink
MissingETBase::Types::jetlink_t & f_jetLink()
Non-const link reference
xAOD::MissingETAssociation_v1::overlapTypes
std::vector< unsigned char > overlapTypes(const IParticle *pPart) const
Get the overlap types for a given object referenced by pointer.
xAOD::MissingETAssociation_v1::trke
const std::vector< float > & trke() const
Get the vector of
xAOD::MissingETAssociation_v1::setOverlaps
bool setOverlaps(const IParticle *pPart, const std::vector< size_t > &overlapIndices, const std::vector< unsigned char > &overlapTypes)
Set overlap indices and types for a given contributing object referenced by pointer.
xAOD::MissingETAssociation_v1::createPrivateStore
void createPrivateStore()
Function initialising the object to work in standalone mode.
Definition: MissingETAssociation_v1.cxx:838
xAOD::MissingETAssociation_v1::setCalVec
bool setCalVec(size_t keyIdx, const ConstVec &cvec=ConstVec())
Set the calo constituent vector of an object contribution referenced by index.
xAOD::MissingETAssociation_v1::f_isMisc
char & f_isMisc()
xAOD::MissingETAssociation_v1::ConstVec::m_cpx
float m_cpx
Definition: MissingETAssociation_v1.h:80
xAOD::MissingETAssociation_v1::f_overlapIndices
std::vector< std::vector< size_t > > & f_overlapIndices()
record overlapIndices between constributing objects
xAOD::MissingETAssociation_v1::m_override
std::map< const IParticle *, ConstVec > m_override
Definition: MissingETAssociation_v1.h:430
xAOD::MissingETAssociationHelper
Definition: MissingETAssociationHelper.h:26
xAOD::MissingETAssociation_v1::clearCalVecs
bool clearCalVecs()
Reset the calo constituent vectors and keys.
xAOD::MissingETAssociation_v1::overlapTrkVec
ConstVec overlapTrkVec(const MissingETAssociationHelper &helper) const
Retrieve total track-based vector to be subtracted from the jet.
Definition: MissingETAssociation_v1.cxx:782
xAOD::MissingETAssociation_v1::jettrke
float jettrke() const
Get the vector for a given object referenced by index.
xAOD::MissingETAssociation_v1::ConstVec::ConstVec
ConstVec()
Default constructor.
xAOD::MissingETAssociation_v1::m_acc_jettrksumpt
static const SG::AuxElement::Accessor< float > m_acc_jettrksumpt
Definition: MissingETAssociation_v1.h:448
xAOD::MissingETAssociation_v1::f_trke
std::vector< float > & f_trke()
MissingETAssociation_v1.icc
ReadCellNoiseFromCoolCompare.v2
v2
Definition: ReadCellNoiseFromCoolCompare.py:364
xAOD::MissingETAssociation_v1::m_acc_jettrkpy
static const SG::AuxElement::Accessor< float > m_acc_jettrkpy
Definition: MissingETAssociation_v1.h:445
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
xAOD::MissingETAssociation_v1::f_jettrke
float & f_jettrke()
xAOD::MissingETAssociation_v1::f_objectLinks
MissingETBase::Types::objlink_vector_t & f_objectLinks()
Non-const link reference.
xAOD::MissingETAssociation_v1::calkey
const std::vector< MissingETBase::Types::bitmask_t > & calkey() const
Get the vector of cal keys.
xAOD::MissingETAssociation_v1::addTrkVec
bool addTrkVec(MissingETBase::Types::bitmask_t key, float trkpx, float trkpy, float trkpz, float ce, float sumpt)
Add a key/vector pair for calo contributions.
Definition: MissingETAssociation_v1.cxx:381
xAOD::MissingETAssociation_v1::calpz
const std::vector< float > & calpz() const
Get the vector of
xAOD::MissingETAssociation_v1::isMisc
bool isMisc() const
Check if this association is a miscellaneous association.
xAOD::MissingETAssociation_v1::f_calkey
std::vector< MissingETBase::Types::bitmask_t > & f_calkey()
xAOD::MissingETAssociation_v1::ConstVec::cpt
float cpt() const
Returns .
Definition: MissingETAssociation_v1.cxx:87
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::MissingETAssociation_v1::empty
bool empty() const
Update all internally used ElementLink instances.
xAOD::MissingETAssociation_v1::m_acc_calpy
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_calpy
Definition: MissingETAssociation_v1.h:433
xAOD::MissingETAssociation_v1::trkpy
const std::vector< float > & trkpy() const
Get the vector of
xAOD::MissingETAssociation_v1::checkUsage
bool checkUsage(const MissingETAssociationHelper &helper, const IParticle *pSig, MissingETBase::UsageHandler::Policy p) const
Check if this signal object matches the constituents of any flagged contributing objects.
Definition: MissingETAssociation_v1.cxx:818
xAOD::MissingETAssociation_v1::setCalE
bool setCalE(const std::vector< float > &calevec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:305
xAOD::MissingETAssociation_v1::m_acc_jettrkpz
static const SG::AuxElement::Accessor< float > m_acc_jettrkpz
Definition: MissingETAssociation_v1.h:446
xAOD::MissingETAssociation_v1::f_calpz
std::vector< float > & f_calpz()
xAOD::MissingETAssociation_v1::setOverlaps
bool setOverlaps(const std::vector< std::vector< size_t > > &overlapIndices, const std::vector< std::vector< unsigned char > > &overlapTypes)
Set the vector of overlap indices and types.
Definition: MissingETAssociation_v1.cxx:420
xAOD::MissingETAssociation_v1::m_acc_trkpy
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_trkpy
Definition: MissingETAssociation_v1.h:439
xAOD::MissingETAssociation_v1::findTrkIndex
size_t findTrkIndex(MissingETBase::Types::bitmask_t mask) const
Definition: MissingETAssociation_v1.cxx:289
xAOD::MissingETAssociation_v1::f_calsumpt
std::vector< float > & f_calsumpt()
xAOD::MissingETAssociation_v1::f_setLink
bool f_setLink(LINK &elemLink)
xAOD::MissingETAssociation_v1::f_trkpx
std::vector< float > & f_trkpx()
xAOD::MissingETAssociation_v1::trkVec
ConstVec trkVec(const IParticle *pPart) const
Get track constituent vector for a given object.
Definition: MissingETAssociation_v1.cxx:550
xAOD::MissingETAssociation_v1::f_jettrkpx
float & f_jettrkpx()
xAOD::MissingETAssociation_v1::ConstVec::setSumpt
void setSumpt(float sumpt)
Set sumpt.
xAOD::MissingETAssociation_v1::setCalPz
bool setCalPz(const std::vector< float > &calpzvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:303
xAOD::MissingETAssociation_v1::f_calpx
std::vector< float > & f_calpx()
xAOD::MissingETAssociation_v1::f_setObject
void f_setObject(const POBJ *pObj, LINK &elemLink)
Generalized link manager.
xAOD::MissingETAssociation_v1::calpx
float calpx(const IParticle *pPart) const
Get the vector for a given object referenced by pointer.
xAOD::MissingETAssociation_v1::f_cale
std::vector< float > & f_cale()
xAOD::MissingETAssociation_v1::setCalKey
bool setCalKey(const std::vector< MissingETBase::Types::bitmask_t > &calkeyvec)
Set the vector of keys
Definition: MissingETAssociation_v1.cxx:309
xAOD::MissingETAssociation_v1::removeContrib
bool removeContrib(size_t objIdx)
Remove a contribution referenced by an index.
xAOD::MissingETAssociation_v1::trkpx
const std::vector< float > & trkpx() const
Get the vector of
xAOD::MissingETAssociation_v1::ConstVec::operator==
bool operator==(const ConstVec &cvec) const
Equality comparator.
Definition: MissingETAssociation_v1.cxx:77
xAOD::MissingETAssociation_v1::ConstVec::cpx
float cpx() const
Returns .
xAOD::MissingETAssociation_v1::ConstVec::cpz
float & cpz()
Returns reference to modifiable data word storing .
xAOD::MissingETAssociation_v1::ConstVec::setCpz
void setCpz(float pz)
Set .
xAOD::MissingETAssociation_v1::ConstVec::ConstVec
ConstVec(const IParticle &ipar)
Constructor from IParticle.
xAOD::MissingETAssociation_v1::trkpz
const std::vector< float > & trkpz() const
Get the vector of
xAOD::MissingETAssociation_v1::findCalIndex
size_t findCalIndex(MissingETBase::Types::bitmask_t mask) const
Definition: MissingETAssociation_v1.cxx:283
xAOD::MissingETAssociation_v1::addOverrideMom
void addOverrideMom(std::map< const IParticle *, ConstVec > &pOverride)
Extend override momentum map.
xAOD::MissingETAssociation_v1::setObjectLinks
bool setObjectLinks(const MissingETBase::Types::objlink_vector_t &objLnks)
Set the vector of links to the contributing physics or signal objects.
Definition: MissingETAssociation_v1.cxx:457
xAOD::MissingETAssociation_v1::f_jettrkpy
float & f_jettrkpy()
xAOD::MissingETAssociation_v1::ConstVec::operator+=
ConstVec & operator+=(const ConstVec &cvec)
Add another vector.
Definition: MissingETAssociation_v1.cxx:50
MissingETAssociationHelper.h
xAOD::MissingETAssociation_v1::m_acc_calpx
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_calpx
Definition: MissingETAssociation_v1.h:432
xAOD::MissingETAssociation_v1::refJet
const Jet * refJet() const
Access reference jet.
xAOD::MissingETAssociation_v1::f_trkkey
std::vector< MissingETBase::Types::bitmask_t > & f_trkkey()
xAOD::MissingETAssociation_v1::operator==
bool operator==(const MissingETAssociation_v1 &contrib) const
Definition: MissingETAssociation_v1.cxx:577
xAOD::MissingETAssociation_v1::ConstVec::ce
float ce() const
Returns .
xAOD::MissingETAssociation_v1::objects
std::vector< const IParticle * > objects() const
Access contributing objects.
Definition: MissingETAssociation_v1.cxx:505
xAOD::MissingETAssociation_v1::setTrkPz
bool setTrkPz(const std::vector< float > &trkpzvec)
Set the vector of
Definition: MissingETAssociation_v1.cxx:316
xAOD::MissingETAssociation_v1::getAlternateConstVec
xAOD::JetFourMom_t getAlternateConstVec() const
Definition: MissingETAssociation_v1.cxx:759
xAOD::MissingETAssociation_v1::ConstVec::m_sumpt
float m_sumpt
Definition: MissingETAssociation_v1.h:84
AuxElement.h
Base class for elements of a container that can have aux data.
xAOD::MissingETAssociation_v1::ConstVec::m_cpy
float m_cpy
Definition: MissingETAssociation_v1.h:81
xAOD::MissingETAssociation_v1::ConstVec::m_cpz
float m_cpz
Definition: MissingETAssociation_v1.h:82
xAOD::MissingETAssociation_v1::ConstVec::sumpt
float & sumpt()
Returns reference to modifiable data word storing sum of component pt.
xAOD::MissingETAssociation_v1::setRefJet
bool setRefJet(const Jet *pJet)
Set reference jet by object pointer reference.
Definition: MissingETAssociation_v1.cxx:436
xAOD::MissingETAssociation_v1::calpy
const std::vector< float > & calpy() const
Get the vector of
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
xAOD::MissingETAssociation_v1::MissingETAssociation_v1
MissingETAssociation_v1(bool createStore=false)
Default constructor.
Definition: MissingETAssociation_v1.cxx:96
xAOD::MissingETAssociation_v1::m_acc_trksumpt
static const SG::AuxElement::Accessor< std::vector< float > > m_acc_trksumpt
Definition: MissingETAssociation_v1.h:442