CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
SiPixelClusterSource Class Reference

#include <SiPixelClusterSource.h>

Inheritance diagram for SiPixelClusterSource:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef edmNew::DetSet< SiPixelCluster >::const_iterator ClusterIterator
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
virtual void bookMEs (DQMStore::IBooker &, const edm::EventSetup &iSetup)
 
virtual void buildStructure (edm::EventSetup const &)
 
void dqmBeginRun (const edm::Run &, edm::EventSetup const &) override
 
 SiPixelClusterSource (const edm::ParameterSet &conf)
 
 ~SiPixelClusterSource () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

std::string topFolderName_
 

Private Member Functions

void getrococcupancy (DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > const &meinput)
 
void getrococcupancye (DetId detId, const edmNew::DetSetVector< SiPixelCluster > &clustColl, const TrackerTopology *const pTT, edm::ESHandle< TrackerGeometry > pDD, MonitorElement *meinput)
 

Private Attributes

int bigEventSize
 
MonitorElementbigFpixClusterEventRate
 
bool bladeOn
 
edm::ParameterSet conf_
 
edm::InputTag digisrc_
 
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
 
bool diskOn
 
int eventNo
 
bool firstRun
 
bool isPIB
 
bool isUpgrade
 
bool ladOn
 
bool layOn
 
int lumSec
 
std::vector< MonitorElement * > meClPosDiskmz
 
std::vector< MonitorElement * > meClPosDiskpz
 
std::vector< MonitorElement * > meClPosLayer
 
MonitorElementmeClusBarrelProf
 
MonitorElementmeClusFpixMProf
 
MonitorElementmeClusFpixPProf
 
std::vector< MonitorElement * > meZeroRocBPIX
 
MonitorElementmeZeroRocFPIX
 
bool modOn
 
int nBigEvents
 
int nLumiSecs
 
int noOfDisks
 
int noOfLayers
 
bool phiOn
 
bool reducedSet
 
bool ringOn
 
bool saveFile
 
bool slowDown
 
bool smileyOn
 
edm::InputTag src_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
 
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
 
bool twoDimOn
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 58 of file SiPixelClusterSource.h.

Member Typedef Documentation

Definition at line 63 of file SiPixelClusterSource.h.

Constructor & Destructor Documentation

SiPixelClusterSource::SiPixelClusterSource ( const edm::ParameterSet conf)
explicit

Definition at line 48 of file SiPixelClusterSource.cc.

References conf_, digisrcToken_, firstRun, edm::ParameterSet::getParameter(), srcToken_, AlCaHLTBitMon_QueryRunRegistry::string, and topFolderName_.

49  : conf_(iConfig),
52  saveFile(conf_.getUntrackedParameter<bool>("saveFile", false)),
53  isPIB(conf_.getUntrackedParameter<bool>("isPIB", false)),
54  slowDown(conf_.getUntrackedParameter<bool>("slowDown", false)),
55  modOn(conf_.getUntrackedParameter<bool>("modOn", true)),
56  twoDimOn(conf_.getUntrackedParameter<bool>("twoDimOn", true)),
57  reducedSet(conf_.getUntrackedParameter<bool>("reducedSet", false)),
58  ladOn(conf_.getUntrackedParameter<bool>("ladOn", false)),
59  layOn(conf_.getUntrackedParameter<bool>("layOn", false)),
60  phiOn(conf_.getUntrackedParameter<bool>("phiOn", false)),
61  ringOn(conf_.getUntrackedParameter<bool>("ringOn", false)),
62  bladeOn(conf_.getUntrackedParameter<bool>("bladeOn", false)),
63  diskOn(conf_.getUntrackedParameter<bool>("diskOn", false)),
64  smileyOn(conf_.getUntrackedParameter<bool>("smileyOn", false)),
65  bigEventSize(conf_.getUntrackedParameter<int>("bigEventSize", 100)),
66  isUpgrade(conf_.getUntrackedParameter<bool>("isUpgrade", false)),
67  noOfLayers(0),
68  noOfDisks(0) {
69  LogInfo("PixelDQM") << "SiPixelClusterSource::SiPixelClusterSource: Got DQM BackEnd interface" << endl;
70 
71  // set Token(-s)
72  srcToken_ = consumes<edmNew::DetSetVector<SiPixelCluster>>(conf_.getParameter<edm::InputTag>("src"));
73  digisrcToken_ = consumes<edm::DetSetVector<PixelDigi>>(conf_.getParameter<edm::InputTag>("digisrc"));
74  firstRun = true;
75  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
76 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
edm::ParameterSet conf_
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
SiPixelClusterSource::~SiPixelClusterSource ( )
override

Definition at line 78 of file SiPixelClusterSource.cc.

References thePixelStructure.

78  {
79  // do anything here that needs to be done at desctruction time
80  // (e.g. close files, deallocate resources etc.)
81  LogInfo("PixelDQM") << "SiPixelClusterSource::~SiPixelClusterSource: Destructor" << endl;
82 
83  std::map<uint32_t, SiPixelClusterModule *>::iterator struct_iter;
84  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
85  delete struct_iter->second;
86  struct_iter->second = nullptr;
87  }
88 }
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure

Member Function Documentation

void SiPixelClusterSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 213 of file SiPixelClusterSource.cc.

References bigEventSize, bigFpixClusterEventRate, bladeOn, TrackerGeometry::dets(), digisrcToken_, diskOn, eventNo, dqm::impl::MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), getrococcupancy(), getrococcupancye(), mps_fire::i, input, createfilelist::int, isUpgrade, ladOn, layOn, edm::EventBase::luminosityBlock(), meClPosDiskmz, meClPosDiskpz, meClPosLayer, meClusBarrelProf, meClusFpixMProf, meClusFpixPProf, meZeroRocBPIX, meZeroRocFPIX, modOn, noOfDisks, noOfLayers, edm::EventBase::orbitNumber(), phiOn, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, edm::Handle< T >::product(), edm::ESHandle< T >::product(), reducedSet, ringOn, slowDown, smileyOn, srcToken_, DetId::subdetId(), thePixelStructure, PbPb_ZMuSkimMuonDPG_cff::tracker, and twoDimOn.

213  {
214  eventNo++;
215 
216  if (meClPosLayer.at(0) && meClPosLayer.at(0)->getEntries() > 150000) {
217  for (int i = 0; i < noOfLayers; i++) {
218  meClPosLayer.at(i)->Reset();
219  }
220  for (int i = 0; i < noOfDisks; i++) {
221  meClPosDiskpz.at(i)->Reset();
222  meClPosDiskmz.at(i)->Reset();
223  }
224  }
225 
226  // get input data
228  iEvent.getByToken(srcToken_, input);
229  auto const &clustColl = *(input.product());
230 
232  iSetup.get<TrackerDigiGeometryRecord>().get(pDD);
233  const TrackerGeometry *tracker = &(*pDD);
234 
236  iEvent.getByToken(digisrcToken_, digiinput);
237  const edm::DetSetVector<PixelDigi> diginp = *(digiinput.product());
238 
239  edm::ESHandle<TrackerTopology> tTopoHandle;
240  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
241  const TrackerTopology *pTT = tTopoHandle.product();
242 
243  int lumiSection = (int)iEvent.luminosityBlock();
244  int nEventFpixClusters = 0;
245 
246  int nEventsBarrel = 0;
247  int nEventsFPIXm = 0;
248  int nEventsFPIXp = 0;
249 
250  std::map<uint32_t, SiPixelClusterModule *>::iterator struct_iter;
251  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
252  int numberOfFpixClusters = (*struct_iter)
253  .second->fill(*input,
254  tracker,
255  &nEventsBarrel,
256  &nEventsFPIXp,
257  &nEventsFPIXm,
258  meClPosLayer,
261  modOn,
262  ladOn,
263  layOn,
264  phiOn,
265  bladeOn,
266  diskOn,
267  ringOn,
268  twoDimOn,
269  reducedSet,
270  smileyOn,
271  isUpgrade);
272  nEventFpixClusters = nEventFpixClusters + numberOfFpixClusters;
273  }
274 
275  if (nEventFpixClusters > bigEventSize) {
277  bigFpixClusterEventRate->Fill(lumiSection, 1. / 23.);
278  }
279  }
280 
281  float trendVar = iEvent.orbitNumber() / 262144.0; // lumisection : seconds - matches strip trend plot
282 
283  meClusBarrelProf->Fill(trendVar, nEventsBarrel);
284  meClusFpixPProf->Fill(trendVar, nEventsFPIXp);
285  meClusFpixMProf->Fill(trendVar, nEventsFPIXm);
286 
287  // std::cout<<"nEventFpixClusters: "<<nEventFpixClusters<<" , nLumiSecs:
288  // "<<nLumiSecs<<" , nBigEvents: "<<nBigEvents<<std::endl;
289 
290  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
291  DetId detId = (*it)->geographicalId();
292 
293  // fill barrel
294  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
295  getrococcupancy(detId, diginp, pTT, meZeroRocBPIX);
296  }
297 
298  // fill endcap
299  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
300  getrococcupancye(detId, clustColl, pTT, pDD, meZeroRocFPIX);
301  }
302  }
303 
304  // slow down...
305  if (slowDown)
306  usleep(10000);
307 }
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< MonitorElement * > meClPosLayer
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > const &meinput)
std::vector< MonitorElement * > meClPosDiskmz
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > srcToken_
MonitorElement * meZeroRocFPIX
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
static std::string const input
Definition: EdmProvDump.cc:48
void Fill(long long x)
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
MonitorElement * meClusBarrelProf
int orbitNumber() const
Definition: EventBase.h:65
MonitorElement * meClusFpixMProf
Definition: DetId.h:17
std::vector< MonitorElement * > meZeroRocBPIX
T const * product() const
Definition: Handle.h:69
void getrococcupancye(DetId detId, const edmNew::DetSetVector< SiPixelCluster > &clustColl, const TrackerTopology *const pTT, edm::ESHandle< TrackerGeometry > pDD, MonitorElement *meinput)
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
MonitorElement * meClusFpixPProf
std::vector< MonitorElement * > meClPosDiskpz
T get() const
Definition: EventSetup.h:73
T const * product() const
Definition: ESHandle.h:86
MonitorElement * bigFpixClusterEventRate
void SiPixelClusterSource::bookHistograms ( DQMStore::IBooker ,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 109 of file SiPixelClusterSource.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), bookMEs(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), digisrc_, dqm::impl::MonitorElement::getTH1(), mps_fire::i, edm::InputTag::label(), meClPosDiskmz, meClPosDiskpz, meClPosLayer, meClusBarrelProf, meClusFpixMProf, meClusFpixPProf, meZeroRocBPIX, meZeroRocFPIX, noOfDisks, noOfLayers, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

109  {
110  bookMEs(iBooker, iSetup);
111  // Book occupancy maps in global coordinates for all clusters:
112  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/OffTrack");
113  // bpix
114  std::stringstream ss1, ss2;
115  for (int i = 1; i <= noOfLayers; i++) {
116  ss1.str(std::string());
117  ss1 << "position_siPixelClusters_Layer_" << i;
118  ss2.str(std::string());
119  ss2 << "Clusters Layer" << i << ";Global Z (cm);Global #phi";
120  meClPosLayer.push_back(iBooker.book2D(ss1.str(), ss2.str(), 200, -30., 30., 128, -3.2, 3.2));
121  }
122  for (int i = 1; i <= noOfDisks; i++) {
123  ss1.str(std::string());
124  ss1 << "position_siPixelClusters_pz_Disk_" << i;
125  ss2.str(std::string());
126  ss2 << "Clusters +Z Disk" << i << ";Global X (cm);Global Y (cm)";
127  meClPosDiskpz.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
128  ss1.str(std::string());
129  ss1 << "position_siPixelClusters_mz_Disk_" << i;
130  ss2.str(std::string());
131  ss2 << "Clusters -Z Disk" << i << ";Global X (cm);Global Y (cm)";
132  meClPosDiskmz.push_back(iBooker.book2D(ss1.str(), ss2.str(), 80, -20., 20., 80, -20., 20.));
133  }
134 
135  // Book trend cluster plots for barrel and endcap. Lumisections for offline
136  // and second for online - taken from strips
137  iBooker.setCurrentFolder(topFolderName_ + "/Barrel");
138  ss1.str(std::string());
139  ss1 << "totalNumberOfClustersProfile_siPixelClusters_Barrel";
140  ss2.str(std::string());
141  ss2 << "Total number of barrel clusters profile;Lumisection;";
142  meClusBarrelProf = iBooker.bookProfile(ss1.str(), ss2.str(), 2400, 0., 150, 0, 0, "");
143  meClusBarrelProf->getTH1()->SetCanExtend(TH1::kAllAxes);
144 
145  iBooker.setCurrentFolder(topFolderName_ + "/Endcap");
146 
147  ss1.str(std::string());
148  ss1 << "totalNumberOfClustersProfile_siPixelClusters_FPIX+";
149  ss2.str(std::string());
150  ss2 << "Total number of FPIX+ clusters profile;Lumisection;";
151  meClusFpixPProf = iBooker.bookProfile(ss1.str(), ss2.str(), 2400, 0., 150, 0, 0, "");
152  meClusFpixPProf->getTH1()->SetCanExtend(TH1::kAllAxes);
153 
154  ss1.str(std::string());
155  ss1 << "totalNumberOfClustersProfile_siPixelClusters_FPIX-";
156  ss2.str(std::string());
157  ss2 << "Total number of FPIX- clusters profile;Lumisection;";
158  meClusFpixMProf = iBooker.bookProfile(ss1.str(), ss2.str(), 2400, 0., 150, 0, 0, "");
159  meClusFpixMProf->getTH1()->SetCanExtend(TH1::kAllAxes);
160 
161  iBooker.setCurrentFolder(topFolderName_ + "/Barrel");
162  for (int i = 1; i <= noOfLayers; i++) {
163  int ybins = -1;
164  float ymin = 0.;
165  float ymax = 0.;
166  if (i == 1) {
167  ybins = 42;
168  ymin = -10.5;
169  ymax = 10.5;
170  }
171  if (i == 2) {
172  ybins = 66;
173  ymin = -16.5;
174  ymax = 16.5;
175  }
176  if (i == 3) {
177  ybins = 90;
178  ymin = -22.5;
179  ymax = 22.5;
180  }
181  if (i == 4) {
182  ybins = 130;
183  ymin = -32.5;
184  ymax = 32.5;
185  }
186  ss1.str(std::string());
187  ss1 << "pix_bar Occ_roc_online_" + digisrc_.label() + "_layer_" << i;
188  ss2.str(std::string());
189  ss2 << "Pixel Barrel Occupancy, ROC level (Online): Layer " << i;
190  meZeroRocBPIX.push_back(iBooker.book2D(ss1.str(), ss2.str(), 72, -4.5, 4.5, ybins, ymin, ymax));
191  meZeroRocBPIX.at(i - 1)->setAxisTitle("ROC / Module", 1);
192  meZeroRocBPIX.at(i - 1)->setAxisTitle("ROC / Ladder", 2);
193  }
194 
195  iBooker.setCurrentFolder(topFolderName_ + "/Endcap");
196  meZeroRocFPIX = iBooker.book2D(
197  "ROC_endcap_occupancy", "Pixel Endcap Occupancy, ROC level (Online)", 72, -4.5, 4.5, 288, -12.5, 12.5);
198  meZeroRocFPIX->setBinLabel(1, "Disk-2 Pnl2", 1);
199  meZeroRocFPIX->setBinLabel(9, "Disk-2 Pnl1", 1);
200  meZeroRocFPIX->setBinLabel(19, "Disk-1 Pnl2", 1);
201  meZeroRocFPIX->setBinLabel(27, "Disk-1 Pnl1", 1);
202  meZeroRocFPIX->setBinLabel(41, "Disk+1 Pnl1", 1);
203  meZeroRocFPIX->setBinLabel(49, "Disk+1 Pnl2", 1);
204  meZeroRocFPIX->setBinLabel(59, "Disk+2 Pnl1", 1);
205  meZeroRocFPIX->setBinLabel(67, "Disk+2 Pnl2", 1);
206  meZeroRocFPIX->setAxisTitle("Blades in Inner (>0) / Outer(<) Halves", 2);
207  meZeroRocFPIX->setAxisTitle("ROC occupancy", 3);
208 }
std::vector< MonitorElement * > meClPosLayer
std::vector< MonitorElement * > meClPosDiskmz
MonitorElement * meZeroRocFPIX
MonitorElement * meClusBarrelProf
MonitorElement * meClusFpixMProf
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< MonitorElement * > meZeroRocBPIX
MonitorElement * meClusFpixPProf
std::vector< MonitorElement * > meClPosDiskpz
std::string const & label() const
Definition: InputTag.h:36
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiPixelClusterSource::bookMEs ( DQMStore::IBooker iBooker,
const edm::EventSetup iSetup 
)
virtual

Create folder tree and book histograms

Definition at line 384 of file SiPixelClusterSource.cc.

References bigEventSize, bigFpixClusterEventRate, bladeOn, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), conf_, diskOn, Exception, isPIB, isUpgrade, ladOn, layOn, LogDebug, modOn, phiOn, reducedSet, ringOn, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), smileyOn, thePixelStructure, overlapproblemtsosanalyzer_cfi::title, topFolderName_, and twoDimOn.

Referenced by bookHistograms().

384  {
385  // Get DQM interface
386  iBooker.setCurrentFolder(topFolderName_);
387  char title[256];
388  snprintf(title,
389  256,
390  "Rate of events with >%i FPIX clusters;LumiSection;Rate of large "
391  "FPIX events per LS [Hz]",
392  bigEventSize);
393  bigFpixClusterEventRate = iBooker.book1D("bigFpixClusterEventRate", title, 5000, 0., 5000.);
394 
395  std::map<uint32_t, SiPixelClusterModule *>::iterator struct_iter;
396 
397  SiPixelFolderOrganizer theSiPixelFolder(false);
398 
399  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
401  if (modOn) {
402  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 0, isUpgrade)) {
403  (*struct_iter).second->book(conf_, iSetup, iBooker, 0, twoDimOn, reducedSet, isUpgrade);
404  } else {
405  if (!isPIB)
406  throw cms::Exception("LogicError") << "[SiPixelClusterSource::bookMEs] Creation of DQM folder "
407  "failed";
408  }
409  }
410  if (ladOn) {
411  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 1, isUpgrade)) {
412  (*struct_iter).second->book(conf_, iSetup, iBooker, 1, twoDimOn, reducedSet, isUpgrade);
413  } else {
414  LogDebug("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
415  }
416  }
417  if (layOn) {
418  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 2, isUpgrade)) {
419  (*struct_iter).second->book(conf_, iSetup, iBooker, 2, twoDimOn, reducedSet, isUpgrade);
420  } else {
421  LogDebug("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
422  }
423  }
424  if (phiOn) {
425  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 3, isUpgrade)) {
426  (*struct_iter).second->book(conf_, iSetup, iBooker, 3, twoDimOn, reducedSet, isUpgrade);
427  } else {
428  LogDebug("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
429  }
430  }
431  if (bladeOn) {
432  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 4, isUpgrade)) {
433  (*struct_iter).second->book(conf_, iSetup, iBooker, 4, twoDimOn, reducedSet, isUpgrade);
434  } else {
435  LogDebug("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
436  }
437  }
438  if (diskOn) {
439  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 5, isUpgrade)) {
440  (*struct_iter).second->book(conf_, iSetup, iBooker, 5, twoDimOn, reducedSet, isUpgrade);
441  } else {
442  LogDebug("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
443  }
444  }
445  if (ringOn) {
446  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 6, isUpgrade)) {
447  (*struct_iter).second->book(conf_, iSetup, iBooker, 6, twoDimOn, reducedSet, isUpgrade);
448  } else {
449  LogDebug("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
450  }
451  }
452  if (smileyOn) {
453  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 7, isUpgrade)) {
454  (*struct_iter).second->book(conf_, iSetup, iBooker, 7, twoDimOn, reducedSet, isUpgrade);
455  } else {
456  LogDebug("PixelDQM") << "PROBLEM WITH BARREL-FOLDER\n";
457  }
458  }
459  }
460 }
#define LogDebug(id)
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
edm::ParameterSet conf_
MonitorElement * bigFpixClusterEventRate
void SiPixelClusterSource::buildStructure ( edm::EventSetup const &  )
virtual

Definition at line 312 of file SiPixelClusterSource.cc.

References PixelEndcapName::bladeName(), TrackerGeometry::dets(), TrackerGeometry::detTypes(), PixelEndcapName::diskName(), edm::EventSetup::get(), PixelEndcapName::halfCylinder(), TrackerGeometry::idToDetUnit(), isPIB, isUpgrade, PixelBarrelName::layerName(), LogDebug, hgcalPlots::ncols, noOfDisks, noOfLayers, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), edm::ESHandle< T >::product(), DetId::rawId(), PixelGeomDetUnit::specificTopology(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), and thePixelStructure.

Referenced by dqmBeginRun().

312  {
313  LogInfo("PixelDQM") << " SiPixelClusterSource::buildStructure";
315  iSetup.get<TrackerDigiGeometryRecord>().get(pDD);
316 
317  edm::ESHandle<TrackerTopology> tTopoHandle;
318  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
319  const TrackerTopology *pTT = tTopoHandle.product();
320 
321  LogVerbatim("PixelDQM") << " *** Geometry node for TrackerGeom is " << &(*pDD) << std::endl;
322  LogVerbatim("PixelDQM") << " *** I have " << pDD->dets().size() << " detectors" << std::endl;
323  LogVerbatim("PixelDQM") << " *** I have " << pDD->detTypes().size() << " types" << std::endl;
324 
325  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
326  if (dynamic_cast<PixelGeomDetUnit const *>((*it)) != nullptr) {
327  DetId detId = (*it)->geographicalId();
328  const GeomDetUnit *geoUnit = pDD->idToDetUnit(detId);
329  const PixelGeomDetUnit *pixDet = dynamic_cast<const PixelGeomDetUnit *>(geoUnit);
330  int nrows = (pixDet->specificTopology()).nrows();
331  int ncols = (pixDet->specificTopology()).ncolumns();
332 
333  if ((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) ||
334  (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap))) {
335  uint32_t id = detId();
336  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
337  if (isPIB)
338  continue;
339  LogDebug("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
340  int layer = PixelBarrelName(DetId(id), pTT, isUpgrade).layerName();
341  if (layer > noOfLayers)
342  noOfLayers = layer;
343  SiPixelClusterModule *theModule = new SiPixelClusterModule(id, ncols, nrows);
344  thePixelStructure.insert(pair<uint32_t, SiPixelClusterModule *>(id, theModule));
345  } else if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
346  LogDebug("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
348  int disk = PixelEndcapName(DetId(id), pTT, isUpgrade).diskName();
349  if (disk > noOfDisks)
350  noOfDisks = disk;
351  int blade = PixelEndcapName(DetId(id), pTT, isUpgrade).bladeName();
352  int panel = PixelEndcapName(DetId(id), pTT, isUpgrade).pannelName();
354  char sside[80];
355  sprintf(sside, "HalfCylinder_%i", side);
356  char sdisk[80];
357  sprintf(sdisk, "Disk_%i", disk);
358  char sblade[80];
359  sprintf(sblade, "Blade_%02i", blade);
360  char spanel[80];
361  sprintf(spanel, "Panel_%i", panel);
362  char smodule[80];
363  sprintf(smodule, "Module_%i", module);
364  std::string side_str = sside;
365  std::string disk_str = sdisk;
366  bool mask = side_str.find("HalfCylinder_1") != string::npos ||
367  side_str.find("HalfCylinder_2") != string::npos ||
368  side_str.find("HalfCylinder_4") != string::npos || disk_str.find("Disk_2") != string::npos;
369  // clutch to take all of FPIX, but no BPIX:
370  mask = false;
371  if (isPIB && mask)
372  continue;
373  SiPixelClusterModule *theModule = new SiPixelClusterModule(id, ncols, nrows);
374  thePixelStructure.insert(pair<uint32_t, SiPixelClusterModule *>(id, theModule));
375  }
376  }
377  }
378  }
379  LogInfo("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
380 }
#define LogDebug(id)
int plaquetteName() const
plaquetteId (in pannel)
const DetTypeContainer & detTypes() const override
Return a vector of all det types.
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::map< uint32_t, SiPixelClusterModule * > thePixelStructure
int bladeName() const
blade id
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
Definition: DetId.h:17
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
int pannelName() const
pannel id
int diskName() const
disk id
HalfCylinder halfCylinder() const
T const * product() const
Definition: ESHandle.h:86
Definition: vlib.h:198
void SiPixelClusterSource::dqmBeginRun ( const edm::Run ,
edm::EventSetup const &   
)
override

Definition at line 90 of file SiPixelClusterSource.cc.

References bladeOn, buildStructure(), diskOn, eventNo, firstRun, ladOn, layOn, lumSec, modOn, nBigEvents, nLumiSecs, phiOn, ringOn, smileyOn, and twoDimOn.

90  {
91  LogInfo("PixelDQM") << " SiPixelClusterSource::beginJob - Initialisation ... " << std::endl;
92  LogInfo("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/" << layOn << "/" << phiOn << std::endl;
93  LogInfo("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/" << ringOn << std::endl;
94  LogInfo("PixelDQM") << "2DIM IS " << twoDimOn << "\n";
95  LogInfo("PixelDQM") << "Smiley (Cluster sizeY vs. Cluster eta) is " << smileyOn << "\n";
96 
97  if (firstRun) {
98  eventNo = 0;
99  lumSec = 0;
100  nLumiSecs = 0;
101  nBigEvents = 0;
102  // Build map
103  buildStructure(iSetup);
104 
105  firstRun = false;
106  }
107 }
virtual void buildStructure(edm::EventSetup const &)
void SiPixelClusterSource::getrococcupancy ( DetId  detId,
const edm::DetSetVector< PixelDigi > &  diginp,
const TrackerTopology *const  tTopo,
std::vector< MonitorElement * > const &  meinput 
)
private

Definition at line 462 of file SiPixelClusterSource.cc.

References funct::abs(), edm::DetSetVector< T >::begin(), cuy::col, edm::DetSetVector< T >::end(), edm::DetSetVector< T >::find(), pfNegativeDeepFlavourTagInfos_cfi::flip, dqmMemoryStats::float, PixelBarrelName::isHalfModule(), isUpgrade, PixelBarrelName::ladderName(), PixelBarrelName::layerName(), PixelBarrelName::moduleName(), and PixelBarrelName::shell().

Referenced by analyze().

465  {
466  edm::DetSetVector<PixelDigi>::const_iterator ipxsearch = diginp.find(detId);
467  if (ipxsearch != diginp.end()) {
468  // Look at digis now
470  for (pxdi = ipxsearch->begin(); pxdi != ipxsearch->end(); pxdi++) {
471  bool isHalfModule = PixelBarrelName(DetId(detId), tTopo, isUpgrade).isHalfModule();
472  int DBlayer = PixelBarrelName(DetId(detId), tTopo, isUpgrade).layerName();
473  int DBmodule = PixelBarrelName(DetId(detId), tTopo, isUpgrade).moduleName();
474  int DBladder = PixelBarrelName(DetId(detId), tTopo, isUpgrade).ladderName();
475  int DBshell = PixelBarrelName(DetId(detId), tTopo, isUpgrade).shell();
476 
477  // add sign to the modules
478  if (DBshell == 1 || DBshell == 2) {
479  DBmodule = -DBmodule;
480  }
481  if (DBshell == 1 || DBshell == 3) {
482  DBladder = -DBladder;
483  }
484 
485  int col = pxdi->column();
486  int row = pxdi->row();
487 
488  float modsign = (float)DBmodule / (abs((float)DBmodule));
489  float ladsign = (float)DBladder / (abs((float)DBladder));
490  float rocx = ((float)col / (52. * 8.)) * modsign + ((float)DBmodule - (modsign)*0.5);
491  float rocy = ((float)row / (80. * 2.)) * ladsign + ((float)DBladder - (ladsign)*0.5);
492 
493  // do the flip where need
494  bool flip = false;
495  if ((DBladder % 2 == 0) && (!isHalfModule)) {
496  flip = true;
497  }
498  if ((flip) && (DBladder > 0)) {
499  if ((((float)DBladder - (ladsign)*0.5) <= rocy) && (rocy < (float)DBladder)) {
500  rocy = rocy + ladsign * 0.5;
501  } else if ((((float)DBladder) <= rocy) && (rocy < ((float)DBladder + (ladsign)*0.5))) {
502  rocy = rocy - ladsign * 0.5;
503  }
504  }
505 
506  // tweak border effect for negative modules/ladders
507  if (modsign < 0) {
508  rocx = rocx - 0.0001;
509  }
510  if (ladsign < 0) {
511  rocy = rocy - 0.0001;
512  } else {
513  rocy = rocy + 0.0001;
514  }
515  if (abs(DBladder) == 1) {
516  rocy = rocy + ladsign * 0.5;
517  } // take care of the half module
518  meinput[DBlayer - 1]->Fill(rocx, rocy);
519  } // end of looping over pxdi
520  }
521 }
iterator find(det_id_type id)
Definition: DetSetVector.h:264
int moduleName() const
module id (index in z)
bool isHalfModule() const
full or half module
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:325
Definition: DetId.h:17
int ladderName() const
ladder id (index in phi)
int layerName() const
layer id
Shell shell() const
col
Definition: cuy.py:1010
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:314
collection_type::const_iterator const_iterator
Definition: DetSet.h:32
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
void SiPixelClusterSource::getrococcupancye ( DetId  detId,
const edmNew::DetSetVector< SiPixelCluster > &  clustColl,
const TrackerTopology *const  pTT,
edm::ESHandle< TrackerGeometry pDD,
MonitorElement meinput 
)
private

Definition at line 523 of file SiPixelClusterSource.cc.

References funct::abs(), edmNew::DetSetVector< T >::begin(), PixelEndcapName::bladeName(), DEFINE_FWK_MODULE, PixelEndcapName::diskName(), edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::find(), dqm::impl::MonitorElement::getBinContent(), PixelEndcapName::halfCylinder(), mps_fire::i, TrackerGeometry::idToDetUnit(), isUpgrade, dqmiolumiharvest::j, Topology::localPosition(), PixelEndcapName::pannelName(), PixelEndcapName::plaquetteName(), dqm::impl::MonitorElement::setBinContent(), PixelGeomDetUnit::specificTopology(), GeomDet::surface(), Surface::toGlobal(), z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

527  {
528  edmNew::DetSetVector<SiPixelCluster>::const_iterator ipxsearch = clustColl.find(detId);
529  if (ipxsearch != clustColl.end()) {
530  // Look at clusters now
532  for (pxclust = ipxsearch->begin(); pxclust != ipxsearch->end(); pxclust++) {
533  const GeomDetUnit *geoUnit = pDD->idToDetUnit(detId);
534  const PixelGeomDetUnit *pixDet = dynamic_cast<const PixelGeomDetUnit *>(geoUnit);
535  const PixelTopology *topol = &(pixDet->specificTopology());
536  LocalPoint clustlp = topol->localPosition(MeasurementPoint(pxclust->x(), pxclust->y()));
537  GlobalPoint clustgp = geoUnit->surface().toGlobal(clustlp);
538 
539  float xclust = pxclust->x();
540  float yclust = pxclust->y();
541  float z = clustgp.z();
542 
543  int pxfside = PixelEndcapName(detId, pTT, isUpgrade).halfCylinder();
544  int pxfpanel = PixelEndcapName(detId, pTT, isUpgrade).pannelName();
545  int pxfmodule = PixelEndcapName(detId, pTT, isUpgrade).plaquetteName();
546  int pxfdisk = PixelEndcapName(detId, pTT, isUpgrade).diskName();
547  int pxfblade = PixelEndcapName(detId, pTT, isUpgrade).bladeName();
548 
549  if ((pxfside == 1) || (pxfside == 3)) {
550  pxfblade = -1. * pxfblade;
551  }
552 
553  if (z < 0.) {
554  pxfdisk = -1. * pxfdisk;
555  }
556 
557  int clu_sdpx = ((pxfdisk > 0) ? 1 : -1) * (2 * (abs(pxfdisk) - 1) + pxfpanel);
558  int binselx = (pxfpanel == 1 && (pxfmodule == 1 || pxfmodule == 4))
559  ? (pxfmodule == 1)
560  : ((pxfpanel == 1 && xclust < 80.0) || (pxfpanel == 2 && xclust >= 80.0));
561  int nperpan = 2 * pxfmodule + pxfpanel - 1 + binselx;
562  int clu_roc_binx =
563  ((pxfdisk > 0) ? nperpan : 9 - nperpan) + (clu_sdpx + 4) * 8 - 2 * ((abs(pxfdisk) == 1) ? pxfdisk : 0);
564 
565  int clu_roc_biny = -99.;
566  int nrocly = pxfmodule + pxfpanel;
567  for (int i = 0; i < nrocly; i++) {
568  int j = (pxfdisk < 0) ? i : nrocly - 1 - i;
569  if (yclust >= (j * 52.0) && yclust < ((j + 1) * 52.0))
570  clu_roc_biny = 6 - nrocly + 2 * i + ((pxfblade > 0) ? pxfblade - 1 : pxfblade + 12) * 12 + 1;
571  }
572  if (pxfblade > 0) {
573  clu_roc_biny = clu_roc_biny + 144;
574  }
575 
576  meinput->setBinContent(clu_roc_binx, clu_roc_biny, meinput->getBinContent(clu_roc_binx, clu_roc_biny) + 1);
577  meinput->setBinContent(
578  clu_roc_binx, clu_roc_biny + 1, meinput->getBinContent(clu_roc_binx, clu_roc_biny + 1) + 1);
579  }
580  }
581 }
int plaquetteName() const
plaquetteId (in pannel)
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
const_iterator end(bool update=false) const
data_type const * const_iterator
Definition: DetSetNew.h:31
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
int bladeName() const
blade id
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
T z() const
Definition: PV3DBase.h:61
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual double getBinContent(int binx) const
get content of bin (1-D)
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
const_iterator find(id_type i, bool update=false) const
int pannelName() const
pannel id
int diskName() const
disk id
HalfCylinder halfCylinder() const
const_iterator begin(bool update=false) const

Member Data Documentation

int SiPixelClusterSource::bigEventSize
private

Definition at line 96 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelClusterSource::bigFpixClusterEventRate
private

Definition at line 95 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelClusterSource::bladeOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

edm::ParameterSet SiPixelClusterSource::conf_
private

Definition at line 75 of file SiPixelClusterSource.h.

Referenced by bookMEs(), and SiPixelClusterSource().

edm::InputTag SiPixelClusterSource::digisrc_
private

Definition at line 77 of file SiPixelClusterSource.h.

Referenced by bookHistograms().

edm::EDGetTokenT<edm::DetSetVector<PixelDigi> > SiPixelClusterSource::digisrcToken_
private

Definition at line 125 of file SiPixelClusterSource.h.

Referenced by analyze(), and SiPixelClusterSource().

bool SiPixelClusterSource::diskOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::eventNo
private

Definition at line 81 of file SiPixelClusterSource.h.

Referenced by analyze(), and dqmBeginRun().

bool SiPixelClusterSource::firstRun
private

Definition at line 91 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun(), and SiPixelClusterSource().

bool SiPixelClusterSource::isPIB
private

Definition at line 79 of file SiPixelClusterSource.h.

Referenced by bookMEs(), and buildStructure().

bool SiPixelClusterSource::isUpgrade
private
bool SiPixelClusterSource::ladOn
private

Definition at line 87 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::layOn
private

Definition at line 87 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::lumSec
private

Definition at line 92 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

std::vector<MonitorElement *> SiPixelClusterSource::meClPosDiskmz
private

Definition at line 101 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> SiPixelClusterSource::meClPosDiskpz
private

Definition at line 100 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> SiPixelClusterSource::meClPosLayer
private

Definition at line 99 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusBarrelProf
private

Definition at line 103 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusFpixMProf
private

Definition at line 105 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meClusFpixPProf
private

Definition at line 104 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> SiPixelClusterSource::meZeroRocBPIX
private

Definition at line 107 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* SiPixelClusterSource::meZeroRocFPIX
private

Definition at line 108 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookHistograms().

bool SiPixelClusterSource::modOn
private

Definition at line 83 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

int SiPixelClusterSource::nBigEvents
private

Definition at line 94 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

int SiPixelClusterSource::nLumiSecs
private

Definition at line 93 of file SiPixelClusterSource.h.

Referenced by dqmBeginRun().

int SiPixelClusterSource::noOfDisks
private

Definition at line 111 of file SiPixelClusterSource.h.

Referenced by analyze(), bookHistograms(), and buildStructure().

int SiPixelClusterSource::noOfLayers
private

Definition at line 110 of file SiPixelClusterSource.h.

Referenced by analyze(), bookHistograms(), and buildStructure().

bool SiPixelClusterSource::phiOn
private

Definition at line 87 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::reducedSet
private

Definition at line 85 of file SiPixelClusterSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelClusterSource::ringOn
private

Definition at line 89 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

bool SiPixelClusterSource::saveFile
private

Definition at line 78 of file SiPixelClusterSource.h.

bool SiPixelClusterSource::slowDown
private

Definition at line 80 of file SiPixelClusterSource.h.

Referenced by analyze().

bool SiPixelClusterSource::smileyOn
private

Definition at line 90 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().

edm::InputTag SiPixelClusterSource::src_
private

Definition at line 76 of file SiPixelClusterSource.h.

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > SiPixelClusterSource::srcToken_
private

Definition at line 124 of file SiPixelClusterSource.h.

Referenced by analyze(), and SiPixelClusterSource().

std::map<uint32_t, SiPixelClusterModule *> SiPixelClusterSource::thePixelStructure
private

Definition at line 82 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), buildStructure(), and ~SiPixelClusterSource().

std::string SiPixelClusterSource::topFolderName_

Definition at line 72 of file SiPixelClusterSource.h.

Referenced by bookHistograms(), bookMEs(), and SiPixelClusterSource().

bool SiPixelClusterSource::twoDimOn
private

Definition at line 84 of file SiPixelClusterSource.h.

Referenced by analyze(), bookMEs(), and dqmBeginRun().