7#ifndef TRIG_OBJECT_MATCHING_TRAIT_DEFS_H
8#define TRIG_OBJECT_MATCHING_TRAIT_DEFS_H
48#define SPECIALIZE_CONTAINER_FOR_CLASS(x,y) \
49 namespace TrigMatch { \
51 struct ClassTraits<x> { \
58#define DECLARE_ATTACHED_CONTAINER(x,y) \
61 SPECIALIZE_CONTAINER_FOR_CLASS(x,y)
66#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a,x,y) \
71 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,a::y)
76#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a,x,y) \
81 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,y)
86#define DECLARE_ATTACHED_CONTAINER_TYPEDEF(a, x, y) \
90 SPECIALZE_CONTAINER_FOR_CLASS(a::x, y)
116#undef SPECIALIZE_CONTAINER_FOR_CLASS
117#undef DECLARE_ATTACHED_CONTAINER
118#undef DECLARE_ATTACHED_CONTAINER_NAMESPACE
119#undef DECLARE_ATTACHED_CONTAINER_TYPEDEF
120#undef DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE
126#define DECLARE_L1_TRIGGER_OBJECT(x) \
128 namespace TrigMatch { \
130 struct ClassTraits<x> { \
131 typedef AncestorAttached type; \
139#undef DECLARE_L1_TRIGGER_OBJECT
147 template<
typename T,
typename U>
157#define DECLARE_DEFAULT_METRIC(x, y, z) \
159 namespace TrigMatch { \
160 template<typename U> \
161 struct MetricTraits<x,U> { \
164 template<typename U> \
165 struct MetricTraits<U,x> {\
172#define DECLARE_DEFAULT_METRIC_PAIR(x,y,z) \
173 namespace TrigMatch { \
175 struct MetricTraits<x,y> { \
176 typedef z<x,y> type; \
179 struct MetricTraits<y,x> { \
180 typedef z<y,x> type; \
186#define DECLARE_DEFALUT_METRIC_SINGLE(x,z) \
187 namespace TrigMatch { \
189 struct MetricTraits<x,x> { \
190 typedef z<x,x> type; \
214#undef DECLARE_DEFAULT_METRIC
215#undef DECLARE_DEFAULT_METRIC_PAIR
216#undef DECLARE_DEFAULT_METRIC_SINGLE
An STL vector of pointers that by default owns its pointed-to elements.
#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a, x, y)
#define DECLARE_ATTACHED_CONTAINER(x, y)
#define DECLARE_L1_TRIGGER_OBJECT(x)
#define DECLARE_DEFAULT_METRIC_PAIR(x, y, z)
#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a, x, y)
Container class for CaloCell.
Data object for each calorimeter readout cell.
Storable container for CaloCluster.
Principal data class for CaloCell clusters.
Container class for CaloShower.
Data class for cluster variables associated with a CaloCluster.
Storable container class for CaloTower.
Data class for calorimeter cell towers.
The ClusterDistanceFunctor is a templated distance functor used for matching two objects based upon t...
Em/Tau RoI class for analysis.
Jet RoI class for analysis.
Muon RoI class for analysis.
Container of TrigEFBjet objects to be stored in POOL.
Class representing a b-jet candidate created at EF.
File: TrigElectronContainer.h.
represents a LVL2 ID track
Container of TrigEFBjet objects to be stored in POOL.
Class representing a b-jet candidate created at L2.
File: TrigPhotonContainer.h.
encapsulates LVL2 vertex parameters (in the global reference frame), covariance matrix,...
Container for detailed egamma information.
Base class for detailed egamma information.
This is a data object, containing a collection of egamma Objects.
Class describing an electron.
Class describing an photon.
The namespace of all packages in PhysicsAnalysis/JetTagging.
helper namespace for calculating deltaR for unknown object types
Ensure that the ATLAS eigen extensions are properly loaded.
ClusterDistanceFunctor< egamma, egamma > type
DeltaRDistanceFunctor< T, U > type