CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
EcalTBWeightUncalibRecHitProducer Class Reference

#include <EcalTBWeightUncalibRecHitProducer.h>

Inheritance diagram for EcalTBWeightUncalibRecHitProducer:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Types

typedef std::vector< double > EcalRecoAmplitudes
 
- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 

Public Member Functions

 EcalTBWeightUncalibRecHitProducer (const edm::ParameterSet &ps)
 
virtual void produce (edm::Event &evt, const edm::EventSetup &es)
 
 ~EcalTBWeightUncalibRecHitProducer ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Attributes

EcalUncalibRecHitRecWeightsAlgo
< EBDataFrame
EBalgo_
 
edm::InputTag EBdigiCollection_
 
std::string EBhitCollection_
 
EcalUncalibRecHitRecWeightsAlgo
< EEDataFrame
EEalgo_
 
edm::InputTag EEdigiCollection_
 
std::string EEhitCollection_
 
int nbTimeBin_
 
edm::InputTag tdcRecInfoCollection_
 
const EBShape testbeamEBShape
 
const EEShape testbeamEEShape
 
bool use2004OffsetConvention_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

produce ECAL uncalibrated rechits from dataframes

Id:
EcalTBWeightUncalibRecHitProducer.cc,v 1.15 2012/01/28 15:53:10 eulisse Exp
Date:
2012/01/28 15:53:10
Revision:
1.15

$Alex Zabi$

Date:
2012/01/28 15:53:10
Revision:
1.15

Modification to detect first sample to switch gain. used for amplitude recontruction at high energy Add TDC convention option (P. Meridiani)

Definition at line 20 of file EcalTBWeightUncalibRecHitProducer.h.

Member Typedef Documentation

Definition at line 23 of file EcalTBWeightUncalibRecHitProducer.h.

Constructor & Destructor Documentation

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

Definition at line 53 of file EcalTBWeightUncalibRecHitProducer.cc.

References EBdigiCollection_, EBhitCollection_, EEdigiCollection_, EEhitCollection_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), nbTimeBin_, tdcRecInfoCollection_, and use2004OffsetConvention_.

53  {
54 
55  EBdigiCollection_ = ps.getParameter<edm::InputTag>("EBdigiCollection");
56  EEdigiCollection_ = ps.getParameter<edm::InputTag>("EEdigiCollection");
57  tdcRecInfoCollection_ = ps.getParameter<edm::InputTag>("tdcRecInfoCollection");
58  EBhitCollection_ = ps.getParameter<std::string>("EBhitCollection");
59  EEhitCollection_ = ps.getParameter<std::string>("EEhitCollection");
60  nbTimeBin_ = ps.getParameter<int>("nbTimeBin");
61  use2004OffsetConvention_ = ps.getUntrackedParameter< bool >("use2004OffsetConvention",false);
62  produces< EBUncalibratedRecHitCollection >(EBhitCollection_);
63  produces< EEUncalibratedRecHitCollection >(EEhitCollection_);
64 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
EcalTBWeightUncalibRecHitProducer::~EcalTBWeightUncalibRecHitProducer ( )

Definition at line 66 of file EcalTBWeightUncalibRecHitProducer.cc.

66  {
67 }

Member Function Documentation

void EcalTBWeightUncalibRecHitProducer::produce ( edm::Event evt,
const edm::EventSetup es 
)
virtual

Implements edm::EDProducer.

Definition at line 70 of file EcalTBWeightUncalibRecHitProducer.cc.

References EcalUncalibratedRecHit::amplitude(), EBalgo_, EBdigiCollection_, EBhitCollection_, EEalgo_, EEdigiCollection_, EEhitCollection_, EcalMGPAGainRatio::gain12Over6(), EcalMGPAGainRatio::gain6Over1(), EcalMGPASample::gainId(), edm::EventSetup::get(), edm::Event::getByLabel(), EcalCondObjectContainer< T >::getMap(), EcalWeightSet::getWeightsAfterGainSwitch(), EcalWeightSet::getWeightsBeforeGainSwitch(), EcalXtalGroupId::id(), EEDataFrame::id(), EBDataFrame::id(), edm::InputTag::instance(), edm::InputTag::label(), LogDebug, EcalUncalibRecHitRecWeightsAlgo< C >::makeRecHit(), nbTimeBin_, edm::Event::put(), DetId::rawId(), compare_using_db::sample, EcalDataFrame::sample(), EcalDataFrame::size(), tdcRecInfoCollection_, testbeamEBShape, testbeamEEShape, use2004OffsetConvention_, and create_public_pileup_plots::weights.

70  {
71 
72  using namespace edm;
73 
75  const EBDigiCollection* EBdigis =0;
76  if (EBdigiCollection_.label() != "" || EBdigiCollection_.instance() != "")
77  {
78  // evt.getByLabel( digiProducer_, EBdigiCollection_, pEBDigis);
79  evt.getByLabel( EBdigiCollection_, pEBDigis);
80  if (!pEBDigis.isValid()) {
81  edm::LogError("EcalUncalibRecHitError") << "Error! can't get the product " << EBdigiCollection_ ;
82  } else {
83  EBdigis = pEBDigis.product(); // get a ptr to the produc
84 #ifdef DEBUG
85  LogDebug("EcalUncalibRecHitInfo") << "total # EBdigis: " << EBdigis->size() ;
86 #endif
87  }
88  }
89 
91  const EEDigiCollection* EEdigis =0;
92 
93  if (EEdigiCollection_.label() != "" || EEdigiCollection_.instance() != "")
94  {
95  // evt.getByLabel( digiProducer_, EEdigiCollection_, pEEDigis);
96  evt.getByLabel( EEdigiCollection_, pEEDigis);
97  if (!pEEDigis.isValid()) {
98  edm::LogError("EcalUncalibRecHitError") << "Error! can't get the product " << EEdigiCollection_ ;
99  } else {
100  EEdigis = pEEDigis.product(); // get a ptr to the produc
101 #ifdef DEBUG
102  LogDebug("EcalUncalibRecHitInfo") << "total # EEdigis: " << EEdigis->size() ;
103  // std::cout << "total # EEdigis: " << EEdigis->size() << std::endl;
104 #endif
105  }
106  }
107 
108 
109  if (!EBdigis && !EEdigis)
110  return;
111 
113  const EcalTBTDCRecInfo* recTDC =0;
114 
115  // evt.getByLabel( digiProducer_, EBdigiCollection_, pEBDigis);
116  evt.getByLabel( tdcRecInfoCollection_, pRecTDC);
117  if (pRecTDC.isValid()) {
118  recTDC = pRecTDC.product(); // get a ptr to the product
119  }
120 
121  // fetch map of groups of xtals
123  es.get<EcalWeightXtalGroupsRcd>().get(pGrp);
124  const EcalWeightXtalGroups* grp = pGrp.product();
125  if (!grp)
126  return;
127 
128  const EcalXtalGroupsMap& grpMap = grp->getMap();
129 
130 
131  // Gain Ratios
133  es.get<EcalGainRatiosRcd>().get(pRatio);
134  const EcalGainRatioMap& gainMap = pRatio.product()->getMap(); // map of gain ratios
135 
136 
137  // fetch TB weights
138 #ifdef DEBUG
139  LogDebug("EcalUncalibRecHitDebug") <<"Fetching EcalTBWeights from DB " ;
140  // std::cout <<"Fetching EcalTBWeights from DB " ;
141 #endif
143  es.get<EcalTBWeightsRcd>().get(pWgts);
144  const EcalTBWeights* wgts = pWgts.product();
145 
146  if (!wgts)
147  return;
148 
149 #ifdef DEBUG
150  LogDebug("EcalUncalibRecHitDebug") << "EcalTBWeightMap.size(): " << std::setprecision(3) << wgts->getMap().size() ;
151  // std::cout << "EcalTBWeightMap.size(): " << std::setprecision(3) << wgts->getMap().size() ;
152 #endif
153 
154  // fetch the pedestals from the cond DB via EventSetup
155 #ifdef DEBUG
156  LogDebug("EcalUncalibRecHitDebug") << "fetching pedestals....";
157  // std::cout << "fetching pedestals....";
158 #endif
160  es.get<EcalPedestalsRcd>().get( pedHandle );
161  const EcalPedestalsMap& pedMap = pedHandle.product()->getMap(); // map of pedestals
162 #ifdef DEBUG
163  LogDebug("EcalUncalibRecHitDebug") << "done." ;
164  // std::cout << "done." ;
165 #endif
166  // collection of reco'ed ampltudes to put in the event
167 
168  std::auto_ptr< EBUncalibratedRecHitCollection > EBuncalibRechits( new EBUncalibratedRecHitCollection );
169  std::auto_ptr< EEUncalibratedRecHitCollection > EEuncalibRechits( new EEUncalibratedRecHitCollection );
170 
171  EcalPedestalsMapIterator pedIter; // pedestal iterator
172 
173  EcalGainRatioMap::const_iterator gainIter; // gain iterator
174 
175  EcalXtalGroupsMap::const_iterator git; // group iterator
176 
177  EcalTBWeights::EcalTBWeightMap::const_iterator wit; //weights iterator
178  // loop over EB digis
179  //Getting the TDC bin
180  EcalTBWeights::EcalTDCId tdcid(int(nbTimeBin_/2)+1);
181 
182  if (recTDC)
183  if (recTDC->offset() == -999.)
184  {
185  edm::LogError("EcalUncalibRecHitError") << "TDC bin completely out of range. Returning" ;
186  return;
187  }
188 
189  if (EBdigis)
190  {
191  for(unsigned int idig = 0; idig < EBdigis->size(); ++idig) {
192 
193  EBDataFrame itdg = (*EBdigis)[idig];
194 
195 
196  // counter_++; // verbosity counter
197 
198  // find pedestals for this channel
199 #ifdef DEBUG
200  LogDebug("EcalUncalibRecHitDebug") << "looking up pedestal for crystal: " << EBDetId(itdg.id()) ;
201 #endif
202  pedIter = pedMap.find(itdg.id().rawId());
203  if( pedIter == pedMap.end() ) {
204  edm::LogError("EcalUncalibRecHitError") << "error!! could not find pedestals for channel: " << EBDetId(itdg.id())
205  << "\n no uncalib rechit will be made for this digi!"
206  ;
207  continue;
208  }
209  const EcalPedestals::Item& aped = (*pedIter);
210  double pedVec[3];
211  double pedRMSVec[3];
212  pedVec[0]=aped.mean_x12;pedVec[1]=aped.mean_x6;pedVec[2]=aped.mean_x1;
213  pedRMSVec[0]=aped.rms_x12;pedRMSVec[1]=aped.rms_x6;pedRMSVec[2]=aped.rms_x1;
214 
215  // find gain ratios
216 #ifdef DEBUG
217  LogDebug("EcalUncalibRecHitDebug") << "looking up gainRatios for crystal: " << EBDetId(itdg.id()) ;
218 #endif
219  gainIter = gainMap.find(itdg.id().rawId());
220  if( gainIter == gainMap.end() ) {
221  edm::LogError("EcalUncalibRecHitError") << "error!! could not find gain ratios for channel: " << EBDetId(itdg.id())
222  << "\n no uncalib rechit will be made for this digi!"
223  ;
224  continue;
225  }
226  const EcalMGPAGainRatio& aGain = (*gainIter);
227  double gainRatios[3];
228  gainRatios[0]=1.;gainRatios[1]=aGain.gain12Over6();gainRatios[2]=aGain.gain6Over1()*aGain.gain12Over6();
229 
230 
231 
232  // lookup group ID for this channel
233  git = grpMap.find( itdg.id().rawId() );
234  if( git == grpMap.end() ) {
235  edm::LogError("EcalUncalibRecHitError") << "No group id found for this crystal. something wrong with EcalWeightXtalGroups in your DB?"
236  << "\n no uncalib rechit will be made for digi with id: " << EBDetId(itdg.id())
237  ;
238  continue;
239  }
240  const EcalXtalGroupId& gid = (*git);
241 
242 
243  //GAIN SWITCHING DETECTION ///////////////////////////////////////////////////////////////////////////////////////////////////
244  double sampleGainRef = 1;
245  int sampleSwitch = 999;
246  for (int sample = 0; sample < itdg.size(); ++sample)
247  {
248  double gainSample = itdg.sample(sample).gainId();
249  if(gainSample != sampleGainRef) {sampleGainRef = gainSample; sampleSwitch = sample;}
250  }//loop sample
252 
253  if (recTDC)
254  {
255  int tdcBin=0;
256  if (recTDC->offset() <= 0.)
257  tdcBin = 1;
258  if (recTDC->offset() >= 1.)
259  tdcBin = nbTimeBin_;
260  else
261  tdcBin = int(recTDC->offset()*float(nbTimeBin_))+1;
262 
263  if (tdcBin < 1 || tdcBin > nbTimeBin_ )
264  {
265  edm::LogError("EcalUncalibRecHitError") << "TDC bin out of range " << tdcBin << " offset " << recTDC->offset();
266  continue;
267  }
268 
269  // In case gain switching happens at the sample 4 (5th sample)
270  // (sample 5 (6th sample) in 2004 TDC convention) an extra
271  // set of weights has to be used. This set of weights is assigned to
272  // TDC values going from 25 and up.
273  if (use2004OffsetConvention_ && sampleSwitch == 5)
274  tdcid=EcalTBWeights::EcalTDCId(tdcBin+25);
275  else if (!use2004OffsetConvention_ && sampleSwitch == 4)
276  tdcid=EcalTBWeights::EcalTDCId(tdcBin+25);
277  else
278  tdcid=EcalTBWeights::EcalTDCId(tdcBin);
279  }//check TDC
280 
281  // now lookup the correct weights in the map
282  wit = wgts->getMap().find( std::make_pair(gid,tdcid) );
283  if( wit == wgts->getMap().end() ) { // no weights found for this group ID
284  edm::LogError("EcalUncalibRecHitError") << "No weights found for EcalGroupId: " << gid.id() << " and EcalTDCId: " << tdcid
285  << "\n skipping digi with id: " << EBDetId(itdg.id())
286  ;
287  continue;
288  }
289  const EcalWeightSet& wset = wit->second; // this is the EcalWeightSet
290 
291 
292  // EcalWeightMatrix is vec<vec:double>>
293 
294 #ifdef DEBUG
295  LogDebug("EcalUncalibRecHitDebug") << "accessing matrices of weights...";
296 #endif
299  //const EcalWeightSet::EcalChi2WeightMatrix& mat3 = wset.getChi2WeightsBeforeGainSwitch();
300  //const EcalWeightSet::EcalChi2WeightMatrix& mat4 = wset.getChi2WeightsAfterGainSwitch();
302  weights[0]=&mat1;
303  weights[1]=&mat2;
304  // weights.push_back(clmat1);
305  // weights.push_back(clmat2);
306  // LogDebug("EcalUncalibRecHitDebug") << "weights before switch:\n" << clmat1 ;
307  // LogDebug("EcalUncalibRecHitDebug") << "weights after switch:\n" << clmat2 ;
308 
309 
310  // build CLHEP chi2 matrices
311  //const EcalWeightSet::EcalChi2WeightMatrix* chi2mat[2];
312  // chi2mat[0]=&mat3;
313  // chi2mat[1]=&mat4;
314 
316  EBalgo_.makeRecHit(itdg, pedVec, pedRMSVec, gainRatios, weights, testbeamEBShape);
317  //EBalgo_.makeRecHit(itdg, pedVec, gainRatios, weights, chi2mat);
318  EBuncalibRechits->push_back( aHit );
319 #ifdef DEBUG
320  if(aHit.amplitude()>0.) {
321  LogDebug("EcalUncalibRecHitDebug") << "processed EBDataFrame with id: "
322  << EBDetId(itdg.id()) << "\n"
323  << "uncalib rechit amplitude: " << aHit.amplitude()
324  ;
325  }
326 #endif
327  }
328  }
329  // put the collection of recunstructed hits in the event
330  evt.put( EBuncalibRechits, EBhitCollection_ );
331 
332 
333  if (EEdigis)
334  {
335  for(unsigned int idig = 0; idig < EEdigis->size(); ++idig) {
336 
337  EEDataFrame itdg = (*EEdigis)[idig];
338 
339  // counter_++; // verbosity counter
340 
341  // find pedestals for this channel
342 #ifdef DEBUG
343  LogDebug("EcalUncalibRecHitDebug") << "looking up pedestal for crystal: " << EEDetId(itdg.id()) ;
344  // std::cout << "looking up pedestal for crystal: " << EEDetId(itdg.id()) ;
345 #endif
346  pedIter = pedMap.find(itdg.id().rawId());
347  if( pedIter == pedMap.end() ) {
348  edm::LogError("EcalUncalibRecHitError") << "error!! could not find pedestals for channel: " << EEDetId(itdg.id())
349  << "\n no uncalib rechit will be made for this digi!"
350  ;
351  continue;
352  }
353  const EcalPedestals::Item& aped = (*pedIter);
354  double pedVec[3];
355  double pedRMSVec[3];
356  pedVec[0]=aped.mean_x12;pedVec[1]=aped.mean_x6;pedVec[2]=aped.mean_x1;
357  pedRMSVec[0]=aped.rms_x12;pedRMSVec[1]=aped.rms_x6;pedRMSVec[2]=aped.rms_x1;
358 
359  // find gain ratios
360 #ifdef DEBUG
361  LogDebug("EcalUncalibRecHitDebug") << "looking up gainRatios for crystal: " << EEDetId(itdg.id()) ;
362  // std::cout << "looking up gainRatios for crystal: " << EEDetId(itdg.id()) ;
363 #endif
364  gainIter = gainMap.find(itdg.id().rawId());
365  if( gainIter == gainMap.end() ) {
366  edm::LogError("EcalUncalibRecHitError") << "error!! could not find gain ratios for channel: " << EEDetId(itdg.id())
367  << "\n no uncalib rechit will be made for this digi!"
368  ;
369  continue;
370  }
371  const EcalMGPAGainRatio& aGain = (*gainIter);
372  double gainRatios[3];
373  gainRatios[0]=1.;gainRatios[1]=aGain.gain12Over6();gainRatios[2]=aGain.gain6Over1()*aGain.gain12Over6();
374 
375 
376 
377  // lookup group ID for this channel
378  git = grpMap.find( itdg.id().rawId() );
379  if( git == grpMap.end() ) {
380  edm::LogError("EcalUncalibRecHitError") << "No group id found for this crystal. something wrong with EcalWeightXtalGroups in your DB?"
381  << "\n no uncalib rechit will be made for digi with id: " << EEDetId(itdg.id())
382  ;
383  continue;
384  }
385  const EcalXtalGroupId& gid = (*git);
386 
387 
388  //GAIN SWITCHING DETECTION ///////////////////////////////////////////////////////////////////////////////////////////////////
389  double sampleGainRef = 1;
390  int sampleSwitch = 999;
391  for (int sample = 0; sample < itdg.size(); ++sample)
392  {
393  double gainSample = itdg.sample(sample).gainId();
394  if(gainSample != sampleGainRef) {sampleGainRef = gainSample; sampleSwitch = sample;}
395  }//loop sample
397 
398  if (recTDC)
399  {
400  int tdcBin=0;
401  if (recTDC->offset() <= 0.)
402  tdcBin = 1;
403  if (recTDC->offset() >= 1.)
404  tdcBin = nbTimeBin_;
405  else
406  tdcBin = int(recTDC->offset()*float(nbTimeBin_))+1;
407 
408  if (tdcBin < 1 || tdcBin > nbTimeBin_ )
409  {
410  edm::LogError("EcalUncalibRecHitError") << "TDC bin out of range " << tdcBin << " offset " << recTDC->offset();
411  continue;
412  }
413 
414  // In case gain switching happens at the sample 4 (5th sample)
415  // (sample 5 (6th sample) in 2004 TDC convention) an extra
416  // set of weights has to be used. This set of weights is assigned to
417  // TDC values going from 25 and up.
418  if (use2004OffsetConvention_ && sampleSwitch == 5)
419  tdcid=EcalTBWeights::EcalTDCId(tdcBin+25);
420  else if (!use2004OffsetConvention_ && sampleSwitch == 4)
421  tdcid=EcalTBWeights::EcalTDCId(tdcBin+25);
422  else
423  tdcid=EcalTBWeights::EcalTDCId(tdcBin);
424  }//check TDC
425 
426  // now lookup the correct weights in the map
427  wit = wgts->getMap().find( std::make_pair(gid,tdcid) );
428  if( wit == wgts->getMap().end() ) { // no weights found for this group ID
429  edm::LogError("EcalUncalibRecHitError") << "No weights found for EcalGroupId: " << gid.id() << " and EcalTDCId: " << tdcid
430  << "\n skipping digi with id: " << EEDetId(itdg.id())
431  ;
432  continue;
433  }
434  const EcalWeightSet& wset = wit->second; // this is the EcalWeightSet
435 
436 
437  // EcalWeightMatrix is vec<vec:double>>
438 
439 #ifdef DEBUG
440  LogDebug("EcalUncalibRecHitDebug") << "accessing matrices of weights...";
441  // std::cout << "accessing matrices of weights...";
442 #endif
445  //const EcalWeightSet::EcalChi2WeightMatrix& mat3 = wset.getChi2WeightsBeforeGainSwitch();
446  //const EcalWeightSet::EcalChi2WeightMatrix& mat4 = wset.getChi2WeightsAfterGainSwitch();
447  const EcalWeightSet::EcalWeightMatrix* weights[2];
448  weights[0]=&mat1;
449  weights[1]=&mat2;
450  // weights.push_back(clmat1);
451  // weights.push_back(clmat2);
452  // LogDebug("EcalUncalibRecHitDebug") << "weights before switch:\n" << clmat1 ;
453  // LogDebug("EcalUncalibRecHitDebug") << "weights after switch:\n" << clmat2 ;
454 
455 
456  // build CLHEP chi2 matrices
457  //const EcalWeightSet::EcalChi2WeightMatrix* chi2mat[2];
458  //chi2mat[0]=&mat3;
459  //chi2mat[1]=&mat4;
460 
462  EEalgo_.makeRecHit(itdg, pedVec, pedRMSVec, gainRatios, weights, testbeamEEShape);
463  //EEalgo_.makeRecHit(itdg, pedVec, gainRatios, weights, chi2mat);
464  EEuncalibRechits->push_back( aHit );
465 #ifdef DEBUG
466  if(aHit.amplitude()>0.) {
467  LogDebug("EcalUncalibRecHitDebug") << "processed EEDataFrame with id: "
468  << EEDetId(itdg.id()) << "\n"
469  << "uncalib rechit amplitude: " << aHit.amplitude()
470 
471 // std::cout << "processed EEDataFrame with id: "
472 // << EEDetId(itdg.id()) << "\n"
473 // << "uncalib rechit amplitude: " << aHit.amplitude() << std::endl;
474  ;
475  }
476 #endif
477  }
478  }
479  // put the collection of recunstructed hits in the event
480  evt.put( EEuncalibRechits, EEhitCollection_ );
481 }
#define LogDebug(id)
key_type id() const
Definition: EBDataFrame.h:32
const self & getMap() const
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:30
int gainId() const
get the gainId (2 bits)
int size() const
Definition: EcalDataFrame.h:27
const unsigned int id() const
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
EcalPedestalsMap::const_iterator EcalPedestalsMapIterator
Definition: EcalPedestals.h:37
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:85
virtual EcalUncalibratedRecHit makeRecHit(const C &dataFrame, const double *pedestals, const double *pedestalsRMS, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalShapeBase &testbeamPulseShape)
Compute parameters.
float gain6Over1() const
EcalWeightMatrix & getWeightsAfterGainSwitch()
Definition: EcalWeightSet.h:28
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
key_type id() const
Definition: EEDataFrame.h:29
EcalUncalibRecHitRecWeightsAlgo< EEDataFrame > EEalgo_
EcalWeightMatrix & getWeightsBeforeGainSwitch()
Definition: EcalWeightSet.h:27
const T & get() const
Definition: EventSetup.h:55
std::vector< Item >::const_iterator const_iterator
float gain12Over6() const
std::string const & label() const
Definition: InputTag.h:25
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:20
EcalUncalibRecHitRecWeightsAlgo< EBDataFrame > EBalgo_
std::string const & instance() const
Definition: InputTag.h:26

Member Data Documentation

EcalUncalibRecHitRecWeightsAlgo<EBDataFrame> EcalTBWeightUncalibRecHitProducer::EBalgo_
private

Definition at line 37 of file EcalTBWeightUncalibRecHitProducer.h.

Referenced by produce().

edm::InputTag EcalTBWeightUncalibRecHitProducer::EBdigiCollection_
private
std::string EcalTBWeightUncalibRecHitProducer::EBhitCollection_
private
EcalUncalibRecHitRecWeightsAlgo<EEDataFrame> EcalTBWeightUncalibRecHitProducer::EEalgo_
private

Definition at line 38 of file EcalTBWeightUncalibRecHitProducer.h.

Referenced by produce().

edm::InputTag EcalTBWeightUncalibRecHitProducer::EEdigiCollection_
private
std::string EcalTBWeightUncalibRecHitProducer::EEhitCollection_
private
int EcalTBWeightUncalibRecHitProducer::nbTimeBin_
private
edm::InputTag EcalTBWeightUncalibRecHitProducer::tdcRecInfoCollection_
private
const EBShape EcalTBWeightUncalibRecHitProducer::testbeamEBShape
private

Definition at line 41 of file EcalTBWeightUncalibRecHitProducer.h.

Referenced by produce().

const EEShape EcalTBWeightUncalibRecHitProducer::testbeamEEShape
private

Definition at line 40 of file EcalTBWeightUncalibRecHitProducer.h.

Referenced by produce().

bool EcalTBWeightUncalibRecHitProducer::use2004OffsetConvention_
private