File indexing completed on 2024-04-06 12:33:44
0001 #ifndef TrackerHitAnalyzer_H
0002 #define TrackerHitAnalyzer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0014
0015 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0016 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0017 #include "DQMServices/Core/interface/DQMStore.h"
0018
0019 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0020 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0021
0022 #include <string>
0023
0024 class TrackerHitAnalyzer : public DQMEDAnalyzer {
0025 public:
0026
0027 TrackerHitAnalyzer(const edm::ParameterSet &ps);
0028
0029
0030 ~TrackerHitAnalyzer() override;
0031
0032 protected:
0033 void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es) override;
0034
0035
0036 void analyze(const edm::Event &e, const edm::EventSetup &c) override;
0037
0038
0039
0040 private:
0041 const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> tGeomEsToken_;
0042 bool verbose_;
0043
0044 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_pxlBrlLow_Token_, edmPSimHitContainer_pxlBrlHigh_Token_;
0045 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_pxlFwdLow_Token_, edmPSimHitContainer_pxlFwdHigh_Token_;
0046 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_siTIBLow_Token_, edmPSimHitContainer_siTIBHigh_Token_;
0047 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_siTOBLow_Token_, edmPSimHitContainer_siTOBHigh_Token_;
0048 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_siTIDLow_Token_, edmPSimHitContainer_siTIDHigh_Token_;
0049 edm::EDGetTokenT<edm::PSimHitContainer> edmPSimHitContainer_siTECLow_Token_, edmPSimHitContainer_siTECHigh_Token_;
0050 edm::EDGetTokenT<edm::SimTrackContainer> edmSimTrackContainerToken_;
0051
0052 DQMStore *fDBE;
0053 edm::ParameterSet conf_;
0054
0055 MonitorElement *htofeta;
0056 MonitorElement *htofphi;
0057 MonitorElement *htofr;
0058 MonitorElement *htofz;
0059 MonitorElement *htofeta_profile;
0060 MonitorElement *htofphi_profile;
0061 MonitorElement *htofr_profile;
0062 MonitorElement *htofz_profile;
0063 MonitorElement *h1e[12];
0064 MonitorElement *h2e[12];
0065 MonitorElement *h3e[12];
0066 MonitorElement *h4e[12];
0067 MonitorElement *h5e[12];
0068 MonitorElement *h6e[12];
0069
0070 MonitorElement *h1ex[12];
0071 MonitorElement *h2ex[12];
0072 MonitorElement *h3ex[12];
0073 MonitorElement *h4ex[12];
0074 MonitorElement *h5ex[12];
0075 MonitorElement *h6ex[12];
0076
0077 MonitorElement *h1ey[12];
0078 MonitorElement *h2ey[12];
0079 MonitorElement *h3ey[12];
0080 MonitorElement *h4ey[12];
0081 MonitorElement *h5ey[12];
0082 MonitorElement *h6ey[12];
0083
0084 MonitorElement *h1ez[12];
0085 MonitorElement *h2ez[12];
0086 MonitorElement *h3ez[12];
0087 MonitorElement *h4ez[12];
0088 MonitorElement *h5ez[12];
0089 MonitorElement *h6ez[12];
0090
0091 MonitorElement *h1lx[12];
0092 MonitorElement *h2lx[12];
0093 MonitorElement *h3lx[12];
0094 MonitorElement *h4lx[12];
0095 MonitorElement *h5lx[12];
0096 MonitorElement *h6lx[12];
0097
0098 MonitorElement *h1ly[12];
0099 MonitorElement *h2ly[12];
0100 MonitorElement *h3ly[12];
0101 MonitorElement *h4ly[12];
0102 MonitorElement *h5ly[12];
0103 MonitorElement *h6ly[12];
0104
0105 bool runStandalone;
0106 std::string fOutputFile;
0107 bool pixelOutput;
0108 };
0109
0110 #endif