CMS 3D CMS Logo

PreshowerPhiClusterProducer.cc
Go to the documentation of this file.
41 
42 #include <fstream>
43 #include <memory>
44 #include <vector>
45 
47 public:
49 
51 
53 
54  void produce(edm::Event& evt, const edm::EventSetup& es) override;
55  void set(const edm::EventSetup& es);
56 
57 private:
58  int nEvt_; // internal counter of events
59 
60  //clustering parameters:
61  edm::EDGetTokenT<EcalRecHitCollection> preshHitToken_; // name of module/plugin/producer
62  // producing hits
64 
65  // name out output collections
68 
69  // association parameters:
70  std::string assocSClusterCollection_; // name of super cluster output collection
71 
83  double mip_;
84  double gamma0_;
85  double gamma1_;
86  double gamma2_;
87  double gamma3_;
88  double alpha0_;
89  double alpha1_;
90  double alpha2_;
91  double alpha3_;
92  double aEta_[4];
93  double bEta_[4];
94 
95  double etThresh_;
96 
97  PreshowerPhiClusterAlgo* presh_algo; // algorithm doing the real work
98  // The set of used DetID's
99  //std::set<DetId> used_strips;
100 
103 };
104 
107 
108 using namespace edm;
109 using namespace std;
110 
112  // use configuration file to setup input/output collection names
113  preshHitToken_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("preshRecHitProducer"));
114 
115  // Name of a SuperClusterCollection to make associations:
116  endcapSClusterToken_ =
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 
130  assocSClusterCollection_ = ps.getParameter<std::string>("assocSClusterCollection");
131 
132  produces<reco::PreshowerClusterCollection>(preshClusterCollectionX_);
133  produces<reco::PreshowerClusterCollection>(preshClusterCollectionY_);
134  produces<reco::SuperClusterCollection>(assocSClusterCollection_);
135 
136  float esStripECut = ps.getParameter<double>("esStripEnergyCut");
137  esPhiClusterDeltaEta_ = ps.getParameter<double>("esPhiClusterDeltaEta");
138  esPhiClusterDeltaPhi_ = ps.getParameter<double>("esPhiClusterDeltaPhi");
139 
140  etThresh_ = ps.getParameter<double>("etThresh");
141 
142  presh_algo = new PreshowerPhiClusterAlgo(esStripECut);
143 }
144 
146 
150 
151  // get the ECAL geometry:
152  edm::ESHandle<CaloGeometry> geoHandle = es.getHandle(caloGeometryToken_);
153 
154  // retrieve ES-EE intercalibration constants and channel status
155  set(es);
156  const ESChannelStatus* channelStatus = esChannelStatus_.product();
157 
158  const CaloSubdetectorGeometry* geometry_p = (geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalPreshower));
159 
160  // create unique_ptr to a PreshowerClusterCollection
161  auto clusters_p1 = std::make_unique<reco::PreshowerClusterCollection>();
162  auto clusters_p2 = std::make_unique<reco::PreshowerClusterCollection>();
163  // create new collection of corrected super clusters
164  auto superclusters_p = std::make_unique<reco::SuperClusterCollection>();
165 
166  // fetch the product (pSuperClusters)
167  evt.getByToken(endcapSClusterToken_, pSuperClusters);
168  const reco::SuperClusterCollection* SClusts = pSuperClusters.product();
169 
170  // fetch the product (RecHits)
171  evt.getByToken(preshHitToken_, pRecHits);
172  // pointer to the object in the product
173  const EcalRecHitCollection* rechits = pRecHits.product(); // EcalRecHitCollection hit_collection = *rhcHandle;
174 
175  LogTrace("EcalClusters") << "PreshowerPhiClusterProducerInfo: ### Total # of preshower RecHits: " << rechits->size();
176 
177  // make the map of rechits:
178  std::map<DetId, EcalRecHit> rechits_map;
180  for (it = rechits->begin(); it != rechits->end(); it++) {
181  // remove bad ES rechits
182  if (it->recoFlag() == 1 || it->recoFlag() == 14 || (it->recoFlag() <= 10 && it->recoFlag() >= 5))
183  continue;
184  //Make the map of DetID, EcalRecHit pairs
185  rechits_map.insert(std::make_pair(it->id(), *it));
186  }
187  // The set of used DetID's for a given event:
188  std::set<DetId> used_strips;
189  used_strips.clear();
190  LogTrace("EcalClusters") << "PreshowerPhiClusterProducerInfo: ### rechits_map of size " << rechits_map.size()
191  << " was created!";
192 
193  reco::PreshowerClusterCollection clusters1, clusters2; // output collection of corrected PCs
194  reco::SuperClusterCollection new_SC; // output collection of corrected SCs
195 
196  //make cycle over super clusters
197  reco::SuperClusterCollection::const_iterator it_super;
198  int isc = 0;
199  for (it_super = SClusts->begin(); it_super != SClusts->end(); ++it_super) {
200  float e1 = 0;
201  float e2 = 0;
202  float deltaE = 0;
203 
205  ++isc;
206  LogTrace("EcalClusters") << " superE = " << it_super->energy() << " superETA = " << it_super->eta()
207  << " superPHI = " << it_super->phi();
208 
209  //cout<<"=== new SC ==="<<endl;
210  //cout<<"superE = "<<it_super->energy()<<" superETA = "<<it_super->eta()<<" superPHI = "<<it_super->phi()<<endl;
211 
212  int nBC = 0;
213  int condP1 = 1; // 0: dead channel; 1: active channel
214  int condP2 = 1;
215  float maxDeltaPhi = 0;
216  float minDeltaPhi = 0;
217  float refPhi = 0;
218 
219  reco::CaloCluster_iterator bc_iter = it_super->clustersBegin();
220  for (; bc_iter != it_super->clustersEnd(); ++bc_iter) {
221  if (nBC == 0) {
222  refPhi = (*bc_iter)->phi();
223  } else {
224  if (reco::deltaPhi((*bc_iter)->phi(), refPhi) > 0 && reco::deltaPhi((*bc_iter)->phi(), refPhi) > maxDeltaPhi)
225  maxDeltaPhi = reco::deltaPhi((*bc_iter)->phi(), refPhi);
226  if (reco::deltaPhi((*bc_iter)->phi(), refPhi) < 0 && reco::deltaPhi((*bc_iter)->phi(), refPhi) < minDeltaPhi)
227  minDeltaPhi = reco::deltaPhi((*bc_iter)->phi(), refPhi);
228  //cout<<"delta phi : "<<reco::deltaPhi((*bc_iter)->phi(), refPhi)<<endl;
229  }
230  //cout<<"BC : "<<nBC<<" "<<(*bc_iter)->energy()<<" "<<(*bc_iter)->eta()<<" "<<(*bc_iter)->phi()<<endl;
231  nBC++;
232  }
233  maxDeltaPhi += esPhiClusterDeltaPhi_;
234  minDeltaPhi -= esPhiClusterDeltaPhi_;
235 
236  nBC = 0;
237  for (bc_iter = it_super->clustersBegin(); bc_iter != it_super->clustersEnd(); ++bc_iter) {
238  if (geometry_p) {
239  // Get strip position at intersection point of the line EE - Vertex:
240  double X = (*bc_iter)->x();
241  double Y = (*bc_iter)->y();
242  double Z = (*bc_iter)->z();
243  const GlobalPoint point(X, Y, Z);
244 
245  DetId tmp1 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 1);
246  DetId tmp2 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 2);
247  ESDetId strip1 = (tmp1 == DetId(0)) ? ESDetId(0) : ESDetId(tmp1);
248  ESDetId strip2 = (tmp2 == DetId(0)) ? ESDetId(0) : ESDetId(tmp2);
249 
250  if (nBC == 0) {
251  if (strip1 != ESDetId(0) && strip2 != ESDetId(0)) {
252  ESChannelStatusMap::const_iterator status_p1 = channelStatus->getMap().find(strip1);
253  ESChannelStatusMap::const_iterator status_p2 = channelStatus->getMap().find(strip2);
254  if (status_p1->getStatusCode() == 1)
255  condP1 = 0;
256  if (status_p2->getStatusCode() == 1)
257  condP2 = 0;
258  } else if (strip1 == ESDetId(0)) {
259  condP1 = 0;
260  } else if (strip2 == ESDetId(0)) {
261  condP2 = 0;
262  }
263 
264  //cout<<"starting cluster : "<<maxDeltaPhi<<" "<<minDeltaPhi<<" "<<esPhiClusterDeltaEta_<<endl;
265  //cout<<"do plane 1 === "<<strip1.zside()<<" "<<strip1.plane()<<" "<<strip1.six()<<" "<<strip1.siy()<<" "<<strip1.strip()<<endl;
266  // Get a vector of ES clusters (found by the PreshSeeded algorithm) associated with a given EE basic cluster.
267  reco::PreshowerCluster cl1 = presh_algo->makeOneCluster(
268  strip1, &used_strips, &rechits_map, geometry_p, esPhiClusterDeltaEta_, minDeltaPhi, maxDeltaPhi);
269  cl1.setBCRef(*bc_iter);
270  clusters1.push_back(cl1);
271  e1 += cl1.energy();
272 
273  //cout<<"do plane 2 === "<<strip2.zside()<<" "<<strip2.plane()<<" "<<strip2.six()<<" "<<strip2.siy()<<" "<<strip2.strip()<<endl;
274  reco::PreshowerCluster cl2 = presh_algo->makeOneCluster(
275  strip2, &used_strips, &rechits_map, geometry_p, esPhiClusterDeltaEta_, minDeltaPhi, maxDeltaPhi);
276  cl2.setBCRef(*bc_iter);
277  clusters2.push_back(cl2);
278  e2 += cl2.energy();
279  }
280  }
281 
282  new_BC.push_back(*bc_iter);
283  nBC++;
284  } // end of cycle over BCs
285 
286  LogTrace("EcalClusters") << " For SC #" << isc - 1 << ", containing " << it_super->clustersSize()
287  << " basic clusters, PreshowerPhiClusterAlgo made " << clusters1.size()
288  << " in X plane and " << clusters2.size() << " in Y plane "
289  << " preshower clusters ";
290 
291  // update energy of the SuperCluster
292  if (e1 + e2 > 1.0e-10) {
293  e1 = e1 / mip_; // GeV to #MIPs
294  e2 = e2 / mip_;
295 
296  if (condP1 == 1 && condP2 == 1) {
297  deltaE = gamma0_ * (e1 + alpha0_ * e2);
298  } else if (condP1 == 1 && condP2 == 0) {
299  deltaE = gamma1_ * (e1 + alpha1_ * e2);
300  } else if (condP1 == 0 && condP2 == 1) {
301  deltaE = gamma2_ * (e1 + alpha2_ * e2);
302  } else if (condP1 == 0 && condP2 == 0) {
303  deltaE = gamma3_ * (e1 + alpha3_ * e2);
304  }
305  }
306 
307  //corrected Energy
308  float E = it_super->energy() + deltaE;
309 
310  LogTrace("EcalClusters") << " Creating corrected SC ";
311 
312  reco::SuperCluster sc(E, it_super->position(), it_super->seed(), new_BC, deltaE);
313  sc.setPreshowerEnergyPlane1(e1 * mip_);
314  sc.setPreshowerEnergyPlane2(e2 * mip_);
315  if (condP1 == 1 && condP2 == 1)
316  sc.setPreshowerPlanesStatus(0);
317  else if (condP1 == 1 && condP2 == 0)
318  sc.setPreshowerPlanesStatus(1);
319  else if (condP1 == 0 && condP2 == 1)
320  sc.setPreshowerPlanesStatus(2);
321  else if (condP1 == 0 && condP2 == 0)
322  sc.setPreshowerPlanesStatus(3);
323 
324  if (etThresh_ > 0) { // calling postion().theta can be expensive
325  if (sc.energy() * sin(sc.position().theta()) > etThresh_)
326  new_SC.push_back(sc);
327  } else {
328  new_SC.push_back(sc);
329  }
330 
331  } // end of cycle over SCs
332 
333  // copy the preshower clusters into collections and put in the Event:
334  clusters_p1->assign(clusters1.begin(), clusters1.end());
335  clusters_p2->assign(clusters2.begin(), clusters2.end());
336  // put collection of preshower clusters to the event
337  evt.put(std::move(clusters_p1), preshClusterCollectionX_);
338  evt.put(std::move(clusters_p2), preshClusterCollectionY_);
339  LogTrace("EcalClusters") << "Preshower clusters added to the event";
340 
341  // put collection of corrected super clusters to the event
342  superclusters_p->assign(new_SC.begin(), new_SC.end());
343  evt.put(std::move(superclusters_p), assocSClusterCollection_);
344  LogTrace("EcalClusters") << "Corrected SClusters added to the event";
345 }
346 
348  esgain_ = es.getHandle(esGainToken_);
349  const ESGain* gain = esgain_.product();
350 
351  double ESGain = gain->getESGain();
352 
353  esMIPToGeV_ = es.getHandle(esMIPToGeVToken_);
354  const ESMIPToGeVConstant* mipToGeV = esMIPToGeV_.product();
355 
356  mip_ = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
357 
358  esChannelStatus_ = es.getHandle(esChannelStatusToken_);
359 
360  esEEInterCalib_ = es.getHandle(esEEInterCalibToken_);
361  const ESEEIntercalibConstants* esEEInterCalib = esEEInterCalib_.product();
362 
363  // both planes work
364  gamma0_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh0();
365  alpha0_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow0() : esEEInterCalib->getAlphaHigh0();
366 
367  // only first plane works
368  gamma1_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow1()) : esEEInterCalib->getGammaHigh1();
369  alpha1_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow1() : esEEInterCalib->getAlphaHigh1();
370 
371  // only second plane works
372  gamma2_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow2()) : esEEInterCalib->getGammaHigh2();
373  alpha2_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow2() : esEEInterCalib->getAlphaHigh2();
374 
375  // both planes do not work
376  gamma3_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh3();
377  alpha3_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow3() : esEEInterCalib->getAlphaHigh3();
378 
379  esMissingECalib_ = es.getHandle(esMissingECalibToken_);
380  const ESMissingEnergyCalibration* esMissingECalib = esMissingECalib_.product();
381 
382  // |eta| < 1.9
383  aEta_[0] = esMissingECalib->getConstAEta0();
384  bEta_[0] = esMissingECalib->getConstBEta0();
385 
386  // 1.9 < |eta| < 2.1
387  aEta_[1] = esMissingECalib->getConstAEta1();
388  bEta_[1] = esMissingECalib->getConstBEta1();
389 
390  // 2.1 < |eta| < 2.3
391  aEta_[2] = esMissingECalib->getConstAEta2();
392  bEta_[2] = esMissingECalib->getConstBEta2();
393 
394  // 2.3 < |eta| < 2.5
395  aEta_[3] = esMissingECalib->getConstAEta3();
396  bEta_[3] = esMissingECalib->getConstBEta3();
397 }
PreshowerPhiClusterProducer::~PreshowerPhiClusterProducer
~PreshowerPhiClusterProducer() override
Definition: PreshowerPhiClusterProducer.cc:145
EcalPreshowerTopology.h
ESGain
Definition: ESGain.h:7
Handle.h
ESMissingEnergyCalibration
Definition: ESMissingEnergyCalibration.h:7
ESMissingEnergyCalibration::getConstBEta1
float getConstBEta1() const
Definition: ESMissingEnergyCalibration.h:28
PreshowerPhiClusterProducer::esgain_
edm::ESHandle< ESGain > esgain_
Definition: PreshowerPhiClusterProducer.cc:72
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
PreshowerPhiClusterProducer::gamma0_
double gamma0_
Definition: PreshowerPhiClusterProducer.cc:84
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PreshowerPhiClusterProducer::preshClusterCollectionX_
std::string preshClusterCollectionX_
Definition: PreshowerPhiClusterProducer.cc:66
PreshowerPhiClusterProducer::aEta_
double aEta_[4]
Definition: PreshowerPhiClusterProducer.cc:92
ESHandle.h
PreshowerPhiClusterProducer::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: PreshowerPhiClusterProducer.cc:76
ESEEIntercalibConstants::getGammaLow2
float getGammaLow2() const
Definition: ESEEIntercalibConstants.h:39
reco::SuperCluster
Definition: SuperCluster.h:18
X
#define X(str)
Definition: MuonsGrabber.cc:38
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
deltaPhi.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
PreshowerPhiClusterProducer::set
void set(const edm::EventSetup &es)
Definition: PreshowerPhiClusterProducer.cc:347
EBDetId.h
EEDetId.h
PreshowerPhiClusterProducer::gamma2_
double gamma2_
Definition: PreshowerPhiClusterProducer.cc:86
PreshowerPhiClusterProducer::gamma3_
double gamma3_
Definition: PreshowerPhiClusterProducer.cc:87
ESMissingEnergyCalibration::getConstBEta0
float getConstBEta0() const
Definition: ESMissingEnergyCalibration.h:23
ESCondObjectContainer::find
const_iterator find(uint32_t rawId) const
Definition: ESCondObjectContainer.h:33
PreshowerCluster.h
reco::PreshowerCluster
Definition: PreshowerCluster.h:17
PreshowerPhiClusterProducer::mip_
double mip_
Definition: PreshowerPhiClusterProducer.cc:83
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
PreshowerPhiClusterProducer::esPhiClusterDeltaPhi_
float esPhiClusterDeltaPhi_
Definition: PreshowerPhiClusterProducer.cc:102
edm::PtrVectorItr
Definition: PtrVector.h:51
EDProducer.h
edm::SortedCollection< EcalRecHit >
ESEEIntercalibConstants::getGammaHigh1
float getGammaHigh1() const
Definition: ESEEIntercalibConstants.h:54
GetRecoTauVFromDQM_MC_cff.cl2
cl2
Definition: GetRecoTauVFromDQM_MC_cff.py:44
EDAnalyzer.h
ESDetId
Definition: ESDetId.h:15
ESGain.h
ESDetId.h
ESEEIntercalibConstants::getGammaLow1
float getGammaLow1() const
Definition: ESEEIntercalibConstants.h:34
PreshowerPhiClusterProducer::esEEInterCalibToken_
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcd > esEEInterCalibToken_
Definition: PreshowerPhiClusterProducer.cc:79
PreshowerPhiClusterAlgo.h
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
ESMissingEnergyCalibrationRcd.h
ESChannelStatusRcd.h
edm::Handle
Definition: AssociativeIterator.h:50
ESGainRcd.h
EcalRecHitCollections.h
PreshowerPhiClusterProducer::esMIPToGeVToken_
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > esMIPToGeVToken_
Definition: PreshowerPhiClusterProducer.cc:78
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PreshowerPhiClusterProducer::gamma1_
double gamma1_
Definition: PreshowerPhiClusterProducer.cc:85
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
DetId
Definition: DetId.h:17
MakerMacros.h
PreshowerPhiClusterProducer::esChannelStatusToken_
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcd > esChannelStatusToken_
Definition: PreshowerPhiClusterProducer.cc:81
PreshowerPhiClusterProducer::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: PreshowerPhiClusterProducer.cc:73
ESMissingEnergyCalibration::getConstAEta2
float getConstAEta2() const
Definition: ESMissingEnergyCalibration.h:31
ESEEIntercalibConstants::getAlphaHigh3
float getAlphaHigh3() const
Definition: ESEEIntercalibConstants.h:66
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
ESEEIntercalibConstants::getAlphaHigh0
float getAlphaHigh0() const
Definition: ESEEIntercalibConstants.h:51
edm::PtrVector< CaloCluster >
TruncatedPyramid.h
PreshowerPhiClusterProducer::esGainToken_
edm::ESGetToken< ESGain, ESGainRcd > esGainToken_
Definition: PreshowerPhiClusterProducer.cc:77
ESEEIntercalibConstants::getGammaHigh0
float getGammaHigh0() const
Definition: ESEEIntercalibConstants.h:49
edm::ESHandle< ESGain >
PreshowerPhiClusterProducer::produce
void produce(edm::Event &evt, const edm::EventSetup &es) override
Definition: PreshowerPhiClusterProducer.cc:147
ESMIPToGeVConstantRcd.h
ESCondObjectContainer::const_iterator
std::vector< Item >::const_iterator const_iterator
Definition: ESCondObjectContainer.h:17
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
EcalRecHit.h
EcalPreshowerGeometry.h
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
Point3DBase< float, GlobalTag >
reco::SuperCluster::setPreshowerEnergyPlane1
void setPreshowerEnergyPlane1(double preshowerEnergy1)
Definition: SuperCluster.h:71
PreshowerPhiClusterProducer::alpha3_
double alpha3_
Definition: PreshowerPhiClusterProducer.cc:91
CaloGeometryRecord.h
EcalSubdetector.h
edm::PtrVector::push_back
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:149
ESMissingEnergyCalibration.h
CaloSubdetectorGeometry.h
ESEEIntercalibConstants::getGammaHigh2
float getGammaHigh2() const
Definition: ESEEIntercalibConstants.h:59
ESMissingEnergyCalibration::getConstAEta0
float getConstAEta0() const
Definition: ESMissingEnergyCalibration.h:21
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
Event.h
PreshowerPhiClusterProducer
Definition: PreshowerPhiClusterProducer.cc:46
ESEEIntercalibConstants::getAlphaLow3
float getAlphaLow3() const
Definition: ESEEIntercalibConstants.h:46
HcalDetId.h
EgHLTOffHistBins_cfi.deltaE
deltaE
Definition: EgHLTOffHistBins_cfi.py:28
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
ESChannelStatus.h
ESEEIntercalibConstants::getAlphaLow0
float getAlphaLow0() const
Definition: ESEEIntercalibConstants.h:31
PreshowerPhiClusterProducer::esPhiClusterDeltaEta_
float esPhiClusterDeltaEta_
Definition: PreshowerPhiClusterProducer.cc:101
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
edm::stream::EDProducer
Definition: EDProducer.h:36
ESMissingEnergyCalibration::getConstBEta2
float getConstBEta2() const
Definition: ESMissingEnergyCalibration.h:33
PreshowerPhiClusterProducer::caloGeometryToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
Definition: PreshowerPhiClusterProducer.cc:82
ESMIPToGeVConstant
Definition: ESMIPToGeVConstant.h:7
edm::EventSetup
Definition: EventSetup.h:58
ESEEIntercalibConstantsRcd.h
ESMissingEnergyCalibration::getConstAEta1
float getConstAEta1() const
Definition: ESMissingEnergyCalibration.h:26
DetId::Ecal
Definition: DetId.h:27
ESEEIntercalibConstants.h
ESMissingEnergyCalibration::getConstBEta3
float getConstBEta3() const
Definition: ESMissingEnergyCalibration.h:38
ESEEIntercalibConstants::getGammaHigh3
float getGammaHigh3() const
Definition: ESEEIntercalibConstants.h:64
ESCondObjectContainer
Definition: ESCondObjectContainer.h:11
edm::ESGetToken< ESGain, ESGainRcd >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PreshowerPhiClusterProducer::esMissingECalibToken_
edm::ESGetToken< ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd > esMissingECalibToken_
Definition: PreshowerPhiClusterProducer.cc:80
PreshowerPhiClusterProducer::alpha2_
double alpha2_
Definition: PreshowerPhiClusterProducer.cc:90
PreshowerPhiClusterProducer::esEEInterCalib_
edm::ESHandle< ESEEIntercalibConstants > esEEInterCalib_
Definition: PreshowerPhiClusterProducer.cc:74
PreshowerPhiClusterProducer::assocSClusterCollection_
std::string assocSClusterCollection_
Definition: PreshowerPhiClusterProducer.cc:70
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
EcalPreshower
Definition: EcalSubdetector.h:10
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
CaloCellGeometry.h
PreshowerPhiClusterProducer::Point
math::XYZPoint Point
Definition: PreshowerPhiClusterProducer.cc:48
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
ESCondObjectContainer::getMap
const self & getMap() const
Definition: ESCondObjectContainer.h:41
PreshowerPhiClusterProducer::alpha0_
double alpha0_
Definition: PreshowerPhiClusterProducer.cc:88
PreshowerPhiClusterProducer::etThresh_
double etThresh_
Definition: PreshowerPhiClusterProducer.cc:95
SuperClusterFwd.h
SuperCluster.h
PreshowerPhiClusterProducer::esMissingECalib_
edm::ESHandle< ESMissingEnergyCalibration > esMissingECalib_
Definition: PreshowerPhiClusterProducer.cc:75
CaloGeometry.h
PreshowerPhiClusterAlgo
Definition: PreshowerPhiClusterAlgo.h:17
PreshowerPhiClusterProducer::preshClusterCollectionY_
std::string preshClusterCollectionY_
Definition: PreshowerPhiClusterProducer.cc:67
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
PreshowerPhiClusterProducer::bEta_
double bEta_[4]
Definition: PreshowerPhiClusterProducer.cc:93
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
ESMIPToGeVConstant.h
EventSetup.h
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Exception.h
BeamSpotPI::Y
Definition: BeamSpotPayloadInspectorHelper.h:32
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
PreshowerPhiClusterProducer::preshHitToken_
edm::EDGetTokenT< EcalRecHitCollection > preshHitToken_
Definition: PreshowerPhiClusterProducer.cc:61
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
PreshowerClusterFwd.h
ParameterSet.h
PreshowerPhiClusterProducer::PreshowerPhiClusterProducer
PreshowerPhiClusterProducer(const edm::ParameterSet &ps)
Definition: PreshowerPhiClusterProducer.cc:111
BeamSpotPI::Z
Definition: BeamSpotPayloadInspectorHelper.h:33
PreshowerPhiClusterProducer::presh_algo
PreshowerPhiClusterAlgo * presh_algo
Definition: PreshowerPhiClusterProducer.cc:97
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
edm::Event
Definition: Event.h:73
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
VBFGenJetFilter_cfi.minDeltaPhi
minDeltaPhi
Definition: VBFGenJetFilter_cfi.py:13
edm::InputTag
Definition: InputTag.h:15
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
PreshowerPhiClusterProducer::alpha1_
double alpha1_
Definition: PreshowerPhiClusterProducer.cc:89
PreshowerPhiClusterProducer::nEvt_
int nEvt_
Definition: PreshowerPhiClusterProducer.cc:58
PreshowerPhiClusterProducer::endcapSClusterToken_
edm::EDGetTokenT< reco::SuperClusterCollection > endcapSClusterToken_
Definition: PreshowerPhiClusterProducer.cc:63