CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
PreshowerClusterProducer Class Reference
Inheritance diagram for PreshowerClusterProducer:
edm::stream::EDProducer<>

Public Types

typedef math::XYZPoint Point
 
- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Public Member Functions

 PreshowerClusterProducer (const edm::ParameterSet &ps)
 
void produce (edm::Event &evt, const edm::EventSetup &es) override
 
void set (const edm::EventSetup &es)
 
 ~PreshowerClusterProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Attributes

double aEta_ [4]
 
double alpha0_
 
double alpha1_
 
double alpha2_
 
double alpha3_
 
std::string assocSClusterCollection_
 
double bEta_ [4]
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeometryToken_
 
edm::EDGetTokenT< reco::SuperClusterCollectionendcapSClusterToken_
 
edm::ESHandle< ESChannelStatusesChannelStatus_
 
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcdesChannelStatusToken_
 
edm::ESHandle< ESEEIntercalibConstantsesEEInterCalib_
 
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcdesEEInterCalibToken_
 
edm::ESHandle< ESGainesgain_
 
edm::ESGetToken< ESGain, ESGainRcdesGainToken_
 
edm::ESHandle< ESMIPToGeVConstantesMIPToGeV_
 
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcdesMIPToGeVToken_
 
edm::ESHandle< ESMissingEnergyCalibrationesMissingECalib_
 
edm::ESGetToken< ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcdesMissingECalibToken_
 
double etThresh_
 
double gamma0_
 
double gamma1_
 
double gamma2_
 
double gamma3_
 
double mip_
 
int nEvt_
 
PreshowerClusterAlgopresh_algo
 
float preshClustECut
 
std::string preshClusterCollectionX_
 
std::string preshClusterCollectionY_
 
edm::EDGetTokenT< EcalRecHitCollectionpreshHitsToken_
 
int preshNclust_
 

Detailed Description

Definition at line 47 of file PreshowerClusterProducer.cc.

Member Typedef Documentation

◆ Point

Definition at line 49 of file PreshowerClusterProducer.cc.

Constructor & Destructor Documentation

◆ PreshowerClusterProducer()

PreshowerClusterProducer::PreshowerClusterProducer ( const edm::ParameterSet ps)
explicit

Definition at line 111 of file PreshowerClusterProducer.cc.

111  {
112  // use configuration file to setup input/output collection names
113  preshHitsToken_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("preshRecHitProducer"));
114 
115  // Name of a SuperClusterCollection to make associations:
117  consumes<reco::SuperClusterCollection>(ps.getParameter<edm::InputTag>("endcapSClusterProducer"));
118 
119  esGainToken_ = esConsumes<ESGain, ESGainRcd>();
120  esMIPToGeVToken_ = esConsumes<ESMIPToGeVConstant, ESMIPToGeVConstantRcd>();
121  esEEInterCalibToken_ = esConsumes<ESEEIntercalibConstants, ESEEIntercalibConstantsRcd>();
122  esMissingECalibToken_ = esConsumes<ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd>();
123  esChannelStatusToken_ = esConsumes<ESChannelStatus, ESChannelStatusRcd>();
124  caloGeometryToken_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
125 
126  // Output collections:
127  preshClusterCollectionX_ = ps.getParameter<std::string>("preshClusterCollectionX");
128  preshClusterCollectionY_ = ps.getParameter<std::string>("preshClusterCollectionY");
129  preshNclust_ = ps.getParameter<int>("preshNclust");
130 
131  etThresh_ = ps.getParameter<double>("etThresh");
132 
133  assocSClusterCollection_ = ps.getParameter<std::string>("assocSClusterCollection");
134 
135  produces<reco::PreshowerClusterCollection>(preshClusterCollectionX_);
136  produces<reco::PreshowerClusterCollection>(preshClusterCollectionY_);
137  produces<reco::SuperClusterCollection>(assocSClusterCollection_);
138 
139  float preshStripECut = ps.getParameter<double>("preshStripEnergyCut");
140  int preshSeededNst = ps.getParameter<int>("preshSeededNstrip");
141  preshClustECut = ps.getParameter<double>("preshClusterEnergyCut");
142 
143  presh_algo = new PreshowerClusterAlgo(preshStripECut, preshClustECut, preshSeededNst);
144 
145  nEvt_ = 0;
146 }

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~PreshowerClusterProducer()

PreshowerClusterProducer::~PreshowerClusterProducer ( )
override

Definition at line 148 of file PreshowerClusterProducer.cc.

148 { delete presh_algo; }

Member Function Documentation

◆ produce()

void PreshowerClusterProducer::produce ( edm::Event evt,
const edm::EventSetup es 
)
override

Definition at line 150 of file PreshowerClusterProducer.cc.

150  {
153 
154  // get the ECAL geometry:
156 
157  // retrieve ES-EE intercalibration constants and channel status
158  set(es);
159  const ESChannelStatus* channelStatus = esChannelStatus_.product();
160 
162 
163  // create unique_ptr to a PreshowerClusterCollection
164  auto clusters_p1 = std::make_unique<reco::PreshowerClusterCollection>();
165  auto clusters_p2 = std::make_unique<reco::PreshowerClusterCollection>();
166  // create new collection of corrected super clusters
167  auto superclusters_p = std::make_unique<reco::SuperClusterCollection>();
168 
169  std::unique_ptr<CaloSubdetectorTopology> topology_p;
170  if (geometry_p)
171  topology_p = std::make_unique<EcalPreshowerTopology>();
172 
173  // fetch the product (pSuperClusters)
174  evt.getByToken(endcapSClusterToken_, pSuperClusters);
175  const reco::SuperClusterCollection* SClusts = pSuperClusters.product();
176 
177  // fetch the product (RecHits)
178  evt.getByToken(preshHitsToken_, pRecHits);
179  // pointer to the object in the product
180  const EcalRecHitCollection* rechits = pRecHits.product(); // EcalRecHitCollection hit_collection = *rhcHandle;
181 
182  LogTrace("EcalClusters") << "PreshowerClusterProducerInfo: ### Total # of preshower RecHits: " << rechits->size();
183 
184  // make the map of rechits:
185  std::map<DetId, EcalRecHit> rechits_map;
187  for (it = rechits->begin(); it != rechits->end(); it++) {
188  // remove bad ES rechits
189  if (it->recoFlag() == 1 || it->recoFlag() == 14 || (it->recoFlag() <= 10 && it->recoFlag() >= 5))
190  continue;
191  //Make the map of DetID, EcalRecHit pairs
192  rechits_map.insert(std::make_pair(it->id(), *it));
193  }
194  // The set of used DetID's for a given event:
195  std::set<DetId> used_strips;
196  used_strips.clear();
197  LogTrace("EcalClusters") << "PreshowerClusterProducerInfo: ### rechits_map of size " << rechits_map.size()
198  << " was created!";
199 
200  reco::PreshowerClusterCollection clusters1, clusters2; // output collection of corrected PCs
201  reco::SuperClusterCollection new_SC; // output collection of corrected SCs
202 
203  //make cycle over super clusters
204  reco::SuperClusterCollection::const_iterator it_super;
205  int isc = 0;
206  for (it_super = SClusts->begin(); it_super != SClusts->end(); ++it_super) {
207  float e1 = 0;
208  float e2 = 0;
209  float deltaE = 0;
210 
212  ++isc;
213  LogTrace("EcalClusters") << " superE = " << it_super->energy() << " superETA = " << it_super->eta()
214  << " superPHI = " << it_super->phi();
215 
216  int nBC = 0;
217  int condP1 = 1; // 0: dead channel; 1: active channel
218  int condP2 = 1;
219  reco::CaloCluster_iterator bc_iter = it_super->clustersBegin();
220  for (; bc_iter != it_super->clustersEnd(); ++bc_iter) {
221  if (geometry_p) {
222  // Get strip position at intersection point of the line EE - Vertex:
223  double X = (*bc_iter)->x();
224  double Y = (*bc_iter)->y();
225  double Z = (*bc_iter)->z();
226  const GlobalPoint point(X, Y, Z);
227 
228  DetId tmp1 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 1);
229  DetId tmp2 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 2);
230  ESDetId strip1 = (tmp1 == DetId(0)) ? ESDetId(0) : ESDetId(tmp1);
231  ESDetId strip2 = (tmp2 == DetId(0)) ? ESDetId(0) : ESDetId(tmp2);
232 
233  if (nBC == 0) {
234  if (strip1 != ESDetId(0) && strip2 != ESDetId(0)) {
235  ESChannelStatusMap::const_iterator status_p1 = channelStatus->getMap().find(strip1);
236  ESChannelStatusMap::const_iterator status_p2 = channelStatus->getMap().find(strip2);
237  if (status_p1->getStatusCode() == 1)
238  condP1 = 0;
239  if (status_p2->getStatusCode() == 1)
240  condP2 = 0;
241  } else if (strip1 == ESDetId(0))
242  condP1 = 0;
243  else if (strip2 == ESDetId(0))
244  condP2 = 0;
245  }
246 
247  // Get a vector of ES clusters (found by the PreshSeeded algorithm) associated with a given EE basic cluster.
248  for (int i = 0; i < preshNclust_; i++) {
250  presh_algo->makeOneCluster(strip1, &used_strips, &rechits_map, geometry_p, topology_p.get());
251  cl1.setBCRef(*bc_iter);
252  if (cl1.energy() > preshClustECut) {
253  clusters1.push_back(cl1);
254  e1 += cl1.energy();
255  }
257  presh_algo->makeOneCluster(strip2, &used_strips, &rechits_map, geometry_p, topology_p.get());
258  cl2.setBCRef(*bc_iter);
259 
260  if (cl2.energy() > preshClustECut) {
261  clusters2.push_back(cl2);
262  e2 += cl2.energy();
263  }
264  } // end of cycle over ES clusters
265  }
266 
267  new_BC.push_back(*bc_iter);
268  nBC++;
269  } // end of cycle over BCs
270 
271  LogTrace("EcalClusters") << " For SC #" << isc - 1 << ", containing " << it_super->clustersSize()
272  << " basic clusters, PreshowerClusterAlgo made " << clusters1.size() << " in X plane and "
273  << clusters2.size() << " in Y plane "
274  << " preshower clusters ";
275 
276  // update energy of the SuperCluster
277  if (e1 + e2 > 1.0e-10) {
278  e1 = e1 / mip_; // GeV to #MIPs
279  e2 = e2 / mip_;
280 
281  if (condP1 == 1 && condP2 == 1) {
282  deltaE = gamma0_ * (e1 + alpha0_ * e2);
283  } else if (condP1 == 1 && condP2 == 0) {
284  deltaE = gamma1_ * (e1 + alpha1_ * e2);
285  } else if (condP1 == 0 && condP2 == 1) {
286  deltaE = gamma2_ * (e1 + alpha2_ * e2);
287  } else if (condP1 == 0 && condP2 == 0) {
288  deltaE = gamma3_ * (e1 + alpha3_ * e2);
289  }
290  }
291 
292  //corrected Energy
293  float E = it_super->energy() + deltaE;
294 
295  LogTrace("EcalClusters") << " Creating corrected SC ";
296 
297  reco::SuperCluster sc(E, it_super->position(), it_super->seed(), new_BC, deltaE);
298  if (condP1 == 1 && condP2 == 1)
300  else if (condP1 == 1 && condP2 == 0)
301  sc.setPreshowerPlanesStatus(1);
302  else if (condP1 == 0 && condP2 == 1)
303  sc.setPreshowerPlanesStatus(2);
304  else if (condP1 == 0 && condP2 == 0)
305  sc.setPreshowerPlanesStatus(3);
306 
307  if (sc.energy() * sin(sc.position().theta()) > etThresh_)
308  new_SC.push_back(sc);
309  LogTrace("EcalClusters") << " SuperClusters energies: new E = " << sc.energy()
310  << " vs. old E =" << it_super->energy();
311 
312  } // end of cycle over SCs
313 
314  // copy the preshower clusters into collections and put in the Event:
315  clusters_p1->assign(clusters1.begin(), clusters1.end());
316  clusters_p2->assign(clusters2.begin(), clusters2.end());
317  // put collection of preshower clusters to the event
318  evt.put(std::move(clusters_p1), preshClusterCollectionX_);
319  evt.put(std::move(clusters_p2), preshClusterCollectionY_);
320  LogTrace("EcalClusters") << "Preshower clusters added to the event";
321 
322  // put collection of corrected super clusters to the event
323  superclusters_p->assign(new_SC.begin(), new_SC.end());
324  evt.put(std::move(superclusters_p), assocSClusterCollection_);
325  LogTrace("EcalClusters") << "Corrected SClusters added to the event";
326 
327  nEvt_++;
328 }

References GetRecoTauVFromDQM_MC_cff::cl2, EgHLTOffHistBins_cfi::deltaE, MillePedeFileConverter_cfg::e, StorageManager_cfg::e1, DetId::Ecal, EcalPreshower, reco::CaloCluster::energy(), ESCondObjectContainer< T >::find(), edm::Event::getByToken(), edm::EventSetup::getHandle(), ESCondObjectContainer< T >::getMap(), CaloGeometry::getSubdetectorGeometry(), mps_fire::i, LogTrace, eostools::move(), point, edm::Handle< T >::product(), edm::PtrVector< T >::push_back(), edm::Event::put(), HI_PhotonSkim_cff::rechits, reco::PreshowerCluster::setBCRef(), reco::SuperCluster::setPreshowerPlanesStatus(), funct::sin(), X, BeamSpotPI::Y, and BeamSpotPI::Z.

◆ set()

void PreshowerClusterProducer::set ( const edm::EventSetup es)

Definition at line 330 of file PreshowerClusterProducer.cc.

330  {
332  const ESGain* gain = esgain_.product();
333 
334  double ESGain = gain->getESGain();
335 
337  const ESMIPToGeVConstant* mipToGeV = esMIPToGeV_.product();
338 
339  mip_ = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
340 
342 
344  const ESEEIntercalibConstants* esEEInterCalib = esEEInterCalib_.product();
345 
346  // both planes work
347  gamma0_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh0();
348  alpha0_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow0() : esEEInterCalib->getAlphaHigh0();
349 
350  // only first plane works
351  gamma1_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow1()) : esEEInterCalib->getGammaHigh1();
352  alpha1_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow1() : esEEInterCalib->getAlphaHigh1();
353 
354  // only second plane works
355  gamma2_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow2()) : esEEInterCalib->getGammaHigh2();
356  alpha2_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow2() : esEEInterCalib->getAlphaHigh2();
357 
358  // both planes do not work
359  gamma3_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh3();
360  alpha3_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow3() : esEEInterCalib->getAlphaHigh3();
361 
363  const ESMissingEnergyCalibration* esMissingECalib = esMissingECalib_.product();
364 
365  // |eta| < 1.9
366  aEta_[0] = esMissingECalib->getConstAEta0();
367  bEta_[0] = esMissingECalib->getConstBEta0();
368 
369  // 1.9 < |eta| < 2.1
370  aEta_[1] = esMissingECalib->getConstAEta1();
371  bEta_[1] = esMissingECalib->getConstBEta1();
372 
373  // 2.1 < |eta| < 2.3
374  aEta_[2] = esMissingECalib->getConstAEta2();
375  bEta_[2] = esMissingECalib->getConstBEta2();
376 
377  // 2.3 < |eta| < 2.5
378  aEta_[3] = esMissingECalib->getConstAEta3();
379  bEta_[3] = esMissingECalib->getConstBEta3();
380 }

References PedestalClient_cfi::gain, ESEEIntercalibConstants::getAlphaHigh0(), ESEEIntercalibConstants::getAlphaHigh1(), ESEEIntercalibConstants::getAlphaHigh2(), ESEEIntercalibConstants::getAlphaHigh3(), ESEEIntercalibConstants::getAlphaLow0(), ESEEIntercalibConstants::getAlphaLow1(), ESEEIntercalibConstants::getAlphaLow2(), ESEEIntercalibConstants::getAlphaLow3(), ESMissingEnergyCalibration::getConstAEta0(), ESMissingEnergyCalibration::getConstAEta1(), ESMissingEnergyCalibration::getConstAEta2(), ESMissingEnergyCalibration::getConstAEta3(), ESMissingEnergyCalibration::getConstBEta0(), ESMissingEnergyCalibration::getConstBEta1(), ESMissingEnergyCalibration::getConstBEta2(), ESMissingEnergyCalibration::getConstBEta3(), ESMIPToGeVConstant::getESValueHigh(), ESMIPToGeVConstant::getESValueLow(), ESEEIntercalibConstants::getGammaHigh0(), ESEEIntercalibConstants::getGammaHigh1(), ESEEIntercalibConstants::getGammaHigh2(), ESEEIntercalibConstants::getGammaHigh3(), ESEEIntercalibConstants::getGammaLow1(), ESEEIntercalibConstants::getGammaLow2(), and edm::EventSetup::getHandle().

Member Data Documentation

◆ aEta_

double PreshowerClusterProducer::aEta_[4]
private

Definition at line 97 of file PreshowerClusterProducer.cc.

◆ alpha0_

double PreshowerClusterProducer::alpha0_
private

Definition at line 93 of file PreshowerClusterProducer.cc.

◆ alpha1_

double PreshowerClusterProducer::alpha1_
private

Definition at line 94 of file PreshowerClusterProducer.cc.

◆ alpha2_

double PreshowerClusterProducer::alpha2_
private

Definition at line 95 of file PreshowerClusterProducer.cc.

◆ alpha3_

double PreshowerClusterProducer::alpha3_
private

Definition at line 96 of file PreshowerClusterProducer.cc.

◆ assocSClusterCollection_

std::string PreshowerClusterProducer::assocSClusterCollection_
private

Definition at line 74 of file PreshowerClusterProducer.cc.

◆ bEta_

double PreshowerClusterProducer::bEta_[4]
private

Definition at line 98 of file PreshowerClusterProducer.cc.

◆ caloGeometryToken_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> PreshowerClusterProducer::caloGeometryToken_
private

Definition at line 86 of file PreshowerClusterProducer.cc.

◆ endcapSClusterToken_

edm::EDGetTokenT<reco::SuperClusterCollection> PreshowerClusterProducer::endcapSClusterToken_
private

Definition at line 63 of file PreshowerClusterProducer.cc.

◆ esChannelStatus_

edm::ESHandle<ESChannelStatus> PreshowerClusterProducer::esChannelStatus_
private

Definition at line 80 of file PreshowerClusterProducer.cc.

◆ esChannelStatusToken_

edm::ESGetToken<ESChannelStatus, ESChannelStatusRcd> PreshowerClusterProducer::esChannelStatusToken_
private

Definition at line 85 of file PreshowerClusterProducer.cc.

◆ esEEInterCalib_

edm::ESHandle<ESEEIntercalibConstants> PreshowerClusterProducer::esEEInterCalib_
private

Definition at line 78 of file PreshowerClusterProducer.cc.

◆ esEEInterCalibToken_

edm::ESGetToken<ESEEIntercalibConstants, ESEEIntercalibConstantsRcd> PreshowerClusterProducer::esEEInterCalibToken_
private

Definition at line 83 of file PreshowerClusterProducer.cc.

◆ esgain_

edm::ESHandle<ESGain> PreshowerClusterProducer::esgain_
private

Definition at line 76 of file PreshowerClusterProducer.cc.

◆ esGainToken_

edm::ESGetToken<ESGain, ESGainRcd> PreshowerClusterProducer::esGainToken_
private

Definition at line 81 of file PreshowerClusterProducer.cc.

◆ esMIPToGeV_

edm::ESHandle<ESMIPToGeVConstant> PreshowerClusterProducer::esMIPToGeV_
private

Definition at line 77 of file PreshowerClusterProducer.cc.

◆ esMIPToGeVToken_

edm::ESGetToken<ESMIPToGeVConstant, ESMIPToGeVConstantRcd> PreshowerClusterProducer::esMIPToGeVToken_
private

Definition at line 82 of file PreshowerClusterProducer.cc.

◆ esMissingECalib_

edm::ESHandle<ESMissingEnergyCalibration> PreshowerClusterProducer::esMissingECalib_
private

Definition at line 79 of file PreshowerClusterProducer.cc.

◆ esMissingECalibToken_

edm::ESGetToken<ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd> PreshowerClusterProducer::esMissingECalibToken_
private

Definition at line 84 of file PreshowerClusterProducer.cc.

◆ etThresh_

double PreshowerClusterProducer::etThresh_
private

Definition at line 71 of file PreshowerClusterProducer.cc.

◆ gamma0_

double PreshowerClusterProducer::gamma0_
private

Definition at line 89 of file PreshowerClusterProducer.cc.

◆ gamma1_

double PreshowerClusterProducer::gamma1_
private

Definition at line 90 of file PreshowerClusterProducer.cc.

◆ gamma2_

double PreshowerClusterProducer::gamma2_
private

Definition at line 91 of file PreshowerClusterProducer.cc.

◆ gamma3_

double PreshowerClusterProducer::gamma3_
private

Definition at line 92 of file PreshowerClusterProducer.cc.

◆ mip_

double PreshowerClusterProducer::mip_
private

Definition at line 88 of file PreshowerClusterProducer.cc.

◆ nEvt_

int PreshowerClusterProducer::nEvt_
private

Definition at line 59 of file PreshowerClusterProducer.cc.

◆ presh_algo

PreshowerClusterAlgo* PreshowerClusterProducer::presh_algo
private

Definition at line 100 of file PreshowerClusterProducer.cc.

◆ preshClustECut

float PreshowerClusterProducer::preshClustECut
private

Definition at line 70 of file PreshowerClusterProducer.cc.

◆ preshClusterCollectionX_

std::string PreshowerClusterProducer::preshClusterCollectionX_
private

Definition at line 66 of file PreshowerClusterProducer.cc.

◆ preshClusterCollectionY_

std::string PreshowerClusterProducer::preshClusterCollectionY_
private

Definition at line 67 of file PreshowerClusterProducer.cc.

◆ preshHitsToken_

edm::EDGetTokenT<EcalRecHitCollection> PreshowerClusterProducer::preshHitsToken_
private

Definition at line 62 of file PreshowerClusterProducer.cc.

◆ preshNclust_

int PreshowerClusterProducer::preshNclust_
private

Definition at line 69 of file PreshowerClusterProducer.cc.

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
ESGain
Definition: ESGain.h:7
PreshowerClusterProducer::alpha2_
double alpha2_
Definition: PreshowerClusterProducer.cc:95
PreshowerClusterProducer::esGainToken_
edm::ESGetToken< ESGain, ESGainRcd > esGainToken_
Definition: PreshowerClusterProducer.cc:81
ESMissingEnergyCalibration
Definition: ESMissingEnergyCalibration.h:7
ESMissingEnergyCalibration::getConstBEta1
float getConstBEta1() const
Definition: ESMissingEnergyCalibration.h:28
mps_fire.i
i
Definition: mps_fire.py:428
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PreshowerClusterProducer::endcapSClusterToken_
edm::EDGetTokenT< reco::SuperClusterCollection > endcapSClusterToken_
Definition: PreshowerClusterProducer.cc:63
ESEEIntercalibConstants::getGammaLow2
float getGammaLow2() const
Definition: ESEEIntercalibConstants.h:39
reco::SuperCluster
Definition: SuperCluster.h:18
X
#define X(str)
Definition: MuonsGrabber.cc:38
PreshowerClusterProducer::preshClustECut
float preshClustECut
Definition: PreshowerClusterProducer.cc:70
PreshowerClusterProducer::preshClusterCollectionX_
std::string preshClusterCollectionX_
Definition: PreshowerClusterProducer.cc:66
PreshowerClusterProducer::esEEInterCalib_
edm::ESHandle< ESEEIntercalibConstants > esEEInterCalib_
Definition: PreshowerClusterProducer.cc:78
PreshowerClusterProducer::etThresh_
double etThresh_
Definition: PreshowerClusterProducer.cc:71
PreshowerClusterProducer::nEvt_
int nEvt_
Definition: PreshowerClusterProducer.cc:59
PreshowerClusterAlgo::makeOneCluster
reco::PreshowerCluster makeOneCluster(ESDetId strip, HitsID *used_strips, RecHitsMap *rechits_map, const CaloSubdetectorGeometry *geometry_p, const CaloSubdetectorTopology *topology_p)
Definition: PreshowerClusterAlgo.cc:13
ESMissingEnergyCalibration::getConstBEta0
float getConstBEta0() const
Definition: ESMissingEnergyCalibration.h:23
ESCondObjectContainer::find
const_iterator find(uint32_t rawId) const
Definition: ESCondObjectContainer.h:33
reco::PreshowerCluster
Definition: PreshowerCluster.h:17
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
edm::PtrVectorItr
Definition: PtrVector.h:51
edm::SortedCollection< EcalRecHit >
reco::SuperCluster::setPreshowerPlanesStatus
void setPreshowerPlanesStatus(const uint32_t &status)
Definition: SuperCluster.h:136
ESEEIntercalibConstants::getGammaHigh1
float getGammaHigh1() const
Definition: ESEEIntercalibConstants.h:54
GetRecoTauVFromDQM_MC_cff.cl2
cl2
Definition: GetRecoTauVFromDQM_MC_cff.py:44
ESDetId
Definition: ESDetId.h:15
ESEEIntercalibConstants::getGammaLow1
float getGammaLow1() const
Definition: ESEEIntercalibConstants.h:34
PreshowerClusterProducer::bEta_
double bEta_[4]
Definition: PreshowerClusterProducer.cc:98
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
edm::Handle
Definition: AssociativeIterator.h:50
PreshowerClusterProducer::mip_
double mip_
Definition: PreshowerClusterProducer.cc:88
PreshowerClusterProducer::alpha3_
double alpha3_
Definition: PreshowerClusterProducer.cc:96
PreshowerClusterProducer::esMissingECalibToken_
edm::ESGetToken< ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd > esMissingECalibToken_
Definition: PreshowerClusterProducer.cc:84
PreshowerClusterProducer::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: PreshowerClusterProducer.cc:80
PreshowerClusterProducer::gamma3_
double gamma3_
Definition: PreshowerClusterProducer.cc:92
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PreshowerClusterProducer::esgain_
edm::ESHandle< ESGain > esgain_
Definition: PreshowerClusterProducer.cc:76
PreshowerClusterProducer::caloGeometryToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
Definition: PreshowerClusterProducer.cc:86
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
DetId
Definition: DetId.h:17
ESMissingEnergyCalibration::getConstAEta2
float getConstAEta2() const
Definition: ESMissingEnergyCalibration.h:31
ESEEIntercalibConstants::getAlphaHigh3
float getAlphaHigh3() const
Definition: ESEEIntercalibConstants.h:66
ESEEIntercalibConstants::getAlphaHigh0
float getAlphaHigh0() const
Definition: ESEEIntercalibConstants.h:51
PreshowerClusterProducer::esChannelStatusToken_
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcd > esChannelStatusToken_
Definition: PreshowerClusterProducer.cc:85
edm::PtrVector< CaloCluster >
PreshowerClusterProducer::esMIPToGeVToken_
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > esMIPToGeVToken_
Definition: PreshowerClusterProducer.cc:82
ESEEIntercalibConstants::getGammaHigh0
float getGammaHigh0() const
Definition: ESEEIntercalibConstants.h:49
edm::ESHandle< CaloGeometry >
ESCondObjectContainer::const_iterator
std::vector< Item >::const_iterator const_iterator
Definition: ESCondObjectContainer.h:17
PreshowerClusterProducer::presh_algo
PreshowerClusterAlgo * presh_algo
Definition: PreshowerClusterProducer.cc:100
ESEEIntercalibConstants::getAlphaHigh2
float getAlphaHigh2() const
Definition: ESEEIntercalibConstants.h:61
reco::PreshowerClusterCollection
std::vector< PreshowerCluster > PreshowerClusterCollection
collection of PreshowerCluster objects
Definition: PreshowerClusterFwd.h:12
HI_PhotonSkim_cff.rechits
rechits
Definition: HI_PhotonSkim_cff.py:76
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
Point3DBase< float, GlobalTag >
PreshowerClusterProducer::preshNclust_
int preshNclust_
Definition: PreshowerClusterProducer.cc:69
edm::PtrVector::push_back
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:149
PreshowerClusterProducer::set
void set(const edm::EventSetup &es)
Definition: PreshowerClusterProducer.cc:330
ESEEIntercalibConstants::getGammaHigh2
float getGammaHigh2() const
Definition: ESEEIntercalibConstants.h:59
ESMissingEnergyCalibration::getConstAEta0
float getConstAEta0() const
Definition: ESMissingEnergyCalibration.h:21
PreshowerClusterProducer::alpha1_
double alpha1_
Definition: PreshowerClusterProducer.cc:94
ESEEIntercalibConstants::getAlphaLow3
float getAlphaLow3() const
Definition: ESEEIntercalibConstants.h:46
EgHLTOffHistBins_cfi.deltaE
deltaE
Definition: EgHLTOffHistBins_cfi.py:28
PreshowerClusterProducer::aEta_
double aEta_[4]
Definition: PreshowerClusterProducer.cc:97
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
PreshowerClusterAlgo
Definition: PreshowerClusterAlgo.h:22
ESEEIntercalibConstants::getAlphaLow0
float getAlphaLow0() const
Definition: ESEEIntercalibConstants.h:31
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
ESEEIntercalibConstants::getAlphaLow2
float getAlphaLow2() const
Definition: ESEEIntercalibConstants.h:41
ESEEIntercalibConstants::getAlphaLow1
float getAlphaLow1() const
Definition: ESEEIntercalibConstants.h:36
ESMissingEnergyCalibration::getConstBEta2
float getConstBEta2() const
Definition: ESMissingEnergyCalibration.h:33
ESMIPToGeVConstant
Definition: ESMIPToGeVConstant.h:7
PreshowerClusterProducer::esMissingECalib_
edm::ESHandle< ESMissingEnergyCalibration > esMissingECalib_
Definition: PreshowerClusterProducer.cc:79
ESMissingEnergyCalibration::getConstAEta1
float getConstAEta1() const
Definition: ESMissingEnergyCalibration.h:26
DetId::Ecal
Definition: DetId.h:27
ESMissingEnergyCalibration::getConstBEta3
float getConstBEta3() const
Definition: ESMissingEnergyCalibration.h:38
ESEEIntercalibConstants::getGammaHigh3
float getGammaHigh3() const
Definition: ESEEIntercalibConstants.h:64
ESCondObjectContainer
Definition: ESCondObjectContainer.h:11
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
PreshowerClusterProducer::assocSClusterCollection_
std::string assocSClusterCollection_
Definition: PreshowerClusterProducer.cc:74
EcalPreshower
Definition: EcalSubdetector.h:10
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
PreshowerClusterProducer::gamma2_
double gamma2_
Definition: PreshowerClusterProducer.cc:91
PreshowerClusterProducer::preshClusterCollectionY_
std::string preshClusterCollectionY_
Definition: PreshowerClusterProducer.cc:67
eostools.move
def move(src, dest)
Definition: eostools.py:511
ESCondObjectContainer::getMap
const self & getMap() const
Definition: ESCondObjectContainer.h:41
PreshowerClusterProducer::gamma0_
double gamma0_
Definition: PreshowerClusterProducer.cc:89
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
PreshowerClusterProducer::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: PreshowerClusterProducer.cc:77
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
BeamSpotPI::Y
Definition: BeamSpotPayloadInspectorHelper.h:32
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
PreshowerClusterProducer::preshHitsToken_
edm::EDGetTokenT< EcalRecHitCollection > preshHitsToken_
Definition: PreshowerClusterProducer.cc:62
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
BeamSpotPI::Z
Definition: BeamSpotPayloadInspectorHelper.h:33
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
PreshowerClusterProducer::esEEInterCalibToken_
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcd > esEEInterCalibToken_
Definition: PreshowerClusterProducer.cc:83
PreshowerClusterProducer::gamma1_
double gamma1_
Definition: PreshowerClusterProducer.cc:90
reco::PreshowerCluster::setBCRef
void setBCRef(const CaloClusterPtr &r)
DetIds of component RecHits – now inherited from CaloCluster.
Definition: PreshowerCluster.h:53
reco::CaloCluster::energy
double energy() const
cluster energy
Definition: CaloCluster.h:149
edm::InputTag
Definition: InputTag.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
PreshowerClusterProducer::alpha0_
double alpha0_
Definition: PreshowerClusterProducer.cc:93