CMS 3D CMS Logo

SiPixelStatusProducer.h
Go to the documentation of this file.
1 #ifndef CalibTracker_SiPixelQuality_SiPixelStatusProducer_h
2 #define CalibTracker_SiPixelQuality_SiPixelStatusProducer_h
3 
10 // C++ standard
11 #include <string>
12 // CMS FW
18 // Pixel data format
25 // Tracker Geo
30 
32  : public edm::one::EDProducer<edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator> {
33 public:
35  ~SiPixelStatusProducer() override;
36 
37  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
38 
39 private:
40  void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
41  void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
42  void endLuminosityBlockProduce(edm::LuminosityBlock& lumiSeg, const edm::EventSetup& iSetup) final;
43  void accumulate(edm::Event const&, const edm::EventSetup& iSetup) final;
44 
45  virtual void onlineRocColRow(const DetId& detId, int offlineRow, int offlineCol, int& roc, int& row, int& col) final;
46 
47  virtual int indexROC(int irow, int icol, int nROCcolumns) final;
48 
49  // time granularity control
50  unsigned long int ftotalevents;
52  int countLumi_; //counter
53 
55  int endLumi_;
56  int beginRun_;
57  int endRun_;
58 
59  // condition watchers
60  // CablingMaps
64 
65  // TrackerDIGIGeo
68  // TrackerTopology
70 
71  // SiPixel offline<->online conversion
72  // -- map (for each detid) of the map from offline col/row to the online roc/col/row
74 
75  // ROC size (number of row, number of columns for each det id)
76  std::map<int, std::pair<int, int>> fSensors;
77  // the roc layout on a module
78  std::map<int, std::pair<int, int>> fSensorLayout;
79  // fedId as a function of detId
80  std::unordered_map<uint32_t, unsigned int> fFedIds;
81  // map the index ROC to rocId
82  std::map<int, std::map<int, int>> fRocIds;
83 
84  // Producer inputs / controls
87  std::vector<edm::EDGetTokenT<PixelFEDChannelCollection>> theBadPixelFEDChannelsTokens_;
88 
89  // Channels always have FEDerror25 for the full lumi section
90  std::map<int, std::vector<PixelFEDChannel>> FEDerror25_;
91 
92  // Producer production (output collection)
94 };
95 
96 #endif
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::ESHandle< TrackerGeometry > fTG
void accumulate(edm::Event const &, const edm::EventSetup &iSetup) final
SiPixelStatusProducer(const edm::ParameterSet &)
edm::ESWatcher< TrackerDigiGeometryRecord > trackerDIGIGeoWatcher_
edm::ESWatcher< TrackerTopologyRcd > trackerTopoWatcher_
std::map< int, std::pair< int, int > > fSensorLayout
edm::ESHandle< SiPixelFedCablingMap > fCablingMap
std::vector< edm::EDGetTokenT< PixelFEDChannelCollection > > theBadPixelFEDChannelsTokens_
virtual void onlineRocColRow(const DetId &detId, int offlineRow, int offlineCol, int &roc, int &row, int &col) final
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > fSiPixelClusterToken_
std::unordered_map< uint32_t, unsigned int > fFedIds
std::map< int, std::pair< int, int > > fSensors
SiPixelDetectorStatus fDet
Definition: DetId.h:17
unsigned long int ftotalevents
edm::ESWatcher< SiPixelFedCablingMapRcd > siPixelFedCablingMapWatcher_
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &iSetup) final
std::map< int, std::vector< PixelFEDChannel > > FEDerror25_
const SiPixelFedCablingMap * fCablingMap_
col
Definition: cuy.py:1010
virtual int indexROC(int irow, int icol, int nROCcolumns) final
std::map< int, std::map< int, int > > fRocIds
void endLuminosityBlockProduce(edm::LuminosityBlock &lumiSeg, const edm::EventSetup &iSetup) final
SiPixelCoordinates coord_
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &iSetup) final