Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:07

0001 #ifndef EcalBarrelRecHitsValidation_H
0002 #define EcalBarrelRecHitsValidation_H
0003 
0004 /*
0005  * \file EcalBarrelRecHitsValidation.h
0006  *
0007  * \author C. Rovelli
0008  *
0009  */
0010 
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 
0020 #include "DQMServices/Core/interface/DQMStore.h"
0021 #include "FWCore/ServiceRegistry/interface/Service.h"
0022 
0023 #include "DataFormats/EcalDigi/interface/EBDataFrame.h"
0024 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h"
0025 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0026 
0027 #include "CondFormats/DataRecord/interface/EcalPedestalsRcd.h"
0028 #include "CondFormats/EcalObjects/interface/EcalPedestals.h"
0029 
0030 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0031 #include <fstream>
0032 #include <iostream>
0033 #include <map>
0034 #include <vector>
0035 
0036 class EcalBarrelRecHitsValidation : public DQMEDAnalyzer {
0037 public:
0038   /// Constructor
0039   EcalBarrelRecHitsValidation(const edm::ParameterSet &ps);
0040 
0041   /// Destructor
0042   ~EcalBarrelRecHitsValidation() override;
0043 
0044 protected:
0045   /// Analyze
0046   void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override;
0047   void analyze(const edm::Event &e, const edm::EventSetup &c) override;
0048 
0049 private:
0050   bool verbose_;
0051 
0052   // fix for consumes
0053   edm::EDGetTokenT<EBDigiCollection> EBdigiCollection_token_;
0054   edm::EDGetTokenT<EBUncalibratedRecHitCollection> EBuncalibrechitCollection_token_;
0055   edm::ESGetToken<EcalPedestals, EcalPedestalsRcd> ecalPeds;
0056 
0057   MonitorElement *meEBUncalibRecHitsOccupancy_;
0058   MonitorElement *meEBUncalibRecHitsAmplitude_;
0059   MonitorElement *meEBUncalibRecHitsPedestal_;
0060   MonitorElement *meEBUncalibRecHitsJitter_;
0061   MonitorElement *meEBUncalibRecHitsChi2_;
0062   MonitorElement *meEBUncalibRecHitMaxSampleRatio_;
0063   MonitorElement *meEBUncalibRecHitsOccupancyGt100adc_;
0064   MonitorElement *meEBUncalibRecHitsAmplitudeGt100adc_;
0065   MonitorElement *meEBUncalibRecHitsPedestalGt100adc_;
0066   MonitorElement *meEBUncalibRecHitsJitterGt100adc_;
0067   MonitorElement *meEBUncalibRecHitsChi2Gt100adc_;
0068   MonitorElement *meEBUncalibRecHitMaxSampleRatioGt100adc_;
0069   MonitorElement *meEBUncalibRecHitsAmpFullMap_;
0070   MonitorElement *meEBUncalibRecHitsPedFullMap_;
0071   MonitorElement *meEBUncalibRecHitAmplMap_[36];
0072   MonitorElement *meEBUncalibRecHitPedMap_[36];
0073 };
0074 
0075 #endif