ATLAS Offline Software
Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef MISSINGETEVENT_MISSINGETCOMPOSITION_H
8 #define MISSINGETEVENT_MISSINGETCOMPOSITION_H
9 
10 #include "AthenaKernel/CLASS_DEF.h"
11 #include "Navigation/Navigable.h"
12 
15 
16 #include <vector>
17 #include <tuple>
18 
19 struct MissingETtags {
20 
21  typedef unsigned short bitmask_t;
22 
23  enum Tags {
24  UNKNOWN = 0x0000,
25  DEFAULT = 0x0001,
26  SPECTRO = 0x0002,
27  TRACK = 0x0004,
28  REFMUON = 0x0008,
29  MUID = 0x0010,
30  EFLOW_CLUSTER = 0x0020,
31  REMOVED_CLUSTER = 0x0040,
32  VTX_SHIFTED_CLUSTER_DEF = 0x0081, // shifted default
33  VTX_SHIFTED_CLUSTER = 0x0080, // just shift indicator
34  PILEUP_CORRECTED = 0x1000,
35  PU_TRACK_STVF = 0x1100,
36  PU_TRACK_SUM = 0x1200,
37  PU_TRACK_CONE = 0x1400,
38  PU_JET_AREA = 0x1800,
40  PU_JET_JVF = 0x3100,
42  PU_JET_JVFCUT = 0x3300,
43  PU_JET_AREA_JET = 0x3800,
44  PU_JET_AREA_JVF = 0x5100
45  //NEXT_COMES = 0x0080,
46  //THEN = 0x0100,
47  };
48 
49  // general test for tag pattern
51  { return (tag & test) == test; }
52 
53  //isDEFAULT means use default pt and no other bits are set
54  static bool isDEFAULT(bitmask_t tag)
55  { return tag == DEFAULT || tag == VTX_SHIFTED_CLUSTER_DEF; }
56 
57  //usesDEFAULT means use default pt but other bits could also be set
58  static bool usesDEFAULT(bitmask_t tag)
59  { return tag & DEFAULT; }
60 
61  static bool usesSPECTRO(bitmask_t tag)
62  { return tag & SPECTRO; }
63 
64  static bool usesTRACK(bitmask_t tag)
65  { return tag & TRACK; }
66 
67  static bool usesREFMUON(bitmask_t tag)
68  { return tag & REFMUON; }
69 
70  static bool usesMUID(bitmask_t tag)
71  { return tag & MUID; }
72 
74  { return tag & EFLOW_CLUSTER; }
75 
77  { return tag & REMOVED_CLUSTER; }
78 
80  { return tag & PILEUP_CORRECTED; }
81 
83  { return tag & PU_TRACK_STVF; }
84 
86  { return tag & PU_TRACK_SUM; }
87 
89  { return tag & PU_TRACK_CONE; }
90 
92  { return tag & PU_JET_AREA; }
93 
95  { return tag & PU_JET_CORRECTION; }
96 
98  { return tag & PU_JET_JVF; }
99 
101  { return tag & PU_JET_JVFCUT; }
102 
104  { return tag & PU_JET_CUSTOM_JVF; }
105 
107  { return tag & PU_JET_AREA_JET; }
108 
110  { return tag & PU_JET_AREA_JVF; }
111 
113  { return tag & VTX_SHIFTED_CLUSTER; }
114 
116  { return tag & VTX_SHIFTED_CLUSTER_DEF; }
117 
119  { tag = tag | DEFAULT;}
120 
122  { tag = tag | SPECTRO;}
123 
124  static void setUsesTRACK(bitmask_t &tag)
125  { tag = tag | TRACK;}
126 
128  { tag = tag | REFMUON;}
129 
130  static void setUsesMUID(bitmask_t &tag)
131  { tag = tag | MUID;}
132 
134  { tag = tag | EFLOW_CLUSTER;}
135 
137  { tag = tag | REMOVED_CLUSTER;}
138 
140  { tag = tag | PILEUP_CORRECTED;}
141 
143  { tag = tag | PU_TRACK_STVF;}
144 
146  { tag = tag | PU_TRACK_SUM;}
147 
149  { tag = tag | PU_TRACK_CONE;}
150 
152  { tag = tag | PU_JET_AREA;}
153 
155  { tag = tag | PU_JET_CORRECTION; }
156 
158  { tag = tag | PU_JET_JVF; }
159 
161  { tag = tag | PU_JET_JVFCUT; }
162 
164  { tag = tag | PU_JET_CUSTOM_JVF; }
165 
167  { tag = tag | PU_JET_AREA_JET; }
168 
170  { tag = tag | PU_JET_AREA_JVF; }
171 
173  { tag = tag | VTX_SHIFTED_CLUSTER; }
174 
177 };
178 
179 namespace MissingETHandlers {
180 
181  typedef std::tuple<float,float,float,unsigned short int> struct_t;
182 
183  static float precision() { return 0.0001; }
184 
185  class Weight : public struct_t
186  {
187  public:
188  // templated constructor
189  template <typename PERS>
190  /* explicit */ Weight(PERS&)
191  {
192  this->setWpx(0);
193  this->setWpy(0);
194  this->setWet(0);
195  this->setStatusWord(0);
196  std::cerr << "Rolf: calling general template for Weight c'tor ! You need to specialize it for " << typeid(PERS).name() << " !\n";
197  abort();
198  }
199 
200  Weight() = default;
201  Weight(float wpx,float wpy,float wet) : struct_t(wpx,wpy,wet,0) { }
202  Weight(float wpx,float wpy,float wet, unsigned short int status) : struct_t(wpx,wpy,wet,status) { }
203  virtual ~Weight() = default;
204 
205  Weight(const Weight& w) = default;
206  Weight& operator=(const Weight& w) = default;
207  Weight(Weight&& w) = default;
208  Weight& operator=(Weight&& w) = default;
209 
210  float wpx() const { return (float)std::get<0>(*this); }
211  float wpy() const { return (float)std::get<1>(*this); }
212  float wet() const { return (float)std::get<2>(*this); }
213  unsigned short int statusWord() const { return (unsigned short int)std::get<3>(*this); }
214 
215  void setWpx(float wpx) { std::get<0>(*this) = wpx; }
216  void setWpy(float wpy) { std::get<1>(*this) = wpy; }
217  void setWet(float wet) { std::get<2>(*this) = wet; }
218  void setStatusWord(unsigned short int status) { std::get<3>(*this) = status; }
219 
221  {
222  this->setWpx(w.wpx()+this->wpx());
223  this->setWpy(w.wpy()+this->wpy());
224  this->setWet(w.wet()+this->wet());
225  return *this;
226  }
227 
229  {
230  this->setWpx(this->wpx()-w.wpx());
231  this->setWpy(this->wpy()-w.wpy());
232  this->setWet(this->wet()-w.wet());
233  return *this;
234  }
235 
237  {
238  this->setWpx(w.wpx()*this->wpx());
239  this->setWpy(w.wpy()*this->wpy());
240  this->setWet(w.wet()*this->wet());
241  return *this;
242  }
243 
245  {
246  this->setWpx(this->divide(this->wpx(),w.wpx()));
247  this->setWpy(this->divide(this->wpy(),w.wpy()));
248  this->setWet(this->divide(this->wet(),w.wet()));
249  return *this;
250  }
251 
252  bool operator==(const Weight& w) const
253  {
254  return
255  isEqual(w.wpx(),this->wpx()) &&
256  isEqual(w.wpy(),this->wpy()) &&
257  isEqual(w.wet(),this->wet());
258  }
259 
260  bool operator!=(const Weight& w) const
261  { return !(this->operator==)(w); }
262 
263  static float divide(float x,float y)
264  { return y != 0. ? x /y : 0.; }
265 
266  static bool isEqual(float x,float y)
267  { return fabs(x-y) <= precision()*fabs(x); }
268 
269  };//class Weight
270 
271 
272 Weight operator*(const Weight& w1,
273  const Weight& w2);
274 Weight operator*(const Weight& w, double scale);
275 Weight operator*(double scale, const Weight& w);
276 Weight operator/(const Weight& w1,
277  const Weight& w2);
278 Weight operator+(const Weight& w1,
279  const Weight& w2);
280 Weight operator-(const Weight& w1,
281  const Weight& w2);
282 
283 
284 }//namespace MissingETHandlers
285 
286 
287 
289  public Navigable<INavigable4MomentumCollection,MissingETHandlers::Weight>
290 {
291 public:
292 
298 
299  // iterators
300  template<class OBJECT>
302  {
303  public:
306  : m_store(store), m_actual(iiter) { }
307  virtual ~const_iterator() { }
308  // copy
311 
313  if(&iter != this) {
314  m_store = iter.m_store;
315  m_actual = iter.m_actual;
316  }
317  return *this;
318  }
319 
320  // increment
322  {
323  m_actual++;
324  while ( m_actual != m_store->end() &&
325  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual++; };
326  return *this;
327  }
329  {
330  const_iterator tmp(*this);
331  m_actual++;
332  while ( m_actual != m_store->end() &&
333  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual++; };
334  return tmp;
335  }
336 
337  // decrement
339  {
340  m_actual--;
341  while ( m_actual != m_store->begin() &&
342  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual--; };
343  return m_actual != m_store->begin() ? *this : 0;
344  }
346  {
347  const_iterator tmp(*this);
348  m_actual--;
349  while ( m_actual != m_store->end() &&
350  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual--; };
351  return tmp;
352  }
353 
354  // equality
355  bool operator==(const const_iterator& iter) const
356  { return m_store == iter.m_store && m_actual == iter.m_actual; }
357  bool operator!=(const const_iterator& iter) const
358  { return !(this->operator==)(iter); }
359 
360  // access
361  const OBJECT* operator*() const
362  {
363  return dynamic_cast<const OBJECT*>(*m_actual);
364  }
365  const OBJECT*& operator->() const
366  {
367  if (dynamic_cast<const OBJECT*>(*m_actual)==0) {
368  std::cout << "dynamic cast==0 in operator*" << std::endl;
369  }
370 
371  return dynamic_cast<const OBJECT*>(*m_actual);
372  }
373 
374  const OBJECT* getObject() const { return this->operator*(); }
375  const weight_t getParameter() const { return m_actual.getParameter(); }
376  // helpful for copying compositions
378  { return m_store->getContainer(m_actual); }
379 
380  private:
381 
382  const base_t* m_store;
384  };
385 
387  virtual ~MissingETComposition();
388 
389  void insert(const collection_t* pColl,const object_t* pObj,
391  {
392  this->insertElement(pColl,pObj,weight);
393  }
394 
395  weight_t getWeight(const object_t* pObj) const
396  {
397  return this->getParameter(pObj);
398  }
399 
400  template<class OBJECT>
402  {
403  return fObj.getParameter();
404  }
405 
406  template<class OBJECT>
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  }
416 
417  template<class OBJECT>
419  {
420  return const_iterator<OBJECT>(static_cast<const base_t*>(this), this->end());
421  }
422 
423  template<class OBJECT>
424  const_iterator<OBJECT> find(const OBJECT* pObj) const
425  {
426  const_iterator<OBJECT> fObj = this->beginIterator<OBJECT>();
427  const_iterator<OBJECT> lObj = this->endIterator<OBJECT>();
428  while ( fObj != lObj && pObj != *fObj ) { ++fObj; }
429  return fObj;
430  }
431 
432  // fill missing ET object - really adds!!
433  template<class OBJECT>
435  unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED |
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.);
446  const_iterator<OBJECT> fObj(this->beginIterator<OBJECT>());
447  const_iterator<OBJECT> lObj(this->endIterator<OBJECT>());
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  }
466 
467  // get contributions from given object
468  template<class OBJECT>
469  MissingET* getMissingET(unsigned short rejectTag=
471  const
472  {
473  //
474  MissingET* pMET = new MissingET(MissingET::Ref);
475  if ( this->fillMissingET<OBJECT>(pMET,rejectTag) ) return pMET;
476  // error raised
477  if ( pMET != 0 ) delete pMET;
478  return (MissingET*)0;
479  }
480 
481 };
482 
483 CLASS_DEF(MissingETComposition, 264867051, 1)
484 
485 #endif
MissingETtags
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:19
MissingETHandlers::Weight::Weight
Weight(PERS &)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:190
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
SGTest::store
TestStore store
Definition: TestStore.cxx:23
MissingETtags::setUsesEFLOW_CLUSTER
static void setUsesEFLOW_CLUSTER(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:133
MissingETtags::setUsesVTX_SHIFTED_CLUSTER_DEF
static void setUsesVTX_SHIFTED_CLUSTER_DEF(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:175
MissingETComposition::const_iterator::operator=
const_iterator operator=(const const_iterator &iter)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:312
MissingETtags::setUsesVTX_SHIFTED_CLUSTER
static void setUsesVTX_SHIFTED_CLUSTER(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:172
MissingETHandlers::Weight::statusWord
unsigned short int statusWord() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:213
createLinkingScheme.iter
iter
Definition: createLinkingScheme.py:62
et
Extra patterns decribing particle interation process.
MissingETComposition::const_iterator::m_store
const base_t * m_store
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:382
MissingETtags::setUsesPU_JET_JVFCUT
static void setUsesPU_JET_JVFCUT(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:160
MissingETtags::setUsesPU_TRACK_CONE
static void setUsesPU_TRACK_CONE(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:148
MissingETComposition::const_iterator::operator++
const_iterator operator++()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:321
MissingETtags::SPECTRO
@ SPECTRO
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:26
MissingETComposition::const_iterator::m_actual
iiterator_t m_actual
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:383
MissingET.h
MissingETHandlers::Weight::wpy
float wpy() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:211
test_pyathena.px
px
Definition: test_pyathena.py:18
MissingETComposition::const_iterator
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:302
MissingETComposition::object_t
collection_t::base_value_type object_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:294
MissingETHandlers::struct_t
std::tuple< float, float, float, unsigned short int > struct_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:181
MissingETtags::setUsesREFMUON
static void setUsesREFMUON(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:127
MissingETComposition::MissingETComposition
MissingETComposition()
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:7
MissingETtags::setUsesPU_JET_AREA
static void setUsesPU_JET_AREA(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:151
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
MissingETHandlers::Weight::setWpy
void setWpy(float wpy)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:216
MissingETComposition::find
const_iterator< OBJECT > find(const OBJECT *pObj) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:424
MissingETtags::setUsesDEFAULT
static void setUsesDEFAULT(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:118
MissingETtags::usesPILEUP_CORRECTED
static bool usesPILEUP_CORRECTED(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:79
MissingETComposition::const_iterator::const_iterator
const_iterator(const const_iterator &iter)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:309
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
MissingETtags::usesREMOVED_CLUSTER
static bool usesREMOVED_CLUSTER(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:76
MissingETComposition::collection_t
INavigable4MomentumCollection collection_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:293
MissingETtags::isDEFAULT
static bool isDEFAULT(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:54
MissingETtags::PU_JET_AREA
@ PU_JET_AREA
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:38
MissingETHandlers::operator-
Weight operator-(const Weight &w1, const Weight &w2)
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:39
MissingETtags::usesTags
static bool usesTags(bitmask_t tag, bitmask_t test)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:50
MissingETtags::VTX_SHIFTED_CLUSTER_DEF
@ VTX_SHIFTED_CLUSTER_DEF
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:32
MissingETtags::setUsesPU_JET_CORRECTION
static void setUsesPU_JET_CORRECTION(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:154
MissingETComposition::const_iterator::const_iterator
const_iterator(const base_t *store, iiterator_t iiter)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:305
MissingETComposition::weight_t
MissingETHandlers::Weight weight_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:295
Navigable< INavigable4MomentumCollection, MissingETHandlers::Weight >::insertElement
void insertElement(const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight(), size_t sizeHint=0)
MissingETtags::PU_JET_CUSTOM_JVF
@ PU_JET_CUSTOM_JVF
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:41
MissingETtags::usesDEFAULT
static bool usesDEFAULT(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:58
Navigable::begin
virtual object_iter begin() const
MissingETComposition::fillMissingET
bool fillMissingET(MissingET *pMET, unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:434
MissingETtags::usesPU_JET_CUSTOM_JVF
static bool usesPU_JET_CUSTOM_JVF(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:103
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:142
MissingETtags::PU_TRACK_STVF
@ PU_TRACK_STVF
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:35
MissingETtags::usesVTX_SHIFTED_CLUSTER_DEF
static bool usesVTX_SHIFTED_CLUSTER_DEF(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:115
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
MissingETtags::usesSPECTRO
static bool usesSPECTRO(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:61
MissingETtags::setUsesPU_JET_CUSTOM_JVF
static void setUsesPU_JET_CUSTOM_JVF(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:163
x
#define x
MissingETtags::usesVTX_SHIFTED_CLUSTER
static bool usesVTX_SHIFTED_CLUSTER(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:112
MissingETtags::UNKNOWN
@ UNKNOWN
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:24
MissingETComposition::const_iterator::operator->
const OBJECT *& operator->() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:365
Navigable::end
virtual object_iter end() const
NavigableIterator
Definition: NavigableIterator.h:24
MissingETtags::REMOVED_CLUSTER
@ REMOVED_CLUSTER
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:31
MissingETComposition::iiterator_t
base_t::object_iter iiterator_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:297
MissingETHandlers
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:179
MissingETHandlers::Weight
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:186
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
MissingETHandlers::Weight::Weight
Weight()=default
MissingETtags::bitmask_t
unsigned short bitmask_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:21
DataVector::base_value_type
T base_value_type
The T value used as the template parameter.
Definition: DataVector.h:825
MissingETHandlers::Weight::wet
float wet() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:212
MissingETtags::setUsesPU_TRACK_STVF
static void setUsesPU_TRACK_STVF(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:142
MissingETtags::EFLOW_CLUSTER
@ EFLOW_CLUSTER
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:30
MissingETtags::DEFAULT
@ DEFAULT
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:25
MissingETHandlers::Weight::setWpx
void setWpx(float wpx)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:215
MissingETtags::PU_JET_CORRECTION
@ PU_JET_CORRECTION
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:39
MissingETHandlers::Weight::operator+=
Weight & operator+=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:220
MissingETtags::setUsesMUID
static void setUsesMUID(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:130
MissingETComposition::const_iterator::getParameter
const weight_t getParameter() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:375
MissingETtags::TRACK
@ TRACK
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:27
MissingETComposition::const_iterator::operator*
const OBJECT * operator*() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:361
MissingETtags::PU_TRACK_SUM
@ PU_TRACK_SUM
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:36
MissingETHandlers::operator*
Weight operator*(const Weight &w1, const Weight &w2)
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:14
INavigable4MomentumCollection.h
MissingETtags::REFMUON
@ REFMUON
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:28
MissingETHandlers::Weight::Weight
Weight(float wpx, float wpy, float wet)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:201
MissingETComposition::beginIterator
const_iterator< OBJECT > beginIterator() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:407
MissingETtags::setUsesPU_JET_AREA_JVF
static void setUsesPU_JET_AREA_JVF(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:169
MissingETtags::setUsesSPECTRO
static void setUsesSPECTRO(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:121
MissingETtags::PILEUP_CORRECTED
@ PILEUP_CORRECTED
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:34
MissingETHandlers::Weight::operator/=
Weight & operator/=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:244
MissingETtags::usesPU_TRACK_SUM
static bool usesPU_TRACK_SUM(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:85
MissingETHandlers::Weight::operator=
Weight & operator=(const Weight &w)=default
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
MissingETHandlers::Weight::wpx
float wpx() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:210
MissingET
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
Definition: RecTPCnv.cxx:64
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
MissingETtags::PU_JET_JVF
@ PU_JET_JVF
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:40
MissingETHandlers::Weight::divide
static float divide(float x, float y)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:263
MissingETHandlers::Weight::operator==
bool operator==(const Weight &w) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:252
MissingETtags::usesMUID
static bool usesMUID(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:70
MissingETComposition::base_t
Navigable< collection_t, weight_t > base_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:296
MissingETtags::usesREFMUON
static bool usesREFMUON(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:67
Amg::py
@ py
Definition: GeoPrimitives.h:39
MissingETtags::MUID
@ MUID
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:29
MissingETtags::setUsesPU_TRACK_SUM
static void setUsesPU_TRACK_SUM(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:145
MissingETHandlers::Weight::Weight
Weight(float wpx, float wpy, float wet, unsigned short int status)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:202
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Navigable::getContainer
const CONT * getContainer(const constituent_type *aConstituent) const
PERS
RpcSectorLogicContainer_p1 PERS
Definition: RpcSectorLogicContainerCnv.h:13
MissingETComposition
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:290
RpcSectorLogicContainer_p1
Class to represent.
Definition: RpcSectorLogicContainer_p1.h:19
MissingETComposition::const_iterator::operator!=
bool operator!=(const const_iterator &iter) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:357
MissingETtags::setUsesTRACK
static void setUsesTRACK(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:124
MissingETtags::VTX_SHIFTED_CLUSTER
@ VTX_SHIFTED_CLUSTER
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:33
MissingETHandlers::Weight::~Weight
virtual ~Weight()=default
MissingET::add
virtual void add(double theEx, double theEy, double theEt, double theEta, double weight)
Definition: MissingET.cxx:127
Navigable
Navigable template generalization to handle navigation.
Definition: Navigable.h:93
MissingETHandlers::Weight::Weight
Weight(Weight &&w)=default
MissingETtags::usesPU_JET_AREA_JVF
static bool usesPU_JET_AREA_JVF(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:109
Navigable< INavigable4MomentumCollection, MissingETHandlers::Weight >::getParameter
MissingETHandlers::Weight getParameter(const constituent_type *aConstituent) const
MissingETtags::usesPU_JET_CORRECTION
static bool usesPU_JET_CORRECTION(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:94
MissingETtags::setUsesPU_JET_AREA_JET
static void setUsesPU_JET_AREA_JET(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:166
MissingETtags::PU_JET_AREA_JET
@ PU_JET_AREA_JET
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:43
Navigable.h
MissingETHandlers::operator+
Weight operator+(const Weight &w1, const Weight &w2)
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:34
y
#define y
MissingETHandlers::Weight::isEqual
static bool isEqual(float x, float y)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:266
MissingETtags::usesPU_JET_AREA_JET
static bool usesPU_JET_AREA_JET(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:106
MissingET
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:23
MissingET::Ref
@ Ref
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:56
MissingETComposition::const_iterator::operator--
const_iterator operator--()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:338
MissingETHandlers::Weight::setStatusWord
void setStatusWord(unsigned short int status)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:218
MissingETtags::setUsesPILEUP_CORRECTED
static void setUsesPILEUP_CORRECTED(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:139
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
MissingETHandlers::Weight::operator*=
Weight & operator*=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:236
NavigableIterator::getParameter
RPAR getParameter() const
Definition: NavigableIterator.h:197
MissingETtags::usesPU_JET_JVF
static bool usesPU_JET_JVF(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:97
MissingETComposition::const_iterator::operator++
const_iterator operator++(int)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:328
MissingETtags::setUsesPU_JET_JVF
static void setUsesPU_JET_JVF(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:157
MissingETComposition::getWeight
weight_t getWeight(const object_t *pObj) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:395
MissingETComposition::endIterator
const_iterator< OBJECT > endIterator() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:418
MissingETComposition::const_iterator::getContainer
const INavigable4MomentumCollection * getContainer() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:377
MissingETtags::setUsesREMOVED_CLUSTER
static void setUsesREMOVED_CLUSTER(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:136
MissingETHandlers::Weight::Weight
Weight(const Weight &w)=default
MissingETHandlers::Weight::operator!=
bool operator!=(const Weight &w) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:260
MissingETHandlers::Weight::operator=
Weight & operator=(Weight &&w)=default
MissingETComposition::const_iterator::operator==
bool operator==(const const_iterator &iter) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:355
merge.status
status
Definition: merge.py:16
MissingETComposition::~MissingETComposition
virtual ~MissingETComposition()
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:9
MissingETtags::usesTRACK
static bool usesTRACK(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:64
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:44
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:23
MissingETComposition::const_iterator::operator--
const_iterator operator--(int)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:345
MissingETHandlers::operator/
Weight operator/(const Weight &w1, const Weight &w2)
Definition: Reconstruction/MissingETEvent/src/MissingETComposition.cxx:29
MissingETHandlers::Weight::operator-=
Weight & operator-=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:228
MissingETComposition::getMissingET
MissingET * getMissingET(unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:469
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:198
MissingETtags::usesPU_JET_JVFCUT
static bool usesPU_JET_JVFCUT(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:100
MissingETtags::usesPU_TRACK_CONE
static bool usesPU_TRACK_CONE(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:88
MissingETComposition::const_iterator::const_iterator
const_iterator()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:304
MissingETtags::Tags
Tags
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:23
MissingETComposition::insert
void insert(const collection_t *pColl, const object_t *pObj, weight_t weight)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:389
MissingETtags::PU_JET_AREA_JVF
@ PU_JET_AREA_JVF
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:44
CLASS_DEF.h
macros to associate a CLID to a type
MissingETtags::PU_TRACK_CONE
@ PU_TRACK_CONE
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:37
MissingETComposition::const_iterator::getObject
const OBJECT * getObject() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:374
MissingETHandlers::Weight::setWet
void setWet(float wet)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:217
MissingETtags::usesEFLOW_CLUSTER
static bool usesEFLOW_CLUSTER(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:73
MissingETtags::PU_JET_JVFCUT
@ PU_JET_JVFCUT
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:42
MissingETComposition::getWeight
weight_t getWeight(const_iterator< OBJECT > fObj) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:401
MissingETtags::usesPU_JET_AREA
static bool usesPU_JET_AREA(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:91
MissingETtags::usesPU_TRACK_STVF
static bool usesPU_TRACK_STVF(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:82
MissingETComposition::const_iterator::~const_iterator
virtual ~const_iterator()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:307