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 
63  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
64  virtual bool store();
65  virtual void setPattern();
66  virtual void fill(edm::Event &iEvent, const edm::EventSetup& iSetup);
67  virtual void fillPixel(uint32_t detid, short row, short col,short ipoint, short adc);
68  virtual bool checkPixel(uint32_t detid, short row, short col);
69  virtual bool checkFED(uint32_t detid);
70  virtual void clear();
71  typedef std::pair<uint32_t,std::pair<short,short> > pixelstruct;
72  // ----------member data ---------------------------
75  uint32_t iEventCounter_;
76 
80  int errorType;
86 
87  edm::ESHandle<SiPixelCalibConfiguration> calib_; // keeps track of the calibration constants
90 
91  // worker variables
92  std::map<pixelstruct,SiPixelCalibDigi> 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 
104 #endif
int adc(sample_type sample)
get the ADC sample (12 bits)
std::pair< uint32_t, std::pair< short, short > > pixelstruct
virtual void fill(edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual bool checkFED(uint32_t detid)
std::map< uint32_t, uint32_t > detid_to_fedid_
int iEvent
Definition: GenABIO.cc:230
std::map< pixelstruct, SiPixelCalibDigi > intermediate_data_
edm::ESHandle< SiPixelFedCablingMap > theCablingMap_
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
virtual bool checkPixel(uint32_t detid, short row, short col)
std::map< pixelstruct, SiPixelCalibDigiError > error_data_
std::vector< std::pair< short, short > > currentpattern_
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:1009
edm::ESHandle< SiPixelCalibConfiguration > calib_
std::pair< short, short > currentpair_
edm::ESHandle< TrackerGeometry > theGeometry_