File indexing completed on 2024-04-06 12:32:19
0001 #ifndef GlobalDigisHistogrammer_h
0002 #define GlobalDigisHistogrammer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "DataFormats/Common/interface/Handle.h"
0015 #include "FWCore/Framework/interface/ESHandle.h"
0016 #include "FWCore/Framework/interface/Event.h"
0017 #include "FWCore/Framework/interface/EventSetup.h"
0018 #include "FWCore/Framework/interface/Frameworkfwd.h"
0019
0020
0021 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0022 #include "DQMServices/Core/interface/DQMStore.h"
0023 #include "FWCore/ServiceRegistry/interface/Service.h"
0024
0025
0026 #include "DataFormats/Provenance/interface/Provenance.h"
0027 #include "FWCore/Framework/interface/MakerMacros.h"
0028 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0030
0031
0032 #include "SimDataFormats/ValidationFormats/interface/PValidationFormats.h"
0033
0034
0035
0036
0037
0038 #include <cmath>
0039 #include <cstdlib>
0040 #include <iostream>
0041 #include <map>
0042 #include <memory>
0043 #include <string>
0044 #include <vector>
0045
0046 #include "TString.h"
0047
0048 class GlobalDigisHistogrammer : public DQMEDAnalyzer {
0049 public:
0050
0051
0052
0053 typedef std::map<uint32_t, float, std::less<uint32_t>> MapType;
0054
0055 explicit GlobalDigisHistogrammer(const edm::ParameterSet &);
0056 ~GlobalDigisHistogrammer() override;
0057 void analyze(const edm::Event &, const edm::EventSetup &) override;
0058 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0059
0060 private:
0061
0062 std::string fName;
0063 int verbosity;
0064 int frequency;
0065 std::string label;
0066 bool getAllProvenances;
0067 bool printProvenanceInfo;
0068
0069 std::string outputfile;
0070 bool doOutput;
0071
0072 edm::InputTag GlobalDigisSrc_;
0073
0074 edm::EDGetTokenT<PGlobalDigi> GlobalDigisSrc_Token_;
0075
0076
0077
0078 MonitorElement *mehEcaln[3];
0079 MonitorElement *mehEcalAEE[2];
0080 MonitorElement *mehEcalSHE[2];
0081 MonitorElement *mehEcalMaxPos[2];
0082 MonitorElement *mehEcalMultvAEE[2];
0083 MonitorElement *mehEcalSHEvAEESHE[2];
0084 MonitorElement *mehEScalADC[3];
0085
0086
0087 MonitorElement *mehHcaln[4];
0088 MonitorElement *mehHcalAEE[4];
0089 MonitorElement *mehHcalSHE[4];
0090 MonitorElement *mehHcalAEESHE[4];
0091 MonitorElement *mehHcalSHEvAEE[4];
0092
0093
0094
0095
0096 MonitorElement *mehSiStripn[19];
0097 MonitorElement *mehSiStripADC[19];
0098 MonitorElement *mehSiStripStrip[19];
0099
0100
0101
0102 MonitorElement *mehSiPixeln[7];
0103 MonitorElement *mehSiPixelADC[7];
0104 MonitorElement *mehSiPixelRow[7];
0105 MonitorElement *mehSiPixelCol[7];
0106
0107
0108
0109 MonitorElement *mehDtMuonn[4];
0110 MonitorElement *mehDtMuonLayer[4];
0111 MonitorElement *mehDtMuonTime[4];
0112 MonitorElement *mehDtMuonTimevLayer[4];
0113
0114
0115
0116 MonitorElement *mehCSCStripn;
0117 MonitorElement *mehCSCStripADC;
0118 MonitorElement *mehCSCWiren;
0119 MonitorElement *mehCSCWireTime;
0120
0121 float theCSCStripPedestalSum;
0122 int theCSCStripPedestalCount;
0123
0124 unsigned int count;
0125
0126 };
0127
0128 #endif