CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
PreshowerClusterProducer Class Reference

#include <PreshowerClusterProducer.h>

Inheritance diagram for PreshowerClusterProducer:
edm::stream::EDProducer<>

Public Types

typedef math::XYZPoint Point
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache 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
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Attributes

double aEta_ [4]
 
double alpha0_
 
double alpha1_
 
double alpha2_
 
double alpha3_
 
std::string assocSClusterCollection_
 
double bEta_ [4]
 
edm::EDGetTokenT< reco::SuperClusterCollectionendcapSClusterToken_
 
edm::ESHandle< ESChannelStatusesChannelStatus_
 
edm::ESHandle< ESEEIntercalibConstantsesEEInterCalib_
 
edm::ESHandle< ESGainesgain_
 
edm::ESHandle< ESMIPToGeVConstantesMIPToGeV_
 
edm::ESHandle< ESMissingEnergyCalibrationesMissingECalib_
 
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 24 of file PreshowerClusterProducer.h.

Member Typedef Documentation

◆ Point

Definition at line 26 of file PreshowerClusterProducer.h.

Constructor & Destructor Documentation

◆ PreshowerClusterProducer()

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

Definition at line 48 of file PreshowerClusterProducer.cc.

48  {
49  // use configuration file to setup input/output collection names
50  preshHitsToken_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("preshRecHitProducer"));
51 
52  // Name of a SuperClusterCollection to make associations:
54  consumes<reco::SuperClusterCollection>(ps.getParameter<edm::InputTag>("endcapSClusterProducer"));
55 
56  // Output collections:
57  preshClusterCollectionX_ = ps.getParameter<std::string>("preshClusterCollectionX");
58  preshClusterCollectionY_ = ps.getParameter<std::string>("preshClusterCollectionY");
59  preshNclust_ = ps.getParameter<int>("preshNclust");
60 
61  etThresh_ = ps.getParameter<double>("etThresh");
62 
63  assocSClusterCollection_ = ps.getParameter<std::string>("assocSClusterCollection");
64 
65  produces<reco::PreshowerClusterCollection>(preshClusterCollectionX_);
66  produces<reco::PreshowerClusterCollection>(preshClusterCollectionY_);
67  produces<reco::SuperClusterCollection>(assocSClusterCollection_);
68 
69  float preshStripECut = ps.getParameter<double>("preshStripEnergyCut");
70  int preshSeededNst = ps.getParameter<int>("preshSeededNstrip");
71  preshClustECut = ps.getParameter<double>("preshClusterEnergyCut");
72 
73  presh_algo = new PreshowerClusterAlgo(preshStripECut, preshClustECut, preshSeededNst);
74 
75  nEvt_ = 0;
76 }

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

◆ ~PreshowerClusterProducer()

PreshowerClusterProducer::~PreshowerClusterProducer ( )
override

Definition at line 78 of file PreshowerClusterProducer.cc.

78 { delete presh_algo; }

Member Function Documentation

◆ produce()

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

Definition at line 80 of file PreshowerClusterProducer.cc.

80  {
83 
84  // get the ECAL geometry:
86  es.get<CaloGeometryRecord>().get(geoHandle);
87 
88  // retrieve ES-EE intercalibration constants and channel status
89  set(es);
90  const ESChannelStatus* channelStatus = esChannelStatus_.product();
91 
93 
94  // create unique_ptr to a PreshowerClusterCollection
95  auto clusters_p1 = std::make_unique<reco::PreshowerClusterCollection>();
96  auto clusters_p2 = std::make_unique<reco::PreshowerClusterCollection>();
97  // create new collection of corrected super clusters
98  auto superclusters_p = std::make_unique<reco::SuperClusterCollection>();
99 
100  std::unique_ptr<CaloSubdetectorTopology> topology_p;
101  if (geometry_p)
102  topology_p = std::make_unique<EcalPreshowerTopology>();
103 
104  // fetch the product (pSuperClusters)
105  evt.getByToken(endcapSClusterToken_, pSuperClusters);
106  const reco::SuperClusterCollection* SClusts = pSuperClusters.product();
107 
108  // fetch the product (RecHits)
109  evt.getByToken(preshHitsToken_, pRecHits);
110  // pointer to the object in the product
111  const EcalRecHitCollection* rechits = pRecHits.product(); // EcalRecHitCollection hit_collection = *rhcHandle;
112 
113  LogTrace("EcalClusters") << "PreshowerClusterProducerInfo: ### Total # of preshower RecHits: " << rechits->size();
114 
115  // make the map of rechits:
116  std::map<DetId, EcalRecHit> rechits_map;
118  for (it = rechits->begin(); it != rechits->end(); it++) {
119  // remove bad ES rechits
120  if (it->recoFlag() == 1 || it->recoFlag() == 14 || (it->recoFlag() <= 10 && it->recoFlag() >= 5))
121  continue;
122  //Make the map of DetID, EcalRecHit pairs
123  rechits_map.insert(std::make_pair(it->id(), *it));
124  }
125  // The set of used DetID's for a given event:
126  std::set<DetId> used_strips;
127  used_strips.clear();
128  LogTrace("EcalClusters") << "PreshowerClusterProducerInfo: ### rechits_map of size " << rechits_map.size()
129  << " was created!";
130 
131  reco::PreshowerClusterCollection clusters1, clusters2; // output collection of corrected PCs
132  reco::SuperClusterCollection new_SC; // output collection of corrected SCs
133 
134  //make cycle over super clusters
135  reco::SuperClusterCollection::const_iterator it_super;
136  int isc = 0;
137  for (it_super = SClusts->begin(); it_super != SClusts->end(); ++it_super) {
138  float e1 = 0;
139  float e2 = 0;
140  float deltaE = 0;
141 
143  ++isc;
144  LogTrace("EcalClusters") << " superE = " << it_super->energy() << " superETA = " << it_super->eta()
145  << " superPHI = " << it_super->phi();
146 
147  int nBC = 0;
148  int condP1 = 1; // 0: dead channel; 1: active channel
149  int condP2 = 1;
150  reco::CaloCluster_iterator bc_iter = it_super->clustersBegin();
151  for (; bc_iter != it_super->clustersEnd(); ++bc_iter) {
152  if (geometry_p) {
153  // Get strip position at intersection point of the line EE - Vertex:
154  double X = (*bc_iter)->x();
155  double Y = (*bc_iter)->y();
156  double Z = (*bc_iter)->z();
157  const GlobalPoint point(X, Y, Z);
158 
159  DetId tmp1 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 1);
160  DetId tmp2 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 2);
161  ESDetId strip1 = (tmp1 == DetId(0)) ? ESDetId(0) : ESDetId(tmp1);
162  ESDetId strip2 = (tmp2 == DetId(0)) ? ESDetId(0) : ESDetId(tmp2);
163 
164  if (nBC == 0) {
165  if (strip1 != ESDetId(0) && strip2 != ESDetId(0)) {
166  ESChannelStatusMap::const_iterator status_p1 = channelStatus->getMap().find(strip1);
167  ESChannelStatusMap::const_iterator status_p2 = channelStatus->getMap().find(strip2);
168  if (status_p1->getStatusCode() == 1)
169  condP1 = 0;
170  if (status_p2->getStatusCode() == 1)
171  condP2 = 0;
172  } else if (strip1 == ESDetId(0))
173  condP1 = 0;
174  else if (strip2 == ESDetId(0))
175  condP2 = 0;
176  }
177 
178  // Get a vector of ES clusters (found by the PreshSeeded algorithm) associated with a given EE basic cluster.
179  for (int i = 0; i < preshNclust_; i++) {
181  presh_algo->makeOneCluster(strip1, &used_strips, &rechits_map, geometry_p, topology_p.get());
182  cl1.setBCRef(*bc_iter);
183  if (cl1.energy() > preshClustECut) {
184  clusters1.push_back(cl1);
185  e1 += cl1.energy();
186  }
188  presh_algo->makeOneCluster(strip2, &used_strips, &rechits_map, geometry_p, topology_p.get());
189  cl2.setBCRef(*bc_iter);
190 
191  if (cl2.energy() > preshClustECut) {
192  clusters2.push_back(cl2);
193  e2 += cl2.energy();
194  }
195  } // end of cycle over ES clusters
196  }
197 
198  new_BC.push_back(*bc_iter);
199  nBC++;
200  } // end of cycle over BCs
201 
202  LogTrace("EcalClusters") << " For SC #" << isc - 1 << ", containing " << it_super->clustersSize()
203  << " basic clusters, PreshowerClusterAlgo made " << clusters1.size() << " in X plane and "
204  << clusters2.size() << " in Y plane "
205  << " preshower clusters ";
206 
207  // update energy of the SuperCluster
208  if (e1 + e2 > 1.0e-10) {
209  e1 = e1 / mip_; // GeV to #MIPs
210  e2 = e2 / mip_;
211 
212  if (condP1 == 1 && condP2 == 1) {
213  deltaE = gamma0_ * (e1 + alpha0_ * e2);
214  } else if (condP1 == 1 && condP2 == 0) {
215  deltaE = gamma1_ * (e1 + alpha1_ * e2);
216  } else if (condP1 == 0 && condP2 == 1) {
217  deltaE = gamma2_ * (e1 + alpha2_ * e2);
218  } else if (condP1 == 0 && condP2 == 0) {
219  deltaE = gamma3_ * (e1 + alpha3_ * e2);
220  }
221  }
222 
223  //corrected Energy
224  float E = it_super->energy() + deltaE;
225 
226  LogTrace("EcalClusters") << " Creating corrected SC ";
227 
228  reco::SuperCluster sc(E, it_super->position(), it_super->seed(), new_BC, deltaE);
229  if (condP1 == 1 && condP2 == 1)
231  else if (condP1 == 1 && condP2 == 0)
232  sc.setPreshowerPlanesStatus(1);
233  else if (condP1 == 0 && condP2 == 1)
234  sc.setPreshowerPlanesStatus(2);
235  else if (condP1 == 0 && condP2 == 0)
236  sc.setPreshowerPlanesStatus(3);
237 
238  if (sc.energy() * sin(sc.position().theta()) > etThresh_)
239  new_SC.push_back(sc);
240  LogTrace("EcalClusters") << " SuperClusters energies: new E = " << sc.energy()
241  << " vs. old E =" << it_super->energy();
242 
243  } // end of cycle over SCs
244 
245  // copy the preshower clusters into collections and put in the Event:
246  clusters_p1->assign(clusters1.begin(), clusters1.end());
247  clusters_p2->assign(clusters2.begin(), clusters2.end());
248  // put collection of preshower clusters to the event
249  evt.put(std::move(clusters_p1), preshClusterCollectionX_);
250  evt.put(std::move(clusters_p2), preshClusterCollectionY_);
251  LogTrace("EcalClusters") << "Preshower clusters added to the event";
252 
253  // put collection of corrected super clusters to the event
254  superclusters_p->assign(new_SC.begin(), new_SC.end());
255  evt.put(std::move(superclusters_p), assocSClusterCollection_);
256  LogTrace("EcalClusters") << "Corrected SClusters added to the event";
257 
258  nEvt_++;
259 }

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

◆ set()

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

Definition at line 261 of file PreshowerClusterProducer.cc.

261  {
262  es.get<ESGainRcd>().get(esgain_);
263  const ESGain* gain = esgain_.product();
264 
265  double ESGain = gain->getESGain();
266 
268  const ESMIPToGeVConstant* mipToGeV = esMIPToGeV_.product();
269 
270  mip_ = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
271 
273 
275  const ESEEIntercalibConstants* esEEInterCalib = esEEInterCalib_.product();
276 
277  // both planes work
278  gamma0_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh0();
279  alpha0_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow0() : esEEInterCalib->getAlphaHigh0();
280 
281  // only first plane works
282  gamma1_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow1()) : esEEInterCalib->getGammaHigh1();
283  alpha1_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow1() : esEEInterCalib->getAlphaHigh1();
284 
285  // only second plane works
286  gamma2_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow2()) : esEEInterCalib->getGammaHigh2();
287  alpha2_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow2() : esEEInterCalib->getAlphaHigh2();
288 
289  // both planes do not work
290  gamma3_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh3();
291  alpha3_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow3() : esEEInterCalib->getAlphaHigh3();
292 
294  const ESMissingEnergyCalibration* esMissingECalib = esMissingECalib_.product();
295 
296  // |eta| < 1.9
297  aEta_[0] = esMissingECalib->getConstAEta0();
298  bEta_[0] = esMissingECalib->getConstBEta0();
299 
300  // 1.9 < |eta| < 2.1
301  aEta_[1] = esMissingECalib->getConstAEta1();
302  bEta_[1] = esMissingECalib->getConstBEta1();
303 
304  // 2.1 < |eta| < 2.3
305  aEta_[2] = esMissingECalib->getConstAEta2();
306  bEta_[2] = esMissingECalib->getConstBEta2();
307 
308  // 2.3 < |eta| < 2.5
309  aEta_[3] = esMissingECalib->getConstAEta3();
310  bEta_[3] = esMissingECalib->getConstBEta3();
311 }

References PedestalClient_cfi::gain, edm::EventSetup::get(), edm::get(), 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(), and ESEEIntercalibConstants::getGammaLow2().

Member Data Documentation

◆ aEta_

double PreshowerClusterProducer::aEta_[4]
private

Definition at line 67 of file PreshowerClusterProducer.h.

◆ alpha0_

double PreshowerClusterProducer::alpha0_
private

Definition at line 63 of file PreshowerClusterProducer.h.

◆ alpha1_

double PreshowerClusterProducer::alpha1_
private

Definition at line 64 of file PreshowerClusterProducer.h.

◆ alpha2_

double PreshowerClusterProducer::alpha2_
private

Definition at line 65 of file PreshowerClusterProducer.h.

◆ alpha3_

double PreshowerClusterProducer::alpha3_
private

Definition at line 66 of file PreshowerClusterProducer.h.

◆ assocSClusterCollection_

std::string PreshowerClusterProducer::assocSClusterCollection_
private

Definition at line 51 of file PreshowerClusterProducer.h.

◆ bEta_

double PreshowerClusterProducer::bEta_[4]
private

Definition at line 68 of file PreshowerClusterProducer.h.

◆ endcapSClusterToken_

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

Definition at line 40 of file PreshowerClusterProducer.h.

◆ esChannelStatus_

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

Definition at line 57 of file PreshowerClusterProducer.h.

◆ esEEInterCalib_

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

Definition at line 55 of file PreshowerClusterProducer.h.

◆ esgain_

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

Definition at line 53 of file PreshowerClusterProducer.h.

◆ esMIPToGeV_

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

Definition at line 54 of file PreshowerClusterProducer.h.

◆ esMissingECalib_

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

Definition at line 56 of file PreshowerClusterProducer.h.

◆ etThresh_

double PreshowerClusterProducer::etThresh_
private

Definition at line 48 of file PreshowerClusterProducer.h.

◆ gamma0_

double PreshowerClusterProducer::gamma0_
private

Definition at line 59 of file PreshowerClusterProducer.h.

◆ gamma1_

double PreshowerClusterProducer::gamma1_
private

Definition at line 60 of file PreshowerClusterProducer.h.

◆ gamma2_

double PreshowerClusterProducer::gamma2_
private

Definition at line 61 of file PreshowerClusterProducer.h.

◆ gamma3_

double PreshowerClusterProducer::gamma3_
private

Definition at line 62 of file PreshowerClusterProducer.h.

◆ mip_

double PreshowerClusterProducer::mip_
private

Definition at line 58 of file PreshowerClusterProducer.h.

◆ nEvt_

int PreshowerClusterProducer::nEvt_
private

Definition at line 36 of file PreshowerClusterProducer.h.

◆ presh_algo

PreshowerClusterAlgo* PreshowerClusterProducer::presh_algo
private

Definition at line 70 of file PreshowerClusterProducer.h.

◆ preshClustECut

float PreshowerClusterProducer::preshClustECut
private

Definition at line 47 of file PreshowerClusterProducer.h.

◆ preshClusterCollectionX_

std::string PreshowerClusterProducer::preshClusterCollectionX_
private

Definition at line 43 of file PreshowerClusterProducer.h.

◆ preshClusterCollectionY_

std::string PreshowerClusterProducer::preshClusterCollectionY_
private

Definition at line 44 of file PreshowerClusterProducer.h.

◆ preshHitsToken_

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

Definition at line 39 of file PreshowerClusterProducer.h.

◆ preshNclust_

int PreshowerClusterProducer::preshNclust_
private

Definition at line 46 of file PreshowerClusterProducer.h.

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
ESGain
Definition: ESGain.h:7
PreshowerClusterProducer::alpha2_
double alpha2_
Definition: PreshowerClusterProducer.h:65
ESMissingEnergyCalibration
Definition: ESMissingEnergyCalibration.h:7
ESMissingEnergyCalibration::getConstBEta1
float getConstBEta1() const
Definition: ESMissingEnergyCalibration.h:28
mps_fire.i
i
Definition: mps_fire.py:355
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
ESGainRcd
Definition: ESGainRcd.h:5
PreshowerClusterProducer::endcapSClusterToken_
edm::EDGetTokenT< reco::SuperClusterCollection > endcapSClusterToken_
Definition: PreshowerClusterProducer.h:40
ESEEIntercalibConstants::getGammaLow2
float getGammaLow2() const
Definition: ESEEIntercalibConstants.h:39
reco::SuperCluster
Definition: SuperCluster.h:18
ESChannelStatusRcd
Definition: ESChannelStatusRcd.h:5
X
#define X(str)
Definition: MuonsGrabber.cc:38
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
PreshowerClusterProducer::preshClustECut
float preshClustECut
Definition: PreshowerClusterProducer.h:47
ESMIPToGeVConstantRcd
Definition: ESMIPToGeVConstantRcd.h:5
PreshowerClusterProducer::preshClusterCollectionX_
std::string preshClusterCollectionX_
Definition: PreshowerClusterProducer.h:43
PreshowerClusterProducer::esEEInterCalib_
edm::ESHandle< ESEEIntercalibConstants > esEEInterCalib_
Definition: PreshowerClusterProducer.h:55
PreshowerClusterProducer::etThresh_
double etThresh_
Definition: PreshowerClusterProducer.h:48
PreshowerClusterProducer::nEvt_
int nEvt_
Definition: PreshowerClusterProducer.h:36
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.h:68
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
edm::Handle
Definition: AssociativeIterator.h:50
PreshowerClusterProducer::mip_
double mip_
Definition: PreshowerClusterProducer.h:58
PreshowerClusterProducer::alpha3_
double alpha3_
Definition: PreshowerClusterProducer.h:66
PreshowerClusterProducer::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: PreshowerClusterProducer.h:57
PreshowerClusterProducer::gamma3_
double gamma3_
Definition: PreshowerClusterProducer.h:62
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PreshowerClusterProducer::esgain_
edm::ESHandle< ESGain > esgain_
Definition: PreshowerClusterProducer.h:53
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
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
ESEEIntercalibConstants::getAlphaHigh0
float getAlphaHigh0() const
Definition: ESEEIntercalibConstants.h:51
ESEEIntercalibConstantsRcd
Definition: ESEEIntercalibConstantsRcd.h:5
edm::PtrVector< CaloCluster >
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.h:70
ESEEIntercalibConstants::getAlphaHigh2
float getAlphaHigh2() const
Definition: ESEEIntercalibConstants.h:61
reco::PreshowerClusterCollection
std::vector< PreshowerCluster > PreshowerClusterCollection
collection of PreshowerCluster objects
Definition: PreshowerClusterFwd.h:12
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
Point3DBase< float, GlobalTag >
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PreshowerClusterProducer::preshNclust_
int preshNclust_
Definition: PreshowerClusterProducer.h:46
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:261
ESEEIntercalibConstants::getGammaHigh2
float getGammaHigh2() const
Definition: ESEEIntercalibConstants.h:59
ESMissingEnergyCalibration::getConstAEta0
float getConstAEta0() const
Definition: ESMissingEnergyCalibration.h:21
ESMissingEnergyCalibrationRcd
Definition: ESMissingEnergyCalibrationRcd.h:5
PreshowerClusterProducer::alpha1_
double alpha1_
Definition: PreshowerClusterProducer.h:64
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.h:67
TrackInfoProducer_cfi.rechits
rechits
Definition: TrackInfoProducer_cfi.py:9
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
PreshowerClusterAlgo
Definition: PreshowerClusterAlgo.h:22
ESEEIntercalibConstants::getAlphaLow0
float getAlphaLow0() const
Definition: ESEEIntercalibConstants.h:31
DOFs::Z
Definition: AlignPCLThresholdsWriter.cc:37
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:132
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.h:56
ESMissingEnergyCalibration::getConstAEta1
float getConstAEta1() const
Definition: ESMissingEnergyCalibration.h:26
DetId::Ecal
Definition: DetId.h:27
get
#define get
ESMissingEnergyCalibration::getConstBEta3
float getConstBEta3() const
Definition: ESMissingEnergyCalibration.h:38
ESEEIntercalibConstants::getGammaHigh3
float getGammaHigh3() const
Definition: ESEEIntercalibConstants.h:64
ESCondObjectContainer
Definition: ESCondObjectContainer.h:11
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
PreshowerClusterProducer::assocSClusterCollection_
std::string assocSClusterCollection_
Definition: PreshowerClusterProducer.h:51
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
EcalPreshower
Definition: EcalSubdetector.h:10
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
PreshowerClusterProducer::gamma2_
double gamma2_
Definition: PreshowerClusterProducer.h:61
PreshowerClusterProducer::preshClusterCollectionY_
std::string preshClusterCollectionY_
Definition: PreshowerClusterProducer.h:44
eostools.move
def move(src, dest)
Definition: eostools.py:511
ESCondObjectContainer::getMap
const self & getMap() const
Definition: ESCondObjectContainer.h:41
DOFs::Y
Definition: AlignPCLThresholdsWriter.cc:37
PreshowerClusterProducer::gamma0_
double gamma0_
Definition: PreshowerClusterProducer.h:59
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
PreshowerClusterProducer::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: PreshowerClusterProducer.h:54
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
PreshowerClusterProducer::preshHitsToken_
edm::EDGetTokenT< EcalRecHitCollection > preshHitsToken_
Definition: PreshowerClusterProducer.h:39
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
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::gamma1_
double gamma1_
Definition: PreshowerClusterProducer.h:60
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.h:63