File indexing completed on 2024-05-10 02:21:32
0001 #ifndef GlobalHitsHistogrammer_h
0002 #define GlobalHitsHistogrammer_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/ESHandle.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/EventSetup.h"
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018 #include "FWCore/Framework/interface/MakerMacros.h"
0019 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021
0022
0023
0024
0025 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0026 #include "DQMServices/Core/interface/DQMStore.h"
0027 #include "FWCore/ServiceRegistry/interface/Service.h"
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058 #include "SimDataFormats/ValidationFormats/interface/PValidationFormats.h"
0059
0060
0061
0062 #include <CLHEP/Units/SystemOfUnits.h>
0063 #include "DataFormats/Math/interface/LorentzVector.h"
0064
0065 #include <cstdlib>
0066 #include <iostream>
0067 #include <memory>
0068 #include <string>
0069 #include <vector>
0070
0071 #include "TString.h"
0072
0073 class GlobalHitsHistogrammer : public DQMEDAnalyzer {
0074 public:
0075
0076
0077 explicit GlobalHitsHistogrammer(const edm::ParameterSet &);
0078 ~GlobalHitsHistogrammer() override;
0079 void analyze(const edm::Event &, const edm::EventSetup &) override;
0080 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0081
0082 private:
0083
0084 std::string fName;
0085 int verbosity;
0086 int frequency;
0087 int vtxunit;
0088 std::string label;
0089 bool getAllProvenances;
0090 bool printProvenanceInfo;
0091
0092 std::string outputfile;
0093 bool doOutput;
0094
0095 edm::InputTag GlobalHitSrc_;
0096 edm::EDGetTokenT<PGlobalSimHit> GlobalHitSrc_Token_;
0097
0098
0099 MonitorElement *meMCRGP[2];
0100 MonitorElement *meMCG4Vtx[2];
0101 MonitorElement *meGeantVtxX[2];
0102 MonitorElement *meGeantVtxY[2];
0103 MonitorElement *meGeantVtxZ[2];
0104 MonitorElement *meMCG4Trk[2];
0105 MonitorElement *meGeantTrkPt;
0106 MonitorElement *meGeantTrkE;
0107
0108
0109
0110 MonitorElement *meCaloEcal[2];
0111 MonitorElement *meCaloEcalE[2];
0112 MonitorElement *meCaloEcalToF[2];
0113 MonitorElement *meCaloEcalPhi;
0114 MonitorElement *meCaloEcalEta;
0115
0116
0117 MonitorElement *meCaloPreSh[2];
0118 MonitorElement *meCaloPreShE[2];
0119 MonitorElement *meCaloPreShToF[2];
0120 MonitorElement *meCaloPreShPhi;
0121 MonitorElement *meCaloPreShEta;
0122
0123
0124
0125 MonitorElement *meCaloHcal[2];
0126 MonitorElement *meCaloHcalE[2];
0127 MonitorElement *meCaloHcalToF[2];
0128 MonitorElement *meCaloHcalPhi;
0129 MonitorElement *meCaloHcalEta;
0130
0131
0132
0133 int nPxlBrlHits;
0134 int nPxlFwdHits;
0135 int nPxlHits;
0136 MonitorElement *meTrackerPx[2];
0137 MonitorElement *meTrackerPxPhi;
0138 MonitorElement *meTrackerPxEta;
0139 MonitorElement *meTrackerPxBToF;
0140 MonitorElement *meTrackerPxBR;
0141 MonitorElement *meTrackerPxFToF;
0142 MonitorElement *meTrackerPxFZ;
0143
0144
0145 int nSiHits;
0146 int nSiBrlHits;
0147 int nSiFwdHits;
0148 MonitorElement *meTrackerSi[2];
0149 MonitorElement *meTrackerSiPhi;
0150 MonitorElement *meTrackerSiEta;
0151 MonitorElement *meTrackerSiBToF;
0152 MonitorElement *meTrackerSiBR;
0153 MonitorElement *meTrackerSiFToF;
0154 MonitorElement *meTrackerSiFZ;
0155
0156
0157 MonitorElement *meMuon[2];
0158 MonitorElement *meMuonPhi;
0159 MonitorElement *meMuonEta;
0160 int nMuonHits;
0161
0162
0163 int nMuonDtHits;
0164 MonitorElement *meMuonDtToF[2];
0165 MonitorElement *meMuonDtR;
0166
0167
0168 int nMuonCscHits;
0169 MonitorElement *meMuonCscToF[2];
0170 MonitorElement *meMuonCscZ;
0171
0172
0173 int nMuonRpcBrlHits;
0174 int nMuonRpcFwdHits;
0175 MonitorElement *meMuonRpcFToF[2];
0176 MonitorElement *meMuonRpcFZ;
0177 MonitorElement *meMuonRpcBToF[2];
0178 MonitorElement *meMuonRpcBR;
0179
0180
0181 unsigned int count;
0182
0183 };
0184
0185 #endif