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 
11 // C++ standard
12 #include <string>
13 // CMS
30 
31 class SiPixelStatusProducer : public edm::one::EDProducer<edm::EndLuminosityBlockProducer,
32  edm::one::WatchLuminosityBlocks, edm::Accumulator> {
33  public:
35  ~SiPixelStatusProducer() override;
36 
37  private:
38  void beginLuminosityBlock (edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
39  void endLuminosityBlock (edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
40  void endLuminosityBlockProduce(edm::LuminosityBlock& lumiSeg, const edm::EventSetup& iSetup) final;
41  void accumulate (edm::Event const&, const edm::EventSetup& iSetup) final;
42 
43  virtual void onlineRocColRow(const DetId &detId, int offlineRow, int offlineCol, int &roc, int &row, int &col) final;
44 
45  virtual int indexROC(int irow, int icol, int nROCcolumns) final;
46 
47  // time granularity control
48  unsigned long int ftotalevents;
50  int countLumi_; //counter
51 
53  int endLumi_;
54  int beginRun_;
55  int endRun_;
56 
57  // condition watchers
58  // CablingMaps
62 
63  // TrackerDIGIGeo
66  // TrackerTopology
68 
69  // SiPixel offline<->online conversion
70  // -- map (for each detid) of the map from offline col/row to the online roc/col/row
72 
73  // ROC size (number of row, number of columns for each det id)
74  std::map<int, std::pair<int,int> > fSensors;
75  // the roc layout on a module
76  std::map<int, std::pair<int,int> > fSensorLayout;
77  // fedId as a function of detId
78  std::unordered_map<uint32_t, unsigned int> fFedIds;
79  // map the index ROC to rocId
80  std::map<int, std::map<int,int> > fRocIds;
81 
82  // Producer inputs / controls
85  std::vector<edm::EDGetTokenT<PixelFEDChannelCollection> > theBadPixelFEDChannelsTokens_;
86 
87  // Channels always have FEDerror25 for the full lumi section
88  std::map<int, std::vector<PixelFEDChannel> > FEDerror25_;
89 
90  // Producer production (output collection)
92 
93 };
94 
95 #endif
edm::ESHandle< TrackerGeometry > fTG
std::map< int, std::map< int, int > > fRocIds
void accumulate(edm::Event const &, const edm::EventSetup &iSetup) final
SiPixelStatusProducer(const edm::ParameterSet &)
std::map< int, std::pair< int, int > > fSensors
std::map< int, std::pair< int, int > > fSensorLayout
edm::ESWatcher< TrackerDigiGeometryRecord > trackerDIGIGeoWatcher_
edm::ESWatcher< TrackerTopologyRcd > trackerTopoWatcher_
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
SiPixelDetectorStatus fDet
Definition: DetId.h:18
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
void endLuminosityBlockProduce(edm::LuminosityBlock &lumiSeg, const edm::EventSetup &iSetup) final
SiPixelCoordinates coord_
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, const edm::EventSetup &iSetup) final