File indexing completed on 2024-04-06 12:32:24
0001 #ifndef GlobalRecHitsHistogrammer_h
0002 #define GlobalRecHitsHistogrammer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "FWCore/Framework/interface/Frameworkfwd.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/EventSetup.h"
0017 #include "DataFormats/Common/interface/Handle.h"
0018 #include "FWCore/Framework/interface/ESHandle.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/ParameterSet/interface/ParameterSet.h"
0029 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0030
0031
0032 #include "SimDataFormats/ValidationFormats/interface/PValidationFormats.h"
0033
0034
0035
0036
0037
0038 #include <iostream>
0039 #include <cstdlib>
0040 #include <string>
0041 #include <memory>
0042 #include <vector>
0043 #include <map>
0044 #include <cmath>
0045
0046 #include "TString.h"
0047
0048 class GlobalRecHitsHistogrammer : public DQMEDAnalyzer {
0049 public:
0050
0051
0052
0053 typedef std::map<uint32_t, float, std::less<uint32_t> > MapType;
0054
0055 explicit GlobalRecHitsHistogrammer(const edm::ParameterSet &);
0056 ~GlobalRecHitsHistogrammer() 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 GlobalRecHitSrc_;
0073 edm::EDGetTokenT<PGlobalRecHit> GlobalRecHitSrc_Token_;
0074
0075
0076
0077
0078
0079 MonitorElement *mehEcaln[3];
0080 MonitorElement *mehEcalRes[3];
0081
0082
0083
0084 MonitorElement *mehHcaln[4];
0085 MonitorElement *mehHcalRes[4];
0086
0087
0088
0089
0090 MonitorElement *mehSiStripn[19];
0091 MonitorElement *mehSiStripResX[19];
0092 MonitorElement *mehSiStripResY[19];
0093
0094
0095
0096 MonitorElement *mehSiPixeln[7];
0097 MonitorElement *mehSiPixelResX[7];
0098 MonitorElement *mehSiPixelResY[7];
0099
0100
0101
0102
0103 MonitorElement *mehDtMuonn;
0104 MonitorElement *mehCSCn;
0105 MonitorElement *mehRPCn;
0106 MonitorElement *mehDtMuonRes;
0107 MonitorElement *mehCSCResRDPhi;
0108 MonitorElement *mehRPCResX;
0109
0110
0111 unsigned int count;
0112
0113 };
0114
0115 #endif