CMS 3D CMS Logo

PreshowerPhiClusterProducer.cc
Go to the documentation of this file.
1 #include <vector>
2 #include <memory>
3 
30 #include <fstream>
31 
33 
34 using namespace edm;
35 using namespace std;
36 
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:
42  endcapSClusterToken_ =
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 }
70 
72 
76 
77  // get the ECAL geometry:
78  edm::ESHandle<CaloGeometry> geoHandle = es.getHandle(caloGeometryToken_);
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  }
159  maxDeltaPhi += esPhiClusterDeltaPhi_;
160  minDeltaPhi -= esPhiClusterDeltaPhi_;
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.
193  reco::PreshowerCluster cl1 = presh_algo->makeOneCluster(
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;
200  reco::PreshowerCluster cl2 = presh_algo->makeOneCluster(
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);
239  sc.setPreshowerEnergyPlane1(e1 * mip_);
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 }
272 
274  esgain_ = es.getHandle(esGainToken_);
275  const ESGain* gain = esgain_.product();
276 
277  double ESGain = gain->getESGain();
278 
279  esMIPToGeV_ = es.getHandle(esMIPToGeVToken_);
280  const ESMIPToGeVConstant* mipToGeV = esMIPToGeV_.product();
281 
282  mip_ = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
283 
284  esChannelStatus_ = es.getHandle(esChannelStatusToken_);
285 
286  esEEInterCalib_ = es.getHandle(esEEInterCalibToken_);
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 
305  esMissingECalib_ = es.getHandle(esMissingECalibToken_);
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 }
PreshowerPhiClusterProducer::~PreshowerPhiClusterProducer
~PreshowerPhiClusterProducer() override
Definition: PreshowerPhiClusterProducer.cc:71
EcalPreshowerTopology.h
ESGain
Definition: ESGain.h:7
Handle.h
ESMissingEnergyCalibration
Definition: ESMissingEnergyCalibration.h:7
ESMissingEnergyCalibration::getConstBEta1
float getConstBEta1() const
Definition: ESMissingEnergyCalibration.h:28
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
ESHandle.h
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
HLT enums.
Definition: AlignableModifier.h:19
PreshowerPhiClusterProducer::set
void set(const edm::EventSetup &es)
Definition: PreshowerPhiClusterProducer.cc:273
EBDetId.h
EEDetId.h
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 >
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
ESDetId.h
ESEEIntercalibConstants::getGammaLow1
float getGammaLow1() const
Definition: ESEEIntercalibConstants.h:34
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
edm::Handle
Definition: AssociativeIterator.h:50
EcalRecHitCollections.h
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition: SuperClusterFwd.h:9
DetId
Definition: DetId.h:17
MakerMacros.h
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 >
TruncatedPyramid.h
ESEEIntercalibConstants::getGammaHigh0
float getGammaHigh0() const
Definition: ESEEIntercalibConstants.h:49
edm::ESHandle< CaloGeometry >
PreshowerPhiClusterProducer::produce
void produce(edm::Event &evt, const edm::EventSetup &es) override
Definition: PreshowerPhiClusterProducer.cc:73
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
EcalPreshowerGeometry.h
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:531
Point3DBase< float, GlobalTag >
reco::SuperCluster::setPreshowerEnergyPlane1
void setPreshowerEnergyPlane1(double preshowerEnergy1)
Definition: SuperCluster.h:71
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalSubdetector.h
edm::PtrVector::push_back
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:149
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
Event.h
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
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
edm::EventSetup
Definition: EventSetup.h:57
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
EcalRecHit.h
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
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
SuperClusterFwd.h
Frameworkfwd.h
PreshowerPhiClusterProducer.h
SuperCluster.h
PreshowerPhiClusterAlgo
Definition: PreshowerPhiClusterAlgo.h:17
ESMissingEnergyCalibration::getConstAEta3
float getConstAEta3() const
Definition: ESMissingEnergyCalibration.h:36
CommPDSkim_cfg.maxDeltaPhi
maxDeltaPhi
Definition: CommPDSkim_cfg.py:74
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:31
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
PreshowerClusterFwd.h
ParameterSet.h
PreshowerPhiClusterProducer::PreshowerPhiClusterProducer
PreshowerPhiClusterProducer(const edm::ParameterSet &ps)
Definition: PreshowerPhiClusterProducer.cc:37
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
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