File indexing completed on 2024-04-06 12:08:21
0001 #ifndef SiPixelMonitorCluster_SiPixelClusterSource_h
0002 #define SiPixelMonitorCluster_SiPixelClusterSource_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <memory>
0024
0025
0026 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0027 #include "DQM/SiPixelMonitorCluster/interface/SiPixelClusterModule.h"
0028 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h"
0029 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0030 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0031 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0032 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0033 #include <cstdint>
0034
0035 class SiPixelClusterSource : public DQMEDAnalyzer {
0036 public:
0037 explicit SiPixelClusterSource(const edm::ParameterSet &conf);
0038 ~SiPixelClusterSource() override;
0039
0040 typedef edmNew::DetSet<SiPixelCluster>::const_iterator ClusterIterator;
0041
0042 void analyze(const edm::Event &, const edm::EventSetup &) override;
0043 void dqmBeginRun(const edm::Run &, edm::EventSetup const &) override;
0044 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0045
0046 virtual void buildStructure(edm::EventSetup const &);
0047 virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup);
0048
0049 std::string topFolderName_;
0050
0051 private:
0052 edm::ParameterSet conf_;
0053 edm::InputTag src_;
0054 edm::InputTag digisrc_;
0055 bool saveFile;
0056 bool isPIB;
0057 bool slowDown;
0058 int eventNo;
0059 std::map<uint32_t, SiPixelClusterModule *> thePixelStructure;
0060 bool modOn;
0061 bool twoDimOn;
0062 bool reducedSet;
0063
0064 bool ladOn, layOn, phiOn;
0065
0066 bool ringOn, bladeOn, diskOn;
0067 bool smileyOn;
0068 bool firstRun;
0069 int lumSec;
0070 int nLumiSecs;
0071 int nBigEvents;
0072 MonitorElement *bigFpixClusterEventRate;
0073 int bigEventSize;
0074 bool isUpgrade;
0075
0076 std::vector<MonitorElement *> meClPosLayer;
0077 std::vector<MonitorElement *> meClPosDiskpz;
0078 std::vector<MonitorElement *> meClPosDiskmz;
0079
0080 MonitorElement *meClusBarrelProf;
0081 MonitorElement *meClusFpixPProf;
0082 MonitorElement *meClusFpixMProf;
0083
0084 std::vector<MonitorElement *> meZeroRocBPIX;
0085 MonitorElement *meZeroRocFPIX;
0086
0087 int noOfLayers;
0088 int noOfDisks;
0089
0090 void getrococcupancy(DetId detId,
0091 const edm::DetSetVector<PixelDigi> &diginp,
0092 const TrackerTopology *const tTopo,
0093 std::vector<MonitorElement *> const &meinput);
0094 void getrococcupancye(DetId detId,
0095 const edmNew::DetSetVector<SiPixelCluster> &clustColl,
0096 const TrackerTopology *const pTT,
0097 edm::ESHandle<TrackerGeometry> pDD,
0098 MonitorElement *meinput);
0099
0100
0101 edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster>> srcToken_;
0102 edm::EDGetTokenT<edm::DetSetVector<PixelDigi>> digisrcToken_;
0103
0104 edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> trackerTopoToken_;
0105 edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerGeomToken_;
0106 edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> trackerTopoTokenBeginRun_;
0107 edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerGeomTokenBeginRun_;
0108 };
0109
0110 #endif