CMS 3D CMS Logo

SiPixelErrorsDigisToCalibDigis.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiPixelErrorsDigisToCalibDigis
4 // Class: SiPixelErrorsDigisToCalibDigis
5 //
13 //
14 // Original Author: Ricardo Vasquez Sierra
15 // Created: Wed Apr 9 12:43:02 CEST 2008
16 //
17 //
18 
19 // system include files
20 #include <memory>
21 
23 
24 // user include files
26 
27 //
28 // constants, enums and typedefs
29 //
30 
31 //
32 // static data member definitions
33 //
34 
35 //
36 // constructors and destructor
37 //
39 
40 {
41  siPixelProducerLabel_ = iConfig.getParameter<edm::InputTag>("SiPixelProducerLabelTag");
42  createOutputFile_ = iConfig.getUntrackedParameter<bool>("saveFile", false);
43  outputFilename_ = iConfig.getParameter<std::string>("outputFilename");
46 
47  tPixelCalibDigiError = consumes<edm::DetSetVector<SiPixelCalibDigiError> >(siPixelProducerLabel_);
48 
49  trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
50 
51  // std::cout<<"siPixelProducerLabel_ = "<<siPixelProducerLabel_<<std::endl;
52  // std::cout<<"createOutputFile_= "<< createOutputFile_<<std::endl;
53  // std::cout<<"outpuFilename_= "<< outputFilename_<< std::endl;
54 }
55 
57  // do anything here that needs to be done at desctruction time
58  // (e.g. close files, deallocate resources etc.)
59 }
60 
61 //
62 // member functions
63 //
64 
65 // ------------ method called to for each event ------------
67  using namespace edm;
68 
69  static int first(1);
70  if (1 == first) {
71  first = 0;
74  }
75 
77  iEvent.getByToken(tPixelCalibDigiError, thePlaquettes);
78  // iEvent.getByLabel("siPixelCalibDigis", thePlaquettes);
79 
81 
82  for (digiIter = thePlaquettes->begin(); digiIter != thePlaquettes->end(); digiIter++) {
83  uint32_t detId = digiIter->id;
84 
86  //loop over pixel errors pulsed in the current plaquette
87 
88  MonitorElement* temp_;
89 
90  std::map<uint32_t, MonitorElement*>::iterator mapIterator =
92 
93  if (digiIter->begin() != digiIter->end()) {
94  if (mapIterator == SiPixelErrorsDigisToCalibDigis_2DErrorInformation_.end()) {
95  // std::cout << "This is the beginning of an error 2d histo booking: "<<std::endl;
96  setDQMDirectory(detId);
97  temp_ = bookDQMHistoPlaquetteSummary2D(detId, "SiPixelErrorsCalibDigis", "SiPixelErrorsDigisToCalibDigis");
98  SiPixelErrorsDigisToCalibDigis_2DErrorInformation_.insert(std::make_pair(detId, temp_));
99  } else {
100  // std::cout << "This one was already booked."<<std::endl;
101  temp_ = (*mapIterator).second;
102  }
103 
104  for (ipix = digiIter->begin(); ipix != digiIter->end(); ++ipix) {
105  temp_->Fill(ipix->getCol(), ipix->getRow());
106  // std::cout << "detId: " << detId << " " << ipix->getRow() << " " << ipix->getCol() << std::endl;
107  }
108 
109  } // end of the if statement asking if the plaquette in question has any errors in it
110 
111  } // end of the for loop that goes through all plaquettes
112 }
113 
114 // ------------ method called once each job just before starting event loop ------------
116 
117 // ------------ method called once each job just after ending the event loop ------------
119  if (!outputFilename_.empty() && createOutputFile_) {
120  edm::LogInfo("SiPixelErrorCalibDigis") << "Writing ROOT file to: " << outputFilename_ << std::endl;
121  if (edm::Service<DQMStore>().isAvailable())
123  }
124 }
125 
126 // ------------ helper functions ---------------------------------------------------------
127 
131  int nchX,
132  double lowX,
133  double highX,
134  int nchY,
135  double lowY,
136  double highY) {
138  return daqBE_->book2D(hid, title, nchX, lowX, highX, nchY, lowY, highY);
139 }
140 
142  uint32_t detid, std::string name, std::string title) {
143  DetId detId(detid);
144  const TrackerGeometry& theTracker(*geom_);
145  const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(theTracker.idToDet(detId));
146  int maxcol = theGeomDet->specificTopology().ncolumns();
147  int maxrow = theGeomDet->specificTopology().nrows();
148 
150  return daqBE_->book2D(hid, title, maxcol, 0, maxcol, maxrow, 0, maxrow);
151 }
152 
155  return daqBE_->dirExists(dirName);
156 }
157 
159 
160 // -- define this as a plug-in
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
SiPixelErrorsDigisToCalibDigis::theHistogramIdWorker_
SiPixelHistogramId * theHistogramIdWorker_
Definition: SiPixelErrorsDigisToCalibDigis.h:87
SiPixelErrorsDigisToCalibDigis::daqBE_
DQMStore * daqBE_
Definition: SiPixelErrorsDigisToCalibDigis.h:86
edm::DetSetVector::end
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
SiPixelFolderOrganizer::setModuleFolder
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0, bool isUpgrade=false)
Set folder name for a module or plaquette.
Definition: SiPixelFolderOrganizer.cc:27
edm
HLT enums.
Definition: AlignableModifier.h:19
SiPixelErrorsDigisToCalibDigis::outputFilename_
std::string outputFilename_
Definition: SiPixelErrorsDigisToCalibDigis.h:88
edm::DetSetVector::begin
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:314
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::Handle
Definition: AssociativeIterator.h:50
SiPixelErrorsDigisToCalibDigis::~SiPixelErrorsDigisToCalibDigis
~SiPixelErrorsDigisToCalibDigis() override
Definition: SiPixelErrorsDigisToCalibDigis.cc:56
SiPixelErrorsDigisToCalibDigis::setDQMDirectory
bool setDQMDirectory(std::string dirName)
Definition: SiPixelErrorsDigisToCalibDigis.cc:153
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
DetId
Definition: DetId.h:17
MakerMacros.h
SiPixelErrorsDigisToCalibDigis::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SiPixelErrorsDigisToCalibDigis.cc:66
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
SiPixelErrorsDigisToCalibDigis::SiPixelErrorsDigisToCalibDigis
SiPixelErrorsDigisToCalibDigis(const edm::ParameterSet &)
Definition: SiPixelErrorsDigisToCalibDigis.cc:38
SiPixelErrorsDigisToCalibDigis::createOutputFile_
bool createOutputFile_
Definition: SiPixelErrorsDigisToCalibDigis.h:89
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiPixelErrorsDigisToCalibDigis::siPixelProducerLabel_
edm::InputTag siPixelProducerLabel_
Definition: SiPixelErrorsDigisToCalibDigis.h:83
SiPixelHistogramId::setHistoId
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
Definition: SiPixelHistogramId.cc:29
PixelTopology::ncolumns
virtual int ncolumns() const =0
dqm::implementation::DQMStore::setCurrentFolder
void setCurrentFolder(std::string const &fullpath) override
Definition: DQMStore.h:569
SiPixelErrorsDigisToCalibDigis::bookDQMHistoPlaquetteSummary2D
MonitorElement * bookDQMHistoPlaquetteSummary2D(uint32_t detid, std::string name, std::string title)
Definition: SiPixelErrorsDigisToCalibDigis.cc:141
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiPixelErrorsDigisToCalibDigis::trackerGeomToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
Definition: SiPixelErrorsDigisToCalibDigis.h:71
SiPixelHistogramId
Definition: SiPixelHistogramId.h:25
edm::ParameterSet
Definition: ParameterSet.h:47
SiPixelErrorsDigisToCalibDigis::SiPixelErrorsDigisToCalibDigis_2DErrorInformation_
std::map< uint32_t, MonitorElement * > SiPixelErrorsDigisToCalibDigis_2DErrorInformation_
Definition: SiPixelErrorsDigisToCalibDigis.h:92
edm::DetSetVector::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
edm::Service
Definition: Service.h:30
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
edm::EventSetup
Definition: EventSetup.h:58
SiPixelErrorsDigisToCalibDigis.h
SiPixelErrorsDigisToCalibDigis
Definition: SiPixelErrorsDigisToCalibDigis.h:44
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
SiPixelFolderOrganizer
Definition: SiPixelFolderOrganizer.h:26
SiPixelErrorsDigisToCalibDigis::beginJob
void beginJob() override
Definition: SiPixelErrorsDigisToCalibDigis.cc:115
TrackerOfflineValidation_Dqm_cff.dirName
dirName
Definition: TrackerOfflineValidation_Dqm_cff.py:55
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiPixelErrorsDigisToCalibDigis::folderMaker_
SiPixelFolderOrganizer * folderMaker_
Definition: SiPixelErrorsDigisToCalibDigis.h:91
SiPixelErrorsDigisToCalibDigis::geom_
edm::ESHandle< TrackerGeometry > geom_
Definition: SiPixelErrorsDigisToCalibDigis.h:69
SiPixelErrorsDigisToCalibDigis::endJob
void endJob() override
Definition: SiPixelErrorsDigisToCalibDigis.cc:118
edm::Event
Definition: Event.h:73
PixelTopology::nrows
virtual int nrows() const =0
SiPixelErrorsDigisToCalibDigis::tPixelCalibDigiError
edm::EDGetTokenT< edm::DetSetVector< SiPixelCalibDigiError > > tPixelCalibDigiError
Definition: SiPixelErrorsDigisToCalibDigis.h:84
edm::InputTag
Definition: InputTag.h:15
dqm::implementation::IGetter::dirExists
virtual bool dirExists(std::string const &path) const
Definition: DQMStore.cc:708
TrackerGeometry
Definition: TrackerGeometry.h:14
SiPixelErrorsDigisToCalibDigis::bookDQMHistogram2D
MonitorElement * bookDQMHistogram2D(uint32_t detid, std::string name, std::string title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Definition: SiPixelErrorsDigisToCalibDigis.cc:128
edm::DetSet::const_iterator
collection_type::const_iterator const_iterator
Definition: DetSet.h:31