1 #ifndef DataFormats_L1Trigger_HGCalClusterT_h 2 #define DataFormats_L1Trigger_HGCalClusterT_h 14 #include "Math/Vector3D.h" 16 #include <unordered_map> 109 DetId id(id_constituent.first);
119 pt_em += id_constituent.second->pt() *
fraction;
128 pt_had += id_constituent.second->pt() *
fraction;
132 hOe = pt_had / pt_em;
223 bool operator<(const HGCalClusterT<C>&
cl)
const {
return mipPt() <
cl.mipPt(); }
225 bool operator<=(const HGCalClusterT<C>&
cl)
const {
return !(
cl > *
this); }
292 clusterCentre = clusterCentre *
mipPt_ + constituentCentre * cMipt;
293 if ((
mipPt_ + cMipt) > 0) {
294 clusterCentre /= (
mipPt_ + cMipt);
298 if (clusterCentre.
z() != 0) {
float firstHcal3layers() const
float sigmaEtaEtaTot() const
void setFirst1layers(float first1layers)
void addConstituent(const edm::Ptr< C > &c, bool updateCentre=true, float fraction=1.)
void setMaxLayer(int maxLayer)
float firstHcal5layers() const
float last5layers() const
float layer50percent() const
double pt() const final
transverse momentum
bool operator>=(const HGCalClusterT< C > &cl) const
void setDetId(uint32_t id)
void setSigmaPhiPhiTot(float sigmaPhiPhiTot)
const std::unordered_map< uint32_t, edm::Ptr< C > > & constituents() const
HGCalClusterT(const LorentzVector p4, int pt=0, int eta=0, int phi=0)
Global3DPoint GlobalPoint
int coreShowerLength() const
void setSigmaZZ(float sigmaZZ)
void setVarEtaEta(float varEtaEta)
bool isHE(int etabin, int depth)
void setSigmaRRMean(float sigmaRRMean)
uint32_t subdetId() const
std::unordered_map< uint32_t, edm::Ptr< C > > constituents_
void setFirst5layers(float first5layers)
void setSigmaRRTot(float sigmaRRTot)
const_iterator constituents_begin() const
float emax5layers() const
float triggerCells90percent() const
void setFirstHcal5layers(float firstHcal5layers)
const LorentzVector & p4() const final
four-momentum Lorentz vector
void setCoreShowerLength(int coreShowerLength)
void setEmax5layers(float emax5layers)
float sigmaPhiPhiTot() const
void setLayer10percent(float layer10percent)
std::unordered_map< uint32_t, edm::Ptr< C > >::const_iterator const_iterator
float triggerCells90percent_
const GlobalPoint & centre() const
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
bool operator>(const HGCalClusterT< C > &cl) const
bool isEE() const
consistency check : no bits left => no overhead
const GlobalPoint & position() const
void removeConstituent(const edm::Ptr< C > &c, bool updateCentre=true)
float sigmaPhiPhiMax() const
float zBarycenter() const
~HGCalClusterT() override
void updateP4AndPosition(const edm::Ptr< C > &c, bool updateCentre=true, float fraction=1.)
float first5layers() const
float last3layers() const
void setLast1layers(float last1layers)
float emax1layers() const
std::unordered_map< uint32_t, double > constituentsFraction_
HGCalTriggerSubdetector subdet() const
get the subdetector
Abs< T >::type abs(const T &t)
void setVarPhiPhi(float varPhiPhi)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void setFirst3layers(float first3layers)
float first3layers() const
void setLast5layers(float last5layers)
const GlobalPoint & position() const
void setEmax1layers(float emax1layers)
double distance(const l1t::HGCalTriggerCell &tc) const
void setLast3layers(float last3layers)
void setLayer50percent(float layer50percent)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
HGCalClusterT(const edm::Ptr< C > &c, float fraction=1.)
T z() const
Cartesian z coordinate.
float last1layers() const
constexpr uint32_t rawId() const
get the raw id
float emax3layers() const
void setTriggerCells67percent(float triggerCells67percent)
float firstHcal1layers() const
void setFirstLayer(int firstLayer)
math::XYZTLorentzVector LorentzVector
Lorentz vector.
void setTriggerCells90percent(float triggerCells90percent)
void setLayer90percent(float layer90percent)
bool isEE() const
consistency check : no bits left => no overhead
float layer90percent() const
void setFirstHcal3layers(float firstHcal3layers)
double mass() const final
mass
float sigmaRRMean() const
void setSigmaEtaEtaTot(float sigmaEtaEtaTot)
void setSigmaEtaEtaMax(float sigmaEtaEtaMax)
void setSigmaRRMax(float sigmaRRMax)
float layer10percent() const
float triggerCells67percent_
void setEmax3layers(float emax3layers)
float triggerCells67percent() const
void setFirstHcal1layers(float firstHcal1layers)
float sigmaEtaEtaMax() const
void setSigmaPhiPhiMax(float sigmaPhiPhiMax)
float first1layers() const
double phi() const final
momentum azimuthal angle
void setVarZZ(float varZZ)
void setVarRR(float varRR)
void setValid(bool valid)
const_iterator constituents_end() const
const GlobalPoint & centreProj() const
void setP4(const LorentzVector &p4) final
set 4-momentum
void setZBarycenter(float zBarycenter)
void setShowerLength(int showerLength)
double eta() const final
momentum pseudorapidity