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