Go to the documentation of this file. 1 #ifndef DataFormats_L1Trigger_HGCalMulticluster_h
2 #define DataFormats_L1Trigger_HGCalMulticluster_h
8 #include <boost/iterator/transform_iterator.hpp>
55 template <
typename Iter>
56 struct KeyGetter : std::unary_function<typename Iter::value_type, typename Iter::value_type::first_type> {
62 template <
typename Iter>
68 typedef boost::transform_iterator<KeyGetter<std::map<EnergyInterpretation, double>::const_iterator>,
69 std::map<EnergyInterpretation, double>::const_iterator>
72 std::pair<EnergyInterpretation_const_iterator, EnergyInterpretation_const_iterator>
energyInterpretations()
const {
double interpretationFraction(const HGCalMulticluster::EnergyInterpretation eInt) const
BXVector< HGCalMulticluster > HGCalMulticlusterBxCollection
math::XYZTLorentzVector iP4(const HGCalMulticluster::EnergyInterpretation eInt) const
double pt() const final
transverse momentum
size_type interpretations_size() const
void saveEnergyInterpretation(const HGCalMulticluster::EnergyInterpretation eInt, double energy)
boost::transform_iterator< KeyGetter< std::map< EnergyInterpretation, double >::const_iterator >, std::map< EnergyInterpretation, double >::const_iterator > EnergyInterpretation_const_iterator
boost::transform_iterator< KeyGetter< Iter >, Iter > key_iterator(Iter itr) const
~HGCalMulticluster() override
EnergyInterpretation_const_iterator interpretations_end() const
const Iter::value_type::first_type & operator()(const typename Iter::value_type &p) const
double eta() const final
momentum pseudorapidity
double iEnergy(const HGCalMulticluster::EnergyInterpretation eInt) const
math::PtEtaPhiMLorentzVector iPolarP4(const HGCalMulticluster::EnergyInterpretation eInt) const
const LorentzVector & p4() const final
four-momentum Lorentz vector
Container::value_type value_type
std::vector< std::pair< float, float > >::iterator itr
double iPt(const HGCalMulticluster::EnergyInterpretation eInt) const
double phi() const final
momentum azimuthal angle
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
math::XYZTLorentzVector LorentzVector
double p() const final
magnitude of momentum vector
double energy() const final
energy
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
std::map< EnergyInterpretation, double > energyInterpretationFractions_
std::pair< EnergyInterpretation_const_iterator, EnergyInterpretation_const_iterator > energyInterpretations() const
EnergyInterpretation_const_iterator interpretations_begin() const