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
30 
32 
35 
37 
42 
48 
49 #include <map>
50 #include <vector>
51 #include <iostream>
52 //
53 // class decleration
54 //
55 
57 public:
58  explicit SiPixelCalibDigiProducer(const edm::ParameterSet& iConfig);
59  ~SiPixelCalibDigiProducer() override;
60 
61 private:
62  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
63  virtual bool store();
64  virtual void setPattern();
65  virtual void fill(edm::Event& iEvent, const edm::EventSetup& iSetup);
66  virtual void fillPixel(uint32_t detid, short row, short col, short ipoint, short adc);
67  virtual bool checkPixel(uint32_t detid, short row, short col);
68  virtual bool checkFED(uint32_t detid);
69  virtual void clear();
70  typedef std::pair<uint32_t, std::pair<short, short>> pixelstruct;
71  // ----------member data ---------------------------
74  uint32_t iEventCounter_;
75 
79  int errorType;
85 
86  edm::ESHandle<SiPixelCalibConfiguration> calib_; // keeps track of the calibration constants
89 
90  // worker variables
91  std::map<pixelstruct, SiPixelCalibDigi>
92  intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
93  std::map<pixelstruct, SiPixelCalibDigiError> error_data_;
94  // std::vector<SiPixelCalibDigi> intermediate_data_; // data container, copied over into the event every pattern_repeat_ events
95  std::vector<pixelstruct> detPixelMap_; // map to keep track of which pixels are filled where in intermediate_data_
96  uint32_t pattern_repeat_; // keeps track of when the pattern should change
97  std::map<uint32_t, uint32_t> detid_to_fedid_; // keeps track in which fed each detid is present.
98 
99  std::vector<std::pair<short, short>> currentpattern_; // keeps track of which pattern we are at
100  std::pair<short, short> currentpair_; //worker class to keep track of pairs
101 };
102 
103 #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
virtual bool checkPixel(uint32_t detid, short row, short col)
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
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
SiPixelCalibDigiProducer(const edm::ParameterSet &iConfig)
col
Definition: cuy.py:1010
edm::ESHandle< SiPixelCalibConfiguration > calib_
std::pair< short, short > currentpair_
std::map< uint32_t, uint32_t > detid_to_fedid_
edm::ESHandle< TrackerGeometry > theGeometry_