Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:33:38

0001 // -*- C++ -*-
0002 //
0003 // Package:    SiPixelPhase1DigisV
0004 // Class:      SiPixelPhase1DigisV
0005 //
0006 
0007 // Original Author: Marcel Schneider
0008 
0009 #include "Validation/SiPixelPhase1DigisV/interface/SiPixelPhase1DigisV.h"
0010 // Additional Authors: Alexander Morton - modifying code for validation use
0011 
0012 // C++ stuff
0013 #include <iostream>
0014 
0015 // CMSSW stuff
0016 #include "FWCore/Framework/interface/Event.h"
0017 #include "FWCore/Framework/interface/MakerMacros.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 
0020 // DQM Stuff
0021 #include "DQMServices/Core/interface/DQMStore.h"
0022 
0023 SiPixelPhase1DigisV::SiPixelPhase1DigisV(const edm::ParameterSet &iConfig) : SiPixelPhase1Base(iConfig) {
0024   srcToken_ = consumes<edm::DetSetVector<PixelDigi>>(iConfig.getParameter<edm::InputTag>("src"));
0025 }
0026 
0027 void SiPixelPhase1DigisV::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) {
0028   edm::Handle<edm::DetSetVector<PixelDigi>> input;
0029   iEvent.getByToken(srcToken_, input);
0030   if (!input.isValid())
0031     return;
0032 
0033   edm::DetSetVector<PixelDigi>::const_iterator it;
0034   for (it = input->begin(); it != input->end(); ++it) {
0035     for (PixelDigi const &digi : *it) {
0036       histo[ADC].fill((double)digi.adc(), DetId(it->detId()), &iEvent);
0037       histo[NDIGIS].fill(DetId(it->detId()), &iEvent);  // count
0038       histo[ROW].fill((double)digi.row(), DetId(it->detId()), &iEvent);
0039       histo[COLUMN].fill((double)digi.column(), DetId(it->detId()), &iEvent);
0040     }
0041   }
0042   histo[NDIGIS].executePerEventHarvesting(&iEvent);
0043 }
0044 
0045 DEFINE_FWK_MODULE(SiPixelPhase1DigisV);