CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Attributes
SCEnergyCorrectorSemiParm Class Reference

#include <SCEnergyCorrectorSemiParm.h>

Public Member Functions

std::pair< double, double > getCorrections (const reco::SuperCluster &sc) const
 
void modifyObject (reco::SuperCluster &sc)
 
 SCEnergyCorrectorSemiParm ()
 
void setEvent (const edm::Event &e)
 
void setEventSetup (const edm::EventSetup &es)
 
void setTokens (const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
 
 ~SCEnergyCorrectorSemiParm ()
 

Protected Attributes

edm::ESHandle< CaloGeometrycalogeom_
 
edm::ESHandle< CaloTopologycalotopo_
 
edm::InputTag ecalHitsEBInputTag_
 
edm::InputTag ecalHitsEEInputTag_
 
const GBRForestDforesteb_
 
const GBRForestDforestee_
 
const GBRForestDforestsigmaeb_
 
const GBRForestDforestsigmaee_
 
edm::Handle< EcalRecHitCollectionrechitsEB_
 
edm::Handle< EcalRecHitCollectionrechitsEE_
 
std::string regressionKeyEB_
 
std::string regressionKeyEE_
 
edm::EDGetTokenT< EcalRecHitCollectiontokenEBRecHits_
 
edm::EDGetTokenT< EcalRecHitCollectiontokenEERecHits_
 
edm::EDGetTokenT< reco::VertexCollectiontokenVertices_
 
std::string uncertaintyKeyEB_
 
std::string uncertaintyKeyEE_
 
edm::InputTag vertexInputTag_
 
edm::Handle< reco::VertexCollectionvertices_
 

Private Attributes

bool applySigmaIetaIphiBug_
 
float eThreshold_
 
bool isHLT_
 
int nHitsAboveThreshold_
 

Detailed Description

Definition at line 30 of file SCEnergyCorrectorSemiParm.h.

Constructor & Destructor Documentation

◆ SCEnergyCorrectorSemiParm()

SCEnergyCorrectorSemiParm::SCEnergyCorrectorSemiParm ( )

Definition at line 17 of file SCEnergyCorrectorSemiParm.cc.

18  : foresteb_(nullptr),
19  forestee_(nullptr),
20  forestsigmaeb_(nullptr),
21  forestsigmaee_(nullptr),
22  calotopo_(nullptr),
23  calogeom_(nullptr) {}

◆ ~SCEnergyCorrectorSemiParm()

SCEnergyCorrectorSemiParm::~SCEnergyCorrectorSemiParm ( )

Definition at line 26 of file SCEnergyCorrectorSemiParm.cc.

26 {}

Member Function Documentation

◆ getCorrections()

std::pair< double, double > SCEnergyCorrectorSemiParm::getCorrections ( const reco::SuperCluster sc) const

Definition at line 97 of file SCEnergyCorrectorSemiParm.cc.

97  {
98  std::pair<double, double> p;
99  p.first = -1;
100  p.second = -1;
101 
102  // protect against HGCal, don't mod the object
103  if (EcalTools::isHGCalDet(sc.seed()->seed().det()))
104  return p;
105 
106  const reco::CaloCluster &seedCluster = *(sc.seed());
107  const bool iseb = seedCluster.hitsAndFractions()[0].first.subdetId() == EcalBarrel;
108  const EcalRecHitCollection *recHits = iseb ? rechitsEB_.product() : rechitsEE_.product();
109 
110  const CaloTopology *topo = calotopo_.product();
111 
112  const double raw_energy = sc.rawEnergy();
113  const int numberOfClusters = sc.clusters().size();
114 
115  std::vector<float> localCovariances = EcalClusterTools::localCovariances(seedCluster, recHits, topo);
116 
117  if (not isHLT_) {
118  std::array<float, 30> eval;
119 
120  const float eLeft = EcalClusterTools::eLeft(seedCluster, recHits, topo);
121  const float eRight = EcalClusterTools::eRight(seedCluster, recHits, topo);
122  const float eTop = EcalClusterTools::eTop(seedCluster, recHits, topo);
123  const float eBottom = EcalClusterTools::eBottom(seedCluster, recHits, topo);
124 
125  float sigmaIetaIeta = sqrt(localCovariances[0]);
126  float sigmaIetaIphi = std::numeric_limits<float>::max();
127  float sigmaIphiIphi = std::numeric_limits<float>::max();
128 
129  if (!edm::isNotFinite(localCovariances[2]))
130  sigmaIphiIphi = sqrt(localCovariances[2]);
131 
132  // extra shower shapes
133  const float see_by_spp =
134  sigmaIetaIeta * (applySigmaIetaIphiBug_ ? std::numeric_limits<float>::max() : sigmaIphiIphi);
135  if (see_by_spp > 0) {
136  sigmaIetaIphi = localCovariances[1] / see_by_spp;
137  } else if (localCovariances[1] > 0) {
138  sigmaIetaIphi = 1.f;
139  } else {
140  sigmaIetaIphi = -1.f;
141  }
142 
143  // calculate sub-cluster variables
144  std::vector<float> clusterRawEnergy;
145  clusterRawEnergy.resize(std::max(3, numberOfClusters), 0);
146  std::vector<float> clusterDEtaToSeed;
147  clusterDEtaToSeed.resize(std::max(3, numberOfClusters), 0);
148  std::vector<float> clusterDPhiToSeed;
149  clusterDPhiToSeed.resize(std::max(3, numberOfClusters), 0);
150  float clusterMaxDR = 999.;
151  float clusterMaxDRDPhi = 999.;
152  float clusterMaxDRDEta = 999.;
153  float clusterMaxDRRawEnergy = 0.;
154 
155  size_t iclus = 0;
156  float maxDR = 0;
158  const edm::Ptr<reco::CaloCluster> &theseed = sc.seed();
159  // loop over all clusters that aren't the seed
160  auto clusend = sc.clustersEnd();
161  for (auto clus = sc.clustersBegin(); clus != clusend; ++clus) {
162  pclus = *clus;
163 
164  if (theseed == pclus)
165  continue;
166  clusterRawEnergy[iclus] = pclus->energy();
167  clusterDPhiToSeed[iclus] = reco::deltaPhi(pclus->phi(), theseed->phi());
168  clusterDEtaToSeed[iclus] = pclus->eta() - theseed->eta();
169 
170  // find cluster with max dR
171  const auto the_dr = reco::deltaR(*pclus, *theseed);
172  if (the_dr > maxDR) {
173  maxDR = the_dr;
174  clusterMaxDR = maxDR;
175  clusterMaxDRDPhi = clusterDPhiToSeed[iclus];
176  clusterMaxDRDEta = clusterDEtaToSeed[iclus];
177  clusterMaxDRRawEnergy = clusterRawEnergy[iclus];
178  }
179  ++iclus;
180  }
181 
182  // SET INPUTS
183  eval[0] = vertices_->size();
184  eval[1] = raw_energy;
185  eval[2] = sc.etaWidth();
186  eval[3] = sc.phiWidth();
187  eval[4] = EcalClusterTools::e3x3(seedCluster, recHits, topo) / raw_energy;
188  eval[5] = seedCluster.energy() / raw_energy;
189  eval[6] = EcalClusterTools::eMax(seedCluster, recHits) / raw_energy;
190  eval[7] = EcalClusterTools::e2nd(seedCluster, recHits) / raw_energy;
191  eval[8] = (eLeft + eRight != 0.f ? (eLeft - eRight) / (eLeft + eRight) : 0.f);
192  eval[9] = (eTop + eBottom != 0.f ? (eTop - eBottom) / (eTop + eBottom) : 0.f);
193  eval[10] = sigmaIetaIeta;
194  eval[11] = sigmaIetaIphi;
195  eval[12] = sigmaIphiIphi;
196  eval[13] = std::max(0, numberOfClusters - 1);
197  eval[14] = clusterMaxDR;
198  eval[15] = clusterMaxDRDPhi;
199  eval[16] = clusterMaxDRDEta;
200  eval[17] = clusterMaxDRRawEnergy / raw_energy;
201  eval[18] = clusterRawEnergy[0] / raw_energy;
202  eval[19] = clusterRawEnergy[1] / raw_energy;
203  eval[20] = clusterRawEnergy[2] / raw_energy;
204  eval[21] = clusterDPhiToSeed[0];
205  eval[22] = clusterDPhiToSeed[1];
206  eval[23] = clusterDPhiToSeed[2];
207  eval[24] = clusterDEtaToSeed[0];
208  eval[25] = clusterDEtaToSeed[1];
209  eval[26] = clusterDEtaToSeed[2];
210  if (iseb) {
211  EBDetId ebseedid(seedCluster.seed());
212  eval[27] = ebseedid.ieta();
213  eval[28] = ebseedid.iphi();
214  } else {
215  EEDetId eeseedid(seedCluster.seed());
216  eval[27] = eeseedid.ix();
217  eval[28] = eeseedid.iy();
218  //seed cluster eta is only needed for the 106X Ultra Legacy regressions
219  //and was not used in the 74X regression however as its just an extra varaible
220  //at the end, its harmless to add for the 74X regression
221  eval[29] = seedCluster.eta();
222  }
223 
224  //magic numbers for MINUIT-like transformation of BDT output onto limited range
225  //(These should be stored inside the conditions object in the future as well)
226  constexpr double meanlimlow = 0.2;
227  constexpr double meanlimhigh = 2.0;
228  constexpr double meanoffset = meanlimlow + 0.5 * (meanlimhigh - meanlimlow);
229  constexpr double meanscale = 0.5 * (meanlimhigh - meanlimlow);
230 
231  constexpr double sigmalimlow = 0.0002;
232  constexpr double sigmalimhigh = 0.5;
233  constexpr double sigmaoffset = sigmalimlow + 0.5 * (sigmalimhigh - sigmalimlow);
234  constexpr double sigmascale = 0.5 * (sigmalimhigh - sigmalimlow);
235 
236  const GBRForestD *forestmean = iseb ? foresteb_ : forestee_;
237  const GBRForestD *forestsigma = iseb ? forestsigmaeb_ : forestsigmaee_;
238 
239  //these are the actual BDT responses
240  double rawmean = forestmean->GetResponse(eval.data());
241  double rawsigma = forestsigma->GetResponse(eval.data());
242 
243  //apply transformation to limited output range (matching the training)
244  double mean = meanoffset + meanscale * vdt::fast_sin(rawmean);
245  double sigma = sigmaoffset + sigmascale * vdt::fast_sin(rawsigma);
246 
247  double ecor = mean * (eval[1]);
248  const double sigmacor = sigma * ecor;
249 
250  p.first = ecor;
251  p.second = sigmacor;
252 
253  } else {
254  std::array<float, 7> eval;
255  float clusterMaxDR = 999.;
256 
257  size_t iclus = 0;
258  float maxDR = 0;
260  const edm::Ptr<reco::CaloCluster> &theseed = sc.seed();
261 
262  // loop over all clusters that aren't the seed
263  auto clusend = sc.clustersEnd();
264  for (auto clus = sc.clustersBegin(); clus != clusend; ++clus) {
265  pclus = *clus;
266 
267  if (theseed == pclus)
268  continue;
269 
270  // find cluster with max dR
271  const auto the_dr = reco::deltaR(*pclus, *theseed);
272  if (the_dr > maxDR) {
273  maxDR = the_dr;
274  clusterMaxDR = maxDR;
275  }
276  ++iclus;
277  }
278 
279  // SET INPUTS
280  eval[0] = nHitsAboveThreshold_;
281  eval[1] = sc.eta();
282  eval[2] = sc.phiWidth();
283  eval[3] = EcalClusterTools::e3x3(seedCluster, recHits, topo) / raw_energy;
284  eval[4] = std::max(0, numberOfClusters - 1);
285  eval[5] = clusterMaxDR;
286  eval[6] = raw_energy;
287 
288  //magic numbers for MINUIT-like transformation of BDT output onto limited range
289  //(These should be stored inside the conditions object in the future as well)
290  constexpr double meanlimlow = 0.2;
291  constexpr double meanlimhigh = 2.0;
292  constexpr double meanoffset = meanlimlow + 0.5 * (meanlimhigh - meanlimlow);
293  constexpr double meanscale = 0.5 * (meanlimhigh - meanlimlow);
294 
295  const GBRForestD *forestmean = iseb ? foresteb_ : forestee_;
296 
297  double rawmean = forestmean->GetResponse(eval.data());
298  double mean = meanoffset + meanscale * vdt::fast_sin(rawmean);
299 
300  double ecor = mean * eval[6];
301  if (!iseb)
302  ecor = mean * eval[6] + sc.preshowerEnergy();
303 
304  p.first = ecor;
305  //p.second unchanged
306  }
307 
308  return p;
309 }

References applySigmaIetaIphiBug_, calotopo_, reco::SuperCluster::clusters(), reco::SuperCluster::clustersBegin(), reco::SuperCluster::clustersEnd(), reco::deltaPhi(), reco::deltaR(), DetId::det(), EcalBarrel, cosmicPhotonAnalyzer_cfi::eMax, reco::CaloCluster::energy(), reco::CaloCluster::eta(), reco::SuperCluster::etaWidth(), foresteb_, forestee_, forestsigmaeb_, forestsigmaee_, GBRForestD::GetResponse(), reco::CaloCluster::hitsAndFractions(), EBDetId::ieta(), EcalTools::isHGCalDet(), isHLT_, edm::isNotFinite(), EEDetId::ix(), SiStripPI::max, jets_cff::maxDR, SiStripPI::mean, nHitsAboveThreshold_, AlCaHLTBitMon_ParallelJobs::p, reco::CaloCluster::phi(), reco::SuperCluster::phiWidth(), reco::SuperCluster::preshowerEnergy(), edm::ESHandle< T >::product(), reco::SuperCluster::rawEnergy(), FastTrackerRecHitMaskProducer_cfi::recHits, rechitsEB_, rechitsEE_, reco::SuperCluster::seed(), reco::CaloCluster::seed(), edm::PtrVectorBase::size(), mathSSE::sqrt(), and vertices_.

Referenced by modifyObject().

◆ modifyObject()

void SCEnergyCorrectorSemiParm::modifyObject ( reco::SuperCluster sc)

Definition at line 312 of file SCEnergyCorrectorSemiParm.cc.

312  {
313  std::pair<double, double> cor = getCorrections(sc);
314  if (cor.first < 0)
315  return;
316  sc.setEnergy(cor.first);
317  sc.setCorrectedEnergy(cor.first);
318  if (!isHLT_ && cor.second >= 0.)
319  sc.setCorrectedEnergyUncertainty(cor.second);
320 }

References getCorrections(), isHLT_, reco::CaloCluster::setCorrectedEnergy(), reco::CaloCluster::setCorrectedEnergyUncertainty(), and reco::CaloCluster::setEnergy().

◆ setEvent()

void SCEnergyCorrectorSemiParm::setEvent ( const edm::Event e)

Definition at line 69 of file SCEnergyCorrectorSemiParm.cc.

69  {
70  e.getByToken(tokenEBRecHits_, rechitsEB_);
71  e.getByToken(tokenEERecHits_, rechitsEE_);
72 
73  if (not isHLT_)
74  e.getByToken(tokenVertices_, vertices_);
75  else {
77  const EcalRecHitCollection *recHitsEB = (rechitsEB_.isValid() ? rechitsEB_.product() : nullptr);
78  const EcalRecHitCollection *recHitsEE = (rechitsEE_.isValid() ? rechitsEE_.product() : nullptr);
79 
80  if (nullptr != recHitsEB) {
81  for (EcalRecHitCollection::const_iterator it = recHitsEB->begin(); it != recHitsEB->end(); ++it) {
82  if (it->energy() > eThreshold_)
84  }
85  }
86 
87  if (nullptr != recHitsEE) {
88  for (EcalRecHitCollection::const_iterator it = recHitsEE->begin(); it != recHitsEE->end(); ++it) {
89  if (it->energy() > eThreshold_)
91  }
92  }
93  }
94 }

References MillePedeFileConverter_cfg::e, eThreshold_, isHLT_, nHitsAboveThreshold_, EcalDeadCellBoundaryEnergyFilter_cfi::recHitsEB, rechitsEB_, EcalDeadCellBoundaryEnergyFilter_cfi::recHitsEE, rechitsEE_, tokenEBRecHits_, tokenEERecHits_, tokenVertices_, and vertices_.

◆ setEventSetup()

void SCEnergyCorrectorSemiParm::setEventSetup ( const edm::EventSetup es)

Definition at line 48 of file SCEnergyCorrectorSemiParm.cc.

48  {
51 
53  edm::ESHandle<GBRForestD> readerebvar;
55  edm::ESHandle<GBRForestD> readereevar;
56 
57  es.get<GBRDWrapperRcd>().get(regressionKeyEB_, readereb);
58  es.get<GBRDWrapperRcd>().get(uncertaintyKeyEB_, readerebvar);
59  es.get<GBRDWrapperRcd>().get(regressionKeyEE_, readeree);
60  es.get<GBRDWrapperRcd>().get(uncertaintyKeyEE_, readereevar);
61 
62  foresteb_ = readereb.product();
63  forestsigmaeb_ = readerebvar.product();
64  forestee_ = readeree.product();
65  forestsigmaee_ = readereevar.product();
66 }

References calogeom_, calotopo_, foresteb_, forestee_, forestsigmaeb_, forestsigmaee_, edm::EventSetup::get(), get, edm::ESHandle< T >::product(), regressionKeyEB_, regressionKeyEE_, uncertaintyKeyEB_, and uncertaintyKeyEE_.

◆ setTokens()

void SCEnergyCorrectorSemiParm::setTokens ( const edm::ParameterSet iConfig,
edm::ConsumesCollector cc 
)

Definition at line 29 of file SCEnergyCorrectorSemiParm.cc.

29  {
30  isHLT_ = iConfig.getParameter<bool>("isHLT");
31  applySigmaIetaIphiBug_ = iConfig.getParameter<bool>("applySigmaIetaIphiBug");
32  tokenEBRecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("ecalRecHitsEB"));
33  tokenEERecHits_ = cc.consumes<EcalRecHitCollection>(iConfig.getParameter<edm::InputTag>("ecalRecHitsEE"));
34 
35  regressionKeyEB_ = iConfig.getParameter<std::string>("regressionKeyEB");
36  uncertaintyKeyEB_ = iConfig.getParameter<std::string>("uncertaintyKeyEB");
37  regressionKeyEE_ = iConfig.getParameter<std::string>("regressionKeyEE");
38  uncertaintyKeyEE_ = iConfig.getParameter<std::string>("uncertaintyKeyEE");
39 
40  if (not isHLT_) {
41  tokenVertices_ = cc.consumes<reco::VertexCollection>(iConfig.getParameter<edm::InputTag>("vertexCollection"));
42  } else {
43  eThreshold_ = iConfig.getParameter<double>("eRecHitThreshold");
44  }
45 }

References applySigmaIetaIphiBug_, eThreshold_, edm::ParameterSet::getParameter(), isHLT_, regressionKeyEB_, regressionKeyEE_, AlCaHLTBitMon_QueryRunRegistry::string, tokenEBRecHits_, tokenEERecHits_, tokenVertices_, uncertaintyKeyEB_, and uncertaintyKeyEE_.

Member Data Documentation

◆ applySigmaIetaIphiBug_

bool SCEnergyCorrectorSemiParm::applySigmaIetaIphiBug_
private

Definition at line 71 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setTokens().

◆ calogeom_

edm::ESHandle<CaloGeometry> SCEnergyCorrectorSemiParm::calogeom_
protected

Definition at line 50 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEventSetup().

◆ calotopo_

edm::ESHandle<CaloTopology> SCEnergyCorrectorSemiParm::calotopo_
protected

Definition at line 49 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEventSetup().

◆ ecalHitsEBInputTag_

edm::InputTag SCEnergyCorrectorSemiParm::ecalHitsEBInputTag_
protected

Definition at line 60 of file SCEnergyCorrectorSemiParm.h.

◆ ecalHitsEEInputTag_

edm::InputTag SCEnergyCorrectorSemiParm::ecalHitsEEInputTag_
protected

Definition at line 61 of file SCEnergyCorrectorSemiParm.h.

◆ eThreshold_

float SCEnergyCorrectorSemiParm::eThreshold_
private

Definition at line 73 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEvent(), and setTokens().

◆ foresteb_

const GBRForestD* SCEnergyCorrectorSemiParm::foresteb_
protected

Definition at line 44 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEventSetup().

◆ forestee_

const GBRForestD* SCEnergyCorrectorSemiParm::forestee_
protected

Definition at line 45 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEventSetup().

◆ forestsigmaeb_

const GBRForestD* SCEnergyCorrectorSemiParm::forestsigmaeb_
protected

Definition at line 46 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEventSetup().

◆ forestsigmaee_

const GBRForestD* SCEnergyCorrectorSemiParm::forestsigmaee_
protected

Definition at line 47 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEventSetup().

◆ isHLT_

bool SCEnergyCorrectorSemiParm::isHLT_
private

Definition at line 70 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), modifyObject(), setEvent(), and setTokens().

◆ nHitsAboveThreshold_

int SCEnergyCorrectorSemiParm::nHitsAboveThreshold_
private

Definition at line 72 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEvent().

◆ rechitsEB_

edm::Handle<EcalRecHitCollection> SCEnergyCorrectorSemiParm::rechitsEB_
protected

Definition at line 57 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEvent().

◆ rechitsEE_

edm::Handle<EcalRecHitCollection> SCEnergyCorrectorSemiParm::rechitsEE_
protected

Definition at line 58 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEvent().

◆ regressionKeyEB_

std::string SCEnergyCorrectorSemiParm::regressionKeyEB_
protected

Definition at line 64 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEventSetup(), and setTokens().

◆ regressionKeyEE_

std::string SCEnergyCorrectorSemiParm::regressionKeyEE_
protected

Definition at line 66 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEventSetup(), and setTokens().

◆ tokenEBRecHits_

edm::EDGetTokenT<EcalRecHitCollection> SCEnergyCorrectorSemiParm::tokenEBRecHits_
protected

Definition at line 52 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEvent(), and setTokens().

◆ tokenEERecHits_

edm::EDGetTokenT<EcalRecHitCollection> SCEnergyCorrectorSemiParm::tokenEERecHits_
protected

Definition at line 53 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEvent(), and setTokens().

◆ tokenVertices_

edm::EDGetTokenT<reco::VertexCollection> SCEnergyCorrectorSemiParm::tokenVertices_
protected

Definition at line 54 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEvent(), and setTokens().

◆ uncertaintyKeyEB_

std::string SCEnergyCorrectorSemiParm::uncertaintyKeyEB_
protected

Definition at line 65 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEventSetup(), and setTokens().

◆ uncertaintyKeyEE_

std::string SCEnergyCorrectorSemiParm::uncertaintyKeyEE_
protected

Definition at line 67 of file SCEnergyCorrectorSemiParm.h.

Referenced by setEventSetup(), and setTokens().

◆ vertexInputTag_

edm::InputTag SCEnergyCorrectorSemiParm::vertexInputTag_
protected

Definition at line 62 of file SCEnergyCorrectorSemiParm.h.

◆ vertices_

edm::Handle<reco::VertexCollection> SCEnergyCorrectorSemiParm::vertices_
protected

Definition at line 56 of file SCEnergyCorrectorSemiParm.h.

Referenced by getCorrections(), and setEvent().

reco::CaloCluster::phi
double phi() const
azimuthal angle of cluster centroid
Definition: CaloCluster.h:184
SCEnergyCorrectorSemiParm::applySigmaIetaIphiBug_
bool applySigmaIetaIphiBug_
Definition: SCEnergyCorrectorSemiParm.h:71
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
EBDetId::ieta
int ieta() const
get the crystal ieta
Definition: EBDetId.h:49
SCEnergyCorrectorSemiParm::foresteb_
const GBRForestD * foresteb_
Definition: SCEnergyCorrectorSemiParm.h:44
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
GBRForestD::GetResponse
double GetResponse(const float *vector) const
Definition: GBRForestD.h:52
edm::PtrVectorBase::size
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:73
reco::SuperCluster::clusters
const CaloClusterPtrVector & clusters() const
const access to the cluster list itself
Definition: SuperCluster.h:80
SiStripPI::mean
Definition: SiStripPayloadInspectorHelper.h:169
EcalTools::isHGCalDet
static bool isHGCalDet(DetId::Detector thedet)
identify HGCal cells
Definition: EcalTools.h:48
edm::isNotFinite
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
SCEnergyCorrectorSemiParm::tokenEERecHits_
edm::EDGetTokenT< EcalRecHitCollection > tokenEERecHits_
Definition: SCEnergyCorrectorSemiParm.h:53
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
SCEnergyCorrectorSemiParm::uncertaintyKeyEE_
std::string uncertaintyKeyEE_
Definition: SCEnergyCorrectorSemiParm.h:67
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
EBDetId
Definition: EBDetId.h:17
reco::CaloCluster::setCorrectedEnergy
void setCorrectedEnergy(double cenergy)
Definition: CaloCluster.h:137
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
GBRDWrapperRcd
Definition: GBRDWrapperRcd.h:24
edm::SortedCollection< EcalRecHit >
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
SCEnergyCorrectorSemiParm::forestee_
const GBRForestD * forestee_
Definition: SCEnergyCorrectorSemiParm.h:45
EEDetId::ix
int ix() const
Definition: EEDetId.h:77
SCEnergyCorrectorSemiParm::eThreshold_
float eThreshold_
Definition: SCEnergyCorrectorSemiParm.h:73
CaloTopology
Definition: CaloTopology.h:19
SCEnergyCorrectorSemiParm::isHLT_
bool isHLT_
Definition: SCEnergyCorrectorSemiParm.h:70
EcalBarrel
Definition: EcalSubdetector.h:10
cc
SCEnergyCorrectorSemiParm::regressionKeyEE_
std::string regressionKeyEE_
Definition: SCEnergyCorrectorSemiParm.h:66
SCEnergyCorrectorSemiParm::calogeom_
edm::ESHandle< CaloGeometry > calogeom_
Definition: SCEnergyCorrectorSemiParm.h:50
SCEnergyCorrectorSemiParm::calotopo_
edm::ESHandle< CaloTopology > calotopo_
Definition: SCEnergyCorrectorSemiParm.h:49
SCEnergyCorrectorSemiParm::forestsigmaeb_
const GBRForestD * forestsigmaeb_
Definition: SCEnergyCorrectorSemiParm.h:46
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
reco::SuperCluster::phiWidth
double phiWidth() const
obtain phi and eta width of the Super Cluster
Definition: SuperCluster.h:66
reco::CaloCluster
Definition: CaloCluster.h:31
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
edm::ESHandle
Definition: DTSurvey.h:22
SCEnergyCorrectorSemiParm::uncertaintyKeyEB_
std::string uncertaintyKeyEB_
Definition: SCEnergyCorrectorSemiParm.h:65
SCEnergyCorrectorSemiParm::rechitsEB_
edm::Handle< EcalRecHitCollection > rechitsEB_
Definition: SCEnergyCorrectorSemiParm.h:57
GBRForestD
Definition: GBRForestD.h:27
EEDetId
Definition: EEDetId.h:14
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
SCEnergyCorrectorSemiParm::tokenVertices_
edm::EDGetTokenT< reco::VertexCollection > tokenVertices_
Definition: SCEnergyCorrectorSemiParm.h:54
SCEnergyCorrectorSemiParm::getCorrections
std::pair< double, double > getCorrections(const reco::SuperCluster &sc) const
Definition: SCEnergyCorrectorSemiParm.cc:97
reco::SuperCluster::seed
const CaloClusterPtr & seed() const
seed BasicCluster
Definition: SuperCluster.h:77
reco::CaloCluster::eta
double eta() const
pseudorapidity of cluster centroid
Definition: CaloCluster.h:181
reco::CaloCluster::hitsAndFractions
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
cosmicPhotonAnalyzer_cfi.eMax
eMax
Definition: cosmicPhotonAnalyzer_cfi.py:10
reco::CaloCluster::setCorrectedEnergyUncertainty
void setCorrectedEnergyUncertainty(float energyerr)
Definition: CaloCluster.h:138
SCEnergyCorrectorSemiParm::nHitsAboveThreshold_
int nHitsAboveThreshold_
Definition: SCEnergyCorrectorSemiParm.h:72
SCEnergyCorrectorSemiParm::regressionKeyEB_
std::string regressionKeyEB_
Definition: SCEnergyCorrectorSemiParm.h:64
reco::SuperCluster::clustersBegin
CaloCluster_iterator clustersBegin() const
fist iterator over BasicCluster constituents
Definition: SuperCluster.h:86
get
#define get
reco::CaloCluster::seed
DetId seed() const
return DetId of seed
Definition: CaloCluster.h:219
edm::Ptr
Definition: AssociationVector.h:31
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::CaloCluster::setEnergy
void setEnergy(double energy)
Definition: CaloCluster.h:136
EcalDeadCellBoundaryEnergyFilter_cfi.recHitsEE
recHitsEE
Definition: EcalDeadCellBoundaryEnergyFilter_cfi.py:18
reco::SuperCluster::preshowerEnergy
double preshowerEnergy() const
energy deposited in preshower
Definition: SuperCluster.h:61
reco::SuperCluster::rawEnergy
double rawEnergy() const
raw uncorrected energy (sum of energies of component BasicClusters)
Definition: SuperCluster.h:58
SCEnergyCorrectorSemiParm::vertices_
edm::Handle< reco::VertexCollection > vertices_
Definition: SCEnergyCorrectorSemiParm.h:56
SCEnergyCorrectorSemiParm::tokenEBRecHits_
edm::EDGetTokenT< EcalRecHitCollection > tokenEBRecHits_
Definition: SCEnergyCorrectorSemiParm.h:52
reco::SuperCluster::etaWidth
double etaWidth() const
Definition: SuperCluster.h:67
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
SCEnergyCorrectorSemiParm::rechitsEE_
edm::Handle< EcalRecHitCollection > rechitsEE_
Definition: SCEnergyCorrectorSemiParm.h:58
EcalDeadCellBoundaryEnergyFilter_cfi.recHitsEB
recHitsEB
Definition: EcalDeadCellBoundaryEnergyFilter_cfi.py:17
jets_cff.maxDR
maxDR
Definition: jets_cff.py:120
reco::SuperCluster::clustersEnd
CaloCluster_iterator clustersEnd() const
last iterator over BasicCluster constituents
Definition: SuperCluster.h:89
reco::CaloCluster::energy
double energy() const
cluster energy
Definition: CaloCluster.h:149
edm::InputTag
Definition: InputTag.h:15
SCEnergyCorrectorSemiParm::forestsigmaee_
const GBRForestD * forestsigmaee_
Definition: SCEnergyCorrectorSemiParm.h:47
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37