File indexing completed on 2024-05-10 02:21:32
0001 #ifndef GlobalHitsProdHistStripper_h
0002 #define GlobalHitsProdHistStripper_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "DataFormats/Common/interface/Handle.h"
0013 #include "DataFormats/Provenance/interface/Provenance.h"
0014 #include "FWCore/Framework/interface/one/EDAnalyzer.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 #include "FWCore/Framework/interface/MakerMacros.h"
0020 #include "FWCore/Framework/interface/Run.h"
0021 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0023
0024
0025 #include "DQMServices/Core/interface/DQMStore.h"
0026 #include "FWCore/ServiceRegistry/interface/Service.h"
0027
0028
0029
0030 #include <CLHEP/Units/SystemOfUnits.h>
0031 #include "DataFormats/Math/interface/LorentzVector.h"
0032
0033 #include <cstdlib>
0034 #include <iostream>
0035 #include <memory>
0036 #include <string>
0037 #include <vector>
0038
0039 #include "TString.h"
0040
0041 class GlobalHitsProdHistStripper : public edm::one::EDAnalyzer<edm::one::WatchRuns> {
0042 public:
0043 typedef dqm::legacy::DQMStore DQMStore;
0044 typedef dqm::legacy::MonitorElement MonitorElement;
0045
0046
0047
0048 explicit GlobalHitsProdHistStripper(const edm::ParameterSet &);
0049 ~GlobalHitsProdHistStripper() override;
0050 void beginJob(void) override;
0051 void endJob() override;
0052 void analyze(const edm::Event &, const edm::EventSetup &) override;
0053 void beginRun(const edm::Run &, const edm::EventSetup &) override;
0054 void endRun(const edm::Run &, const edm::EventSetup &) override;
0055
0056 private:
0057
0058 std::string fName;
0059 int verbosity;
0060 int frequency;
0061 int vtxunit;
0062 bool getAllProvenances;
0063 bool printProvenanceInfo;
0064
0065 DQMStore *dbe;
0066 std::string outputfile;
0067 bool doOutput;
0068
0069 std::map<std::string, MonitorElement *> monitorElements;
0070
0071 std::vector<MonitorElement *> me;
0072
0073
0074 MonitorElement *meMCRGP[2];
0075 MonitorElement *meMCG4Vtx[2];
0076 MonitorElement *meGeantVtxX[2];
0077 MonitorElement *meGeantVtxY[2];
0078 MonitorElement *meGeantVtxZ[2];
0079 MonitorElement *meMCG4Trk[2];
0080 MonitorElement *meGeantTrkPt;
0081 MonitorElement *meGeantTrkE;
0082
0083
0084
0085 MonitorElement *meCaloEcal[2];
0086 MonitorElement *meCaloEcalE[2];
0087 MonitorElement *meCaloEcalToF[2];
0088 MonitorElement *meCaloEcalPhi;
0089 MonitorElement *meCaloEcalEta;
0090
0091
0092 MonitorElement *meCaloPreSh[2];
0093 MonitorElement *meCaloPreShE[2];
0094 MonitorElement *meCaloPreShToF[2];
0095 MonitorElement *meCaloPreShPhi;
0096 MonitorElement *meCaloPreShEta;
0097
0098
0099
0100 MonitorElement *meCaloHcal[2];
0101 MonitorElement *meCaloHcalE[2];
0102 MonitorElement *meCaloHcalToF[2];
0103 MonitorElement *meCaloHcalPhi;
0104 MonitorElement *meCaloHcalEta;
0105
0106
0107
0108
0109
0110
0111 MonitorElement *meTrackerPx[2];
0112 MonitorElement *meTrackerPxPhi;
0113 MonitorElement *meTrackerPxEta;
0114 MonitorElement *meTrackerPxBToF;
0115 MonitorElement *meTrackerPxBR;
0116 MonitorElement *meTrackerPxFToF;
0117 MonitorElement *meTrackerPxFZ;
0118
0119
0120
0121
0122
0123 MonitorElement *meTrackerSi[2];
0124 MonitorElement *meTrackerSiPhi;
0125 MonitorElement *meTrackerSiEta;
0126 MonitorElement *meTrackerSiBToF;
0127 MonitorElement *meTrackerSiBR;
0128 MonitorElement *meTrackerSiFToF;
0129 MonitorElement *meTrackerSiFZ;
0130
0131
0132 MonitorElement *meMuon[2];
0133 MonitorElement *meMuonPhi;
0134 MonitorElement *meMuonEta;
0135
0136
0137
0138
0139 MonitorElement *meMuonDtToF[2];
0140 MonitorElement *meMuonDtR;
0141
0142
0143
0144 MonitorElement *meMuonCscToF[2];
0145 MonitorElement *meMuonCscZ;
0146
0147
0148
0149
0150 MonitorElement *meMuonRpcFToF[2];
0151 MonitorElement *meMuonRpcFZ;
0152 MonitorElement *meMuonRpcBToF[2];
0153 MonitorElement *meMuonRpcBR;
0154
0155
0156 unsigned int count;
0157
0158 };
0159
0160 #endif