CMS 3D CMS Logo

SiPixelStatusHarvester.h
Go to the documentation of this file.
1 #ifndef SiPixelStatusHarvester_H
2 #define SiPixelStatusHarvester_H
3 
13 
14 // PixelDQM Framework
16 
17 class SiPixelStatusHarvester : public one::DQMEDAnalyzer<edm::one::WatchLuminosityBlocks>, private HistogramManagerHolder {
18  enum {
25  };
26 
27  public:
28 
29  // Constructor
31 
32  // Destructor
33  ~SiPixelStatusHarvester() override;
34 
35  // Operations
36  void beginJob () override;
37  void endJob () override;
38  void bookHistograms (DQMStore::IBooker& iBooker, edm::Run const&, edm::EventSetup const& iSetup ) final;
39  void endRunProduce (edm::Run&, const edm::EventSetup&) final;
40  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) final;
41 
42  void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) final;
43  void endLuminosityBlock (const edm::LuminosityBlock&, const edm::EventSetup&) final;
44 
45  private:
46 
47  // Parameters
48  std::string outputBase_;
50  int nLumi_;
51  std::string moduleName_;
52  std::string label_;
53  // harvest helper classs that setup the IOV structure
55  // debug mode
56  bool debug_;
57  // for DB output naming
58  std::string recordName_;
59 
60  // permanent known bad components
62 
63  // totoal number of lumi blocks with non-zero pixel DIGIs
64  int countLumi_ = 0;
65  // last lumi section of the SiPixeDetectorStatus data
67 
69  const SiPixelFedCabling* cablingMap_ = nullptr;
70  std::map<int, unsigned int> sensorSize_;
71 
72  // pixel online to offline pixel row/column
73  std::map<int, std::map<int, std::pair<int,int> > > pixelO2O_;
74 
75  //Helper functions
76 
77  // "step function" for IOV
79 
80  // boolean function to check whether two SiPixelQualitys (pyloads) are identical
82 
83  // Tag constructor
84  void constructTag(std::map<int,SiPixelQuality*>siPixelQualityTag, edm::Service<cond::service::PoolDBOutputService> &poolDbService, std::string tagName, edm::Run& iRun);
85 
86 
87 };
88 
89 
90 #endif
void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) final
bool equal(SiPixelQuality *a, SiPixelQuality *b)
std::map< int, unsigned int > sensorSize_
void constructTag(std::map< int, SiPixelQuality * >siPixelQualityTag, edm::Service< cond::service::PoolDBOutputService > &poolDbService, std::string tagName, edm::Run &iRun)
edm::LuminosityBlockNumber_t endLumiBlock_
edm::LuminosityBlockNumber_t stepIOV(edm::LuminosityBlockNumber_t pin, std::map< edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t > IOV)
unsigned int LuminosityBlockNumber_t
SiPixelStatusManager siPixelStatusManager_
void bookHistograms(DQMStore::IBooker &iBooker, edm::Run const &, edm::EventSetup const &iSetup) final
int iEvent
Definition: GenABIO.cc:230
const SiPixelQuality * badPixelInfo_
const SiPixelFedCabling * cablingMap_
const TrackerGeometry * trackerGeometry_
void endRunProduce(edm::Run &, const edm::EventSetup &) final
SiPixelStatusHarvester(const edm::ParameterSet &)
double b
Definition: hdecay.h:120
std::map< int, std::map< int, std::pair< int, int > > > pixelO2O_
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) final
Definition: plugin.cc:24
HLT enums.
double a
Definition: hdecay.h:121
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) final
Definition: Run.h:44