|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef MISSINGETEVENT_MISSINGETCOMPOSITION_H
8 #define MISSINGETEVENT_MISSINGETCOMPOSITION_H
181 typedef std::tuple<float,float,float,unsigned short int>
struct_t;
183 static float precision() {
return 0.0001; }
189 template <
typename PERS>
196 std::cerr <<
"Rolf: calling general template for Weight c'tor ! You need to specialize it for " <<
typeid(
PERS).
name() <<
" !\n";
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); }
259 {
return !(this->operator==)(
w); }
271 {
return y != 0. ?
x /
y : 0.; }
274 {
return fabs(
x-
y) <= precision()*fabs(
x); }
296 public Navigable<INavigable4MomentumCollection,MissingETHandlers::Weight>
307 template<
class OBJECT>
365 {
return !(this->operator==)(iter); }
370 return dynamic_cast<const OBJECT*
>(*m_actual);
374 if (
dynamic_cast<const OBJECT*
>(*
m_actual)==0) {
375 std::cout <<
"dynamic cast==0 in operator*" << std::endl;
378 return dynamic_cast<const OBJECT*
>(*m_actual);
407 template<
class OBJECT>
413 template<
class OBJECT>
418 if ((*temp)==0) {++temp;
return temp;}
424 template<
class OBJECT>
430 template<
class OBJECT>
435 while ( fObj != lObj && pObj != *fObj ) { ++fObj; }
440 template<
class OBJECT>
446 if ( pMET == 0 )
return false;
455 for ( ; fObj != lObj; ++fObj )
475 template<
class OBJECT>
482 if ( this->fillMissingET<OBJECT>(pMET,rejectTag) )
return pMET;
484 if ( pMET != 0 )
delete pMET;
const_iterator operator=(const const_iterator &iter)
unsigned short int statusWord() const
Extra patterns decribing particle interation process.
const_iterator operator++()
collection_t::base_value_type object_t
std::tuple< float, float, float, unsigned short int > struct_t
const_iterator< OBJECT > find(const OBJECT *pObj) const
const_iterator(const const_iterator &iter)
Scalar eta() const
pseudorapidity method
INavigable4MomentumCollection collection_t
Weight operator-(const Weight &w1, const Weight &w2)
const_iterator(const base_t *store, iiterator_t iiter)
MissingETHandlers::Weight weight_t
void insertElement(const INavigable4MomentumCollection *objectContainer, const constituent_type *constituentObject, const MissingETHandlers::Weight &objectParameter=MissingETHandlers::Weight(), size_t sizeHint=0)
virtual object_iter begin() const
bool fillMissingET(MissingET *pMET, unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
const OBJECT *& operator->() const
virtual object_iter end() const
base_t::object_iter iiterator_t
T base_value_type
The T value used as the template parameter.
Weight & operator+=(const Weight &w)
const weight_t getParameter() const
const OBJECT * operator*() const
Weight operator*(const Weight &w1, const Weight &w2)
Weight(float wpx, float wpy, float wet)
const_iterator< OBJECT > beginIterator() const
Weight & operator/=(const Weight &w)
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
static float divide(float x, float y)
bool operator==(const Weight &w) const
Navigable< collection_t, weight_t > base_t
Weight(float wpx, float wpy, float wet, unsigned short int status)
const CONT * getContainer(const constituent_type *aConstituent) const
RpcSectorLogicContainer_p1 PERS
bool operator!=(const const_iterator &iter) const
virtual void add(double theEx, double theEy, double theEt, double theEta, double weight)
Navigable template generalization to handle navigation.
MissingETHandlers::Weight getParameter(const constituent_type *aConstituent) const
Weight operator+(const Weight &w1, const Weight &w2)
static bool isEqual(float x, float y)
const_iterator operator--()
void setStatusWord(unsigned short int status)
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Weight & operator*=(const Weight &w)
RPAR getParameter() const
const_iterator operator++(int)
weight_t getWeight(const object_t *pObj) const
const_iterator< OBJECT > endIterator() const
const INavigable4MomentumCollection * getContainer() const
bool operator!=(const Weight &w) const
bool operator==(const const_iterator &iter) const
virtual ~MissingETComposition()
Class describing a TrackParticle.
const_iterator operator--(int)
Weight operator/(const Weight &w1, const Weight &w2)
Weight & operator-=(const Weight &w)
MissingET * getMissingET(unsigned short rejectTag=(MissingETtags::PILEUP_CORRECTED|MissingETtags::REMOVED_CLUSTER)) const
void insert(const collection_t *pColl, const object_t *pObj, weight_t weight)
macros to associate a CLID to a type
Weight & operator=(const Weight &w)
const OBJECT * getObject() const
weight_t getWeight(const_iterator< OBJECT > fObj) const
virtual ~const_iterator()