CMS 3D CMS Logo

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

#include <PreshowerPhiClusterProducer.h>

Inheritance diagram for PreshowerPhiClusterProducer:
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

 PreshowerPhiClusterProducer (const edm::ParameterSet &ps)
 
void produce (edm::Event &evt, const edm::EventSetup &es) override
 
void set (const edm::EventSetup &es)
 
 ~PreshowerPhiClusterProducer () 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_
 
float esPhiClusterDeltaEta_
 
float esPhiClusterDeltaPhi_
 
double etThresh_
 
double gamma0_
 
double gamma1_
 
double gamma2_
 
double gamma3_
 
double mip_
 
int nEvt_
 
PreshowerPhiClusterAlgopresh_algo
 
std::string preshClusterCollectionX_
 
std::string preshClusterCollectionY_
 
edm::EDGetTokenT< EcalRecHitCollectionpreshHitToken_
 

Detailed Description

Definition at line 30 of file PreshowerPhiClusterProducer.h.

Member Typedef Documentation

◆ Point

Definition at line 32 of file PreshowerPhiClusterProducer.h.

Constructor & Destructor Documentation

◆ PreshowerPhiClusterProducer()

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

Definition at line 37 of file PreshowerPhiClusterProducer.cc.

37  {
38  // use configuration file to setup input/output collection names
39  preshHitToken_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("preshRecHitProducer"));
40 
41  // Name of a SuperClusterCollection to make associations:
43  consumes<reco::SuperClusterCollection>(ps.getParameter<edm::InputTag>("endcapSClusterProducer"));
44 
45  esGainToken_ = esConsumes<ESGain, ESGainRcd>();
46  esMIPToGeVToken_ = esConsumes<ESMIPToGeVConstant, ESMIPToGeVConstantRcd>();
47  esEEInterCalibToken_ = esConsumes<ESEEIntercalibConstants, ESEEIntercalibConstantsRcd>();
48  esMissingECalibToken_ = esConsumes<ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd>();
49  esChannelStatusToken_ = esConsumes<ESChannelStatus, ESChannelStatusRcd>();
50  caloGeometryToken_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
51 
52  // Output collections:
53  preshClusterCollectionX_ = ps.getParameter<std::string>("preshClusterCollectionX");
54  preshClusterCollectionY_ = ps.getParameter<std::string>("preshClusterCollectionY");
55 
56  assocSClusterCollection_ = ps.getParameter<std::string>("assocSClusterCollection");
57 
58  produces<reco::PreshowerClusterCollection>(preshClusterCollectionX_);
59  produces<reco::PreshowerClusterCollection>(preshClusterCollectionY_);
60  produces<reco::SuperClusterCollection>(assocSClusterCollection_);
61 
62  float esStripECut = ps.getParameter<double>("esStripEnergyCut");
63  esPhiClusterDeltaEta_ = ps.getParameter<double>("esPhiClusterDeltaEta");
64  esPhiClusterDeltaPhi_ = ps.getParameter<double>("esPhiClusterDeltaPhi");
65 
66  etThresh_ = ps.getParameter<double>("etThresh");
67 
68  presh_algo = new PreshowerPhiClusterAlgo(esStripECut);
69 }

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

◆ ~PreshowerPhiClusterProducer()

PreshowerPhiClusterProducer::~PreshowerPhiClusterProducer ( )
override

Definition at line 71 of file PreshowerPhiClusterProducer.cc.

71 { delete presh_algo; }

Member Function Documentation

◆ produce()

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

Definition at line 73 of file PreshowerPhiClusterProducer.cc.

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

References GetRecoTauVFromDQM_MC_cff::cl2, EgHLTOffHistBins_cfi::deltaE, reco::deltaPhi(), 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(), LogTrace, CommPDSkim_cfg::maxDeltaPhi, VBFGenJetFilter_cfi::minDeltaPhi, eostools::move(), point, edm::Handle< T >::product(), edm::PtrVector< T >::push_back(), edm::Event::put(), HI_PhotonSkim_cff::rechits, reco::PreshowerCluster::setBCRef(), reco::SuperCluster::setPreshowerEnergyPlane1(), funct::sin(), X, BeamSpotPI::Y, and BeamSpotPI::Z.

◆ set()

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

Definition at line 273 of file PreshowerPhiClusterProducer.cc.

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

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 PreshowerPhiClusterProducer::aEta_[4]
private

Definition at line 76 of file PreshowerPhiClusterProducer.h.

◆ alpha0_

double PreshowerPhiClusterProducer::alpha0_
private

Definition at line 72 of file PreshowerPhiClusterProducer.h.

◆ alpha1_

double PreshowerPhiClusterProducer::alpha1_
private

Definition at line 73 of file PreshowerPhiClusterProducer.h.

◆ alpha2_

double PreshowerPhiClusterProducer::alpha2_
private

Definition at line 74 of file PreshowerPhiClusterProducer.h.

◆ alpha3_

double PreshowerPhiClusterProducer::alpha3_
private

Definition at line 75 of file PreshowerPhiClusterProducer.h.

◆ assocSClusterCollection_

std::string PreshowerPhiClusterProducer::assocSClusterCollection_
private

Definition at line 54 of file PreshowerPhiClusterProducer.h.

◆ bEta_

double PreshowerPhiClusterProducer::bEta_[4]
private

Definition at line 77 of file PreshowerPhiClusterProducer.h.

◆ caloGeometryToken_

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

Definition at line 66 of file PreshowerPhiClusterProducer.h.

◆ endcapSClusterToken_

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

Definition at line 47 of file PreshowerPhiClusterProducer.h.

◆ esChannelStatus_

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

Definition at line 60 of file PreshowerPhiClusterProducer.h.

◆ esChannelStatusToken_

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

Definition at line 65 of file PreshowerPhiClusterProducer.h.

◆ esEEInterCalib_

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

Definition at line 58 of file PreshowerPhiClusterProducer.h.

◆ esEEInterCalibToken_

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

Definition at line 63 of file PreshowerPhiClusterProducer.h.

◆ esgain_

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

Definition at line 56 of file PreshowerPhiClusterProducer.h.

◆ esGainToken_

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

Definition at line 61 of file PreshowerPhiClusterProducer.h.

◆ esMIPToGeV_

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

Definition at line 57 of file PreshowerPhiClusterProducer.h.

◆ esMIPToGeVToken_

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

Definition at line 62 of file PreshowerPhiClusterProducer.h.

◆ esMissingECalib_

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

Definition at line 59 of file PreshowerPhiClusterProducer.h.

◆ esMissingECalibToken_

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

Definition at line 64 of file PreshowerPhiClusterProducer.h.

◆ esPhiClusterDeltaEta_

float PreshowerPhiClusterProducer::esPhiClusterDeltaEta_
private

Definition at line 85 of file PreshowerPhiClusterProducer.h.

◆ esPhiClusterDeltaPhi_

float PreshowerPhiClusterProducer::esPhiClusterDeltaPhi_
private

Definition at line 86 of file PreshowerPhiClusterProducer.h.

◆ etThresh_

double PreshowerPhiClusterProducer::etThresh_
private

Definition at line 79 of file PreshowerPhiClusterProducer.h.

◆ gamma0_

double PreshowerPhiClusterProducer::gamma0_
private

Definition at line 68 of file PreshowerPhiClusterProducer.h.

◆ gamma1_

double PreshowerPhiClusterProducer::gamma1_
private

Definition at line 69 of file PreshowerPhiClusterProducer.h.

◆ gamma2_

double PreshowerPhiClusterProducer::gamma2_
private

Definition at line 70 of file PreshowerPhiClusterProducer.h.

◆ gamma3_

double PreshowerPhiClusterProducer::gamma3_
private

Definition at line 71 of file PreshowerPhiClusterProducer.h.

◆ mip_

double PreshowerPhiClusterProducer::mip_
private

Definition at line 67 of file PreshowerPhiClusterProducer.h.

◆ nEvt_

int PreshowerPhiClusterProducer::nEvt_
private

Definition at line 42 of file PreshowerPhiClusterProducer.h.

◆ presh_algo

PreshowerPhiClusterAlgo* PreshowerPhiClusterProducer::presh_algo
private

Definition at line 81 of file PreshowerPhiClusterProducer.h.

◆ preshClusterCollectionX_

std::string PreshowerPhiClusterProducer::preshClusterCollectionX_
private

Definition at line 50 of file PreshowerPhiClusterProducer.h.

◆ preshClusterCollectionY_

std::string PreshowerPhiClusterProducer::preshClusterCollectionY_
private

Definition at line 51 of file PreshowerPhiClusterProducer.h.

◆ preshHitToken_

edm::EDGetTokenT<EcalRecHitCollection> PreshowerPhiClusterProducer::preshHitToken_
private

Definition at line 45 of file PreshowerPhiClusterProducer.h.

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
ESGain
Definition: ESGain.h:7
ESMissingEnergyCalibration
Definition: ESMissingEnergyCalibration.h:7
ESMissingEnergyCalibration::getConstBEta1
float getConstBEta1() const
Definition: ESMissingEnergyCalibration.h:28
PreshowerPhiClusterProducer::esgain_
edm::ESHandle< ESGain > esgain_
Definition: PreshowerPhiClusterProducer.h:56
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
PreshowerPhiClusterProducer::gamma0_
double gamma0_
Definition: PreshowerPhiClusterProducer.h:68
edm::Handle::product
T const * product() const
Definition: Handle.h:70
PreshowerPhiClusterProducer::preshClusterCollectionX_
std::string preshClusterCollectionX_
Definition: PreshowerPhiClusterProducer.h:50
PreshowerPhiClusterProducer::aEta_
double aEta_[4]
Definition: PreshowerPhiClusterProducer.h:76
PreshowerPhiClusterProducer::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: PreshowerPhiClusterProducer.h:60
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
PreshowerPhiClusterProducer::set
void set(const edm::EventSetup &es)
Definition: PreshowerPhiClusterProducer.cc:273
PreshowerPhiClusterProducer::gamma2_
double gamma2_
Definition: PreshowerPhiClusterProducer.h:70
PreshowerPhiClusterProducer::gamma3_
double gamma3_
Definition: PreshowerPhiClusterProducer.h:71
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
PreshowerPhiClusterProducer::mip_
double mip_
Definition: PreshowerPhiClusterProducer.h:67
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.h:86
edm::PtrVectorItr
Definition: PtrVector.h:51
edm::SortedCollection< EcalRecHit >
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
PreshowerPhiClusterProducer::esEEInterCalibToken_
edm::ESGetToken< ESEEIntercalibConstants, ESEEIntercalibConstantsRcd > esEEInterCalibToken_
Definition: PreshowerPhiClusterProducer.h:63
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
edm::Handle
Definition: AssociativeIterator.h:50
PreshowerPhiClusterProducer::esMIPToGeVToken_
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > esMIPToGeVToken_
Definition: PreshowerPhiClusterProducer.h:62
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PreshowerPhiClusterProducer::gamma1_
double gamma1_
Definition: PreshowerPhiClusterProducer.h:69
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
PreshowerPhiClusterAlgo::makeOneCluster
reco::PreshowerCluster makeOneCluster(ESDetId strip, HitsID *used_strips, RecHitsMap *rechits_map, const CaloSubdetectorGeometry *geometry_p, double deltaEta, double minDeltaPhi, double maxDeltaPhi)
Definition: PreshowerPhiClusterAlgo.cc:15
DetId
Definition: DetId.h:17
PreshowerPhiClusterProducer::esChannelStatusToken_
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcd > esChannelStatusToken_
Definition: PreshowerPhiClusterProducer.h:65
PreshowerPhiClusterProducer::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: PreshowerPhiClusterProducer.h:57
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
edm::PtrVector< CaloCluster >
PreshowerPhiClusterProducer::esGainToken_
edm::ESGetToken< ESGain, ESGainRcd > esGainToken_
Definition: PreshowerPhiClusterProducer.h:61
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
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:535
Point3DBase< float, GlobalTag >
reco::SuperCluster::setPreshowerEnergyPlane1
void setPreshowerEnergyPlane1(double preshowerEnergy1)
Definition: SuperCluster.h:71
PreshowerPhiClusterProducer::alpha3_
double alpha3_
Definition: PreshowerPhiClusterProducer.h:75
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::PtrVector::push_back
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:149
ESEEIntercalibConstants::getGammaHigh2
float getGammaHigh2() const
Definition: ESEEIntercalibConstants.h:59
ESMissingEnergyCalibration::getConstAEta0
float getConstAEta0() const
Definition: ESMissingEnergyCalibration.h:21
ESEEIntercalibConstants::getAlphaLow3
float getAlphaLow3() const
Definition: ESEEIntercalibConstants.h:46
EgHLTOffHistBins_cfi.deltaE
deltaE
Definition: EgHLTOffHistBins_cfi.py:28
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
ESEEIntercalibConstants::getAlphaLow0
float getAlphaLow0() const
Definition: ESEEIntercalibConstants.h:31
PreshowerPhiClusterProducer::esPhiClusterDeltaEta_
float esPhiClusterDeltaEta_
Definition: PreshowerPhiClusterProducer.h:85
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
PreshowerPhiClusterProducer::caloGeometryToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
Definition: PreshowerPhiClusterProducer.h:66
ESMIPToGeVConstant
Definition: ESMIPToGeVConstant.h:7
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
PreshowerPhiClusterProducer::esMissingECalibToken_
edm::ESGetToken< ESMissingEnergyCalibration, ESMissingEnergyCalibrationRcd > esMissingECalibToken_
Definition: PreshowerPhiClusterProducer.h:64
PreshowerPhiClusterProducer::alpha2_
double alpha2_
Definition: PreshowerPhiClusterProducer.h:74
PreshowerPhiClusterProducer::esEEInterCalib_
edm::ESHandle< ESEEIntercalibConstants > esEEInterCalib_
Definition: PreshowerPhiClusterProducer.h:58
PreshowerPhiClusterProducer::assocSClusterCollection_
std::string assocSClusterCollection_
Definition: PreshowerPhiClusterProducer.h:54
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
EcalPreshower
Definition: EcalSubdetector.h:10
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
eostools.move
def move(src, dest)
Definition: eostools.py:511
ESCondObjectContainer::getMap
const self & getMap() const
Definition: ESCondObjectContainer.h:41
PreshowerPhiClusterProducer::alpha0_
double alpha0_
Definition: PreshowerPhiClusterProducer.h:72
PreshowerPhiClusterProducer::etThresh_
double etThresh_
Definition: PreshowerPhiClusterProducer.h:79
PreshowerPhiClusterProducer::esMissingECalib_
edm::ESHandle< ESMissingEnergyCalibration > esMissingECalib_
Definition: PreshowerPhiClusterProducer.h:59
PreshowerPhiClusterAlgo
Definition: PreshowerPhiClusterAlgo.h:17
PreshowerPhiClusterProducer::preshClusterCollectionY_
std::string preshClusterCollectionY_
Definition: PreshowerPhiClusterProducer.h:51
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
PreshowerPhiClusterProducer::bEta_
double bEta_[4]
Definition: PreshowerPhiClusterProducer.h:77
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
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
PreshowerPhiClusterProducer::preshHitToken_
edm::EDGetTokenT< EcalRecHitCollection > preshHitToken_
Definition: PreshowerPhiClusterProducer.h:45
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
BeamSpotPI::Z
Definition: BeamSpotPayloadInspectorHelper.h:33
PreshowerPhiClusterProducer::presh_algo
PreshowerPhiClusterAlgo * presh_algo
Definition: PreshowerPhiClusterProducer.h:81
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
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.h:73
PreshowerPhiClusterProducer::endcapSClusterToken_
edm::EDGetTokenT< reco::SuperClusterCollection > endcapSClusterToken_
Definition: PreshowerPhiClusterProducer.h:47