1 #ifndef DataFormats_L1Trigger_HGCalClusterT_h 2 #define DataFormats_L1Trigger_HGCalClusterT_h 10 #include "Math/Vector3D.h" 66 clusterCentre = clusterCentre*
mipPt_ + constituentCentre*c->mipPt();
67 if(
mipPt_ + c->mipPt()!=0 )
69 clusterCentre /= (
mipPt_ + c->mipPt() ) ;
73 if( clusterCentre.
z()!=0 )
80 int updatedPt =
hwPt() + c->hwPt();
119 switch( constituent->subdetId() )
122 pt_em += constituent->pt();
125 pt_had += constituent->pt();
128 pt_had += constituent->pt();
134 if(pt_em>0) hOe = pt_had / pt_em ;
145 bool operator<(const HGCalClusterT<C>&
cl)
const {
return mipPt() <
cl.mipPt();}
147 bool operator<=(const HGCalClusterT<C>&
cl)
const {
return !(
cl>*
this); }
double distance(const l1t::HGCalTriggerCell &tc) const
const_iterator constituents_end() const
size_type size() const
Size of the RefVector.
double eta() const final
momentum pseudorapidity
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
void push_back(Ptr< T > const &iPtr)
HGCalClusterT(const LorentzVector p4, int pt=0, int eta=0, int phi=0)
bool empty() const
Is the RefVector empty.
Global3DPoint GlobalPoint
uint32_t subdetId() const
double pt() const final
transverse momentum
const GlobalPoint & centreProj() const
const GlobalPoint & position() const
const_iterator begin() const
uint32_t rawId() const
get the raw id
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
const_iterator constituents_begin() const
int zside() const
get the z-side of the cell (1/-1)
T z() const
Cartesian z coordinate.
~HGCalClusterT() override
bool operator>(const HGCalClusterT< C > &cl) const
const GlobalPoint & centre() const
const_iterator end() const
const LorentzVector & p4() const final
four-momentum Lorentz vector
HGCalClusterT(const edm::Ptr< C > &c)
edm::PtrVector< C >::const_iterator const_iterator
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void addConstituent(const edm::Ptr< C > &c)
const edm::PtrVector< C > & constituents() const
math::XYZTLorentzVector LorentzVector
Lorentz vector.
const GlobalPoint & position() const
edm::PtrVector< C > constituents_
bool operator>=(const HGCalClusterT< C > &cl) const
double phi() const final
momentum azimuthal angle
void setValid(bool valid)
void setP4(const LorentzVector &p4) final
set 4-momentum
int layer() const
get the layer #