CMS 3D CMS Logo

PreshowerPhiClusterProducer.cc
Go to the documentation of this file.
1 #include <vector>
2 #include <memory>
3 
37 #include <fstream>
38 
40 
41 using namespace edm;
42 using namespace std;
43 
45  // use configuration file to setup input/output collection names
46  preshHitToken_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("preshRecHitProducer"));
47 
48  // Name of a SuperClusterCollection to make associations:
49  endcapSClusterToken_ =
50  consumes<reco::SuperClusterCollection>(ps.getParameter<edm::InputTag>("endcapSClusterProducer"));
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:
79  es.get<CaloGeometryRecord>().get(geoHandle);
80 
81  // retrieve ES-EE intercalibration constants and channel status
82  set(es);
83  const ESChannelStatus* channelStatus = esChannelStatus_.product();
84 
86 
87  // create unique_ptr to a PreshowerClusterCollection
88  auto clusters_p1 = std::make_unique<reco::PreshowerClusterCollection>();
89  auto clusters_p2 = std::make_unique<reco::PreshowerClusterCollection>();
90  // create new collection of corrected super clusters
91  auto superclusters_p = std::make_unique<reco::SuperClusterCollection>();
92 
93  // fetch the product (pSuperClusters)
94  evt.getByToken(endcapSClusterToken_, pSuperClusters);
95  const reco::SuperClusterCollection* SClusts = pSuperClusters.product();
96 
97  // fetch the product (RecHits)
98  evt.getByToken(preshHitToken_, pRecHits);
99  // pointer to the object in the product
100  const EcalRecHitCollection* rechits = pRecHits.product(); // EcalRecHitCollection hit_collection = *rhcHandle;
101 
102  LogTrace("EcalClusters") << "PreshowerPhiClusterProducerInfo: ### Total # of preshower RecHits: " << rechits->size();
103 
104  // make the map of rechits:
105  std::map<DetId, EcalRecHit> rechits_map;
107  for (it = rechits->begin(); it != rechits->end(); it++) {
108  // remove bad ES rechits
109  if (it->recoFlag() == 1 || it->recoFlag() == 14 || (it->recoFlag() <= 10 && it->recoFlag() >= 5))
110  continue;
111  //Make the map of DetID, EcalRecHit pairs
112  rechits_map.insert(std::make_pair(it->id(), *it));
113  }
114  // The set of used DetID's for a given event:
115  std::set<DetId> used_strips;
116  used_strips.clear();
117  LogTrace("EcalClusters") << "PreshowerPhiClusterProducerInfo: ### rechits_map of size " << rechits_map.size()
118  << " was created!";
119 
120  reco::PreshowerClusterCollection clusters1, clusters2; // output collection of corrected PCs
121  reco::SuperClusterCollection new_SC; // output collection of corrected SCs
122 
123  //make cycle over super clusters
124  reco::SuperClusterCollection::const_iterator it_super;
125  int isc = 0;
126  for (it_super = SClusts->begin(); it_super != SClusts->end(); ++it_super) {
127  float e1 = 0;
128  float e2 = 0;
129  float deltaE = 0;
130 
132  ++isc;
133  LogTrace("EcalClusters") << " superE = " << it_super->energy() << " superETA = " << it_super->eta()
134  << " superPHI = " << it_super->phi();
135 
136  //cout<<"=== new SC ==="<<endl;
137  //cout<<"superE = "<<it_super->energy()<<" superETA = "<<it_super->eta()<<" superPHI = "<<it_super->phi()<<endl;
138 
139  int nBC = 0;
140  int condP1 = 1; // 0: dead channel; 1: active channel
141  int condP2 = 1;
142  float maxDeltaPhi = 0;
143  float minDeltaPhi = 0;
144  float refPhi = 0;
145 
146  reco::CaloCluster_iterator bc_iter = it_super->clustersBegin();
147  for (; bc_iter != it_super->clustersEnd(); ++bc_iter) {
148  if (nBC == 0) {
149  refPhi = (*bc_iter)->phi();
150  } else {
151  if (reco::deltaPhi((*bc_iter)->phi(), refPhi) > 0 && reco::deltaPhi((*bc_iter)->phi(), refPhi) > maxDeltaPhi)
152  maxDeltaPhi = reco::deltaPhi((*bc_iter)->phi(), refPhi);
153  if (reco::deltaPhi((*bc_iter)->phi(), refPhi) < 0 && reco::deltaPhi((*bc_iter)->phi(), refPhi) < minDeltaPhi)
154  minDeltaPhi = reco::deltaPhi((*bc_iter)->phi(), refPhi);
155  //cout<<"delta phi : "<<reco::deltaPhi((*bc_iter)->phi(), refPhi)<<endl;
156  }
157  //cout<<"BC : "<<nBC<<" "<<(*bc_iter)->energy()<<" "<<(*bc_iter)->eta()<<" "<<(*bc_iter)->phi()<<endl;
158  nBC++;
159  }
160  maxDeltaPhi += esPhiClusterDeltaPhi_;
161  minDeltaPhi -= esPhiClusterDeltaPhi_;
162 
163  nBC = 0;
164  for (bc_iter = it_super->clustersBegin(); bc_iter != it_super->clustersEnd(); ++bc_iter) {
165  if (geometry_p) {
166  // Get strip position at intersection point of the line EE - Vertex:
167  double X = (*bc_iter)->x();
168  double Y = (*bc_iter)->y();
169  double Z = (*bc_iter)->z();
170  const GlobalPoint point(X, Y, Z);
171 
172  DetId tmp1 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 1);
173  DetId tmp2 = (dynamic_cast<const EcalPreshowerGeometry*>(geometry_p))->getClosestCellInPlane(point, 2);
174  ESDetId strip1 = (tmp1 == DetId(0)) ? ESDetId(0) : ESDetId(tmp1);
175  ESDetId strip2 = (tmp2 == DetId(0)) ? ESDetId(0) : ESDetId(tmp2);
176 
177  if (nBC == 0) {
178  if (strip1 != ESDetId(0) && strip2 != ESDetId(0)) {
179  ESChannelStatusMap::const_iterator status_p1 = channelStatus->getMap().find(strip1);
180  ESChannelStatusMap::const_iterator status_p2 = channelStatus->getMap().find(strip2);
181  if (status_p1->getStatusCode() == 1)
182  condP1 = 0;
183  if (status_p2->getStatusCode() == 1)
184  condP2 = 0;
185  } else if (strip1 == ESDetId(0)) {
186  condP1 = 0;
187  } else if (strip2 == ESDetId(0)) {
188  condP2 = 0;
189  }
190 
191  //cout<<"starting cluster : "<<maxDeltaPhi<<" "<<minDeltaPhi<<" "<<esPhiClusterDeltaEta_<<endl;
192  //cout<<"do plane 1 === "<<strip1.zside()<<" "<<strip1.plane()<<" "<<strip1.six()<<" "<<strip1.siy()<<" "<<strip1.strip()<<endl;
193  // Get a vector of ES clusters (found by the PreshSeeded algorithm) associated with a given EE basic cluster.
194  reco::PreshowerCluster cl1 = presh_algo->makeOneCluster(
195  strip1, &used_strips, &rechits_map, geometry_p, esPhiClusterDeltaEta_, minDeltaPhi, maxDeltaPhi);
196  cl1.setBCRef(*bc_iter);
197  clusters1.push_back(cl1);
198  e1 += cl1.energy();
199 
200  //cout<<"do plane 2 === "<<strip2.zside()<<" "<<strip2.plane()<<" "<<strip2.six()<<" "<<strip2.siy()<<" "<<strip2.strip()<<endl;
201  reco::PreshowerCluster cl2 = presh_algo->makeOneCluster(
202  strip2, &used_strips, &rechits_map, geometry_p, esPhiClusterDeltaEta_, minDeltaPhi, maxDeltaPhi);
203  cl2.setBCRef(*bc_iter);
204  clusters2.push_back(cl2);
205  e2 += cl2.energy();
206  }
207  }
208 
209  new_BC.push_back(*bc_iter);
210  nBC++;
211  } // end of cycle over BCs
212 
213  LogTrace("EcalClusters") << " For SC #" << isc - 1 << ", containing " << it_super->clustersSize()
214  << " basic clusters, PreshowerPhiClusterAlgo made " << clusters1.size()
215  << " in X plane and " << clusters2.size() << " in Y plane "
216  << " preshower clusters ";
217 
218  // update energy of the SuperCluster
219  if (e1 + e2 > 1.0e-10) {
220  e1 = e1 / mip_; // GeV to #MIPs
221  e2 = e2 / mip_;
222 
223  if (condP1 == 1 && condP2 == 1) {
224  deltaE = gamma0_ * (e1 + alpha0_ * e2);
225  } else if (condP1 == 1 && condP2 == 0) {
226  deltaE = gamma1_ * (e1 + alpha1_ * e2);
227  } else if (condP1 == 0 && condP2 == 1) {
228  deltaE = gamma2_ * (e1 + alpha2_ * e2);
229  } else if (condP1 == 0 && condP2 == 0) {
230  deltaE = gamma3_ * (e1 + alpha3_ * e2);
231  }
232  }
233 
234  //corrected Energy
235  float E = it_super->energy() + deltaE;
236 
237  LogTrace("EcalClusters") << " Creating corrected SC ";
238 
239  reco::SuperCluster sc(E, it_super->position(), it_super->seed(), new_BC, deltaE);
240  sc.setPreshowerEnergyPlane1(e1 * mip_);
241  sc.setPreshowerEnergyPlane2(e2 * mip_);
242  if (condP1 == 1 && condP2 == 1)
243  sc.setPreshowerPlanesStatus(0);
244  else if (condP1 == 1 && condP2 == 0)
245  sc.setPreshowerPlanesStatus(1);
246  else if (condP1 == 0 && condP2 == 1)
247  sc.setPreshowerPlanesStatus(2);
248  else if (condP1 == 0 && condP2 == 0)
249  sc.setPreshowerPlanesStatus(3);
250 
251  if (etThresh_ > 0) { // calling postion().theta can be expensive
252  if (sc.energy() * sin(sc.position().theta()) > etThresh_)
253  new_SC.push_back(sc);
254  } else {
255  new_SC.push_back(sc);
256  }
257 
258  } // end of cycle over SCs
259 
260  // copy the preshower clusters into collections and put in the Event:
261  clusters_p1->assign(clusters1.begin(), clusters1.end());
262  clusters_p2->assign(clusters2.begin(), clusters2.end());
263  // put collection of preshower clusters to the event
264  evt.put(std::move(clusters_p1), preshClusterCollectionX_);
265  evt.put(std::move(clusters_p2), preshClusterCollectionY_);
266  LogTrace("EcalClusters") << "Preshower clusters added to the event";
267 
268  // put collection of corrected super clusters to the event
269  superclusters_p->assign(new_SC.begin(), new_SC.end());
270  evt.put(std::move(superclusters_p), assocSClusterCollection_);
271  LogTrace("EcalClusters") << "Corrected SClusters added to the event";
272 }
273 
275  es.get<ESGainRcd>().get(esgain_);
276  const ESGain* gain = esgain_.product();
277 
278  double ESGain = gain->getESGain();
279 
280  es.get<ESMIPToGeVConstantRcd>().get(esMIPToGeV_);
281  const ESMIPToGeVConstant* mipToGeV = esMIPToGeV_.product();
282 
283  mip_ = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
284 
285  es.get<ESChannelStatusRcd>().get(esChannelStatus_);
286 
287  es.get<ESEEIntercalibConstantsRcd>().get(esEEInterCalib_);
288  const ESEEIntercalibConstants* esEEInterCalib = esEEInterCalib_.product();
289 
290  // both planes work
291  gamma0_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh0();
292  alpha0_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow0() : esEEInterCalib->getAlphaHigh0();
293 
294  // only first plane works
295  gamma1_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow1()) : esEEInterCalib->getGammaHigh1();
296  alpha1_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow1() : esEEInterCalib->getAlphaHigh1();
297 
298  // only second plane works
299  gamma2_ = (ESGain == 1) ? (0.02 * esEEInterCalib->getGammaLow2()) : esEEInterCalib->getGammaHigh2();
300  alpha2_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow2() : esEEInterCalib->getAlphaHigh2();
301 
302  // both planes do not work
303  gamma3_ = (ESGain == 1) ? 0.02 : esEEInterCalib->getGammaHigh3();
304  alpha3_ = (ESGain == 1) ? esEEInterCalib->getAlphaLow3() : esEEInterCalib->getAlphaHigh3();
305 
306  es.get<ESMissingEnergyCalibrationRcd>().get(esMissingECalib_);
307  const ESMissingEnergyCalibration* esMissingECalib = esMissingECalib_.product();
308 
309  // |eta| < 1.9
310  aEta_[0] = esMissingECalib->getConstAEta0();
311  bEta_[0] = esMissingECalib->getConstBEta0();
312 
313  // 1.9 < |eta| < 2.1
314  aEta_[1] = esMissingECalib->getConstAEta1();
315  bEta_[1] = esMissingECalib->getConstBEta1();
316 
317  // 2.1 < |eta| < 2.3
318  aEta_[2] = esMissingECalib->getConstAEta2();
319  bEta_[2] = esMissingECalib->getConstBEta2();
320 
321  // 2.3 < |eta| < 2.5
322  aEta_[3] = esMissingECalib->getConstAEta3();
323  bEta_[3] = esMissingECalib->getConstBEta3();
324 }
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
ESGainRcd
Definition: ESGainRcd.h:5
ESEEIntercalibConstants::getGammaLow2
float getGammaLow2() const
Definition: ESEEIntercalibConstants.h:39
reco::SuperCluster
Definition: SuperCluster.h:18
ESChannelStatusRcd
Definition: ESChannelStatusRcd.h:5
X
#define X(str)
Definition: MuonsGrabber.cc:38
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
edm
HLT enums.
Definition: AlignableModifier.h:19
ESMIPToGeVConstantRcd
Definition: ESMIPToGeVConstantRcd.h:5
PreshowerPhiClusterProducer::set
void set(const edm::EventSetup &es)
Definition: PreshowerPhiClusterProducer.cc:274
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
ESMissingEnergyCalibrationRcd.h
ESChannelStatusRcd.h
edm::Handle
Definition: AssociativeIterator.h:50
ESGainRcd.h
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
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
ESEEIntercalibConstants::getAlphaHigh0
float getAlphaHigh0() const
Definition: ESEEIntercalibConstants.h:51
ESEEIntercalibConstantsRcd
Definition: ESEEIntercalibConstantsRcd.h:5
edm::PtrVector< CaloCluster >
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
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
EcalPreshowerGeometry.h
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
Point3DBase< float, GlobalTag >
reco::SuperCluster::setPreshowerEnergyPlane1
void setPreshowerEnergyPlane1(double preshowerEnergy1)
Definition: SuperCluster.h:71
CaloGeometryRecord.h
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:36
ESMissingEnergyCalibrationRcd
Definition: ESMissingEnergyCalibrationRcd.h:5
Event.h
ESEEIntercalibConstants::getAlphaLow3
float getAlphaLow3() const
Definition: ESEEIntercalibConstants.h:46
HcalDetId.h
EgHLTOffHistBins_cfi.deltaE
deltaE
Definition: EgHLTOffHistBins_cfi.py:28
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:669
TrackInfoProducer_cfi.rechits
rechits
Definition: TrackInfoProducer_cfi.py:9
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
ESEEIntercalibConstants::getAlphaLow0
float getAlphaLow0() const
Definition: ESEEIntercalibConstants.h:31
DOFs::Z
Definition: AlignPCLThresholdsWriter.cc:37
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:132
ESEEIntercalibConstants::getAlphaLow2
float getAlphaLow2() const
Definition: ESEEIntercalibConstants.h:41
ESEEIntercalibConstants::getAlphaLow1
float getAlphaLow1() const
Definition: ESEEIntercalibConstants.h:36
ESMissingEnergyCalibration::getConstBEta2
float getConstBEta2() const
Definition: ESMissingEnergyCalibration.h:33
ESMIPToGeVConstant
Definition: ESMIPToGeVConstant.h:7
edm::EventSetup
Definition: EventSetup.h:57
ESEEIntercalibConstantsRcd.h
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
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
DOFs::Y
Definition: AlignPCLThresholdsWriter.cc:37
SuperClusterFwd.h
Frameworkfwd.h
PreshowerPhiClusterProducer.h
SuperCluster.h
CaloGeometry.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
Exception.h
ESEEIntercalibConstants::getAlphaHigh1
float getAlphaHigh1() const
Definition: ESEEIntercalibConstants.h:56
ESEEIntercalibConstants
Definition: ESEEIntercalibConstants.h:7
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
PreshowerClusterFwd.h
ParameterSet.h
PreshowerPhiClusterProducer::PreshowerPhiClusterProducer
PreshowerPhiClusterProducer(const edm::ParameterSet &ps)
Definition: PreshowerPhiClusterProducer.cc:44
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
deltaPhi.h
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37