CMS 3D CMS Logo

HGCalClusterT.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1Trigger_HGCalClusterT_h
2 #define DataFormats_L1Trigger_HGCalClusterT_h
3 
4 /* CMSSW */
13 
14 /* ROOT */
15 #include "Math/Vector3D.h"
16 
17 #include <unordered_map>
18 
19 namespace l1t {
20  template <class C>
21  class HGCalClusterT : public L1Candidate {
22  public:
23  typedef typename std::unordered_map<uint32_t, edm::Ptr<C>>::const_iterator const_iterator;
24 
25  public:
27  HGCalClusterT(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0)
28  : L1Candidate(p4, pt, eta, phi),
29  valid_(true),
30  detId_(0),
31  centre_(0, 0, 0),
32  centreProj_(0., 0., 0.),
33  mipPt_(0),
34  seedMipPt_(0),
35  sumPt_(0) {}
36 
37  HGCalClusterT(const edm::Ptr<C>& c, float fraction = 1.)
38  : valid_(true),
39  detId_(c->detId()),
40  centre_(0., 0., 0.),
41  centreProj_(0., 0., 0.),
42  mipPt_(0.),
43  seedMipPt_(0.),
44  sumPt_(0.) {
45  addConstituent(c, true, fraction);
46  }
47 
48  ~HGCalClusterT() override{};
49 
50  const std::unordered_map<uint32_t, edm::Ptr<C>>& constituents() const { return constituents_; }
51  const_iterator constituents_begin() const { return constituents_.begin(); }
52  const_iterator constituents_end() const { return constituents_.end(); }
53  unsigned size() const { return constituents_.size(); }
54 
55  void addConstituent(const edm::Ptr<C>& c, bool updateCentre = true, float fraction = 1.) {
56  double cMipt = c->mipPt() * fraction;
57 
58  if (constituents_.empty()) {
59  detId_ = DetId(c->detId());
60  seedMipPt_ = cMipt;
61  /* if the centre will not be dynamically calculated
62  the seed centre is considere as cluster centre */
63  if (!updateCentre) {
64  centre_ = c->position();
65  }
66  }
67  updateP4AndPosition(c, updateCentre, fraction);
68 
69  constituents_.emplace(c->detId(), c);
70  constituentsFraction_.emplace(c->detId(), fraction);
71  }
72 
73  void removeConstituent(const edm::Ptr<C>& c, bool updateCentre = true) {
74  /* remove the pointer to c from the std::vector */
75  double fraction = 0;
76  const auto& constituent_itr = constituents_.find(c->detId());
77  const auto& fraction_itr = constituentsFraction_.find(c->detId());
78  if (constituent_itr != constituents_.end()) {
79  // remove constituent and get its fraction in the cluster
80  fraction = fraction_itr->second;
81  constituents_.erase(constituent_itr);
82  constituentsFraction_.erase(fraction_itr);
83 
84  updateP4AndPosition(c, updateCentre, -fraction);
85  }
86  }
87 
88  bool valid() const { return valid_; }
89  void setValid(bool valid) { valid_ = valid; }
90 
91  double mipPt() const { return mipPt_; }
92  double seedMipPt() const { return seedMipPt_; }
93  uint32_t detId() const { return detId_.rawId(); }
94  void setDetId(uint32_t id) { detId_ = id; }
95  void setPt(double pt) { setP4(math::PtEtaPhiMLorentzVector(pt, eta(), phi(), mass())); }
96  double sumPt() const { return sumPt_; }
97  /* distance in 'cm' */
98  double distance(const l1t::HGCalTriggerCell& tc) const { return (tc.position() - centre_).mag(); }
99 
100  const GlobalPoint& position() const { return centre_; }
101  const GlobalPoint& centre() const { return centre_; }
102  const GlobalPoint& centreProj() const { return centreProj_; }
103 
104  double hOverE() const {
105  double pt_em = 0.;
106  double pt_had = 0.;
107  double hOe = 0.;
108 
109  for (const auto& id_constituent : constituents()) {
110  DetId id(id_constituent.first);
111  auto id_fraction = constituentsFraction_.find(id_constituent.first);
112  double fraction = (id_fraction != constituentsFraction_.end() ? id_fraction->second : 1.);
113  if ((id.det() == DetId::Forward && id.subdetId() == HGCEE) || (id.det() == DetId::HGCalEE) ||
114  (id.det() == DetId::HGCalTrigger &&
116  (id.det() == DetId::Forward && id.subdetId() == ForwardSubdetector::HFNose && HFNoseDetId(id).isEE()) ||
117  (id.det() == DetId::HGCalTrigger &&
119  HFNoseTriggerDetId(id).isEE())) {
120  pt_em += id_constituent.second->pt() * fraction;
121  } else if ((id.det() == DetId::Forward && id.subdetId() == HGCHEF) ||
122  (id.det() == DetId::Hcal && id.subdetId() == HcalEndcap) || (id.det() == DetId::HGCalHSi) ||
123  (id.det() == DetId::HGCalHSc) ||
124  (id.det() == DetId::HGCalTrigger &&
126  (id.det() == DetId::Forward && id.subdetId() == ForwardSubdetector::HFNose &&
127  HFNoseDetId(id).isHE()) ||
128  (id.det() == DetId::HGCalTrigger &&
130  HFNoseTriggerDetId(id).isHSilicon())) {
131  pt_had += id_constituent.second->pt() * fraction;
132  }
133  }
134  if (pt_em > 0)
135  hOe = pt_had / pt_em;
136  else
137  hOe = -1.;
138  return hOe;
139  }
140 
141  uint32_t subdetId() const { return detId_.subdetId(); }
142 
143  //shower shape
144 
145  int showerLength() const { return showerLength_; }
146  int coreShowerLength() const { return coreShowerLength_; }
147  int firstLayer() const { return firstLayer_; }
148  int maxLayer() const { return maxLayer_; }
149  float eMax() const { return eMax_; }
150  float sigmaEtaEtaMax() const { return sigmaEtaEtaMax_; }
151  float sigmaPhiPhiMax() const { return sigmaPhiPhiMax_; }
152  float sigmaEtaEtaTot() const { return sigmaEtaEtaTot_; }
153  float sigmaPhiPhiTot() const { return sigmaPhiPhiTot_; }
154  float sigmaZZ() const { return sigmaZZ_; }
155  float sigmaRRTot() const { return sigmaRRTot_; }
156  float sigmaRRMax() const { return sigmaRRMax_; }
157  float sigmaRRMean() const { return sigmaRRMean_; }
158  float zBarycenter() const { return zBarycenter_; }
159  float layer10percent() const { return layer10percent_; }
160  float layer50percent() const { return layer50percent_; }
161  float layer90percent() const { return layer90percent_; }
164 
169  void eMax(float eMax) { eMax_ = eMax; }
177  void sigmaZZ(float sigmaZZ) { sigmaZZ_ = sigmaZZ; }
184 
185  /* operators */
186  bool operator<(const HGCalClusterT<C>& cl) const { return mipPt() < cl.mipPt(); }
187  bool operator>(const HGCalClusterT<C>& cl) const { return cl < *this; }
188  bool operator<=(const HGCalClusterT<C>& cl) const { return !(cl > *this); }
189  bool operator>=(const HGCalClusterT<C>& cl) const { return !(cl < *this); }
190 
191  private:
192  bool valid_;
194 
195  std::unordered_map<uint32_t, edm::Ptr<C>> constituents_;
196  std::unordered_map<uint32_t, double> constituentsFraction_;
197 
199  GlobalPoint centreProj_; // centre projected onto the first HGCal layer
200 
201  double mipPt_;
202  double seedMipPt_;
203  double sumPt_;
204 
205  //shower shape
206 
207  int showerLength_ = 0;
209  int firstLayer_ = 0;
210  int maxLayer_ = 0;
211  float eMax_ = 0.;
212  float sigmaEtaEtaMax_ = 0.;
213  float sigmaPhiPhiMax_ = 0.;
214  float sigmaRRMax_ = 0.;
215  float sigmaEtaEtaTot_ = 0.;
216  float sigmaPhiPhiTot_ = 0.;
217  float sigmaRRTot_ = 0.;
218  float sigmaRRMean_ = 0.;
219  float sigmaZZ_ = 0.;
220  float zBarycenter_ = 0.;
221  float layer10percent_ = 0.;
222  float layer50percent_ = 0.;
223  float layer90percent_ = 0.;
226 
227  void updateP4AndPosition(const edm::Ptr<C>& c, bool updateCentre = true, float fraction = 1.) {
228  double cMipt = c->mipPt() * fraction;
229  double cPt = c->pt() * fraction;
230  /* update cluster positions (IF requested) */
231  if (updateCentre) {
232  Basic3DVector<float> constituentCentre(c->position());
233  Basic3DVector<float> clusterCentre(centre_);
234 
235  clusterCentre = clusterCentre * mipPt_ + constituentCentre * cMipt;
236  if ((mipPt_ + cMipt) > 0) {
237  clusterCentre /= (mipPt_ + cMipt);
238  }
239  centre_ = GlobalPoint(clusterCentre);
240 
241  if (clusterCentre.z() != 0) {
242  centreProj_ = GlobalPoint(clusterCentre / std::abs(clusterCentre.z()));
243  }
244  }
245 
246  /* update cluster energies */
247  mipPt_ += cMipt;
248  sumPt_ += cPt;
249  int updatedPt = hwPt() + (int)(c->hwPt() * fraction);
250  setHwPt(updatedPt);
251 
252  math::PtEtaPhiMLorentzVector updatedP4(p4());
253  updatedP4 += (c->p4() * fraction);
254  setP4(updatedP4);
255  }
256  };
257 
258 } // namespace l1t
259 
260 #endif
l1t::HGCalClusterT::updateP4AndPosition
void updateP4AndPosition(const edm::Ptr< C > &c, bool updateCentre=true, float fraction=1.)
Definition: HGCalClusterT.h:227
l1t::HGCalClusterT::sigmaRRMean_
float sigmaRRMean_
Definition: HGCalClusterT.h:218
l1t::HGCalClusterT::setDetId
void setDetId(uint32_t id)
Definition: HGCalClusterT.h:94
l1t::HGCalClusterT::HGCalClusterT
HGCalClusterT(const edm::Ptr< C > &c, float fraction=1.)
Definition: HGCalClusterT.h:37
l1t::HGCalClusterT::operator>
bool operator>(const HGCalClusterT< C > &cl) const
Definition: HGCalClusterT.h:187
DetId::HGCalTrigger
Definition: DetId.h:35
l1t::HGCalClusterT::operator<=
bool operator<=(const HGCalClusterT< C > &cl) const
Definition: HGCalClusterT.h:188
l1t::HGCalClusterT::zBarycenter_
float zBarycenter_
Definition: HGCalClusterT.h:220
l1t::HGCalClusterT::sigmaRRMax
void sigmaRRMax(float sigmaRRMax)
Definition: HGCalClusterT.h:174
l1t::HGCalClusterT::eMax
float eMax() const
Definition: HGCalClusterT.h:149
l1t::HGCalClusterT::zBarycenter
float zBarycenter() const
Definition: HGCalClusterT.h:158
l1t::HGCalClusterT::mipPt
double mipPt() const
Definition: HGCalClusterT.h:91
l1t::HGCalClusterT::showerLength_
int showerLength_
Definition: HGCalClusterT.h:207
l1t::HGCalClusterT::sumPt
double sumPt() const
Definition: HGCalClusterT.h:96
l1t::HGCalClusterT::HGCalClusterT
HGCalClusterT(const LorentzVector p4, int pt=0, int eta=0, int phi=0)
Definition: HGCalClusterT.h:27
l1t::HGCalClusterT::sigmaEtaEtaTot
void sigmaEtaEtaTot(float sigmaEtaEtaTot)
Definition: HGCalClusterT.h:171
l1t::HGCalClusterT::operator>=
bool operator>=(const HGCalClusterT< C > &cl) const
Definition: HGCalClusterT.h:189
l1t::HGCalClusterT::~HGCalClusterT
~HGCalClusterT() override
Definition: HGCalClusterT.h:48
l1t::HGCalClusterT::detId_
DetId detId_
Definition: HGCalClusterT.h:193
l1t::HGCalClusterT::showerLength
void showerLength(int showerLength)
Definition: HGCalClusterT.h:165
l1t::HGCalClusterT::showerLength
int showerLength() const
Definition: HGCalClusterT.h:145
l1t::HGCalClusterT::subdetId
uint32_t subdetId() const
Definition: HGCalClusterT.h:141
DetId::Hcal
Definition: DetId.h:28
l1t::HGCalClusterT::firstLayer
void firstLayer(int firstLayer)
Definition: HGCalClusterT.h:167
reco::candidate::const_iterator
Definition: const_iterator.h:14
l1t::HGCalClusterT::sigmaPhiPhiTot
void sigmaPhiPhiTot(float sigmaPhiPhiTot)
Definition: HGCalClusterT.h:173
l1t::HGCalClusterT::sigmaEtaEtaTot
float sigmaEtaEtaTot() const
Definition: HGCalClusterT.h:152
l1t::HGCalClusterT::sigmaPhiPhiTot_
float sigmaPhiPhiTot_
Definition: HGCalClusterT.h:216
l1t::HGCalClusterT::constituents_begin
const_iterator constituents_begin() const
Definition: HGCalClusterT.h:51
l1t::HGCalClusterT::sumPt_
double sumPt_
Definition: HGCalClusterT.h:203
l1t::HGCalClusterT::layer10percent
float layer10percent() const
Definition: HGCalClusterT.h:159
l1t::HGCalClusterT::layer10percent
void layer10percent(float layer10percent)
Definition: HGCalClusterT.h:179
l1t::HGCalClusterT::triggerCells90percent
float triggerCells90percent() const
Definition: HGCalClusterT.h:163
l1t::HGCalClusterT::coreShowerLength_
int coreShowerLength_
Definition: HGCalClusterT.h:208
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
l1t::HGCalClusterT::setPt
void setPt(double pt)
Definition: HGCalClusterT.h:95
HFNoseDetId
Definition: HFNoseDetId.h:22
HFNoseTriggerDetId
Definition: HFNoseTriggerDetId.h:26
l1t::HGCalClusterT::sigmaRRTot_
float sigmaRRTot_
Definition: HGCalClusterT.h:217
HGCalHSiTrigger
Definition: ForwardSubdetector.h:14
l1t::HGCalClusterT::sigmaRRTot
float sigmaRRTot() const
Definition: HGCalClusterT.h:155
ForwardSubdetector.h
l1t::HGCalClusterT::sigmaZZ
void sigmaZZ(float sigmaZZ)
Definition: HGCalClusterT.h:177
l1t::HGCalClusterT::detId
uint32_t detId() const
Definition: HGCalClusterT.h:93
l1t::HGCalClusterT::valid
bool valid() const
Definition: HGCalClusterT.h:88
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition: GetRecoTauVFromDQM_MC_cff.py:38
l1t::HGCalClusterT::eMax
void eMax(float eMax)
Definition: HGCalClusterT.h:169
DetId
Definition: DetId.h:17
DetId::HGCalHSi
Definition: DetId.h:33
DetId::HGCalEE
Definition: DetId.h:32
l1t::HGCalClusterT::sigmaPhiPhiMax
float sigmaPhiPhiMax() const
Definition: HGCalClusterT.h:151
l1t::HGCalClusterT::seedMipPt_
double seedMipPt_
Definition: HGCalClusterT.h:202
l1t::L1Candidate
Definition: L1Candidate.h:15
l1t::HGCalClusterT::setValid
void setValid(bool valid)
Definition: HGCalClusterT.h:89
l1t::HGCalClusterT::removeConstituent
void removeConstituent(const edm::Ptr< C > &c, bool updateCentre=true)
Definition: HGCalClusterT.h:73
HLT_FULL_cff.fraction
fraction
Definition: HLT_FULL_cff.py:52795
HFNose
Definition: ForwardSubdetector.h:11
l1t::HGCalClusterT::sigmaPhiPhiTot
float sigmaPhiPhiTot() const
Definition: HGCalClusterT.h:153
HFNoseTriggerDetId.h
l1t::HGCalClusterT::const_iterator
std::unordered_map< uint32_t, edm::Ptr< C > >::const_iterator const_iterator
Definition: HGCalClusterT.h:23
l1t::HGCalClusterT::sigmaPhiPhiMax
void sigmaPhiPhiMax(float sigmaPhiPhiMax)
Definition: HGCalClusterT.h:172
l1t::HGCalClusterT::layer90percent
float layer90percent() const
Definition: HGCalClusterT.h:161
l1t::HGCalClusterT::centreProj_
GlobalPoint centreProj_
Definition: HGCalClusterT.h:199
l1t::HGCalClusterT::triggerCells90percent
void triggerCells90percent(float triggerCells90percent)
Definition: HGCalClusterT.h:183
l1t::HGCalClusterT::HGCalClusterT
HGCalClusterT()
Definition: HGCalClusterT.h:26
l1t::HGCalClusterT::sigmaPhiPhiMax_
float sigmaPhiPhiMax_
Definition: HGCalClusterT.h:213
HGCalEETrigger
Definition: ForwardSubdetector.h:14
l1t::HGCalTriggerCell
Definition: HGCalTriggerCell.h:14
l1t::HGCalClusterT::valid_
bool valid_
Definition: HGCalClusterT.h:192
l1t::HGCalClusterT::constituents
const std::unordered_map< uint32_t, edm::Ptr< C > > & constituents() const
Definition: HGCalClusterT.h:50
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
l1t::HGCalClusterT::size
unsigned size() const
Definition: HGCalClusterT.h:53
l1t::HGCalClusterT::seedMipPt
double seedMipPt() const
Definition: HGCalClusterT.h:92
Point3DBase< float, GlobalTag >
l1t::HGCalClusterT
Definition: HGCalClusterT.h:21
l1t::HGCalClusterT::position
const GlobalPoint & position() const
Definition: HGCalClusterT.h:100
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
HGCalTriggerDetId
Definition: HGCalTriggerDetId.h:26
HGCEE
Definition: ForwardSubdetector.h:8
funct::true
true
Definition: Factorize.h:173
l1t::HGCalClusterT::eMax_
float eMax_
Definition: HGCalClusterT.h:211
l1t::HGCalClusterT::centre_
GlobalPoint centre_
Definition: HGCalClusterT.h:198
HGCalTriggerDetId::subdet
HGCalTriggerSubdetector subdet() const
get the subdetector
Definition: HGCalTriggerDetId.h:42
l1t::HGCalClusterT::layer50percent_
float layer50percent_
Definition: HGCalClusterT.h:222
reco::LeafCandidate::mass
double mass() const final
mass
Definition: LeafCandidate.h:131
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
l1t::HGCalClusterT::centre
const GlobalPoint & centre() const
Definition: HGCalClusterT.h:101
l1t::HGCalClusterT::triggerCells67percent_
float triggerCells67percent_
Definition: HGCalClusterT.h:224
l1t
delete x;
Definition: CaloConfig.h:22
l1t::HGCalClusterT::constituents_end
const_iterator constituents_end() const
Definition: HGCalClusterT.h:52
l1t::HGCalClusterT::mipPt_
double mipPt_
Definition: HGCalClusterT.h:201
l1t::HGCalClusterT::distance
double distance(const l1t::HGCalTriggerCell &tc) const
Definition: HGCalClusterT.h:98
l1t::HGCalClusterT::constituents_
std::unordered_map< uint32_t, edm::Ptr< C > > constituents_
Definition: HGCalClusterT.h:195
Ptr.h
createfilelist.int
int
Definition: createfilelist.py:10
l1t::HGCalClusterT::firstLayer
int firstLayer() const
Definition: HGCalClusterT.h:147
HFNoseDetId::isEE
bool isEE() const
consistency check : no bits left => no overhead
Definition: HFNoseDetId.h:104
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
HFNoseTrigger
Definition: ForwardSubdetector.h:14
l1t::HGCalClusterT::layer90percent_
float layer90percent_
Definition: HGCalClusterT.h:223
l1t::HGCalClusterT::layer50percent
float layer50percent() const
Definition: HGCalClusterT.h:160
l1t::L1Candidate::setHwPt
void setHwPt(int pt)
Definition: L1Candidate.h:28
HcalObjRepresent::isHE
bool isHE(int etabin, int depth)
Definition: HcalObjRepresent.h:851
HcalSubdetector.h
l1t::HGCalClusterT::addConstituent
void addConstituent(const edm::Ptr< C > &c, bool updateCentre=true, float fraction=1.)
Definition: HGCalClusterT.h:55
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
l1t::HGCalClusterT::coreShowerLength
int coreShowerLength() const
Definition: HGCalClusterT.h:146
L1Candidate.h
l1t::HGCalClusterT::layer90percent
void layer90percent(float layer90percent)
Definition: HGCalClusterT.h:181
l1t::HGCalClusterT::hOverE
double hOverE() const
Definition: HGCalClusterT.h:104
l1t::HGCalClusterT::triggerCells67percent
void triggerCells67percent(float triggerCells67percent)
Definition: HGCalClusterT.h:182
l1t::HGCalClusterT::triggerCells90percent_
float triggerCells90percent_
Definition: HGCalClusterT.h:225
l1t::HGCalClusterT::operator<
bool operator<(const HGCalClusterT< C > &cl) const
Definition: HGCalClusterT.h:186
l1t::HGCalClusterT::constituentsFraction_
std::unordered_map< uint32_t, double > constituentsFraction_
Definition: HGCalClusterT.h:196
edm::Ptr
Definition: AssociationVector.h:31
l1t::HGCalClusterT::maxLayer
int maxLayer() const
Definition: HGCalClusterT.h:148
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
reco::LeafCandidate::setP4
void setP4(const LorentzVector &p4) final
set 4-momentum
Definition: LeafCandidate.h:158
l1t::HGCalClusterT::sigmaRRMean
void sigmaRRMean(float sigmaRRMean)
Definition: HGCalClusterT.h:176
l1t::HGCalClusterT::coreShowerLength
void coreShowerLength(int coreShowerLength)
Definition: HGCalClusterT.h:166
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
l1t::HGCalClusterT::sigmaEtaEtaMax
void sigmaEtaEtaMax(float sigmaEtaEtaMax)
Definition: HGCalClusterT.h:170
l1t::HGCalClusterT::sigmaRRMean
float sigmaRRMean() const
Definition: HGCalClusterT.h:157
l1t::HGCalClusterT::layer50percent
void layer50percent(float layer50percent)
Definition: HGCalClusterT.h:180
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
l1t::HGCalClusterT::sigmaRRMax
float sigmaRRMax() const
Definition: HGCalClusterT.h:156
l1t::HGCalClusterT::sigmaZZ
float sigmaZZ() const
Definition: HGCalClusterT.h:154
l1t::HGCalClusterT::maxLayer_
int maxLayer_
Definition: HGCalClusterT.h:210
HcalEndcap
Definition: HcalAssistant.h:34
l1t::HGCalTriggerCell::position
const GlobalPoint & position() const
Definition: HGCalTriggerCell.h:26
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
DetId::HGCalHSc
Definition: DetId.h:34
l1t::L1Candidate::hwPt
int hwPt() const
Definition: L1Candidate.h:35
l1t::HGCalClusterT::centreProj
const GlobalPoint & centreProj() const
Definition: HGCalClusterT.h:102
l1t::HGCalClusterT::layer10percent_
float layer10percent_
Definition: HGCalClusterT.h:221
HGCalTriggerCell.h
HGCHEF
Definition: ForwardSubdetector.h:9
math::PtEtaPhiMLorentzVector
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
Definition: LorentzVector.h:25
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
l1t::HGCalClusterT::sigmaRRMax_
float sigmaRRMax_
Definition: HGCalClusterT.h:214
l1t::HGCalClusterT::sigmaEtaEtaTot_
float sigmaEtaEtaTot_
Definition: HGCalClusterT.h:215
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
DetId::Forward
Definition: DetId.h:30
l1t::HGCalClusterT::maxLayer
void maxLayer(int maxLayer)
Definition: HGCalClusterT.h:168
Basic3DVector::z
T z() const
Cartesian z coordinate.
Definition: extBasic3DVector.h:100
GlobalPoint.h
HFNoseTriggerDetId::isEE
bool isEE() const
consistency check : no bits left => no overhead
Definition: HFNoseTriggerDetId.h:87
Basic3DVector< float >
HGCalTriggerDetId.h
l1t::HGCalClusterT::triggerCells67percent
float triggerCells67percent() const
Definition: HGCalClusterT.h:162
l1t::HGCalClusterT::sigmaEtaEtaMax_
float sigmaEtaEtaMax_
Definition: HGCalClusterT.h:212
l1t::HGCalClusterT::firstLayer_
int firstLayer_
Definition: HGCalClusterT.h:209
l1t::HGCalClusterT::sigmaEtaEtaMax
float sigmaEtaEtaMax() const
Definition: HGCalClusterT.h:150
l1t::HGCalClusterT::sigmaZZ_
float sigmaZZ_
Definition: HGCalClusterT.h:219
l1t::HGCalClusterT::zBarycenter
void zBarycenter(float zBarycenter)
Definition: HGCalClusterT.h:178
l1t::HGCalClusterT::sigmaRRTot
void sigmaRRTot(float sigmaRRTot)
Definition: HGCalClusterT.h:175