CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PNPresampleTask.cc
Go to the documentation of this file.
1 #include "../interface/PNPresampleTask.h"
2 
4 
5 namespace ecaldqm {
6 
8  DQWorkerTask(_params, _paths, "PNPresampleTask")
9  {
11  (0x1 << kPnDiodeDigi);
12  }
13 
15  {
16  }
17 
18  void
20  {
21  for(int idcc(0); idcc < 54; idcc++)
22  enable_[idcc] = false;
23  }
24 
25  void
27  {
28  for(int idcc(0); idcc < 54; idcc++)
29  enable_[idcc] = false;
30  }
31 
32  bool
33  PNPresampleTask::filterRunType(const std::vector<short>& _runType)
34  {
35  bool enable(false);
36 
37  for(int iDCC(0); iDCC < 54; iDCC++){
38  if(_runType[iDCC] == EcalDCCHeaderBlock::LASER_STD ||
39  _runType[iDCC] == EcalDCCHeaderBlock::LASER_GAP ||
40  _runType[iDCC] == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
41  _runType[iDCC] == EcalDCCHeaderBlock::TESTPULSE_GAP){
42  enable = true;
43  enable_[iDCC] = true;
44  }
45  }
46 
47  return enable;
48  }
49 
50  void
52  {
53  for(EcalPnDiodeDigiCollection::const_iterator digiItr(_digis.begin()); digiItr != _digis.end(); ++digiItr){
54  const EcalPnDiodeDetId& id(digiItr->id());
55 
56  float mean(0.);
57  bool gainSwitch(false);
58 
59  for(int iSample(0); iSample < 4; iSample++){
60  if(digiItr->sample(iSample).gainId() != 1){
61  gainSwitch = true;
62  break;
63  }
64  mean += digiItr->sample(iSample).adc();
65  }
66  if(gainSwitch) continue;
67 
68  mean /= 4.;
69 
70  MEs_[kPedestal]->fill(id, mean);
71  }
72  }
73 
74  /*static*/
75  void
76  PNPresampleTask::setMEData(std::vector<MEData>& _data)
77  {
79  }
80 
82 }
bool filterRunType(const std::vector< short > &)
void runOnPnDigis(const EcalPnDiodeDigiCollection &)
std::vector< T >::const_iterator const_iterator
static void setMEData(std::vector< MEData > &)
void endEvent(const edm::Event &, const edm::EventSetup &)
PNPresampleTask(const edm::ParameterSet &, const edm::ParameterSet &)
const_iterator end() const
std::vector< MESet * > MEs_
Definition: DQWorker.h:56
bool enable_[BinService::nDCC]
DEFINE_ECALDQM_WORKER(CertificationClient)
const_iterator begin() const
Definition: Run.h:33
void beginRun(const edm::Run &, const edm::EventSetup &)