CMS 3D CMS Logo

SiPixelCalibDigiProducer.h
Go to the documentation of this file.
1 #ifndef CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
2 #define CALIBTRACKER_SIPIXELCALIBDIGIPRODUCER_H
3 
4 //
5 // Package: SiPixelCalibDigiProducer
6 // Class: SiPixelCalibDigiProducer
7 //
15 //
16 // Original Author: Freya Blekman
17 // Created: Wed Oct 31 15:28:52 CET 2007
18 //
19 //
20 
21 // system include files
22 #include <memory>
23 
24 // user include files
29 
31 
34 
36 
41 
47 
48 #include <map>
49 #include <vector>
50 #include <iostream>
51 //
52 // class decleration
53 //
54 
56 public:
57  explicit SiPixelCalibDigiProducer(const edm::ParameterSet& iConfig);
58  ~SiPixelCalibDigiProducer() override;
59 
60 private:
61  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
62  virtual bool store();
63  virtual void setPattern();
64  virtual void fill(edm::Event& iEvent, const edm::EventSetup& iSetup);
65  virtual void fillPixel(uint32_t detid, short row, short col, short ipoint, short adc);
66  virtual bool checkPixel(uint32_t detid, short row, short col);
67  virtual bool checkFED(uint32_t detid);
68  virtual void clear();
69  typedef std::pair<uint32_t, std::pair<short, short>> pixelstruct;
70  // ----------member data ---------------------------
73  uint32_t iEventCounter_;
74 
78  int errorType;
84 
85  edm::ESHandle<SiPixelCalibConfiguration> calib_; // keeps track of the calibration constants
88 
92 
93  // worker variables
94  std::map<pixelstruct, SiPixelCalibDigi>
95  intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
96  std::map<pixelstruct, SiPixelCalibDigiError> error_data_;
97  // std::vector<SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
98  std::vector<pixelstruct> detPixelMap_; // map to keep track of which pixels are filled where in intermediate_data_
99  uint32_t pattern_repeat_; // keeps track of when the pattern should change
100  std::map<uint32_t, uint32_t> detid_to_fedid_; // keeps track in which fed each detid is present.
101 
102  std::vector<std::pair<short, short>> currentpattern_; // keeps track of which pattern we are at
103  std::pair<short, short> currentpair_; //worker class to keep track of pairs
104 };
105 
106 #endif
virtual void fill(edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual bool checkFED(uint32_t detid)
std::map< pixelstruct, SiPixelCalibDigiError > error_data_
std::map< pixelstruct, SiPixelCalibDigi > intermediate_data_
std::vector< std::pair< short, short > > currentpattern_
int iEvent
Definition: GenABIO.cc:224
edm::ESHandle< SiPixelFedCablingMap > theCablingMap_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
edm::ESGetToken< SiPixelFedCablingMap, SiPixelFedCablingMapRcd > cablingMapToken_
virtual bool checkPixel(uint32_t detid, short row, short col)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
std::pair< uint32_t, std::pair< short, short > > pixelstruct
virtual void fillPixel(uint32_t detid, short row, short col, short ipoint, short adc)
std::vector< pixelstruct > detPixelMap_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > tPixelDigi
edm::ESGetToken< SiPixelCalibConfiguration, SiPixelCalibConfigurationRcd > calibToken_
SiPixelCalibDigiProducer(const edm::ParameterSet &iConfig)
col
Definition: cuy.py:1009
edm::ESHandle< SiPixelCalibConfiguration > calib_
std::pair< short, short > currentpair_
std::map< uint32_t, uint32_t > detid_to_fedid_
edm::ESHandle< TrackerGeometry > theGeometry_
uint16_t *__restrict__ uint16_t const *__restrict__ adc