1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#ifndef SiPixelStatusManager_H
#define SiPixelStatusManager_H
/** \class SiPixelStatusManager
*
*
* \author
*/
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/LuminosityBlock.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "DataFormats/Provenance/interface/LuminosityBlockID.h"
#include <string>
#include <map>
#include <utility>
#include <iostream>
#include <algorithm> // std::sort
#include <vector> // std::vector
//Data format
#include "CalibTracker/SiPixelQuality/interface/SiPixelDetectorStatus.h"
class SiPixelStatusManager {
public:
SiPixelStatusManager();
SiPixelStatusManager(const edm::ParameterSet&, edm::ConsumesCollector&&);
virtual ~SiPixelStatusManager();
void reset();
void readLumi(const edm::LuminosityBlock&);
void createPayloads();
const std::map<edm::LuminosityBlockNumber_t, SiPixelDetectorStatus>& getBadComponents() { return siPixelStatusMap_; }
const std::map<edm::LuminosityBlockNumber_t, std::map<int, std::vector<int>>>& getFEDerror25Rocs() {
return FEDerror25Map_;
}
typedef std::map<edm::LuminosityBlockNumber_t, SiPixelDetectorStatus>::iterator siPixelStatusMap_iterator;
typedef std::map<edm::LuminosityBlockNumber_t, std::map<int, std::vector<int>>>::iterator FEDerror25Map_iterator;
typedef std::vector<SiPixelDetectorStatus>::iterator siPixelStatusVtr_iterator;
private:
static bool rankByLumi(SiPixelDetectorStatus status1, SiPixelDetectorStatus status2);
void createFEDerror25();
void createBadComponents();
std::vector<SiPixelDetectorStatus> siPixelStatusVtr_;
std::map<edm::LuminosityBlockNumber_t, SiPixelDetectorStatus> siPixelStatusMap_;
std::map<edm::LuminosityBlockNumber_t, std::map<int, std::vector<int>>> FEDerror25Map_;
std::string outputBase_;
int aveDigiOcc_;
int nLumi_;
std::string moduleName_;
std::string label_;
edm::EDGetTokenT<SiPixelDetectorStatus> siPixelStatusToken_;
};
#endif
|