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 hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () 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::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 32 of file PreshowerClusterProducer.h.

Member Typedef Documentation

◆ Point

Definition at line 34 of file PreshowerClusterProducer.h.

Constructor & Destructor Documentation

◆ PreshowerClusterProducer()

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

Definition at line 41 of file PreshowerClusterProducer.cc.

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

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 260 of file PreshowerClusterProducer.cc.

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

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 82 of file PreshowerClusterProducer.h.

◆ alpha0_

double PreshowerClusterProducer::alpha0_
private

Definition at line 78 of file PreshowerClusterProducer.h.

◆ alpha1_

double PreshowerClusterProducer::alpha1_
private

Definition at line 79 of file PreshowerClusterProducer.h.

◆ alpha2_

double PreshowerClusterProducer::alpha2_
private

Definition at line 80 of file PreshowerClusterProducer.h.

◆ alpha3_

double PreshowerClusterProducer::alpha3_
private

Definition at line 81 of file PreshowerClusterProducer.h.

◆ assocSClusterCollection_

std::string PreshowerClusterProducer::assocSClusterCollection_
private

Definition at line 59 of file PreshowerClusterProducer.h.

◆ bEta_

double PreshowerClusterProducer::bEta_[4]
private

Definition at line 83 of file PreshowerClusterProducer.h.

◆ caloGeometryToken_

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

Definition at line 71 of file PreshowerClusterProducer.h.

◆ endcapSClusterToken_

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

Definition at line 48 of file PreshowerClusterProducer.h.

◆ esChannelStatus_

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

Definition at line 65 of file PreshowerClusterProducer.h.

◆ esChannelStatusToken_

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

Definition at line 70 of file PreshowerClusterProducer.h.

◆ esEEInterCalib_

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

Definition at line 63 of file PreshowerClusterProducer.h.

◆ esEEInterCalibToken_

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

Definition at line 68 of file PreshowerClusterProducer.h.

◆ esgain_

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

Definition at line 61 of file PreshowerClusterProducer.h.

◆ esGainToken_

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

Definition at line 66 of file PreshowerClusterProducer.h.

◆ esMIPToGeV_

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

Definition at line 62 of file PreshowerClusterProducer.h.

◆ esMIPToGeVToken_

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

Definition at line 67 of file PreshowerClusterProducer.h.

◆ esMissingECalib_

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

Definition at line 64 of file PreshowerClusterProducer.h.

◆ esMissingECalibToken_

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

Definition at line 69 of file PreshowerClusterProducer.h.

◆ etThresh_

double PreshowerClusterProducer::etThresh_
private

Definition at line 56 of file PreshowerClusterProducer.h.

◆ gamma0_

double PreshowerClusterProducer::gamma0_
private

Definition at line 74 of file PreshowerClusterProducer.h.

◆ gamma1_

double PreshowerClusterProducer::gamma1_
private

Definition at line 75 of file PreshowerClusterProducer.h.

◆ gamma2_

double PreshowerClusterProducer::gamma2_
private

Definition at line 76 of file PreshowerClusterProducer.h.

◆ gamma3_

double PreshowerClusterProducer::gamma3_
private

Definition at line 77 of file PreshowerClusterProducer.h.

◆ mip_

double PreshowerClusterProducer::mip_
private

Definition at line 73 of file PreshowerClusterProducer.h.

◆ nEvt_

int PreshowerClusterProducer::nEvt_
private

Definition at line 44 of file PreshowerClusterProducer.h.

◆ presh_algo

PreshowerClusterAlgo* PreshowerClusterProducer::presh_algo
private

Definition at line 85 of file PreshowerClusterProducer.h.

◆ preshClustECut

float PreshowerClusterProducer::preshClustECut
private

Definition at line 55 of file PreshowerClusterProducer.h.

◆ preshClusterCollectionX_

std::string PreshowerClusterProducer::preshClusterCollectionX_
private

Definition at line 51 of file PreshowerClusterProducer.h.

◆ preshClusterCollectionY_

std::string PreshowerClusterProducer::preshClusterCollectionY_
private

Definition at line 52 of file PreshowerClusterProducer.h.

◆ preshHitsToken_

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

Definition at line 47 of file PreshowerClusterProducer.h.

◆ preshNclust_

int PreshowerClusterProducer::preshNclust_
private

Definition at line 54 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:80
PreshowerClusterProducer::esGainToken_
edm::ESGetToken< ESGain, ESGainRcd > esGainToken_
Definition: PreshowerClusterProducer.h:66
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.h:48
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.h:55
PreshowerClusterProducer::preshClusterCollectionX_
std::string preshClusterCollectionX_
Definition: PreshowerClusterProducer.h:51
PreshowerClusterProducer::esEEInterCalib_
edm::ESHandle< ESEEIntercalibConstants > esEEInterCalib_
Definition: PreshowerClusterProducer.h:63
PreshowerClusterProducer::etThresh_
double etThresh_
Definition: PreshowerClusterProducer.h:56
PreshowerClusterProducer::nEvt_
int nEvt_
Definition: PreshowerClusterProducer.h:44
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:83
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
edm::Handle
Definition: AssociativeIterator.h:50
PreshowerClusterProducer::mip_
double mip_
Definition: PreshowerClusterProducer.h:73
PreshowerClusterProducer::alpha3_
double alpha3_
Definition: PreshowerClusterProducer.h:81
PreshowerClusterProducer::esMissingECalibToken_
edm::ESGetToken< ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd > esMissingECalibToken_
Definition: PreshowerClusterProducer.h:69
PreshowerClusterProducer::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: PreshowerClusterProducer.h:65
PreshowerClusterProducer::gamma3_
double gamma3_
Definition: PreshowerClusterProducer.h:77
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PreshowerClusterProducer::esgain_
edm::ESHandle< ESGain > esgain_
Definition: PreshowerClusterProducer.h:61
PreshowerClusterProducer::caloGeometryToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
Definition: PreshowerClusterProducer.h:71
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.h:70
edm::PtrVector< CaloCluster >
PreshowerClusterProducer::esMIPToGeVToken_
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > esMIPToGeVToken_
Definition: PreshowerClusterProducer.h:67
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:85
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:531
Point3DBase< float, GlobalTag >
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PreshowerClusterProducer::preshNclust_
int preshNclust_
Definition: PreshowerClusterProducer.h:54
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:260
ESEEIntercalibConstants::getGammaHigh2
float getGammaHigh2() const
Definition: ESEEIntercalibConstants.h:59
ESMissingEnergyCalibration::getConstAEta0
float getConstAEta0() const
Definition: ESMissingEnergyCalibration.h:21
PreshowerClusterProducer::alpha1_
double alpha1_
Definition: PreshowerClusterProducer.h:79
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:82
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:148
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:64
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
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
PreshowerClusterProducer::assocSClusterCollection_
std::string assocSClusterCollection_
Definition: PreshowerClusterProducer.h:59
EcalPreshower
Definition: EcalSubdetector.h:10
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
PreshowerClusterProducer::gamma2_
double gamma2_
Definition: PreshowerClusterProducer.h:76
PreshowerClusterProducer::preshClusterCollectionY_
std::string preshClusterCollectionY_
Definition: PreshowerClusterProducer.h:52
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.h:74
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
PreshowerClusterProducer::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: PreshowerClusterProducer.h:62
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
BeamSpotPI::Y
Definition: BeamSpotPayloadInspectorHelper.h:31
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
PreshowerClusterProducer::preshHitsToken_
edm::EDGetTokenT< EcalRecHitCollection > preshHitsToken_
Definition: PreshowerClusterProducer.h:47
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
BeamSpotPI::Z
Definition: BeamSpotPayloadInspectorHelper.h:32
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.h:68
PreshowerClusterProducer::gamma1_
double gamma1_
Definition: PreshowerClusterProducer.h:75
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:78