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 FW
19 // Pixel data format
26 // Tracker Geo
31 
32 class SiPixelStatusProducer : public edm::one::EDProducer<edm::EndLuminosityBlockProducer,
33  edm::one::WatchLuminosityBlocks, edm::Accumulator> {
34  public:
36  ~SiPixelStatusProducer() override;
37 
38  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
39 
40  private:
41 
42  void beginLuminosityBlock (edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
43  void endLuminosityBlock (edm::LuminosityBlock const& lumiSeg, const edm::EventSetup& iSetup) final;
44  void endLuminosityBlockProduce(edm::LuminosityBlock& lumiSeg, const edm::EventSetup& iSetup) final;
45  void accumulate (edm::Event const&, const edm::EventSetup& iSetup) final;
46 
47  virtual void onlineRocColRow(const DetId &detId, int offlineRow, int offlineCol, int &roc, int &row, int &col) final;
48 
49  virtual int indexROC(int irow, int icol, int nROCcolumns) final;
50 
51  // time granularity control
52  unsigned long int ftotalevents;
54  int countLumi_; //counter
55 
57  int endLumi_;
58  int beginRun_;
59  int endRun_;
60 
61  // condition watchers
62  // CablingMaps
66 
67  // TrackerDIGIGeo
70  // TrackerTopology
72 
73  // SiPixel offline<->online conversion
74  // -- map (for each detid) of the map from offline col/row to the online roc/col/row
76 
77  // ROC size (number of row, number of columns for each det id)
78  std::map<int, std::pair<int,int> > fSensors;
79  // the roc layout on a module
80  std::map<int, std::pair<int,int> > fSensorLayout;
81  // fedId as a function of detId
82  std::unordered_map<uint32_t, unsigned int> fFedIds;
83  // map the index ROC to rocId
84  std::map<int, std::map<int,int> > fRocIds;
85 
86  // Producer inputs / controls
89  std::vector<edm::EDGetTokenT<PixelFEDChannelCollection> > theBadPixelFEDChannelsTokens_;
90 
91  // Channels always have FEDerror25 for the full lumi section
92  std::map<int, std::vector<PixelFEDChannel> > FEDerror25_;
93 
94  // Producer production (output collection)
96 
97 };
98 
99 #endif
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
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