ATLAS Offline Software
Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.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 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() : struct_t() { }
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() { }
204 
205  Weight(const Weight& w) : struct_t(w.wpx(),w.wpy(),w.wet(),w.statusWord()) { }
207 
208  float wpx() const { return (float)std::get<0>(*this); }
209  float wpy() const { return (float)std::get<1>(*this); }
210  float wet() const { return (float)std::get<2>(*this); }
211  unsigned short int statusWord() const { return (unsigned short int)std::get<3>(*this); }
212 
213  void setWpx(float wpx) { std::get<0>(*this) = wpx; }
214  void setWpy(float wpy) { std::get<1>(*this) = wpy; }
215  void setWet(float wet) { std::get<2>(*this) = wet; }
216  void setStatusWord(unsigned short int status) { std::get<3>(*this) = status; }
217 
219  {
220  this->setWpx(w.wpx()+this->wpx());
221  this->setWpy(w.wpy()+this->wpy());
222  this->setWet(w.wet()+this->wet());
223  return *this;
224  }
225 
227  {
228  this->setWpx(this->wpx()-w.wpx());
229  this->setWpy(this->wpy()-w.wpy());
230  this->setWet(this->wet()-w.wet());
231  return *this;
232  }
233 
235  {
236  this->setWpx(w.wpx()*this->wpx());
237  this->setWpy(w.wpy()*this->wpy());
238  this->setWet(w.wet()*this->wet());
239  return *this;
240  }
241 
243  {
244  this->setWpx(this->divide(this->wpx(),w.wpx()));
245  this->setWpy(this->divide(this->wpy(),w.wpy()));
246  this->setWet(this->divide(this->wet(),w.wet()));
247  return *this;
248  }
249 
250  bool operator==(const Weight& w) const
251  {
252  return
253  isEqual(w.wpx(),this->wpx()) &&
254  isEqual(w.wpy(),this->wpy()) &&
255  isEqual(w.wet(),this->wet());
256  }
257 
258  bool operator!=(const Weight& w) const
259  { return !(this->operator==)(w); }
260 
262  {
263  this->setWpx(w.wpx());
264  this->setWpy(w.wpy());
265  this->setWet(w.wet());
266  this->setStatusWord(w.statusWord());
267  return *this;
268  }
269 
270  static float divide(float x,float y)
271  { return y != 0. ? x /y : 0.; }
272 
273  static bool isEqual(float x,float y)
274  { return fabs(x-y) <= precision()*fabs(x); }
275 
276  };//class Weight
277 
278 
279 Weight operator*(const Weight& w1,
280  const Weight& w2);
281 Weight operator*(const Weight& w, double scale);
282 Weight operator*(double scale, const Weight& w);
283 Weight operator/(const Weight& w1,
284  const Weight& w2);
285 Weight operator+(const Weight& w1,
286  const Weight& w2);
287 Weight operator-(const Weight& w1,
288  const Weight& w2);
289 
290 
291 }//namespace MissingETHandlers
292 
293 
294 
296  public Navigable<INavigable4MomentumCollection,MissingETHandlers::Weight>
297 {
298 public:
299 
305 
306  // iterators
307  template<class OBJECT>
309  {
310  public:
313  : m_store(store), m_actual(iiter) { }
314  virtual ~const_iterator() { }
315  // copy
317  : m_store(iter.m_store), m_actual(iter.m_actual) { }
318 
320  if(&iter != this) {
321  m_store = iter.m_store;
322  m_actual = iter.m_actual;
323  }
324  return *this;
325  }
326 
327  // increment
329  {
330  m_actual++;
331  while ( m_actual != m_store->end() &&
332  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual++; };
333  return *this;
334  }
336  {
337  const_iterator tmp(*this);
338  m_actual++;
339  while ( m_actual != m_store->end() &&
340  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual++; };
341  return tmp;
342  }
343 
344  // decrement
346  {
347  m_actual--;
348  while ( m_actual != m_store->begin() &&
349  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual--; };
350  return m_actual != m_store->begin() ? *this : 0;
351  }
353  {
354  const_iterator tmp(*this);
355  m_actual--;
356  while ( m_actual != m_store->end() &&
357  dynamic_cast<const OBJECT*>(*m_actual) == 0 ) { m_actual--; };
358  return tmp;
359  }
360 
361  // equality
362  bool operator==(const const_iterator& iter) const
363  { return m_store == iter.m_store && m_actual == iter.m_actual; }
364  bool operator!=(const const_iterator& iter) const
365  { return !(this->operator==)(iter); }
366 
367  // access
368  const OBJECT* operator*() const
369  {
370  return dynamic_cast<const OBJECT*>(*m_actual);
371  }
372  const OBJECT*& operator->() const
373  {
374  if (dynamic_cast<const OBJECT*>(*m_actual)==0) {
375  std::cout << "dynamic cast==0 in operator*" << std::endl;
376  }
377 
378  return dynamic_cast<const OBJECT*>(*m_actual);
379  }
380 
381  const OBJECT* getObject() const { return this->operator*(); }
382  const weight_t getParameter() const { return m_actual.getParameter(); }
383  // helpful for copying compositions
385  { return m_store->getContainer(m_actual); }
386 
387  private:
388 
389  const base_t* m_store;
391  };
392 
394  virtual ~MissingETComposition();
395 
396  void insert(const collection_t* pColl,const object_t* pObj,
398  {
399  this->insertElement(pColl,pObj,weight);
400  }
401 
402  weight_t getWeight(const object_t* pObj) const
403  {
404  return this->getParameter(pObj);
405  }
406 
407  template<class OBJECT>
409  {
410  return fObj.getParameter();
411  }
412 
413  template<class OBJECT>
415  {
416  if (this->begin() != this->end()) {
417  const_iterator<OBJECT> temp(static_cast<const base_t*>(this), this->begin());
418  if ((*temp)==0) {++temp; return temp;}
419  return temp;
420  }
421  else { return const_iterator<OBJECT>(static_cast<const base_t*>(this), this->begin()); }
422  }
423 
424  template<class OBJECT>
426  {
427  return const_iterator<OBJECT>(static_cast<const base_t*>(this), this->end());
428  }
429 
430  template<class OBJECT>
431  const_iterator<OBJECT> find(const OBJECT* pObj) const
432  {
433  const_iterator<OBJECT> fObj = this->beginIterator<OBJECT>();
434  const_iterator<OBJECT> lObj = this->endIterator<OBJECT>();
435  while ( fObj != lObj && pObj != *fObj ) { ++fObj; }
436  return fObj;
437  }
438 
439  // fill missing ET object - really adds!!
440  template<class OBJECT>
442  unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED |
444  {
445  // sanity check
446  if ( pMET == 0 ) return false;
447  // sum up
448  float px(0.);
449  float py(0.);
450  float et(0.);
451  float eta(0.);
452  float e(0.);
453  const_iterator<OBJECT> fObj(this->beginIterator<OBJECT>());
454  const_iterator<OBJECT> lObj(this->endIterator<OBJECT>());
455  for ( ; fObj != lObj; ++fObj )
456  {
457  if ( !MissingETtags::usesTags(fObj.statusWord(),rejectTag) )
458  {
459  px += (*fObj)->px() * fObj.getParameter().wpx();
460  py += (*fObj)->py() * fObj.getParameter().wpy();
461  et += (*fObj)->et() * fObj.getParameter().wet();
462  // eta
463  eta += (*fObj)->eta() * (*fObj)->e() * fObj.getParameter().wet();
464  e += (*fObj)->e() * fObj.getParameter().wet();
465  }
466  }
467  // get eta
468  eta = e != 0. ? eta/e : 0.;
469  //
470  pMET->add(px,py,et,eta,1.0);
471  return true;
472  }
473 
474  // get contributions from given object
475  template<class OBJECT>
476  MissingET* getMissingET(unsigned short rejectTag=
478  const
479  {
480  //
481  MissingET* pMET = new MissingET(MissingET::Ref);
482  if ( this->fillMissingET<OBJECT>(pMET,rejectTag) ) return pMET;
483  // error raised
484  if ( pMET != 0 ) delete pMET;
485  return (MissingET*)0;
486  }
487 
488 };
489 
490 CLASS_DEF(MissingETComposition, 264867051, 1)
491 
492 #endif
MissingETtags
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:19
MissingETHandlers::Weight::Weight
Weight(PERS &)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:190
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
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:319
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:211
et
Extra patterns decribing particle interation process.
MissingETComposition::const_iterator::m_store
const base_t * m_store
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:389
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:328
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:390
MissingET.h
MissingETHandlers::Weight::wpy
float wpy() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:209
test_pyathena.px
px
Definition: test_pyathena.py:18
MissingETComposition::const_iterator
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:309
MissingETComposition::object_t
collection_t::base_value_type object_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:301
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:214
MissingETComposition::find
const_iterator< OBJECT > find(const OBJECT *pObj) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:431
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:316
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
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:300
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:312
MissingETComposition::weight_t
MissingETHandlers::Weight weight_t
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:302
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
MissingETHandlers::Weight::~Weight
virtual ~Weight()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:203
MissingETComposition::fillMissingET
bool fillMissingET(MissingET *pMET, unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:441
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:144
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:372
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:304
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:200
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:824
MissingETHandlers::Weight::wet
float wet() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:210
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:213
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:218
MissingETHandlers::Weight::Weight
Weight(Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:206
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:382
MissingETtags::TRACK
@ TRACK
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:27
MissingETComposition::const_iterator::operator*
const OBJECT * operator*() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:368
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:414
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:242
MissingETHandlers::Weight::Weight
Weight()
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:200
MissingETtags::usesPU_TRACK_SUM
static bool usesPU_TRACK_SUM(bitmask_t tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:85
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
MissingETHandlers::Weight::wpx
float wpx() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:208
MissingET
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
Definition: RecTPCnv.cxx:64
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
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:270
MissingETHandlers::Weight::operator==
bool operator==(const Weight &w) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:250
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:303
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:195
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:297
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:364
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
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
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
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
MissingETHandlers::Weight::Weight
Weight(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:205
y
#define y
MissingETHandlers::Weight::isEqual
static bool isEqual(float x, float y)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:273
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:345
MissingETHandlers::Weight::setStatusWord
void setStatusWord(unsigned short int status)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:216
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:64
MissingETHandlers::Weight::operator*=
Weight & operator*=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:234
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:335
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:402
MissingETComposition::endIterator
const_iterator< OBJECT > endIterator() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:425
MissingETComposition::const_iterator::getContainer
const INavigable4MomentumCollection * getContainer() const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:384
MissingETtags::setUsesREMOVED_CLUSTER
static void setUsesREMOVED_CLUSTER(bitmask_t &tag)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:136
MissingETHandlers::Weight::operator!=
bool operator!=(const Weight &w) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:258
MissingETComposition::const_iterator::operator==
bool operator==(const const_iterator &iter) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:362
merge.status
status
Definition: merge.py:17
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:43
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
MissingETComposition::const_iterator::operator--
const_iterator operator--(int)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:352
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:226
MissingETComposition::getMissingET
MissingET * getMissingET(unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:476
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
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:311
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:396
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
MissingETHandlers::Weight::operator=
Weight & operator=(const Weight &w)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:261
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:381
MissingETHandlers::Weight::setWet
void setWet(float wet)
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:215
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:408
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:314