CMS 3D CMS Logo

EcalClusterLazyTools.h
Go to the documentation of this file.
1 #ifndef RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
2 #define RecoEcal_EgammaCoreTools_EcalClusterLazyTools_h
3 
18 
20 
28 
36 
37 #include <optional>
38 
39 class CaloTopology;
40 class CaloGeometry;
42 
44 public:
45  struct ESData {
51  };
52 
53  class ESGetTokens {
54  public:
56  : caloGeometryToken_{cc.esConsumes()},
57  caloTopologyToken_{cc.esConsumes()},
58  ecalIntercalibConstantsToken_{cc.esConsumes()},
59  ecalADCToGeVConstantToken_{cc.esConsumes()},
60  ecalLaserDbServiceToken_{cc.esConsumes()} {}
61 
62  ESData get(edm::EventSetup const &eventSetup) const {
63  return {.caloGeometry = eventSetup.getData(caloGeometryToken_),
64  .caloTopology = eventSetup.getData(caloTopologyToken_),
65  .ecalIntercalibConstants = eventSetup.getData(ecalIntercalibConstantsToken_),
66  .ecalADCToGeV = eventSetup.getData(ecalADCToGeVConstantToken_),
67  .ecalLaserDbService = eventSetup.getData(ecalLaserDbServiceToken_)};
68  }
69 
70  private:
76  };
77 
79  ESData const &esData,
83 
84  // get time of basic cluster seed crystal
85  float BasicClusterSeedTime(const reco::BasicCluster &cluster);
86  // error-weighted average of time from constituents of basic cluster
87  float BasicClusterTime(const reco::BasicCluster &cluster, const edm::Event &ev);
88  // get BasicClusterSeedTime of the seed basic cluser of the supercluster
89  float SuperClusterSeedTime(const reco::SuperCluster &cluster);
90  // get BasicClusterTime of the seed basic cluser of the supercluster
91  inline float SuperClusterTime(const reco::SuperCluster &cluster, const edm::Event &ev) {
92  return BasicClusterTime((*cluster.seed()), ev);
93  }
94 
95  // mapping for preshower rechits
96  std::map<DetId, EcalRecHit> rechits_map_;
97  // get Preshower hit array
98  std::vector<float> getESHits(double X,
99  double Y,
100  double Z,
101  const std::map<DetId, EcalRecHit> &rechits_map,
102  const CaloGeometry *geometry,
103  CaloSubdetectorTopology const *topology_p,
104  int row = 0,
105  int plane = 1);
106  // get Preshower hit shape
107  float getESShape(const std::vector<float> &ESHits0);
108  // get Preshower effective sigmaRR
109  float eseffsirir(const reco::SuperCluster &cluster);
110  float eseffsixix(const reco::SuperCluster &cluster);
111  float eseffsiyiy(const reco::SuperCluster &cluster);
112 
113 protected:
115 
121 
122  std::unique_ptr<CaloSubdetectorTopology const> ecalPS_topology_ = nullptr;
123 
124  EcalIntercalibConstants const *ical = nullptr;
126  EcalADCToGeVConstant const *agc = nullptr;
127  EcalLaserDbService const *laser = nullptr;
128 
129 private:
130  void getESRecHits(const edm::Event &ev, edm::EDGetTokenT<EcalRecHitCollection> const &esRecHitsToken);
131 
132 }; // class EcalClusterLazyToolsBase
133 
134 template <class ClusterTools>
136 public:
138  ESData const &esData,
141  : EcalClusterLazyToolsBase(ev, esData, token1, token2, std::nullopt) {}
142 
144  ESData const &esData,
148  : EcalClusterLazyToolsBase(ev, esData, token1, token2, token3) {}
149 
150  // Get the rec hit energies in a rectangle matrix around the seed.
151  std::vector<float> energyMatrix(reco::BasicCluster const &cluster, int size) const {
152  auto recHits = getEcalRecHitCollection(cluster);
153  DetId maxId = ClusterTools::getMaximum(cluster, recHits).first;
154 
155  std::vector<float> energies;
156  for (auto const &detId : CaloRectangleRange(size, maxId, *topology_)) {
157  energies.push_back(ClusterTools::recHitEnergy(detId, recHits));
158  }
159 
160  return energies;
161  }
162 
163  // various energies in the matrix nxn surrounding the maximum energy crystal of the input cluster
164  //
165  // NOTE (29/10/08): we now use an eta/phi coordinate system rather than
166  // phi/eta to minmise possible screwups, for now e5x1 isnt
167  // defined all the majority of people who call it actually
168  // want e1x5 and it is thought it is better that their code
169  // doesnt compile rather than pick up the wrong function
170  // therefore in this version and later e1x5 = e5x1 in the old
171  // version so 1x5 is 1 crystal in eta and 5 crystals in phi
172  // note e3x2 does not have a definate eta/phi geometry, it
173  // takes the maximum 3x2 block containing the seed regardless
174  // of whether that 3 in eta or phi
175  float e1x3(const reco::BasicCluster &cluster) const {
176  return ClusterTools::e1x3(cluster, getEcalRecHitCollection(cluster), topology_);
177  }
178  float e3x1(const reco::BasicCluster &cluster) const {
179  return ClusterTools::e3x1(cluster, getEcalRecHitCollection(cluster), topology_);
180  }
181  float e1x5(const reco::BasicCluster &cluster) const {
182  return ClusterTools::e1x5(cluster, getEcalRecHitCollection(cluster), topology_);
183  }
184  float e5x1(const reco::BasicCluster &cluster) const {
185  return ClusterTools::e5x1(cluster, getEcalRecHitCollection(cluster), topology_);
186  }
187  float e2x2(const reco::BasicCluster &cluster) const {
188  return ClusterTools::e2x2(cluster, getEcalRecHitCollection(cluster), topology_);
189  }
190  float e3x2(const reco::BasicCluster &cluster) const {
191  return ClusterTools::e3x2(cluster, getEcalRecHitCollection(cluster), topology_);
192  }
193  float e3x3(const reco::BasicCluster &cluster) const {
194  return ClusterTools::e3x3(cluster, getEcalRecHitCollection(cluster), topology_);
195  }
196  float e4x4(const reco::BasicCluster &cluster) const {
197  return ClusterTools::e4x4(cluster, getEcalRecHitCollection(cluster), topology_);
198  }
199  float e5x5(const reco::BasicCluster &cluster) const {
200  return ClusterTools::e5x5(cluster, getEcalRecHitCollection(cluster), topology_);
201  }
202  int n5x5(const reco::BasicCluster &cluster) const {
203  return ClusterTools::n5x5(cluster, getEcalRecHitCollection(cluster), topology_);
204  }
205  // energy in the 2x5 strip right of the max crystal (does not contain max crystal)
206  // 2 crystals wide in eta, 5 wide in phi.
207  float e2x5Right(const reco::BasicCluster &cluster) const {
208  return ClusterTools::e2x5Right(cluster, getEcalRecHitCollection(cluster), topology_);
209  }
210  // energy in the 2x5 strip left of the max crystal (does not contain max crystal)
211  float e2x5Left(const reco::BasicCluster &cluster) const {
212  return ClusterTools::e2x5Left(cluster, getEcalRecHitCollection(cluster), topology_);
213  }
214  // energy in the 5x2 strip above the max crystal (does not contain max crystal)
215  // 5 crystals wide in eta, 2 wide in phi.
216  float e2x5Top(const reco::BasicCluster &cluster) const {
217  return ClusterTools::e2x5Top(cluster, getEcalRecHitCollection(cluster), topology_);
218  }
219 
220  // energy in the 5x2 strip below the max crystal (does not contain max crystal)
221  float e2x5Bottom(const reco::BasicCluster &cluster) const {
222  return ClusterTools::e2x5Bottom(cluster, getEcalRecHitCollection(cluster), topology_);
223  }
224  // energy in a 2x5 strip containing the seed (max) crystal.
225  // 2 crystals wide in eta, 5 wide in phi.
226  // it is the maximum of either (1x5left + 1x5center) or (1x5right + 1x5center)
227  float e2x5Max(const reco::BasicCluster &cluster) const {
228  return ClusterTools::e2x5Max(cluster, getEcalRecHitCollection(cluster), topology_);
229  }
230  // energies in the crystal left, right, top, bottom w.r.t. to the most energetic crystal
231  float eLeft(const reco::BasicCluster &cluster) const {
232  return ClusterTools::eLeft(cluster, getEcalRecHitCollection(cluster), topology_);
233  }
234  float eRight(const reco::BasicCluster &cluster) const {
235  return ClusterTools::eRight(cluster, getEcalRecHitCollection(cluster), topology_);
236  }
237  float eTop(const reco::BasicCluster &cluster) const {
238  return ClusterTools::eTop(cluster, getEcalRecHitCollection(cluster), topology_);
239  }
240  float eBottom(const reco::BasicCluster &cluster) const {
241  return ClusterTools::eBottom(cluster, getEcalRecHitCollection(cluster), topology_);
242  }
243  // the energy of the most energetic crystal in the cluster
244  float eMax(const reco::BasicCluster &cluster) const {
245  return ClusterTools::eMax(cluster, getEcalRecHitCollection(cluster));
246  }
247  // the energy of the second most energetic crystal in the cluster
248  float e2nd(const reco::BasicCluster &cluster) const {
249  return ClusterTools::e2nd(cluster, getEcalRecHitCollection(cluster));
250  }
251 
252  // get the DetId and the energy of the maximum energy crystal of the input cluster
253  std::pair<DetId, float> getMaximum(const reco::BasicCluster &cluster) const {
254  return ClusterTools::getMaximum(cluster, getEcalRecHitCollection(cluster));
255  }
256  std::vector<float> energyBasketFractionEta(const reco::BasicCluster &cluster) const {
257  return ClusterTools::energyBasketFractionEta(cluster, getEcalRecHitCollection(cluster));
258  }
259  std::vector<float> energyBasketFractionPhi(const reco::BasicCluster &cluster) const {
260  return ClusterTools::energyBasketFractionPhi(cluster, getEcalRecHitCollection(cluster));
261  }
262 
263  // return a vector v with v[0] = etaLat, v[1] = phiLat, v[2] = lat
264  std::vector<float> lat(const reco::BasicCluster &cluster, bool logW = true, float w0 = 4.7) const {
265  return ClusterTools::lat(cluster, getEcalRecHitCollection(cluster), geometry_, logW, w0);
266  }
267 
268  // return a vector v with v[0] = covEtaEta, v[1] = covEtaPhi, v[2] = covPhiPhi
269  std::vector<float> covariances(const reco::BasicCluster &cluster, float w0 = 4.7) const {
270  return ClusterTools::covariances(cluster, getEcalRecHitCollection(cluster), topology_, geometry_, w0);
271  }
272 
273  // return a vector v with v[0] = covIEtaIEta, v[1] = covIEtaIPhi, v[2] = covIPhiIPhi
274  // this function calculates differences in eta/phi in units of crystals not
275  // global eta/phi this is gives better performance in the crack regions of
276  // the calorimeter but gives otherwise identical results to covariances
277  // function this is only defined for the barrel, it returns covariances when
278  // the cluster is in the endcap Warning: covIEtaIEta has been studied by
279  // egamma, but so far covIPhiIPhi hasnt been studied extensively so there
280  // could be a bug in the covIPhiIEta or covIPhiIPhi calculations. I dont
281  // think there is but as it hasnt been heavily used, there might be one
282  std::vector<float> localCovariances(const reco::BasicCluster &cluster, float w0 = 4.7) const {
283  return ClusterTools::localCovariances(cluster, getEcalRecHitCollection(cluster), topology_, w0);
284  }
285  std::vector<float> scLocalCovariances(const reco::SuperCluster &cluster, float w0 = 4.7) const {
286  return ClusterTools::scLocalCovariances(cluster, getEcalRecHitCollection(cluster), topology_, w0);
287  }
288  double zernike20(const reco::BasicCluster &cluster, double R0 = 6.6, bool logW = true, float w0 = 4.7) const {
289  return ClusterTools::zernike20(cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0);
290  }
291  double zernike42(const reco::BasicCluster &cluster, double R0 = 6.6, bool logW = true, float w0 = 4.7) const {
292  return ClusterTools::zernike42(cluster, getEcalRecHitCollection(cluster), geometry_, R0, logW, w0);
293  }
294 
295 }; // class EcalClusterLazyToolsT
296 
297 namespace noZS {
299 }
301 
302 #endif
EgHLTOffHistBins_cfi.e1x5
e1x5
Definition: EgHLTOffHistBins_cfi.py:22
EcalClusterLazyToolsBase::getEcalRecHitCollection
const EcalRecHitCollection * getEcalRecHitCollection(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.cc:76
EcalClusterLazyToolsT::e4x4
float e4x4(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:196
EcalClusterLazyToolsBase::BasicClusterTime
float BasicClusterTime(const reco::BasicCluster &cluster, const edm::Event &ev)
Definition: EcalClusterLazyTools.cc:108
EcalClusterLazyToolsBase::ESGetTokens::ESGetTokens
ESGetTokens(edm::ConsumesCollector &&cc)
Definition: EcalClusterLazyTools.h:55
EcalClusterLazyToolsT::e2nd
float e2nd(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:248
EcalClusterLazyToolsBase::ebRecHits_
const EcalRecHitCollection * ebRecHits_
Definition: EcalClusterLazyTools.h:118
EcalClusterLazyToolsBase::eseffsixix
float eseffsixix(const reco::SuperCluster &cluster)
Definition: EcalClusterLazyTools.cc:201
EcalClusterLazyToolsBase::BasicClusterSeedTime
float BasicClusterSeedTime(const reco::BasicCluster &cluster)
Definition: EcalClusterLazyTools.cc:94
CaloRectangleRange
Definition: CaloRectangle.h:36
EcalClusterLazyToolsBase::ESData::caloGeometry
const CaloGeometry & caloGeometry
Definition: EcalClusterLazyTools.h:46
EcalClusterLazyToolsBase::eeRecHits_
const EcalRecHitCollection * eeRecHits_
Definition: EcalClusterLazyTools.h:119
EcalClusterLazyToolsBase::ical
const EcalIntercalibConstants * ical
Definition: EcalClusterLazyTools.h:124
ESHandle.h
EcalClusterLazyToolsBase::ESGetTokens::caloTopologyToken_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopologyToken_
Definition: EcalClusterLazyTools.h:72
EcalClusterLazyToolsT::e2x5Bottom
float e2x5Bottom(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:221
EcalIntercalibConstants.h
EcalClusterLazyToolsT::e5x1
float e5x1(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:184
reco::SuperCluster
Definition: SuperCluster.h:18
EcalSeverityLevelAlgoRcd.h
X
#define X(str)
Definition: MuonsGrabber.cc:38
EcalClusterLazyToolsBase::rechits_map_
std::map< DetId, EcalRecHit > rechits_map_
Definition: EcalClusterLazyTools.h:96
EcalClusterLazyToolsBase::topology_
const CaloTopology * topology_
Definition: EcalClusterLazyTools.h:117
BasicCluster.h
edm::EDGetTokenT
Definition: EDGetToken.h:33
EcalClusterLazyToolsBase
Definition: EcalClusterLazyTools.h:43
EcalClusterLazyTools
EcalClusterLazyToolsT<::EcalClusterTools > EcalClusterLazyTools
Definition: EcalClusterLazyTools.h:300
geometry
Definition: geometry.py:1
EcalClusterLazyToolsT::localCovariances
std::vector< float > localCovariances(const reco::BasicCluster &cluster, float w0=4.7) const
Definition: EcalClusterLazyTools.h:282
EcalClusterLazyToolsBase::esRecHits_
const EcalRecHitCollection * esRecHits_
Definition: EcalClusterLazyTools.h:120
EcalClusterLazyToolsT::e5x5
float e5x5(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:199
Types.optional
optional
Definition: Types.py:199
EcalClusterLazyToolsT::e2x5Right
float e2x5Right(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:207
EcalClusterLazyToolsT::getMaximum
std::pair< DetId, float > getMaximum(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:253
edm::SortedCollection< EcalRecHit >
EcalClusterLazyToolsBase::ESGetTokens::ecalLaserDbServiceToken_
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > ecalLaserDbServiceToken_
Definition: EcalClusterLazyTools.h:75
EcalADCToGeVConstant
Definition: EcalADCToGeVConstant.h:13
EcalCondObjectContainer
Definition: EcalCondObjectContainer.h:13
EcalClusterLazyToolsBase::SuperClusterSeedTime
float SuperClusterSeedTime(const reco::SuperCluster &cluster)
Definition: EcalClusterLazyTools.cc:178
CaloTopology
Definition: CaloTopology.h:19
EcalRecHitCollections.h
EcalClusterLazyToolsT::covariances
std::vector< float > covariances(const reco::BasicCluster &cluster, float w0=4.7) const
Definition: EcalClusterLazyTools.h:269
EcalClusterLazyToolsT::EcalClusterLazyToolsT
EcalClusterLazyToolsT(const edm::Event &ev, ESData const &esData, edm::EDGetTokenT< EcalRecHitCollection > token1, edm::EDGetTokenT< EcalRecHitCollection > token2, edm::EDGetTokenT< EcalRecHitCollection > token3)
Definition: EcalClusterLazyTools.h:143
EcalClusterLazyToolsBase::ESData
Definition: EcalClusterLazyTools.h:45
EcalClusterLazyToolsT::e3x2
float e3x2(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:190
DetId
Definition: DetId.h:17
EcalClusterLazyToolsT::e3x3
float e3x3(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:193
CaloGeometry
Definition: CaloGeometry.h:21
EcalClusterLazyToolsT::e3x1
float e3x1(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:178
EcalClusterLazyToolsT::e1x5
float e1x5(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:181
EcalClusterLazyToolsT::e2x5Left
float e2x5Left(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:211
EcalClusterLazyToolsBase::icalMap
const EcalIntercalibConstantMap * icalMap
Definition: EcalClusterLazyTools.h:125
EcalClusterLazyToolsBase::getESShape
float getESShape(const std::vector< float > &ESHits0)
Definition: EcalClusterLazyTools.cc:367
EcalLaserDbService
Definition: EcalLaserDbService.h:25
EcalClusterLazyToolsBase::ESData::ecalIntercalibConstants
const EcalIntercalibConstants & ecalIntercalibConstants
Definition: EcalClusterLazyTools.h:48
reco::CaloCluster
Definition: CaloCluster.h:31
EcalLaserDbService.h
EcalClusterLazyToolsBase::ecalPS_topology_
std::unique_ptr< CaloSubdetectorTopology const > ecalPS_topology_
Definition: EcalClusterLazyTools.h:122
EcalClusterLazyToolsT::eTop
float eTop(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:237
EcalClusterLazyToolsBase::getESRecHits
void getESRecHits(const edm::Event &ev, edm::EDGetTokenT< EcalRecHitCollection > const &esRecHitsToken)
Definition: EcalClusterLazyTools.cc:46
EcalClusterLazyToolsT::eRight
float eRight(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:234
EcalClusterLazyToolsBase::ESGetTokens
Definition: EcalClusterLazyTools.h:53
EcalSeverityLevelAlgo.h
EcalClusterLazyToolsT::e2x5Max
float e2x5Max(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:227
CaloGeometryRecord.h
EcalClusterLazyToolsBase::agc
const EcalADCToGeVConstant * agc
Definition: EcalClusterLazyTools.h:126
EcalADCToGeVConstant.h
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
EcalClusterLazyToolsT
Definition: EcalClusterLazyTools.h:135
EcalClusterLazyToolsT::e2x2
float e2x2(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:187
reco::SuperCluster::seed
const CaloClusterPtr & seed() const
seed BasicCluster
Definition: SuperCluster.h:77
EcalClusterLazyToolsBase::eseffsiyiy
float eseffsiyiy(const reco::SuperCluster &cluster)
Definition: EcalClusterLazyTools.cc:216
EcalClusterLazyToolsBase::ESGetTokens::ecalIntercalibConstantsToken_
edm::ESGetToken< EcalIntercalibConstants, EcalIntercalibConstantsRcd > ecalIntercalibConstantsToken_
Definition: EcalClusterLazyTools.h:73
Event.h
cosmicPhotonAnalyzer_cfi.eMax
eMax
Definition: cosmicPhotonAnalyzer_cfi.py:10
EcalClusterLazyToolsBase::EcalClusterLazyToolsBase
EcalClusterLazyToolsBase(const edm::Event &ev, ESData const &esData, edm::EDGetTokenT< EcalRecHitCollection > token1, edm::EDGetTokenT< EcalRecHitCollection > token2, std::optional< edm::EDGetTokenT< EcalRecHitCollection >> token3)
Definition: EcalClusterLazyTools.cc:18
EcalClusterTools.h
EcalClusterLazyToolsT::zernike42
double zernike42(const reco::BasicCluster &cluster, double R0=6.6, bool logW=true, float w0=4.7) const
Definition: EcalClusterLazyTools.h:291
EcalClusterLazyToolsBase::ESGetTokens::ecalADCToGeVConstantToken_
edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCToGeVConstantToken_
Definition: EcalClusterLazyTools.h:74
EcalClusterLazyToolsT::eMax
float eMax(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:244
CaloTopologyRecord.h
EcalADCToGeVConstantRcd.h
EcalClusterLazyToolsT::zernike20
double zernike20(const reco::BasicCluster &cluster, double R0=6.6, bool logW=true, float w0=4.7) const
Definition: EcalClusterLazyTools.h:288
EcalClusterLazyToolsBase::ESData::ecalADCToGeV
const EcalADCToGeVConstant & ecalADCToGeV
Definition: EcalClusterLazyTools.h:49
EcalClusterLazyToolsT::e2x5Top
float e2x5Top(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:216
edm::EventSetup
Definition: EventSetup.h:57
CaloSubdetectorTopology
Definition: CaloSubdetectorTopology.h:17
cc
edm::ESGetToken< CaloGeometry, CaloGeometryRecord >
EcalClusterLazyToolsBase::ESGetTokens::get
ESData get(edm::EventSetup const &eventSetup) const
Definition: EcalClusterLazyTools.h:62
EcalClusterLazyToolsT::scLocalCovariances
std::vector< float > scLocalCovariances(const reco::SuperCluster &cluster, float w0=4.7) const
Definition: EcalClusterLazyTools.h:285
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:120
EcalLaserDbRecord.h
noZS
Definition: EcalClusterLazyTools.h:297
std
Definition: JetResolutionObject.h:76
EcalClusterLazyToolsT::lat
std::vector< float > lat(const reco::BasicCluster &cluster, bool logW=true, float w0=4.7) const
Definition: EcalClusterLazyTools.h:264
EcalClusterLazyToolsBase::ESData::caloTopology
const CaloTopology & caloTopology
Definition: EcalClusterLazyTools.h:47
SuperCluster.h
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
EcalClusterLazyToolsBase::ESGetTokens::caloGeometryToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
Definition: EcalClusterLazyTools.h:71
EcalClusterLazyToolsT::eLeft
float eLeft(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:231
EcalClusterLazyToolsBase::ESData::ecalLaserDbService
const EcalLaserDbService & ecalLaserDbService
Definition: EcalClusterLazyTools.h:50
EcalClusterLazyToolsT::e1x3
float e1x3(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:175
EcalClusterLazyToolsT::energyBasketFractionPhi
std::vector< float > energyBasketFractionPhi(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:259
BeamSpotPI::Y
Definition: BeamSpotPayloadInspectorHelper.h:31
EcalClusterLazyToolsBase::eseffsirir
float eseffsirir(const reco::SuperCluster &cluster)
Definition: EcalClusterLazyTools.cc:183
EcalClusterLazyToolsT::EcalClusterLazyToolsT
EcalClusterLazyToolsT(const edm::Event &ev, ESData const &esData, edm::EDGetTokenT< EcalRecHitCollection > token1, edm::EDGetTokenT< EcalRecHitCollection > token2)
Definition: EcalClusterLazyTools.h:137
ConsumesCollector.h
EcalClusterLazyToolsBase::geometry_
const CaloGeometry * geometry_
Definition: EcalClusterLazyTools.h:116
ParameterSet.h
EcalClusterLazyToolsT::energyMatrix
std::vector< float > energyMatrix(reco::BasicCluster const &cluster, int size) const
Definition: EcalClusterLazyTools.h:151
BeamSpotPI::Z
Definition: BeamSpotPayloadInspectorHelper.h:32
EcalClusterLazyToolsBase::SuperClusterTime
float SuperClusterTime(const reco::SuperCluster &cluster, const edm::Event &ev)
Definition: EcalClusterLazyTools.h:91
HLT_FULL_cff.R0
R0
Definition: HLT_FULL_cff.py:8692
edm::Event
Definition: Event.h:73
EcalClusterLazyToolsT::energyBasketFractionEta
std::vector< float > energyBasketFractionEta(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:256
EcalIntercalibConstantsRcd.h
EcalClusterLazyToolsT::n5x5
int n5x5(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:202
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
EcalClusterLazyToolsT::eBottom
float eBottom(const reco::BasicCluster &cluster) const
Definition: EcalClusterLazyTools.h:240
noZS::EcalClusterLazyTools
EcalClusterLazyToolsT< noZS::EcalClusterTools > EcalClusterLazyTools
Definition: EcalClusterLazyTools.h:298
EcalClusterLazyToolsBase::getESHits
std::vector< float > getESHits(double X, double Y, double Z, const std::map< DetId, EcalRecHit > &rechits_map, const CaloGeometry *geometry, CaloSubdetectorTopology const *topology_p, int row=0, int plane=1)
Definition: EcalClusterLazyTools.cc:231
EcalClusterLazyToolsBase::laser
const EcalLaserDbService * laser
Definition: EcalClusterLazyTools.h:127
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443