CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Private Attributes
SiPixelDigiSource Class Reference

#include <SiPixelDigiSource.h>

Inheritance diagram for SiPixelDigiSource:
DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > > edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args...> edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef edm::DetSet< PixelDigi >
::const_iterator 
DigiIterator
 
- Public Types inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >
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 &)
 
virtual void CountZeroROCsInSubstructure (bool, bool &, SiPixelDigiModule *)
 
void dqmBeginRun (const edm::Run &, edm::EventSetup const &) override
 
std::shared_ptr< bool > globalBeginLuminosityBlock (const edm::LuminosityBlock &lumi, const edm::EventSetup &iSetup) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 SiPixelDigiSource (const edm::ParameterSet &conf)
 
 ~SiPixelDigiSource () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
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::Accumulator, Args...>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
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 Attributes

MonitorElementaverageDigiOccupancy
 
MonitorElementavgBarrelFedOccvsLumi
 
MonitorElementavgEndcapFedOccvsLumi
 
MonitorElementavgfedDigiOccvsLumi
 
MonitorElementbigEventRate
 
int bigEventSize
 
bool bladeOn
 
edm::ParameterSet conf_
 
bool diskOn
 
bool DoZeroRocsBMI1
 
bool DoZeroRocsBMI2
 
bool DoZeroRocsBMI3
 
bool DoZeroRocsBMO1
 
bool DoZeroRocsBMO2
 
bool DoZeroRocsBMO3
 
bool DoZeroRocsBPI1
 
bool DoZeroRocsBPI2
 
bool DoZeroRocsBPI3
 
bool DoZeroRocsBPO1
 
bool DoZeroRocsBPO2
 
bool DoZeroRocsBPO3
 
bool DoZeroRocsFMI1
 
bool DoZeroRocsFMI2
 
bool DoZeroRocsFMO1
 
bool DoZeroRocsFMO2
 
bool DoZeroRocsFPI1
 
bool DoZeroRocsFPI2
 
bool DoZeroRocsFPO1
 
bool DoZeroRocsFPO2
 
bool firstRun
 
bool hiRes
 
unsigned int I_detId [1856]
 
int I_fedId [1856]
 
int I_linkId1 [1856]
 
int I_linkId2 [1856]
 
std::string I_name [1856]
 
bool isPIB
 
bool isUpgrade
 
bool ladOn
 
bool layOn
 
MonitorElementloOccROCsBarrel
 
MonitorElementloOccROCsEndcap
 
MonitorElementmeNDigisCHANBarrel_
 
MonitorElementmeNDigisCHANBarrelCh10_
 
MonitorElementmeNDigisCHANBarrelCh11_
 
MonitorElementmeNDigisCHANBarrelCh12_
 
MonitorElementmeNDigisCHANBarrelCh13_
 
MonitorElementmeNDigisCHANBarrelCh14_
 
MonitorElementmeNDigisCHANBarrelCh15_
 
MonitorElementmeNDigisCHANBarrelCh16_
 
MonitorElementmeNDigisCHANBarrelCh17_
 
MonitorElementmeNDigisCHANBarrelCh18_
 
MonitorElementmeNDigisCHANBarrelCh19_
 
MonitorElementmeNDigisCHANBarrelCh1_
 
MonitorElementmeNDigisCHANBarrelCh20_
 
MonitorElementmeNDigisCHANBarrelCh21_
 
MonitorElementmeNDigisCHANBarrelCh22_
 
MonitorElementmeNDigisCHANBarrelCh23_
 
MonitorElementmeNDigisCHANBarrelCh24_
 
MonitorElementmeNDigisCHANBarrelCh25_
 
MonitorElementmeNDigisCHANBarrelCh26_
 
MonitorElementmeNDigisCHANBarrelCh27_
 
MonitorElementmeNDigisCHANBarrelCh28_
 
MonitorElementmeNDigisCHANBarrelCh29_
 
MonitorElementmeNDigisCHANBarrelCh2_
 
MonitorElementmeNDigisCHANBarrelCh30_
 
MonitorElementmeNDigisCHANBarrelCh31_
 
MonitorElementmeNDigisCHANBarrelCh32_
 
MonitorElementmeNDigisCHANBarrelCh33_
 
MonitorElementmeNDigisCHANBarrelCh34_
 
MonitorElementmeNDigisCHANBarrelCh35_
 
MonitorElementmeNDigisCHANBarrelCh36_
 
MonitorElementmeNDigisCHANBarrelCh3_
 
MonitorElementmeNDigisCHANBarrelCh4_
 
MonitorElementmeNDigisCHANBarrelCh5_
 
MonitorElementmeNDigisCHANBarrelCh6_
 
MonitorElementmeNDigisCHANBarrelCh7_
 
MonitorElementmeNDigisCHANBarrelCh8_
 
MonitorElementmeNDigisCHANBarrelCh9_
 
std::vector< MonitorElement * > meNDigisCHANBarrelLs_
 
MonitorElementmeNDigisCHANEndcap_
 
std::vector< MonitorElement * > meNDigisCHANEndcapDms_
 
std::vector< MonitorElement * > meNDigisCHANEndcapDps_
 
MonitorElementmeNDigisCOMBBarrel_
 
MonitorElementmeNDigisCOMBEndcap_
 
bool modOn
 
int nBigEvents
 
int nBPIXDigis
 
int nDigisA
 
int nDigisB
 
int nDigisPerChan [1152]
 
int nDigisPerDisk [6]
 
int nDigisPerFed [40]
 
int nDM1P1M1
 
int nDM1P1M2
 
int nDM1P1M3
 
int nDM1P1M4
 
int nDM1P2M1
 
int nDM1P2M2
 
int nDM1P2M3
 
int nDM2P1M1
 
int nDM2P1M2
 
int nDM2P1M3
 
int nDM2P1M4
 
int nDM2P2M1
 
int nDM2P2M2
 
int nDM2P2M3
 
int nDM3P1M1
 
int nDM3P2M1
 
int nDP1P1M1
 
int nDP1P1M2
 
int nDP1P1M3
 
int nDP1P1M4
 
int nDP1P2M1
 
int nDP1P2M2
 
int nDP1P2M3
 
int nDP2P1M1
 
int nDP2P1M2
 
int nDP2P1M3
 
int nDP2P1M4
 
int nDP2P2M1
 
int nDP2P2M2
 
int nDP2P2M3
 
int nDP3P1M1
 
int nDP3P2M1
 
int nFPIXDigis
 
int nL1M1
 
int nL1M2
 
int nL1M3
 
int nL1M4
 
int nL2M1
 
int nL2M2
 
int nL2M3
 
int nL2M4
 
int nL3M1
 
int nL3M2
 
int nL3M3
 
int nL3M4
 
int nL4M1
 
int nL4M2
 
int nL4M3
 
int nL4M4
 
int NloEffROCs [2]
 
MonitorElementnoOccROCsBarrel
 
MonitorElementnoOccROCsEndcap
 
int noOfDisks
 
int noOfLayers
 
int numberOfDigis [336]
 
int NzeroROCs [2]
 
bool perLSsaving
 
bool phiOn
 
MonitorElementpixEventRate
 
MonitorElementpixEvtsPerBX
 
bool reducedSet
 
bool ringOn
 
bool ROCMapToReset
 
bool saveFile
 
bool slowDown
 
edm::InputTag src_
 
edm::EDGetTokenT
< edm::DetSetVector< PixelDigi > > 
srcToken_
 
std::map< uint32_t,
SiPixelDigiModule * > 
thePixelStructure
 
edm::ESGetToken
< TrackerGeometry,
TrackerDigiGeometryRecord
trackerGeomTokenBeginRun_
 
edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
trackerTopoToken_
 
edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
trackerTopoTokenBeginRun_
 
bool twoDimModOn
 
bool twoDimOn
 
bool twoDimOnlyLayDisk
 

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 DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- 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)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 32 of file SiPixelDigiSource.h.

Member Typedef Documentation

Definition at line 37 of file SiPixelDigiSource.h.

Constructor & Destructor Documentation

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

Definition at line 46 of file SiPixelDigiSource.cc.

References cms::cuda::assert(), conf_, firstRun, contentValuesFiles::fullPath, edm::ParameterSet::getParameter(), I_detId, I_fedId, I_linkId1, I_linkId2, I_name, recoMuon::in, timingPdfMaker::infile, isUpgrade, srcToken_, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, trackerGeomTokenBeginRun_, trackerTopoToken_, and trackerTopoTokenBeginRun_.

47  : conf_(iConfig),
49  saveFile(conf_.getUntrackedParameter<bool>("saveFile", false)),
50  isPIB(conf_.getUntrackedParameter<bool>("isPIB", false)),
51  slowDown(conf_.getUntrackedParameter<bool>("slowDown", false)),
52  modOn(conf_.getUntrackedParameter<bool>("modOn", true)),
53  perLSsaving(conf_.getUntrackedParameter<bool>("perLSsaving", false)),
54  twoDimOn(conf_.getUntrackedParameter<bool>("twoDimOn", true)),
55  twoDimModOn(conf_.getUntrackedParameter<bool>("twoDimModOn", true)),
56  twoDimOnlyLayDisk(conf_.getUntrackedParameter<bool>("twoDimOnlyLayDisk", false)),
57  hiRes(conf_.getUntrackedParameter<bool>("hiRes", false)),
58  reducedSet(conf_.getUntrackedParameter<bool>("reducedSet", false)),
59  ladOn(conf_.getUntrackedParameter<bool>("ladOn", false)),
60  layOn(conf_.getUntrackedParameter<bool>("layOn", false)),
61  phiOn(conf_.getUntrackedParameter<bool>("phiOn", false)),
62  ringOn(conf_.getUntrackedParameter<bool>("ringOn", false)),
63  bladeOn(conf_.getUntrackedParameter<bool>("bladeOn", false)),
64  diskOn(conf_.getUntrackedParameter<bool>("diskOn", false)),
65  bigEventSize(conf_.getUntrackedParameter<int>("bigEventSize", 1000)),
66  isUpgrade(conf_.getUntrackedParameter<bool>("isUpgrade", false)),
67  noOfLayers(0),
68  noOfDisks(0) {
69  //set Token(-s)
70  srcToken_ = consumes<edm::DetSetVector<PixelDigi> >(conf_.getParameter<edm::InputTag>("src"));
71 
72  trackerTopoToken_ = esConsumes<TrackerTopology, TrackerTopologyRcd>();
73  trackerTopoTokenBeginRun_ = esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>();
74  trackerGeomTokenBeginRun_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>();
75 
76  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
77 
78  firstRun = true;
79  // find a FED# for the current detId:
80  ifstream infile(edm::FileInPath("DQM/SiPixelMonitorClient/test/detId.dat").fullPath().c_str(), ios::in);
81  int nModsInFile = 0;
82  assert(!infile.fail());
83  int nTOTmodules;
84  if (isUpgrade) {
85  nTOTmodules = 1856;
86  } else {
87  nTOTmodules = 1440;
88  }
89  while (!infile.eof() && nModsInFile < nTOTmodules) {
90  infile >> I_name[nModsInFile] >> I_detId[nModsInFile] >> I_fedId[nModsInFile] >> I_linkId1[nModsInFile] >>
91  I_linkId2[nModsInFile];
92  nModsInFile++;
93  }
94  infile.close();
95 
96  LogInfo("PixelDQM") << "SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface" << endl;
97 }
T getUntrackedParameter(std::string const &, T const &) const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
std::string topFolderName_
assert(be >=bs)
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > srcToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
unsigned int I_detId[1856]
Log< level::Info, false > LogInfo
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet conf_
edm::InputTag src_
std::string I_name[1856]
SiPixelDigiSource::~SiPixelDigiSource ( )
override

Definition at line 99 of file SiPixelDigiSource.cc.

99  {
100  // do anything here that needs to be done at desctruction time
101  // (e.g. close files, deallocate resources etc.)
102  LogInfo("PixelDQM") << "SiPixelDigiSource::~SiPixelDigiSource: Destructor" << endl;
103 }
Log< level::Info, false > LogInfo

Member Function Documentation

void SiPixelDigiSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >.

Definition at line 328 of file SiPixelDigiSource.cc.

References Reference_intrackfit_cff::barrel, bigEventRate, bigEventSize, PixelEndcapName::bladeName(), bladeOn, edm::EventBase::bunchCrossing(), makePileupJSON::bx, CountZeroROCsInSubstructure(), PixelEndcapName::diskName(), diskOn, DoZeroRocsBMI1, DoZeroRocsBMI2, DoZeroRocsBMI3, DoZeroRocsBMO1, DoZeroRocsBMO2, DoZeroRocsBMO3, DoZeroRocsBPI1, DoZeroRocsBPI2, DoZeroRocsBPI3, DoZeroRocsBPO1, DoZeroRocsBPO2, DoZeroRocsBPO3, DoZeroRocsFMI1, DoZeroRocsFMI2, DoZeroRocsFMO1, DoZeroRocsFMO2, DoZeroRocsFPI1, DoZeroRocsFPI2, DoZeroRocsFPO1, DoZeroRocsFPO2, Reference_intrackfit_cff::endcap, dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), edm::EventSetup::getHandle(), PixelEndcapName::halfCylinder(), mps_fire::i, I_detId, I_fedId, I_linkId1, I_linkId2, input, isUpgrade, edm::HandleBase::isValid(), dqmiolumiharvest::j, ladOn, phase1PixelTopology::layer, PixelBarrelName::layerName(), layOn, loOccROCsBarrel, loOccROCsEndcap, edm::EventBase::luminosityBlock(), meNDigisCHANBarrel_, meNDigisCHANBarrelCh10_, meNDigisCHANBarrelCh11_, meNDigisCHANBarrelCh12_, meNDigisCHANBarrelCh13_, meNDigisCHANBarrelCh14_, meNDigisCHANBarrelCh15_, meNDigisCHANBarrelCh16_, meNDigisCHANBarrelCh17_, meNDigisCHANBarrelCh18_, meNDigisCHANBarrelCh19_, meNDigisCHANBarrelCh1_, meNDigisCHANBarrelCh20_, meNDigisCHANBarrelCh21_, meNDigisCHANBarrelCh22_, meNDigisCHANBarrelCh23_, meNDigisCHANBarrelCh24_, meNDigisCHANBarrelCh25_, meNDigisCHANBarrelCh26_, meNDigisCHANBarrelCh27_, meNDigisCHANBarrelCh28_, meNDigisCHANBarrelCh29_, meNDigisCHANBarrelCh2_, meNDigisCHANBarrelCh30_, meNDigisCHANBarrelCh31_, meNDigisCHANBarrelCh32_, meNDigisCHANBarrelCh33_, meNDigisCHANBarrelCh34_, meNDigisCHANBarrelCh35_, meNDigisCHANBarrelCh36_, meNDigisCHANBarrelCh3_, meNDigisCHANBarrelCh4_, meNDigisCHANBarrelCh5_, meNDigisCHANBarrelCh6_, meNDigisCHANBarrelCh7_, meNDigisCHANBarrelCh8_, meNDigisCHANBarrelCh9_, meNDigisCHANBarrelLs_, meNDigisCHANEndcap_, meNDigisCHANEndcapDms_, meNDigisCHANEndcapDps_, meNDigisCOMBBarrel_, meNDigisCOMBEndcap_, PixelBarrelName::mI, PixelEndcapName::mI, PixelEndcapName::mO, PixelBarrelName::mO, modOn, callgraph::module, nBPIXDigis, nDigisA, nDigisB, nDigisPerChan, nDigisPerDisk, nDigisPerFed, nDM1P1M1, nDM1P1M2, nDM1P1M3, nDM1P1M4, nDM1P2M1, nDM1P2M2, nDM1P2M3, nDM2P1M1, nDM2P1M2, nDM2P1M3, nDM2P1M4, nDM2P2M1, nDM2P2M2, nDM2P2M3, nDM3P1M1, nDM3P2M1, nDP1P1M1, nDP1P1M2, nDP1P1M3, nDP1P1M4, nDP1P2M1, nDP1P2M2, nDP1P2M3, nDP2P1M1, nDP2P1M2, nDP2P1M3, nDP2P1M4, nDP2P2M1, nDP2P2M2, nDP2P2M3, nDP3P1M1, nDP3P2M1, nFPIXDigis, NloEffROCs, noOccROCsBarrel, noOccROCsEndcap, noOfDisks, numberOfDigis, NzeroROCs, PixelEndcapName::pannelName(), phiOn, PixelBarrelName::pI, PixelEndcapName::pI, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, pixEventRate, pixEvtsPerBX, PixelEndcapName::plaquetteName(), PixelBarrelName::pO, PixelEndcapName::pO, edm::ESHandle< class >::product(), reducedSet, ringOn, ROCMapToReset, dqm::impl::MonitorElement::setBinContent(), DeadROC_duringRun::shell, PixelBarrelName::shell(), slowDown, srcToken_, DetId::subdetId(), thePixelStructure, trackerTopoToken_, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

328  {
330  const TrackerTopology* pTT = tTopoHandle.product();
331 
332  // get input data
334  iEvent.getByToken(srcToken_, input);
335  if (!input.isValid())
336  return;
337 
338  int bx = iEvent.bunchCrossing();
339 
340  int lumiSection = (int)iEvent.luminosityBlock();
341  int nEventDigis = 0;
342  int nActiveModules = 0;
343 
344  std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
345  for (int i = 0; i != 192; i++)
346  numberOfDigis[i] = 0;
347  for (int i = 0; i != 1152; i++)
348  nDigisPerChan[i] = 0;
349  for (int i = 0; i != 4; i++)
350  nDigisPerDisk[i] = 0;
351 
352  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
353  int numberOfDigisMod = (*struct_iter)
354  .second->fill(*input,
355  pTT,
360  modOn,
361  ladOn,
362  layOn,
363  phiOn,
364  bladeOn,
365  diskOn,
366  ringOn,
367  twoDimOn,
368  reducedSet,
369  twoDimModOn,
371  nDigisA,
372  nDigisB,
373  isUpgrade);
374 
375  bool barrel = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
376  bool endcap = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
377 
378  if (numberOfDigisMod > 0) {
379  nEventDigis = nEventDigis + numberOfDigisMod;
380  nActiveModules++;
381  int nBPiXmodules;
382  int nTOTmodules;
383  if (isUpgrade) {
384  nBPiXmodules = 1184;
385  nTOTmodules = 1856;
386  } else {
387  nBPiXmodules = 768;
388  nTOTmodules = 1440;
389  }
390  if (barrel) { // Barrel
391  int layer = PixelBarrelName(DetId((*struct_iter).first), pTT, isUpgrade).layerName();
392  PixelBarrelName::Shell shell = PixelBarrelName(DetId((*struct_iter).first), pTT, isUpgrade).shell();
393 
394  //Count Zero Occ Rocs in Barrel in the first event after each 10 Ls
396  if (DoZeroRocsBMO1 && layer == 1)
397  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO1, (*struct_iter).second);
398  if (DoZeroRocsBMO2 && layer == 2)
399  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO2, (*struct_iter).second);
400  if (DoZeroRocsBMO3 && layer == 3)
401  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMO3, (*struct_iter).second);
402  } else if (ROCMapToReset && shell == PixelBarrelName::mI && twoDimOnlyLayDisk) {
403  if (DoZeroRocsBMI1 && layer == 1)
404  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI1, (*struct_iter).second);
405  if (DoZeroRocsBMI2 && layer == 2)
406  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI2, (*struct_iter).second);
407  if (DoZeroRocsBMI3 && layer == 3)
408  CountZeroROCsInSubstructure(barrel, DoZeroRocsBMI3, (*struct_iter).second);
409  } else if (ROCMapToReset && shell == PixelBarrelName::pO && twoDimOnlyLayDisk) {
410  if (DoZeroRocsBPO1 && layer == 1)
411  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO1, (*struct_iter).second);
412  if (DoZeroRocsBPO2 && layer == 2)
413  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO2, (*struct_iter).second);
414  if (DoZeroRocsBPO3 && layer == 3)
415  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPO3, (*struct_iter).second);
416  } else if (ROCMapToReset && shell == PixelBarrelName::pI && twoDimOnlyLayDisk) {
417  if (DoZeroRocsBPI1 && layer == 1)
418  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI1, (*struct_iter).second);
419  if (DoZeroRocsBPI2 && layer == 2)
420  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI2, (*struct_iter).second);
421  if (DoZeroRocsBPI3 && layer == 3)
422  CountZeroROCsInSubstructure(barrel, DoZeroRocsBPI3, (*struct_iter).second);
423  }
424 
425  nBPIXDigis = nBPIXDigis + numberOfDigisMod;
426  for (int i = 0; i != nBPiXmodules; ++i) {
427  if ((*struct_iter).first == I_detId[i]) {
428  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
429  int index1 = 0;
430  int index2 = 0;
431  if (I_linkId1[i] > 0)
432  index1 = I_fedId[i] * 36 + (I_linkId1[i] - 1);
433  if (I_linkId2[i] > 0)
434  index2 = I_fedId[i] * 36 + (I_linkId2[i] - 1);
435  if (nDigisA > 0 && I_linkId1[i] > 0)
436  nDigisPerChan[index1] = nDigisPerChan[index1] + nDigisA;
437  if (nDigisB > 0 && I_linkId2[i] > 0)
438  nDigisPerChan[index2] = nDigisPerChan[index2] + nDigisB;
439  i = (nBPiXmodules - 1);
440  }
441  }
442  } else if (endcap && !isUpgrade) { // Endcap
443  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
445  PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).halfCylinder();
446  int disk = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).diskName();
447  int blade = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).bladeName();
448  int panel = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).pannelName();
449  int module = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).plaquetteName();
450  int iter = 0;
451  int i = 0;
452 
453  //count Zero Occupancy ROCs in Endcap in the first event after each 10 Ls
455  if (DoZeroRocsFMO1 && disk == 1)
456  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMO1, (*struct_iter).second);
457  if (DoZeroRocsFMO2 && disk == 2)
458  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMO2, (*struct_iter).second);
459  } else if (ROCMapToReset && side == PixelEndcapName::mI && twoDimOnlyLayDisk) {
460  if (DoZeroRocsFMI1 && disk == 1)
461  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMI1, (*struct_iter).second);
462  if (DoZeroRocsFMI2 && disk == 2)
463  CountZeroROCsInSubstructure(barrel, DoZeroRocsFMI2, (*struct_iter).second);
464  } else if (ROCMapToReset && side == PixelEndcapName::pO && twoDimOnlyLayDisk) {
465  if (DoZeroRocsFPO1 && disk == 1)
466  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPO1, (*struct_iter).second);
467  if (DoZeroRocsFPO2 && disk == 2)
468  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPO2, (*struct_iter).second);
469  } else if (ROCMapToReset && side == PixelEndcapName::pI && twoDimOnlyLayDisk) {
470  if (DoZeroRocsFPI1 && disk == 1)
471  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPI1, (*struct_iter).second);
472  if (DoZeroRocsFPI2 && disk == 2)
473  CountZeroROCsInSubstructure(barrel, DoZeroRocsFPI2, (*struct_iter).second);
474  }
475 
476  if (side == PixelEndcapName::mI) {
477  if (disk == 1) {
478  i = 0;
479  if (panel == 1) {
480  if (module == 1)
481  nDM1P1M1 += numberOfDigisMod;
482  else if (module == 2)
483  nDM1P1M2 += numberOfDigisMod;
484  else if (module == 3)
485  nDM1P1M3 += numberOfDigisMod;
486  else if (module == 4)
487  nDM1P1M4 += numberOfDigisMod;
488  } else if (panel == 2) {
489  if (module == 1)
490  nDM1P2M1 += numberOfDigisMod;
491  else if (module == 2)
492  nDM1P2M2 += numberOfDigisMod;
493  else if (module == 3)
494  nDM1P2M3 += numberOfDigisMod;
495  }
496  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
497  iter = i + 2 * (blade - 1) + (panel - 1);
498  } else if (disk == 2) {
499  i = 24;
500  if (panel == 1) {
501  if (module == 1)
502  nDM2P1M1 += numberOfDigisMod;
503  else if (module == 2)
504  nDM2P1M2 += numberOfDigisMod;
505  else if (module == 3)
506  nDM2P1M3 += numberOfDigisMod;
507  else if (module == 4)
508  nDM2P1M4 += numberOfDigisMod;
509  } else if (panel == 2) {
510  if (module == 1)
511  nDM2P2M1 += numberOfDigisMod;
512  else if (module == 2)
513  nDM2P2M2 += numberOfDigisMod;
514  else if (module == 3)
515  nDM2P2M3 += numberOfDigisMod;
516  }
517  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
518  iter = i + 2 * (blade - 1) + (panel - 1);
519  }
520  } else if (side == PixelEndcapName::mO) {
521  if (disk == 1) {
522  i = 48;
523  if (panel == 1) {
524  if (module == 1)
525  nDM1P1M1 += numberOfDigisMod;
526  else if (module == 2)
527  nDM1P1M2 += numberOfDigisMod;
528  else if (module == 3)
529  nDM1P1M3 += numberOfDigisMod;
530  else if (module == 4)
531  nDM1P1M4 += numberOfDigisMod;
532  } else if (panel == 2) {
533  if (module == 1)
534  nDM1P2M1 += numberOfDigisMod;
535  else if (module == 2)
536  nDM1P2M2 += numberOfDigisMod;
537  else if (module == 3)
538  nDM1P2M3 += numberOfDigisMod;
539  }
540  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
541  iter = i + 2 * (blade - 1) + (panel - 1);
542  } else if (disk == 2) {
543  i = 72;
544  if (panel == 1) {
545  if (module == 1)
546  nDM2P1M1 += numberOfDigisMod;
547  else if (module == 2)
548  nDM2P1M2 += numberOfDigisMod;
549  else if (module == 3)
550  nDM2P1M3 += numberOfDigisMod;
551  else if (module == 4)
552  nDM2P1M4 += numberOfDigisMod;
553  } else if (panel == 2) {
554  if (module == 1)
555  nDM2P2M1 += numberOfDigisMod;
556  else if (module == 2)
557  nDM2P2M2 += numberOfDigisMod;
558  else if (module == 3)
559  nDM2P2M3 += numberOfDigisMod;
560  }
561  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
562  iter = i + 2 * (blade - 1) + (panel - 1);
563  }
564  } else if (side == PixelEndcapName::pI) {
565  if (disk == 1) {
566  i = 96;
567  if (panel == 1) {
568  if (module == 1)
569  nDP1P1M1 += numberOfDigisMod;
570  else if (module == 2)
571  nDP1P1M2 += numberOfDigisMod;
572  else if (module == 3)
573  nDP1P1M3 += numberOfDigisMod;
574  else if (module == 4)
575  nDP1P1M4 += numberOfDigisMod;
576  } else if (panel == 2) {
577  if (module == 1)
578  nDP1P2M1 += numberOfDigisMod;
579  else if (module == 2)
580  nDP1P2M2 += numberOfDigisMod;
581  else if (module == 3)
582  nDP1P2M3 += numberOfDigisMod;
583  }
584  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
585  iter = i + 2 * (blade - 1) + (panel - 1);
586  } else if (disk == 2) {
587  i = 120;
588  if (panel == 1) {
589  if (module == 1)
590  nDP2P1M1 += numberOfDigisMod;
591  else if (module == 2)
592  nDP2P1M2 += numberOfDigisMod;
593  else if (module == 3)
594  nDP2P1M3 += numberOfDigisMod;
595  else if (module == 4)
596  nDP2P1M4 += numberOfDigisMod;
597  } else if (panel == 2) {
598  if (module == 1)
599  nDP2P2M1 += numberOfDigisMod;
600  else if (module == 2)
601  nDP2P2M2 += numberOfDigisMod;
602  else if (module == 3)
603  nDP2P2M3 += numberOfDigisMod;
604  }
605  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
606  iter = i + 2 * (blade - 1) + (panel - 1);
607  }
608  } else if (side == PixelEndcapName::pO) {
609  if (disk == 1) {
610  i = 144;
611  if (panel == 1) {
612  if (module == 1)
613  nDP1P1M1 += numberOfDigisMod;
614  else if (module == 2)
615  nDP1P1M2 += numberOfDigisMod;
616  else if (module == 3)
617  nDP1P1M3 += numberOfDigisMod;
618  else if (module == 4)
619  nDP1P1M4 += numberOfDigisMod;
620  } else if (panel == 2) {
621  if (module == 1)
622  nDP1P2M1 += numberOfDigisMod;
623  else if (module == 2)
624  nDP1P2M2 += numberOfDigisMod;
625  else if (module == 3)
626  nDP1P2M3 += numberOfDigisMod;
627  }
628  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
629  iter = i + 2 * (blade - 1) + (panel - 1);
630  } else if (disk == 2) {
631  i = 168;
632  if (panel == 1) {
633  if (module == 1)
634  nDP2P1M1 += numberOfDigisMod;
635  else if (module == 2)
636  nDP2P1M2 += numberOfDigisMod;
637  else if (module == 3)
638  nDP2P1M3 += numberOfDigisMod;
639  else if (module == 4)
640  nDP2P1M4 += numberOfDigisMod;
641  } else if (panel == 2) {
642  if (module == 1)
643  nDP2P2M1 += numberOfDigisMod;
644  else if (module == 2)
645  nDP2P2M2 += numberOfDigisMod;
646  else if (module == 3)
647  nDP2P2M3 += numberOfDigisMod;
648  }
649  if (blade < 13 && blade > 0 && (panel == 1 || panel == 2))
650  iter = i + 2 * (blade - 1) + (panel - 1);
651  }
652  }
653  numberOfDigis[iter] = numberOfDigis[iter] + numberOfDigisMod;
654 
655  for (int i = nBPiXmodules; i != nTOTmodules; i++) {
656  if ((*struct_iter).first == I_detId[i]) {
657  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
658  i = nTOTmodules - 1;
659  }
660  }
661  } //endif Barrel/(Endcap && !isUpgrade)
662  else if (endcap && isUpgrade) {
663  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
665  PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).halfCylinder();
666  int disk = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).diskName();
667  int blade = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).bladeName();
668  int panel = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).pannelName();
669  int module = PixelEndcapName(DetId((*struct_iter).first), pTT, isUpgrade).plaquetteName();
670 
671  int iter = 0;
672  int i = 0;
673  if (side == PixelEndcapName::mI) {
674  if (disk == 1) {
675  i = 0;
676  if (panel == 1) {
677  if (module == 1)
678  nDM1P1M1 += numberOfDigisMod;
679  } else if (panel == 2) {
680  if (module == 1)
681  nDM1P2M1 += numberOfDigisMod;
682  }
683  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
684  iter = i + 2 * (blade - 1) + (panel - 1);
685  } else if (disk == 2) {
686  i = 22;
687  if (panel == 1) {
688  if (module == 1)
689  nDM2P1M1 += numberOfDigisMod;
690  } else if (panel == 2) {
691  if (module == 1)
692  nDM2P2M1 += numberOfDigisMod;
693  }
694  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
695  iter = i + 2 * (blade - 1) + (panel - 1);
696  } else if (disk == 3) {
697  i = 44;
698  if (panel == 1) {
699  if (module == 1)
700  nDM3P1M1 += numberOfDigisMod;
701  } else if (panel == 2) {
702  if (module == 1)
703  nDM3P2M1 += numberOfDigisMod;
704  }
705  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
706  iter = i + 2 * (blade - 1) + (panel - 1);
707  }
708  } else if (side == PixelEndcapName::mO) {
709  if (disk == 1) {
710  i = 66;
711  if (panel == 1) {
712  if (module == 1)
713  nDM1P1M1 += numberOfDigisMod;
714  } else if (panel == 2) {
715  if (module == 1)
716  nDM1P2M1 += numberOfDigisMod;
717  }
718  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
719  iter = i + 2 * (blade - 1) + (panel - 1);
720  } else if (disk == 2) {
721  i = 100;
722  if (panel == 1) {
723  if (module == 1)
724  nDM2P1M1 += numberOfDigisMod;
725  } else if (panel == 2) {
726  if (module == 1)
727  nDM2P2M1 += numberOfDigisMod;
728  }
729  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
730  iter = i + 2 * (blade - 1) + (panel - 1);
731  } else if (disk == 3) {
732  i = 134;
733  if (panel == 1) {
734  if (module == 1)
735  nDM3P1M1 += numberOfDigisMod;
736  } else if (panel == 2) {
737  if (module == 1)
738  nDM3P2M1 += numberOfDigisMod;
739  }
740  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
741  iter = i + 2 * (blade - 1) + (panel - 1);
742  }
743  } else if (side == PixelEndcapName::pI) {
744  if (disk == 1) {
745  i = 168;
746  if (panel == 1) {
747  if (module == 1)
748  nDP1P1M1 += numberOfDigisMod;
749  } else if (panel == 2) {
750  if (module == 1)
751  nDP1P2M1 += numberOfDigisMod;
752  }
753  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
754  iter = i + 2 * (blade - 1) + (panel - 1);
755  } else if (disk == 2) {
756  i = 190;
757  if (panel == 1) {
758  if (module == 1)
759  nDP2P1M1 += numberOfDigisMod;
760  } else if (panel == 2) {
761  if (module == 1)
762  nDP2P2M1 += numberOfDigisMod;
763  }
764  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
765  iter = i + 2 * (blade - 1) + (panel - 1);
766  } else if (disk == 3) {
767  i = 212;
768  if (panel == 1) {
769  if (module == 1)
770  nDP3P1M1 += numberOfDigisMod;
771  } else if (panel == 2) {
772  if (module == 1)
773  nDP3P2M1 += numberOfDigisMod;
774  }
775  if (blade < 12 && blade > 0 && (panel == 1 || panel == 2))
776  iter = i + 2 * (blade - 1) + (panel - 1);
777  }
778  } else if (side == PixelEndcapName::pO) {
779  if (disk == 1) {
780  i = 234;
781  if (panel == 1) {
782  if (module == 1)
783  nDP1P1M1 += numberOfDigisMod;
784  } else if (panel == 2) {
785  if (module == 1)
786  nDP1P2M1 += numberOfDigisMod;
787  }
788  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
789  iter = i + 2 * (blade - 1) + (panel - 1);
790  } else if (disk == 2) {
791  i = 268;
792  if (panel == 1) {
793  if (module == 1)
794  nDP2P1M1 += numberOfDigisMod;
795  } else if (panel == 2) {
796  if (module == 1)
797  nDP2P2M1 += numberOfDigisMod;
798  }
799  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
800  iter = i + 2 * (blade - 1) + (panel - 1);
801  } else if (disk == 3) {
802  i = 302;
803  if (panel == 1) {
804  if (module == 1)
805  nDP3P1M1 += numberOfDigisMod;
806  } else if (panel == 2) {
807  if (module == 1)
808  nDP3P2M1 += numberOfDigisMod;
809  }
810  if (blade < 18 && blade > 0 && (panel == 1 || panel == 2))
811  iter = i + 2 * (blade - 1) + (panel - 1);
812  }
813  }
814  numberOfDigis[iter] = numberOfDigis[iter] + numberOfDigisMod;
815  for (int i = nBPiXmodules; i != nTOTmodules; i++) {
816  if ((*struct_iter).first == I_detId[i]) {
817  nDigisPerFed[I_fedId[i]] = nDigisPerFed[I_fedId[i]] + numberOfDigisMod;
818  i = nTOTmodules - 1;
819  }
820  }
821  } //endif(Endcap && isUpgrade)
822  } // endif any digis in this module
823  } // endfor loop over all modules
824 
825  if (lumiSection % 10 == 0 && ROCMapToReset) {
826  for (int i = 0; i < 2; ++i)
827  NloEffROCs[i] = NloEffROCs[i] - NzeroROCs[i];
828  if (noOccROCsBarrel)
829  noOccROCsBarrel->setBinContent(lumiSection / 10, NzeroROCs[0]);
830  if (loOccROCsBarrel)
831  loOccROCsBarrel->setBinContent(lumiSection / 10, NloEffROCs[0]);
832  if (noOccROCsEndcap)
833  noOccROCsEndcap->setBinContent(lumiSection / 10, NzeroROCs[1]);
834  if (loOccROCsEndcap)
835  loOccROCsEndcap->setBinContent(lumiSection / 10, NloEffROCs[1]);
836  ROCMapToReset =
837  false; // in this way the ROC maps are reset for one event only (the first event in LS multiple of 10
838  }
839 
840  if (noOfDisks == 2) { // if (!isUpgrade)
841  if (meNDigisCHANEndcap_) {
842  for (int j = 0; j != 192; j++)
843  if (numberOfDigis[j] > 0)
845  }
846  if (meNDigisCHANEndcapDms_.at(0)) {
847  for (int j = 0; j != 72; j++)
848  if ((j < 24 || j > 47) && numberOfDigis[j] > 0)
849  meNDigisCHANEndcapDms_.at(0)->Fill((float)numberOfDigis[j]);
850  }
851  if (meNDigisCHANEndcapDms_.at(1)) {
852  for (int j = 24; j != 96; j++)
853  if ((j < 48 || j > 71) && numberOfDigis[j] > 0)
854  meNDigisCHANEndcapDms_.at(1)->Fill((float)numberOfDigis[j]);
855  }
856  if (meNDigisCHANEndcapDps_.at(0)) {
857  for (int j = 96; j != 168; j++)
858  if ((j < 120 || j > 143) && numberOfDigis[j] > 0)
859  meNDigisCHANEndcapDps_.at(0)->Fill((float)numberOfDigis[j]);
860  }
861  if (meNDigisCHANEndcapDps_.at(1)) {
862  for (int j = 120; j != 192; j++)
863  if ((j < 144 || j > 167) && numberOfDigis[j] > 0)
864  meNDigisCHANEndcapDps_.at(1)->Fill((float)numberOfDigis[j]);
865  }
866  } else if (noOfDisks == 3) { // else if (isUpgrade)
867  if (meNDigisCHANEndcap_) {
868  for (int j = 0; j != 336; j++)
869  if (numberOfDigis[j] > 0)
871  }
872  if (meNDigisCHANEndcapDms_.at(0)) {
873  for (int j = 0; j != 100; j++)
874  if ((j < 22 || j > 65) && numberOfDigis[j] > 0)
875  meNDigisCHANEndcapDms_.at(0)->Fill((float)numberOfDigis[j]);
876  }
877  if (meNDigisCHANEndcapDms_.at(1)) {
878  for (int j = 22; j != 134; j++)
879  if ((j < 44 || j > 99) && numberOfDigis[j] > 0)
880  meNDigisCHANEndcapDms_.at(1)->Fill((float)numberOfDigis[j]);
881  }
882  if (meNDigisCHANEndcapDms_.at(2)) {
883  for (int j = 44; j != 168; j++)
884  if ((j < 66 || j > 133) && numberOfDigis[j] > 0)
885  meNDigisCHANEndcapDms_.at(2)->Fill((float)numberOfDigis[j]);
886  }
887  if (meNDigisCHANEndcapDps_.at(0)) {
888  for (int j = 168; j != 268; j++)
889  if ((j < 190 || j > 233) && numberOfDigis[j] > 0)
890  meNDigisCHANEndcapDps_.at(0)->Fill((float)numberOfDigis[j]);
891  }
892  if (meNDigisCHANEndcapDps_.at(1)) {
893  for (int j = 190; j != 302; j++)
894  if ((j < 212 || j > 267) && numberOfDigis[j] > 0)
895  meNDigisCHANEndcapDps_.at(1)->Fill((float)numberOfDigis[j]);
896  }
897  if (meNDigisCHANEndcapDps_.at(2)) {
898  for (int j = 212; j != 336; j++)
899  if ((j < 234 || j > 301) && numberOfDigis[j] > 0)
900  meNDigisCHANEndcapDps_.at(2)->Fill((float)numberOfDigis[j]);
901  }
902  }
903 
905  for (int i = 0; i != 32; i++)
906  if (nDigisPerChan[i * 36 + 0] > 0)
907  meNDigisCHANBarrelCh1_->Fill((float)nDigisPerChan[i * 36 + 0]);
908  }
910  for (int i = 0; i != 32; i++)
911  if (nDigisPerChan[i * 36 + 1] > 0)
912  meNDigisCHANBarrelCh2_->Fill((float)nDigisPerChan[i * 36 + 1]);
913  }
915  for (int i = 0; i != 32; i++)
916  if (nDigisPerChan[i * 36 + 2] > 0)
917  meNDigisCHANBarrelCh3_->Fill((float)nDigisPerChan[i * 36 + 2]);
918  }
920  for (int i = 0; i != 32; i++)
921  if (nDigisPerChan[i * 36 + 3] > 0)
922  meNDigisCHANBarrelCh4_->Fill((float)nDigisPerChan[i * 36 + 3]);
923  }
925  for (int i = 0; i != 32; i++)
926  if (nDigisPerChan[i * 36 + 4] > 0)
927  meNDigisCHANBarrelCh5_->Fill((float)nDigisPerChan[i * 36 + 4]);
928  }
930  for (int i = 0; i != 32; i++)
931  if (nDigisPerChan[i * 36 + 5] > 0)
932  meNDigisCHANBarrelCh6_->Fill((float)nDigisPerChan[i * 36 + 5]);
933  }
935  for (int i = 0; i != 32; i++)
936  if (nDigisPerChan[i * 36 + 6] > 0)
937  meNDigisCHANBarrelCh7_->Fill((float)nDigisPerChan[i * 36 + 6]);
938  }
940  for (int i = 0; i != 32; i++)
941  if (nDigisPerChan[i * 36 + 7] > 0)
942  meNDigisCHANBarrelCh8_->Fill((float)nDigisPerChan[i * 36 + 7]);
943  }
945  for (int i = 0; i != 32; i++)
946  if (nDigisPerChan[i * 36 + 8] > 0)
947  meNDigisCHANBarrelCh9_->Fill((float)nDigisPerChan[i * 36 + 8]);
948  }
950  for (int i = 0; i != 32; i++)
951  if (nDigisPerChan[i * 36 + 9] > 0)
952  meNDigisCHANBarrelCh10_->Fill((float)nDigisPerChan[i * 36 + 9]);
953  }
955  for (int i = 0; i != 32; i++)
956  if (nDigisPerChan[i * 36 + 10] > 0)
957  meNDigisCHANBarrelCh11_->Fill((float)nDigisPerChan[i * 36 + 10]);
958  }
960  for (int i = 0; i != 32; i++)
961  if (nDigisPerChan[i * 36 + 11] > 0)
962  meNDigisCHANBarrelCh12_->Fill((float)nDigisPerChan[i * 36 + 11]);
963  }
965  for (int i = 0; i != 32; i++)
966  if (nDigisPerChan[i * 36 + 12] > 0)
967  meNDigisCHANBarrelCh13_->Fill((float)nDigisPerChan[i * 36 + 12]);
968  }
970  for (int i = 0; i != 32; i++)
971  if (nDigisPerChan[i * 36 + 13] > 0)
972  meNDigisCHANBarrelCh14_->Fill((float)nDigisPerChan[i * 36 + 13]);
973  }
975  for (int i = 0; i != 32; i++)
976  if (nDigisPerChan[i * 36 + 14] > 0)
977  meNDigisCHANBarrelCh15_->Fill((float)nDigisPerChan[i * 36 + 14]);
978  }
980  for (int i = 0; i != 32; i++)
981  if (nDigisPerChan[i * 36 + 15] > 0)
982  meNDigisCHANBarrelCh16_->Fill((float)nDigisPerChan[i * 36 + 15]);
983  }
985  for (int i = 0; i != 32; i++)
986  if (nDigisPerChan[i * 36 + 16] > 0)
987  meNDigisCHANBarrelCh17_->Fill((float)nDigisPerChan[i * 36 + 16]);
988  }
990  for (int i = 0; i != 32; i++)
991  if (nDigisPerChan[i * 36 + 17] > 0)
992  meNDigisCHANBarrelCh18_->Fill((float)nDigisPerChan[i * 36 + 17]);
993  }
995  for (int i = 0; i != 32; i++)
996  if (nDigisPerChan[i * 36 + 18] > 0)
997  meNDigisCHANBarrelCh19_->Fill((float)nDigisPerChan[i * 36 + 18]);
998  }
1000  for (int i = 0; i != 32; i++)
1001  if (nDigisPerChan[i * 36 + 19] > 0)
1002  meNDigisCHANBarrelCh20_->Fill((float)nDigisPerChan[i * 36 + 19]);
1003  }
1005  for (int i = 0; i != 32; i++)
1006  if (nDigisPerChan[i * 36 + 20] > 0)
1007  meNDigisCHANBarrelCh21_->Fill((float)nDigisPerChan[i * 36 + 20]);
1008  }
1010  for (int i = 0; i != 32; i++)
1011  if (nDigisPerChan[i * 36 + 21] > 0)
1012  meNDigisCHANBarrelCh22_->Fill((float)nDigisPerChan[i * 36 + 21]);
1013  }
1015  for (int i = 0; i != 32; i++)
1016  if (nDigisPerChan[i * 36 + 22] > 0)
1017  meNDigisCHANBarrelCh23_->Fill((float)nDigisPerChan[i * 36 + 22]);
1018  }
1020  for (int i = 0; i != 32; i++)
1021  if (nDigisPerChan[i * 36 + 23] > 0)
1022  meNDigisCHANBarrelCh24_->Fill((float)nDigisPerChan[i * 36 + 23]);
1023  }
1025  for (int i = 0; i != 32; i++)
1026  if (nDigisPerChan[i * 36 + 24] > 0)
1027  meNDigisCHANBarrelCh25_->Fill((float)nDigisPerChan[i * 36 + 24]);
1028  }
1030  for (int i = 0; i != 32; i++)
1031  if (nDigisPerChan[i * 36 + 25] > 0)
1032  meNDigisCHANBarrelCh26_->Fill((float)nDigisPerChan[i * 36 + 25]);
1033  }
1035  for (int i = 0; i != 32; i++)
1036  if (nDigisPerChan[i * 36 + 26] > 0)
1037  meNDigisCHANBarrelCh27_->Fill((float)nDigisPerChan[i * 36 + 26]);
1038  }
1040  for (int i = 0; i != 32; i++)
1041  if (nDigisPerChan[i * 36 + 27] > 0)
1042  meNDigisCHANBarrelCh28_->Fill((float)nDigisPerChan[i * 36 + 27]);
1043  }
1045  for (int i = 0; i != 32; i++)
1046  if (nDigisPerChan[i * 36 + 28] > 0)
1047  meNDigisCHANBarrelCh29_->Fill((float)nDigisPerChan[i * 36 + 28]);
1048  }
1050  for (int i = 0; i != 32; i++)
1051  if (nDigisPerChan[i * 36 + 29] > 0)
1052  meNDigisCHANBarrelCh30_->Fill((float)nDigisPerChan[i * 36 + 29]);
1053  }
1055  for (int i = 0; i != 32; i++)
1056  if (nDigisPerChan[i * 36 + 30] > 0)
1057  meNDigisCHANBarrelCh31_->Fill((float)nDigisPerChan[i * 36 + 30]);
1058  }
1060  for (int i = 0; i != 32; i++)
1061  if (nDigisPerChan[i * 36 + 31] > 0)
1062  meNDigisCHANBarrelCh32_->Fill((float)nDigisPerChan[i * 36 + 31]);
1063  }
1065  for (int i = 0; i != 32; i++)
1066  if (nDigisPerChan[i * 36 + 32] > 0)
1067  meNDigisCHANBarrelCh33_->Fill((float)nDigisPerChan[i * 36 + 32]);
1068  }
1070  for (int i = 0; i != 32; i++)
1071  if (nDigisPerChan[i * 36 + 33] > 0)
1072  meNDigisCHANBarrelCh34_->Fill((float)nDigisPerChan[i * 36 + 33]);
1073  }
1075  for (int i = 0; i != 32; i++)
1076  if (nDigisPerChan[i * 36 + 34] > 0)
1077  meNDigisCHANBarrelCh35_->Fill((float)nDigisPerChan[i * 36 + 34]);
1078  }
1080  for (int i = 0; i != 32; i++)
1081  if (nDigisPerChan[i * 36 + 35] > 0)
1082  meNDigisCHANBarrelCh36_->Fill((float)nDigisPerChan[i * 36 + 35]);
1083  }
1084 
1085  // Rate of events with >N digis:
1086  if (nEventDigis > bigEventSize) {
1087  if (bigEventRate)
1088  bigEventRate->Fill(lumiSection, 1. / 23.);
1089  }
1090 
1091  // Rate of pixel events and total number of pixel events per BX:
1092  if (nActiveModules >= 4) {
1093  if (pixEvtsPerBX)
1094  pixEvtsPerBX->Fill(float(bx));
1095  if (pixEventRate)
1096  pixEventRate->Fill(lumiSection, 1. / 23.);
1097  }
1098 
1099  if (slowDown)
1100  usleep(10000);
1101 }
int plaquetteName() const
plaquetteId (in pannel)
MonitorElement * meNDigisCHANBarrelCh19_
MonitorElement * meNDigisCHANBarrelCh35_
MonitorElement * meNDigisCHANBarrelCh2_
MonitorElement * meNDigisCHANBarrelCh30_
MonitorElement * meNDigisCHANBarrelCh31_
MonitorElement * meNDigisCHANBarrelCh8_
MonitorElement * meNDigisCHANBarrelCh36_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
MonitorElement * loOccROCsEndcap
MonitorElement * meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh25_
MonitorElement * meNDigisCHANBarrelCh6_
MonitorElement * meNDigisCOMBBarrel_
int bunchCrossing() const
Definition: EventBase.h:64
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:61
MonitorElement * meNDigisCOMBEndcap_
MonitorElement * meNDigisCHANBarrelCh14_
MonitorElement * meNDigisCHANBarrelCh12_
MonitorElement * meNDigisCHANBarrelCh29_
constexpr std::array< uint8_t, layerIndexSize > layer
static std::string const input
Definition: EdmProvDump.cc:47
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > srcToken_
MonitorElement * meNDigisCHANBarrelCh27_
void Fill(long long x)
int bladeName() const
blade id
MonitorElement * meNDigisCHANBarrelCh3_
MonitorElement * meNDigisCHANBarrelCh9_
MonitorElement * meNDigisCHANBarrelCh4_
MonitorElement * meNDigisCHANBarrelCh34_
MonitorElement * meNDigisCHANBarrelCh26_
MonitorElement * noOccROCsBarrel
MonitorElement * meNDigisCHANEndcap_
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 * meNDigisCHANBarrelCh28_
MonitorElement * noOccROCsEndcap
MonitorElement * meNDigisCHANBarrel_
std::vector< MonitorElement * > meNDigisCHANEndcapDms_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
MonitorElement * meNDigisCHANBarrelCh33_
MonitorElement * pixEventRate
MonitorElement * meNDigisCHANBarrelCh21_
unsigned int I_detId[1856]
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * meNDigisCHANBarrelCh32_
MonitorElement * meNDigisCHANBarrelCh10_
MonitorElement * loOccROCsBarrel
MonitorElement * meNDigisCHANBarrelCh1_
Definition: DetId.h:17
MonitorElement * meNDigisCHANBarrelCh5_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meNDigisCHANBarrelCh7_
MonitorElement * meNDigisCHANBarrelCh15_
MonitorElement * meNDigisCHANBarrelCh13_
MonitorElement * meNDigisCHANBarrelCh23_
int layerName() const
layer id
T const * product() const
Definition: ESHandle.h:86
Shell shell() const
MonitorElement * meNDigisCHANBarrelCh18_
MonitorElement * bigEventRate
MonitorElement * meNDigisCHANBarrelCh20_
int pannelName() const
pannel id
MonitorElement * meNDigisCHANBarrelCh22_
int diskName() const
disk id
std::vector< MonitorElement * > meNDigisCHANEndcapDps_
MonitorElement * pixEvtsPerBX
std::vector< MonitorElement * > meNDigisCHANBarrelLs_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:157
HalfCylinder halfCylinder() const
MonitorElement * meNDigisCHANBarrelCh16_
MonitorElement * meNDigisCHANBarrelCh11_
virtual void CountZeroROCsInSubstructure(bool, bool &, SiPixelDigiModule *)
MonitorElement * meNDigisCHANBarrelCh24_
tuple module
Definition: callgraph.py:69
void SiPixelDigiSource::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >.

Definition at line 321 of file SiPixelDigiSource.cc.

References bookMEs().

321  {
322  bookMEs(iBooker, iSetup);
323 }
virtual void bookMEs(DQMStore::IBooker &, const edm::EventSetup &iSetup)
void SiPixelDigiSource::bookMEs ( DQMStore::IBooker iBooker,
const edm::EventSetup iSetup 
)
virtual

Create folder tree and book histograms

Definition at line 1212 of file SiPixelDigiSource.cc.

References averageDigiOccupancy, avgBarrelFedOccvsLumi, avgEndcapFedOccvsLumi, avgfedDigiOccvsLumi, bigEventRate, bigEventSize, bladeOn, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::NavigatorBase::cd(), conf_, diskOn, Exception, edm::EventSetup::getHandle(), hiRes, mps_fire::i, isPIB, isUpgrade, ladOn, layOn, LogDebug, loOccROCsBarrel, loOccROCsEndcap, meNDigisCHANBarrel_, meNDigisCHANBarrelCh10_, meNDigisCHANBarrelCh11_, meNDigisCHANBarrelCh12_, meNDigisCHANBarrelCh13_, meNDigisCHANBarrelCh14_, meNDigisCHANBarrelCh15_, meNDigisCHANBarrelCh16_, meNDigisCHANBarrelCh17_, meNDigisCHANBarrelCh18_, meNDigisCHANBarrelCh19_, meNDigisCHANBarrelCh1_, meNDigisCHANBarrelCh20_, meNDigisCHANBarrelCh21_, meNDigisCHANBarrelCh22_, meNDigisCHANBarrelCh23_, meNDigisCHANBarrelCh24_, meNDigisCHANBarrelCh25_, meNDigisCHANBarrelCh26_, meNDigisCHANBarrelCh27_, meNDigisCHANBarrelCh28_, meNDigisCHANBarrelCh29_, meNDigisCHANBarrelCh2_, meNDigisCHANBarrelCh30_, meNDigisCHANBarrelCh31_, meNDigisCHANBarrelCh32_, meNDigisCHANBarrelCh33_, meNDigisCHANBarrelCh34_, meNDigisCHANBarrelCh35_, meNDigisCHANBarrelCh36_, meNDigisCHANBarrelCh3_, meNDigisCHANBarrelCh4_, meNDigisCHANBarrelCh5_, meNDigisCHANBarrelCh6_, meNDigisCHANBarrelCh7_, meNDigisCHANBarrelCh8_, meNDigisCHANBarrelCh9_, meNDigisCHANBarrelLs_, meNDigisCHANEndcap_, meNDigisCHANEndcapDms_, meNDigisCHANEndcapDps_, meNDigisCOMBBarrel_, meNDigisCOMBEndcap_, modOn, noOccROCsBarrel, noOccROCsEndcap, noOfDisks, noOfLayers, perLSsaving, phiOn, pixEventRate, pixEvtsPerBX, edm::ESHandle< class >::product(), reducedSet, ringOn, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), AlCaHLTBitMon_QueryRunRegistry::string, thePixelStructure, runGCPTkAlMap::title, topFolderName_, trackerTopoTokenBeginRun_, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

Referenced by bookHistograms().

1212  {
1213  // Get DQM interface
1215  char title[80];
1216  sprintf(title, "Rate of events with >%i digis;LumiSection;Rate [Hz]", bigEventSize);
1217  bigEventRate = iBooker.book1D("bigEventRate", title, 5000, 0., 5000.);
1218  char title1[80];
1219  sprintf(title1, "Pixel events vs. BX;BX;# events");
1220  pixEvtsPerBX = iBooker.book1D("pixEvtsPerBX", title1, 3565, 0., 3565.);
1221  char title2[80];
1222  sprintf(title2, "Rate of Pixel events;LumiSection;Rate [Hz]");
1223  pixEventRate = iBooker.book1D("pixEventRate", title2, 5000, 0., 5000.);
1224  char title3[80];
1225  sprintf(title3, "Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
1226  noOccROCsBarrel = iBooker.book1D("noOccROCsBarrel", title3, 500, 0., 5000.);
1227  char title4[80];
1228  sprintf(title4, "Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
1229  loOccROCsBarrel = iBooker.book1D("loOccROCsBarrel", title4, 500, 0., 5000.);
1230  char title5[80];
1231  sprintf(title5, "Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
1232  noOccROCsEndcap = iBooker.book1D("noOccROCsEndcap", title5, 500, 0., 5000.);
1233  char title6[80];
1234  sprintf(title6, "Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
1235  loOccROCsEndcap = iBooker.book1D("loOccROCsEndcap", title6, 500, 0., 5000.);
1236  char title7[80];
1237  sprintf(title7, "Average digi occupancy per FED;FED;NDigis/<NDigis>");
1238  char title8[80];
1239  sprintf(title8, "FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
1240  if (modOn) {
1241  {
1242  auto scope = DQMStore::IBooker::UseLumiScope(iBooker);
1243  averageDigiOccupancy = iBooker.bookProfile("averageDigiOccupancy", title7, 40, -0.5, 39.5, 0., 3.);
1244  }
1245  avgfedDigiOccvsLumi = iBooker.book2D("avgfedDigiOccvsLumi", title8, 640, 0., 3200., 40, -0.5, 39.5);
1246  avgBarrelFedOccvsLumi = iBooker.book1D(
1247  "avgBarrelFedOccvsLumi",
1248  "Average Barrel FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1249  320,
1250  0.,
1251  3200.);
1252  avgEndcapFedOccvsLumi = iBooker.book1D(
1253  "avgEndcapFedOccvsLumi",
1254  "Average Endcap FED digi occupancy (<NDigis>) vs LumiSections;Lumi Section;Average digi occupancy per FED",
1255  320,
1256  0.,
1257  3200.);
1258  }
1259  if (!modOn && !perLSsaving) {
1260  averageDigiOccupancy = iBooker.book1D(
1261  "averageDigiOccupancy", title7, 40, -0.5, 39.5); //Book as TH1 for offline to ensure thread-safe behaviour
1262  avgfedDigiOccvsLumi = iBooker.book2D("avgfedDigiOccvsLumi", title8, 3200, 0., 3200., 40, -0.5, 39.5);
1263  }
1264  std::map<uint32_t, SiPixelDigiModule*>::iterator struct_iter;
1265 
1266  SiPixelFolderOrganizer theSiPixelFolder(false);
1267 
1269  const TrackerTopology* pTT = tTopoHandle.product();
1270 
1271  for (struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++) {
1273  if (modOn) {
1274  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 0, isUpgrade)) {
1275  (*struct_iter).second->book(conf_, pTT, iBooker, 0, twoDimOn, hiRes, reducedSet, twoDimModOn, isUpgrade);
1276  } else {
1277  if (!isPIB)
1278  throw cms::Exception("LogicError") << "[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
1279  }
1280  }
1281  if (ladOn) {
1282  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 1, isUpgrade)) {
1283  (*struct_iter).second->book(conf_, pTT, iBooker, 1, twoDimOn, hiRes, reducedSet, isUpgrade);
1284  } else {
1285  LogDebug("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
1286  }
1287  }
1288  if (layOn || twoDimOnlyLayDisk) {
1289  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 2, isUpgrade)) {
1290  (*struct_iter).second->book(conf_, pTT, iBooker, 2, twoDimOn, hiRes, reducedSet, twoDimOnlyLayDisk, isUpgrade);
1291  } else {
1292  LogDebug("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
1293  }
1294  }
1295 
1296  if (phiOn) {
1297  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 3, isUpgrade)) {
1298  (*struct_iter).second->book(conf_, pTT, iBooker, 3, twoDimOn, hiRes, reducedSet, isUpgrade);
1299  } else {
1300  LogDebug("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
1301  }
1302  }
1303  if (bladeOn) {
1304  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 4, isUpgrade)) {
1305  (*struct_iter).second->book(conf_, pTT, iBooker, 4, twoDimOn, hiRes, reducedSet, isUpgrade);
1306  } else {
1307  LogDebug("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
1308  }
1309  }
1310  if (diskOn || twoDimOnlyLayDisk) {
1311  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 5, isUpgrade)) {
1312  (*struct_iter).second->book(conf_, pTT, iBooker, 5, twoDimOn, hiRes, reducedSet, twoDimOnlyLayDisk, isUpgrade);
1313  } else {
1314  LogDebug("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
1315  }
1316  }
1317  if (ringOn) {
1318  if (theSiPixelFolder.setModuleFolder(iBooker, (*struct_iter).first, 6, isUpgrade)) {
1319  (*struct_iter).second->book(conf_, pTT, iBooker, 6, twoDimOn, hiRes, reducedSet, isUpgrade);
1320  } else {
1321  LogDebug("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
1322  }
1323  }
1324  }
1325  iBooker.cd(topFolderName_ + "/Barrel");
1326  meNDigisCOMBBarrel_ = iBooker.book1D("ALLMODS_ndigisCOMB_Barrel", "Number of Digis", 200, 0., 400.);
1327  meNDigisCOMBBarrel_->setAxisTitle("Number of digis per module per event", 1);
1328  meNDigisCHANBarrel_ = iBooker.book1D("ALLMODS_ndigisCHAN_Barrel", "Number of Digis", 100, 0., 1000.);
1329  meNDigisCHANBarrel_->setAxisTitle("Number of digis per FED channel per event", 1);
1330  std::stringstream ss1, ss2;
1331  for (int i = 1; i <= noOfLayers; i++) {
1332  ss1.str(std::string());
1333  ss1 << "ALLMODS_ndigisCHAN_BarrelL" << i;
1334  ss2.str(std::string());
1335  ss2 << "Number of Digis L" << i;
1336  meNDigisCHANBarrelLs_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1337  meNDigisCHANBarrelLs_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1338  }
1339  meNDigisCHANBarrelCh1_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh1", "Number of Digis Ch1", 100, 0., 1000.);
1340  meNDigisCHANBarrelCh1_->setAxisTitle("Number of digis per FED channel per event", 1);
1341  meNDigisCHANBarrelCh2_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh2", "Number of Digis Ch2", 100, 0., 1000.);
1342  meNDigisCHANBarrelCh2_->setAxisTitle("Number of digis per FED channel per event", 1);
1343  meNDigisCHANBarrelCh3_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh3", "Number of Digis Ch3", 100, 0., 1000.);
1344  meNDigisCHANBarrelCh3_->setAxisTitle("Number of digis per FED channel per event", 1);
1345  meNDigisCHANBarrelCh4_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh4", "Number of Digis Ch4", 100, 0., 1000.);
1346  meNDigisCHANBarrelCh4_->setAxisTitle("Number of digis per FED channel per event", 1);
1347  meNDigisCHANBarrelCh5_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh5", "Number of Digis Ch5", 100, 0., 1000.);
1348  meNDigisCHANBarrelCh5_->setAxisTitle("Number of digis per FED channel per event", 1);
1349  meNDigisCHANBarrelCh6_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh6", "Number of Digis Ch6", 100, 0., 1000.);
1350  meNDigisCHANBarrelCh6_->setAxisTitle("Number of digis per FED channel per event", 1);
1351  meNDigisCHANBarrelCh7_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh7", "Number of Digis Ch7", 100, 0., 1000.);
1352  meNDigisCHANBarrelCh7_->setAxisTitle("Number of digis per FED channel per event", 1);
1353  meNDigisCHANBarrelCh8_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh8", "Number of Digis Ch8", 100, 0., 1000.);
1354  meNDigisCHANBarrelCh8_->setAxisTitle("Number of digis per FED channel per event", 1);
1355  meNDigisCHANBarrelCh9_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh9", "Number of Digis Ch9", 100, 0., 1000.);
1356  meNDigisCHANBarrelCh9_->setAxisTitle("Number of digis per FED channel per event", 1);
1357  meNDigisCHANBarrelCh10_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh10", "Number of Digis Ch10", 100, 0., 1000.);
1358  meNDigisCHANBarrelCh10_->setAxisTitle("Number of digis per FED channel per event", 1);
1359  meNDigisCHANBarrelCh11_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh11", "Number of Digis Ch11", 100, 0., 1000.);
1360  meNDigisCHANBarrelCh11_->setAxisTitle("Number of digis per FED channel per event", 1);
1361  meNDigisCHANBarrelCh12_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh12", "Number of Digis Ch12", 100, 0., 1000.);
1362  meNDigisCHANBarrelCh12_->setAxisTitle("Number of digis per FED channel per event", 1);
1363  meNDigisCHANBarrelCh13_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh13", "Number of Digis Ch13", 100, 0., 1000.);
1364  meNDigisCHANBarrelCh13_->setAxisTitle("Number of digis per FED channel per event", 1);
1365  meNDigisCHANBarrelCh14_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh14", "Number of Digis Ch14", 100, 0., 1000.);
1366  meNDigisCHANBarrelCh14_->setAxisTitle("Number of digis per FED channel per event", 1);
1367  meNDigisCHANBarrelCh15_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh15", "Number of Digis Ch15", 100, 0., 1000.);
1368  meNDigisCHANBarrelCh15_->setAxisTitle("Number of digis per FED channel per event", 1);
1369  meNDigisCHANBarrelCh16_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh16", "Number of Digis Ch16", 100, 0., 1000.);
1370  meNDigisCHANBarrelCh16_->setAxisTitle("Number of digis per FED channel per event", 1);
1371  meNDigisCHANBarrelCh17_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh17", "Number of Digis Ch17", 100, 0., 1000.);
1372  meNDigisCHANBarrelCh17_->setAxisTitle("Number of digis per FED channel per event", 1);
1373  meNDigisCHANBarrelCh18_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh18", "Number of Digis Ch18", 100, 0., 1000.);
1374  meNDigisCHANBarrelCh18_->setAxisTitle("Number of digis per FED channel per event", 1);
1375  meNDigisCHANBarrelCh19_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh19", "Number of Digis Ch19", 100, 0., 1000.);
1376  meNDigisCHANBarrelCh19_->setAxisTitle("Number of digis per FED channel per event", 1);
1377  meNDigisCHANBarrelCh20_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh20", "Number of Digis Ch20", 100, 0., 1000.);
1378  meNDigisCHANBarrelCh20_->setAxisTitle("Number of digis per FED channel per event", 1);
1379  meNDigisCHANBarrelCh21_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh21", "Number of Digis Ch21", 100, 0., 1000.);
1380  meNDigisCHANBarrelCh21_->setAxisTitle("Number of digis per FED channel per event", 1);
1381  meNDigisCHANBarrelCh22_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh22", "Number of Digis Ch22", 100, 0., 1000.);
1382  meNDigisCHANBarrelCh22_->setAxisTitle("Number of digis per FED channel per event", 1);
1383  meNDigisCHANBarrelCh23_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh23", "Number of Digis Ch23", 100, 0., 1000.);
1384  meNDigisCHANBarrelCh23_->setAxisTitle("Number of digis per FED channel per event", 1);
1385  meNDigisCHANBarrelCh24_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh24", "Number of Digis Ch24", 100, 0., 1000.);
1386  meNDigisCHANBarrelCh24_->setAxisTitle("Number of digis per FED channel per event", 1);
1387  meNDigisCHANBarrelCh25_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh25", "Number of Digis Ch25", 100, 0., 1000.);
1388  meNDigisCHANBarrelCh25_->setAxisTitle("Number of digis per FED channel per event", 1);
1389  meNDigisCHANBarrelCh26_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh26", "Number of Digis Ch26", 100, 0., 1000.);
1390  meNDigisCHANBarrelCh26_->setAxisTitle("Number of digis per FED channel per event", 1);
1391  meNDigisCHANBarrelCh27_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh27", "Number of Digis Ch27", 100, 0., 1000.);
1392  meNDigisCHANBarrelCh27_->setAxisTitle("Number of digis per FED channel per event", 1);
1393  meNDigisCHANBarrelCh28_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh28", "Number of Digis Ch28", 100, 0., 1000.);
1394  meNDigisCHANBarrelCh28_->setAxisTitle("Number of digis per FED channel per event", 1);
1395  meNDigisCHANBarrelCh29_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh29", "Number of Digis Ch29", 100, 0., 1000.);
1396  meNDigisCHANBarrelCh29_->setAxisTitle("Number of digis per FED channel per event", 1);
1397  meNDigisCHANBarrelCh30_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh30", "Number of Digis Ch30", 100, 0., 1000.);
1398  meNDigisCHANBarrelCh30_->setAxisTitle("Number of digis per FED channel per event", 1);
1399  meNDigisCHANBarrelCh31_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh31", "Number of Digis Ch31", 100, 0., 1000.);
1400  meNDigisCHANBarrelCh31_->setAxisTitle("Number of digis per FED channel per event", 1);
1401  meNDigisCHANBarrelCh32_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh32", "Number of Digis Ch32", 100, 0., 1000.);
1402  meNDigisCHANBarrelCh32_->setAxisTitle("Number of digis per FED channel per event", 1);
1403  meNDigisCHANBarrelCh33_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh33", "Number of Digis Ch33", 100, 0., 1000.);
1404  meNDigisCHANBarrelCh33_->setAxisTitle("Number of digis per FED channel per event", 1);
1405  meNDigisCHANBarrelCh34_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh34", "Number of Digis Ch34", 100, 0., 1000.);
1406  meNDigisCHANBarrelCh34_->setAxisTitle("Number of digis per FED channel per event", 1);
1407  meNDigisCHANBarrelCh35_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh35", "Number of Digis Ch35", 100, 0., 1000.);
1408  meNDigisCHANBarrelCh35_->setAxisTitle("Number of digis per FED channel per event", 1);
1409  meNDigisCHANBarrelCh36_ = iBooker.book1D("ALLMODS_ndigisCHAN_BarrelCh36", "Number of Digis Ch36", 100, 0., 1000.);
1410  meNDigisCHANBarrelCh36_->setAxisTitle("Number of digis per FED channel per event", 1);
1411  iBooker.cd(topFolderName_ + "/Endcap");
1412  meNDigisCOMBEndcap_ = iBooker.book1D("ALLMODS_ndigisCOMB_Endcap", "Number of Digis", 200, 0., 400.);
1413  meNDigisCOMBEndcap_->setAxisTitle("Number of digis per module per event", 1);
1414  meNDigisCHANEndcap_ = iBooker.book1D("ALLMODS_ndigisCHAN_Endcap", "Number of Digis", 100, 0., 1000.);
1415  meNDigisCHANEndcap_->setAxisTitle("Number of digis per FED channel per event", 1);
1416  for (int i = 1; i <= noOfDisks; i++) {
1417  ss1.str(std::string());
1418  ss1 << "ALLMODS_ndigisCHAN_EndcapDp" << i;
1419  ss2.str(std::string());
1420  ss2 << "Number of Digis Disk p" << i;
1421  meNDigisCHANEndcapDps_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1422  meNDigisCHANEndcapDps_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1423  }
1424  for (int i = 1; i <= noOfDisks; i++) {
1425  ss1.str(std::string());
1426  ss1 << "ALLMODS_ndigisCHAN_EndcapDm" << i;
1427  ss2.str(std::string());
1428  ss2 << "Number of Digis Disk m" << i;
1429  meNDigisCHANEndcapDms_.push_back(iBooker.book1D(ss1.str(), ss2.str(), 100, 0., 1000.));
1430  meNDigisCHANEndcapDms_.at(i - 1)->setAxisTitle("Number of digis per FED channel per event", 1);
1431  }
1432  iBooker.cd(topFolderName_);
1433 }
MonitorElement * meNDigisCHANBarrelCh19_
MonitorElement * meNDigisCHANBarrelCh35_
MonitorElement * meNDigisCHANBarrelCh2_
MonitorElement * meNDigisCHANBarrelCh30_
MonitorElement * meNDigisCHANBarrelCh31_
MonitorElement * meNDigisCHANBarrelCh8_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
MonitorElement * meNDigisCHANBarrelCh36_
MonitorElement * loOccROCsEndcap
MonitorElement * meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh25_
MonitorElement * meNDigisCHANBarrelCh6_
MonitorElement * meNDigisCOMBBarrel_
std::string topFolderName_
MonitorElement * meNDigisCOMBEndcap_
MonitorElement * meNDigisCHANBarrelCh14_
MonitorElement * meNDigisCHANBarrelCh12_
MonitorElement * meNDigisCHANBarrelCh29_
MonitorElement * avgBarrelFedOccvsLumi
MonitorElement * meNDigisCHANBarrelCh27_
MonitorElement * meNDigisCHANBarrelCh3_
MonitorElement * meNDigisCHANBarrelCh9_
MonitorElement * meNDigisCHANBarrelCh4_
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
MonitorElement * meNDigisCHANBarrelCh34_
MonitorElement * meNDigisCHANBarrelCh26_
MonitorElement * noOccROCsBarrel
MonitorElement * meNDigisCHANEndcap_
MonitorElement * meNDigisCHANBarrelCh28_
MonitorElement * noOccROCsEndcap
MonitorElement * meNDigisCHANBarrel_
std::vector< MonitorElement * > meNDigisCHANEndcapDms_
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
MonitorElement * meNDigisCHANBarrelCh33_
UseScope< MonitorElementData::Scope::LUMI > UseLumiScope
Definition: DQMStore.h:463
MonitorElement * pixEventRate
MonitorElement * meNDigisCHANBarrelCh21_
MonitorElement * meNDigisCHANBarrelCh32_
MonitorElement * meNDigisCHANBarrelCh10_
MonitorElement * loOccROCsBarrel
MonitorElement * meNDigisCHANBarrelCh1_
MonitorElement * averageDigiOccupancy
MonitorElement * meNDigisCHANBarrelCh5_
MonitorElement * meNDigisCHANBarrelCh7_
MonitorElement * meNDigisCHANBarrelCh15_
MonitorElement * meNDigisCHANBarrelCh13_
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
MonitorElement * meNDigisCHANBarrelCh23_
T const * product() const
Definition: ESHandle.h:86
MonitorElement * meNDigisCHANBarrelCh18_
MonitorElement * bigEventRate
MonitorElement * meNDigisCHANBarrelCh20_
MonitorElement * avgfedDigiOccvsLumi
edm::ParameterSet conf_
MonitorElement * meNDigisCHANBarrelCh22_
MonitorElement * avgEndcapFedOccvsLumi
std::vector< MonitorElement * > meNDigisCHANEndcapDps_
MonitorElement * pixEvtsPerBX
std::vector< MonitorElement * > meNDigisCHANBarrelLs_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:157
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * meNDigisCHANBarrelCh16_
MonitorElement * meNDigisCHANBarrelCh11_
MonitorElement * meNDigisCHANBarrelCh24_
#define LogDebug(id)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiPixelDigiSource::buildStructure ( edm::EventSetup const &  iSetup)
virtual

Definition at line 1106 of file SiPixelDigiSource.cc.

References PixelEndcapName::bladeName(), PixelEndcapName::diskName(), edm::EventSetup::getHandle(), PixelEndcapName::halfCylinder(), isPIB, isUpgrade, phase1PixelTopology::layer, PixelBarrelName::layerName(), LogDebug, callgraph::module, noOfDisks, noOfLayers, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), edm::ESHandle< class >::product(), DetId::rawId(), PixelGeomDetUnit::specificTopology(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), thePixelStructure, trackerGeomTokenBeginRun_, and trackerTopoTokenBeginRun_.

Referenced by dqmBeginRun().

1106  {
1107  edm::ESHandle<TrackerTopology> tTopoHandle = iSetup.getHandle(trackerTopoTokenBeginRun_);
1108  const TrackerTopology* pTT = tTopoHandle.product();
1109 
1110  LogInfo("PixelDQM") << " SiPixelDigiSource::buildStructure";
1112 
1113  LogVerbatim("PixelDQM") << " *** Geometry node for TrackerGeom is " << &(*pDD) << std::endl;
1114  LogVerbatim("PixelDQM") << " *** I have " << pDD->dets().size() << " detectors" << std::endl;
1115  LogVerbatim("PixelDQM") << " *** I have " << pDD->detTypes().size() << " types" << std::endl;
1116 
1117  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++) {
1118  if (dynamic_cast<PixelGeomDetUnit const*>((*it)) != nullptr) {
1119  DetId detId = (*it)->geographicalId();
1120  const GeomDetUnit* geoUnit = pDD->idToDetUnit(detId);
1121  const PixelGeomDetUnit* pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
1122  int nrows = (pixDet->specificTopology()).nrows();
1123  int ncols = (pixDet->specificTopology()).ncolumns();
1124 
1125  if (detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
1126  if (isPIB)
1127  continue;
1128  LogDebug("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
1129  uint32_t id = detId();
1130  int layer = PixelBarrelName(DetId(id), pTT, isUpgrade).layerName();
1131  if (layer > noOfLayers)
1132  noOfLayers = layer;
1133  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1134  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1135 
1136  } else if ((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) && (!isUpgrade)) {
1137  LogDebug("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
1138  uint32_t id = detId();
1139  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1140 
1142  int disk = PixelEndcapName(DetId(id), pTT, isUpgrade).diskName();
1143  if (disk > noOfDisks)
1144  noOfDisks = disk;
1145  int blade = PixelEndcapName(DetId(id), pTT, isUpgrade).bladeName();
1146  int panel = PixelEndcapName(DetId(id), pTT, isUpgrade).pannelName();
1147  int module = PixelEndcapName(DetId(id), pTT, isUpgrade).plaquetteName();
1148 
1149  char sside[80];
1150  sprintf(sside, "HalfCylinder_%i", side);
1151  char sdisk[80];
1152  sprintf(sdisk, "Disk_%i", disk);
1153  char sblade[80];
1154  sprintf(sblade, "Blade_%02i", blade);
1155  char spanel[80];
1156  sprintf(spanel, "Panel_%i", panel);
1157  char smodule[80];
1158  sprintf(smodule, "Module_%i", module);
1159  std::string side_str = sside;
1160  std::string disk_str = sdisk;
1161  bool mask = side_str.find("HalfCylinder_1") != string::npos ||
1162  side_str.find("HalfCylinder_2") != string::npos ||
1163  side_str.find("HalfCylinder_4") != string::npos || disk_str.find("Disk_2") != string::npos;
1164  // clutch to take all of FPIX, but no BPIX:
1165  mask = false;
1166  if (isPIB && mask)
1167  continue;
1168 
1169  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1170  } else if ((detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) && (isUpgrade)) {
1171  LogDebug("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
1172  uint32_t id = detId();
1173  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
1174 
1176  int disk = PixelEndcapName(DetId(id), pTT, isUpgrade).diskName();
1177  if (disk > noOfDisks)
1178  noOfDisks = disk;
1179  int blade = PixelEndcapName(DetId(id), pTT, isUpgrade).bladeName();
1180  int panel = PixelEndcapName(DetId(id), pTT, isUpgrade).pannelName();
1181  int module = PixelEndcapName(DetId(id), pTT, isUpgrade).plaquetteName();
1182 
1183  char sside[80];
1184  sprintf(sside, "HalfCylinder_%i", side);
1185  char sdisk[80];
1186  sprintf(sdisk, "Disk_%i", disk);
1187  char sblade[80];
1188  sprintf(sblade, "Blade_%02i", blade);
1189  char spanel[80];
1190  sprintf(spanel, "Panel_%i", panel);
1191  char smodule[80];
1192  sprintf(smodule, "Module_%i", module);
1193  std::string side_str = sside;
1194  std::string disk_str = sdisk;
1195  bool mask = side_str.find("HalfCylinder_1") != string::npos ||
1196  side_str.find("HalfCylinder_2") != string::npos ||
1197  side_str.find("HalfCylinder_4") != string::npos || disk_str.find("Disk_2") != string::npos;
1198  // clutch to take all of FPIX, but no BPIX:
1199  mask = false;
1200  if (isPIB && mask)
1201  continue;
1202 
1203  thePixelStructure.insert(pair<uint32_t, SiPixelDigiModule*>(id, theModule));
1204  } //end_elseif(isUpgrade)
1205  }
1206  }
1207  LogInfo("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
1208 }
int plaquetteName() const
plaquetteId (in pannel)
Log< level::Info, true > LogVerbatim
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
constexpr std::array< uint8_t, layerIndexSize > layer
int bladeName() const
blade id
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
Log< level::Info, false > LogInfo
Definition: DetId.h:17
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int layerName() const
layer id
T const * product() const
Definition: ESHandle.h:86
int pannelName() const
pannel id
int diskName() const
disk id
HalfCylinder halfCylinder() const
tuple module
Definition: callgraph.py:69
#define LogDebug(id)
void SiPixelDigiSource::CountZeroROCsInSubstructure ( bool  barrel,
bool &  DoZeroRocs,
SiPixelDigiModule mod 
)
virtual

Definition at line 1435 of file SiPixelDigiSource.cc.

References SiPixelDigiModule::getZeroLoEffROCs(), NloEffROCs, NzeroROCs, and SiPixelDigiModule::resetRocMap().

Referenced by analyze().

1435  {
1436  std::pair<int, int> tempPair = mod->getZeroLoEffROCs();
1437 
1438  if (barrel) {
1439  NzeroROCs[0] += tempPair.first;
1440  NloEffROCs[0] += tempPair.second;
1441  } else {
1442  NzeroROCs[1] += tempPair.first;
1443  NloEffROCs[1] += tempPair.second;
1444  }
1445 
1446  DoZeroRocs = false;
1447  mod->resetRocMap(); //once got the number of ZeroOccupancy Rocs, reset the ROC map of the corresponding Pixel substructure
1448 }
std::pair< int, int > getZeroLoEffROCs()
void SiPixelDigiSource::dqmBeginRun ( const edm::Run r,
edm::EventSetup const &  iSetup 
)
overridevirtual

Reimplemented from DQMOneEDAnalyzer< edm::LuminosityBlockCache< bool > >.

Definition at line 216 of file SiPixelDigiSource.cc.

References bladeOn, buildStructure(), diskOn, DoZeroRocsBMI1, DoZeroRocsBMI2, DoZeroRocsBMI3, DoZeroRocsBMO1, DoZeroRocsBMO2, DoZeroRocsBMO3, DoZeroRocsBPI1, DoZeroRocsBPI2, DoZeroRocsBPI3, DoZeroRocsBPO1, DoZeroRocsBPO2, DoZeroRocsBPO3, DoZeroRocsFMI1, DoZeroRocsFMI2, DoZeroRocsFMO1, DoZeroRocsFMO2, DoZeroRocsFPI1, DoZeroRocsFPI2, DoZeroRocsFPO1, DoZeroRocsFPO2, firstRun, hiRes, mps_fire::i, ladOn, layOn, modOn, nBigEvents, nBPIXDigis, nDigisPerDisk, nDigisPerFed, nDM1P1M1, nDM1P1M2, nDM1P1M3, nDM1P1M4, nDM1P2M1, nDM1P2M2, nDM1P2M3, nDM2P1M1, nDM2P1M2, nDM2P1M3, nDM2P1M4, nDM2P2M1, nDM2P2M2, nDM2P2M3, nDM3P1M1, nDM3P2M1, nDP1P1M1, nDP1P1M2, nDP1P1M3, nDP1P1M4, nDP1P2M1, nDP1P2M2, nDP1P2M3, nDP2P1M1, nDP2P1M2, nDP2P1M3, nDP2P1M4, nDP2P2M1, nDP2P2M2, nDP2P2M3, nDP3P1M1, nDP3P2M1, nFPIXDigis, nL1M1, nL1M2, nL1M3, nL1M4, nL2M1, nL2M2, nL2M3, nL2M4, nL3M1, nL3M2, nL3M3, nL3M4, nL4M1, nL4M2, nL4M3, nL4M4, NloEffROCs, NzeroROCs, phiOn, ringOn, ROCMapToReset, and twoDimOn.

216  {
217  LogInfo("PixelDQM") << " SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
218  LogInfo("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/" << layOn << "/" << phiOn << std::endl;
219  LogInfo("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/" << ringOn << std::endl;
220  LogInfo("PixelDQM") << "2DIM IS " << twoDimOn << " and set to high resolution? " << hiRes << "\n";
221 
222  if (firstRun) {
223  nBigEvents = 0;
224  nBPIXDigis = 0;
225  nFPIXDigis = 0;
226  for (int i = 0; i != 40; i++)
227  nDigisPerFed[i] = 0;
228  for (int i = 0; i != 4; i++)
229  nDigisPerDisk[i] = 0;
230  nDP1P1M1 = 0;
231  nDP1P1M2 = 0;
232  nDP1P1M3 = 0;
233  nDP1P1M4 = 0;
234  nDP1P2M1 = 0;
235  nDP1P2M2 = 0;
236  nDP1P2M3 = 0;
237  nDP2P1M1 = 0;
238  nDP2P1M2 = 0;
239  nDP2P1M3 = 0;
240  nDP2P1M4 = 0;
241  nDP2P2M1 = 0;
242  nDP2P2M2 = 0;
243  nDP2P2M3 = 0;
244  nDP3P1M1 = 0;
245  nDP3P2M1 = 0;
246  nDM1P1M1 = 0;
247  nDM1P1M2 = 0;
248  nDM1P1M3 = 0;
249  nDM1P1M4 = 0;
250  nDM1P2M1 = 0;
251  nDM1P2M2 = 0;
252  nDM1P2M3 = 0;
253  nDM2P1M1 = 0;
254  nDM2P1M2 = 0;
255  nDM2P1M3 = 0;
256  nDM2P1M4 = 0;
257  nDM2P2M1 = 0;
258  nDM2P2M2 = 0;
259  nDM2P2M3 = 0;
260  nDM3P1M1 = 0;
261  nDM3P2M1 = 0;
262  nL1M1 = 0;
263  nL1M2 = 0;
264  nL1M3 = 0;
265  nL1M4 = 0;
266  nL2M1 = 0;
267  nL2M2 = 0;
268  nL2M3 = 0;
269  nL2M4 = 0;
270  nL3M1 = 0;
271  nL3M2 = 0;
272  nL3M3 = 0;
273  nL3M4 = 0;
274  nL4M1 = 0;
275  nL4M2 = 0;
276  nL4M3 = 0;
277  nL4M4 = 0;
278 
279  ROCMapToReset = false;
280 
281  DoZeroRocsBMO1 = false;
282  DoZeroRocsBMO2 = false;
283  DoZeroRocsBMO3 = false;
284 
285  DoZeroRocsBMI1 = false;
286  DoZeroRocsBMI2 = false;
287  DoZeroRocsBMI3 = false;
288 
289  DoZeroRocsBPO1 = false;
290  DoZeroRocsBPO2 = false;
291  DoZeroRocsBPO3 = false;
292 
293  DoZeroRocsBPI1 = false;
294  DoZeroRocsBPI2 = false;
295  DoZeroRocsBPI3 = false;
296 
297  DoZeroRocsFPO1 = false;
298  DoZeroRocsFPO2 = false;
299 
300  DoZeroRocsFMO1 = false;
301  DoZeroRocsFMO2 = false;
302 
303  DoZeroRocsFPI1 = false;
304  DoZeroRocsFPI2 = false;
305 
306  DoZeroRocsFMI1 = false;
307  DoZeroRocsFMI2 = false;
308 
309  for (int i = 0; i < 2; i++)
310  NzeroROCs[i] = 0;
311  for (int i = 0; i < 2; i++)
312  NloEffROCs[i] = 0;
313 
314  // Build map
315  buildStructure(iSetup);
316  // Book Monitoring Elements
317  firstRun = false;
318  }
319 }
Log< level::Info, false > LogInfo
virtual void buildStructure(edm::EventSetup const &)
std::shared_ptr< bool > SiPixelDigiSource::globalBeginLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup iSetup 
) const
override

Definition at line 105 of file SiPixelDigiSource.cc.

References edm::LuminosityBlockBase::id(), and edm::LuminosityBlockID::luminosityBlock().

106  {
107  unsigned int currentLS = lumi.id().luminosityBlock();
108  bool resetCounters = (currentLS % 10 == 0) ? true : false;
109  return std::make_shared<bool>(resetCounters);
110 }
LuminosityBlockID id() const
LuminosityBlockNumber_t luminosityBlock() const
void SiPixelDigiSource::globalEndLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &   
)
override

Definition at line 112 of file SiPixelDigiSource.cc.

References averageDigiOccupancy, avgBarrelFedOccvsLumi, avgEndcapFedOccvsLumi, avgfedDigiOccvsLumi, DoZeroRocsBMI1, DoZeroRocsBMI2, DoZeroRocsBMI3, DoZeroRocsBMO1, DoZeroRocsBMO2, DoZeroRocsBMO3, DoZeroRocsBPI1, DoZeroRocsBPI2, DoZeroRocsBPI3, DoZeroRocsBPO1, DoZeroRocsBPO2, DoZeroRocsBPO3, DoZeroRocsFMI1, DoZeroRocsFMI2, DoZeroRocsFMO1, DoZeroRocsFMO2, DoZeroRocsFPI1, DoZeroRocsFPI2, DoZeroRocsFPO1, DoZeroRocsFPO2, dqm::impl::MonitorElement::Fill(), mps_fire::i, edm::LuminosityBlockBase::id(), edm::LuminosityBlock::index(), edm::LuminosityBlockID::luminosityBlock(), modOn, nBPIXDigis, nDigisPerFed, nFPIXDigis, NloEffROCs, NzeroROCs, ROCMapToReset, and dqm::impl::MonitorElement::setBinContent().

112  {
113  int thisls = lb.id().luminosityBlock();
114  const bool resetCounters = luminosityBlockCache(lb.index());
115 
116  float averageBPIXFed = float(nBPIXDigis) / 32.;
117  float averageFPIXFed = float(nFPIXDigis) / 8.;
118 
119  if (averageDigiOccupancy) {
120  for (int i = 0; i != 40; i++) {
121  float averageOcc = 0.;
122  if (i < 32) {
123  if (averageBPIXFed > 0.)
124  averageOcc = nDigisPerFed[i] / averageBPIXFed;
125  } else {
126  if (averageFPIXFed > 0.)
127  averageOcc = nDigisPerFed[i] / averageFPIXFed;
128  }
129  if (!modOn) {
131  i,
132  nDigisPerFed[i]); //In offline we fill all digis and normalise at the end of the run for thread safe behaviour.
133  avgfedDigiOccvsLumi->setBinContent(thisls, i + 1, nDigisPerFed[i]); //Same plot vs lumi section
134  }
135  if (modOn) {
136  if (thisls % 10 == 0)
138  i,
139  averageOcc); // "modOn" basically mean Online DQM, in this case fill histos with actual value of digi fraction per fed for each ten lumisections
140  if (avgfedDigiOccvsLumi && thisls % 5 == 0) {
142  int(thisls / 5),
143  i + 1,
144  averageOcc); //fill with the mean over 5 lumisections, previous code was filling this histo only with last event of each 10th lumisection
145  }
146  }
147  }
148 
149  if (modOn && thisls % 10 == 0) {
151  int(thisls / 10), averageBPIXFed); //<NDigis> vs lumisection for barrel, filled every 10 lumi sections
153  int(thisls / 10), averageFPIXFed); //<NDigis> vs lumisection for endcap, filled every 10 lumi sections
154  }
155  }
156 
157  //reset counters
158 
159  if (modOn && resetCounters && averageDigiOccupancy) {
160  nBPIXDigis = 0;
161  nFPIXDigis = 0;
162  for (int i = 0; i != 40; i++)
163  nDigisPerFed[i] = 0;
164  }
165 
166  if (!modOn && averageDigiOccupancy) {
167  nBPIXDigis = 0;
168  nFPIXDigis = 0;
169  for (int i = 0; i != 40; i++)
170  nDigisPerFed[i] = 0;
171  }
172 
173  if (modOn && resetCounters) {
174  ROCMapToReset = true; //the ROC map is reset each 10 lumisections
175 
176  for (int i = 0; i < 2; i++)
177  NzeroROCs[i] = 0;
178  for (int i = 0; i < 2; i++)
179  NloEffROCs[i] = 0; //resetting also Zero and low eff. ROC counters
180 
181  NzeroROCs[1] = -672;
182  NloEffROCs[1] =
183  -672; //this magic number derives by the way the endcap occupancy is filled, there are always 672 empty bins by construction
184 
185  //these bools are needed to count zero occupancy plots in the substructure only once each 10 LS
186  DoZeroRocsBMO1 = true;
187  DoZeroRocsBMO2 = true;
188  DoZeroRocsBMO3 = true;
189 
190  DoZeroRocsBMI1 = true;
191  DoZeroRocsBMI2 = true;
192  DoZeroRocsBMI3 = true;
193 
194  DoZeroRocsBPO1 = true;
195  DoZeroRocsBPO2 = true;
196  DoZeroRocsBPO3 = true;
197 
198  DoZeroRocsBPI1 = true;
199  DoZeroRocsBPI2 = true;
200  DoZeroRocsBPI3 = true;
201 
202  DoZeroRocsFPO1 = true;
203  DoZeroRocsFPO2 = true;
204 
205  DoZeroRocsFMO1 = true;
206  DoZeroRocsFMO2 = true;
207 
208  DoZeroRocsFPI1 = true;
209  DoZeroRocsFPI2 = true;
210 
211  DoZeroRocsFMI1 = true;
212  DoZeroRocsFMI2 = true;
213  }
214 }
MonitorElement * avgBarrelFedOccvsLumi
void Fill(long long x)
MonitorElement * averageDigiOccupancy
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * avgfedDigiOccvsLumi
MonitorElement * avgEndcapFedOccvsLumi

Member Data Documentation

MonitorElement* SiPixelDigiSource::averageDigiOccupancy
private

Definition at line 130 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and globalEndLuminosityBlock().

MonitorElement* SiPixelDigiSource::avgBarrelFedOccvsLumi
private

Definition at line 131 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and globalEndLuminosityBlock().

MonitorElement* SiPixelDigiSource::avgEndcapFedOccvsLumi
private

Definition at line 132 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and globalEndLuminosityBlock().

MonitorElement* SiPixelDigiSource::avgfedDigiOccvsLumi
private

Definition at line 133 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and globalEndLuminosityBlock().

MonitorElement* SiPixelDigiSource::bigEventRate
private

Definition at line 123 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

int SiPixelDigiSource::bigEventSize
private

Definition at line 212 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::bladeOn
private

Definition at line 69 of file SiPixelDigiSource.h.

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

edm::ParameterSet SiPixelDigiSource::conf_
private

Definition at line 54 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and SiPixelDigiSource().

bool SiPixelDigiSource::diskOn
private

Definition at line 69 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMI1
private

Definition at line 188 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMI2
private

Definition at line 189 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMI3
private

Definition at line 190 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMO1
private

Definition at line 184 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMO2
private

Definition at line 185 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBMO3
private

Definition at line 186 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPI1
private

Definition at line 196 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPI2
private

Definition at line 197 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPI3
private

Definition at line 198 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPO1
private

Definition at line 192 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPO2
private

Definition at line 193 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsBPO3
private

Definition at line 194 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFMI1
private

Definition at line 209 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFMI2
private

Definition at line 210 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFMO1
private

Definition at line 203 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFMO2
private

Definition at line 204 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFPI1
private

Definition at line 206 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFPI2
private

Definition at line 207 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFPO1
private

Definition at line 200 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::DoZeroRocsFPO2
private

Definition at line 201 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::firstRun
private

Definition at line 214 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun(), and SiPixelDigiSource().

bool SiPixelDigiSource::hiRes
private

Definition at line 64 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and dqmBeginRun().

unsigned int SiPixelDigiSource::I_detId[1856]
private

Definition at line 217 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

int SiPixelDigiSource::I_fedId[1856]
private

Definition at line 218 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

int SiPixelDigiSource::I_linkId1[1856]
private

Definition at line 219 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

int SiPixelDigiSource::I_linkId2[1856]
private

Definition at line 220 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

std::string SiPixelDigiSource::I_name[1856]
private

Definition at line 216 of file SiPixelDigiSource.h.

Referenced by SiPixelDigiSource().

bool SiPixelDigiSource::isPIB
private

Definition at line 57 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and buildStructure().

bool SiPixelDigiSource::isUpgrade
private

Definition at line 213 of file SiPixelDigiSource.h.

Referenced by analyze(), bookMEs(), buildStructure(), and SiPixelDigiSource().

bool SiPixelDigiSource::ladOn
private

Definition at line 67 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::layOn
private

Definition at line 67 of file SiPixelDigiSource.h.

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

MonitorElement* SiPixelDigiSource::loOccROCsBarrel
private

Definition at line 127 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::loOccROCsEndcap
private

Definition at line 129 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrel_
private

Definition at line 136 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh10_
private

Definition at line 147 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh11_
private

Definition at line 148 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh12_
private

Definition at line 149 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh13_
private

Definition at line 150 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh14_
private

Definition at line 151 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh15_
private

Definition at line 152 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh16_
private

Definition at line 153 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh17_
private

Definition at line 154 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh18_
private

Definition at line 155 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh19_
private

Definition at line 156 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh1_
private

Definition at line 138 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh20_
private

Definition at line 157 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh21_
private

Definition at line 158 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh22_
private

Definition at line 159 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh23_
private

Definition at line 160 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh24_
private

Definition at line 161 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh25_
private

Definition at line 162 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh26_
private

Definition at line 163 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh27_
private

Definition at line 164 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh28_
private

Definition at line 165 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh29_
private

Definition at line 166 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh2_
private

Definition at line 139 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh30_
private

Definition at line 167 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh31_
private

Definition at line 168 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh32_
private

Definition at line 169 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh33_
private

Definition at line 170 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh34_
private

Definition at line 171 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh35_
private

Definition at line 172 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh36_
private

Definition at line 173 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh3_
private

Definition at line 140 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh4_
private

Definition at line 141 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh5_
private

Definition at line 142 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh6_
private

Definition at line 143 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh7_
private

Definition at line 144 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh8_
private

Definition at line 145 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh9_
private

Definition at line 146 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

std::vector<MonitorElement*> SiPixelDigiSource::meNDigisCHANBarrelLs_
private

Definition at line 137 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcap_
private

Definition at line 174 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

std::vector<MonitorElement*> SiPixelDigiSource::meNDigisCHANEndcapDms_
private

Definition at line 176 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

std::vector<MonitorElement*> SiPixelDigiSource::meNDigisCHANEndcapDps_
private

Definition at line 175 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBBarrel_
private

Definition at line 134 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBEndcap_
private

Definition at line 135 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::modOn
private

Definition at line 59 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::nBigEvents
private

Definition at line 120 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nBPIXDigis
private

Definition at line 121 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::nDigisA
private

Definition at line 225 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisB
private

Definition at line 226 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerChan[1152]
private

Definition at line 222 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerDisk[6]
private

Definition at line 223 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDigisPerFed[40]
private

Definition at line 221 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::nDM1P1M1
private

Definition at line 88 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P1M2
private

Definition at line 89 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P1M3
private

Definition at line 90 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P1M4
private

Definition at line 91 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P2M1
private

Definition at line 92 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P2M2
private

Definition at line 93 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM1P2M3
private

Definition at line 94 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P1M1
private

Definition at line 95 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P1M2
private

Definition at line 96 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P1M3
private

Definition at line 97 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P1M4
private

Definition at line 98 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P2M1
private

Definition at line 99 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P2M2
private

Definition at line 100 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM2P2M3
private

Definition at line 101 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM3P1M1
private

Definition at line 102 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDM3P2M1
private

Definition at line 103 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P1M1
private

Definition at line 72 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P1M2
private

Definition at line 73 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P1M3
private

Definition at line 74 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P1M4
private

Definition at line 75 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P2M1
private

Definition at line 76 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P2M2
private

Definition at line 77 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP1P2M3
private

Definition at line 78 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P1M1
private

Definition at line 79 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P1M2
private

Definition at line 80 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P1M3
private

Definition at line 81 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P1M4
private

Definition at line 82 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P2M1
private

Definition at line 83 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P2M2
private

Definition at line 84 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP2P2M3
private

Definition at line 85 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP3P1M1
private

Definition at line 86 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nDP3P2M1
private

Definition at line 87 of file SiPixelDigiSource.h.

Referenced by analyze(), and dqmBeginRun().

int SiPixelDigiSource::nFPIXDigis
private

Definition at line 122 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::nL1M1
private

Definition at line 104 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL1M2
private

Definition at line 105 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL1M3
private

Definition at line 106 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL1M4
private

Definition at line 107 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL2M1
private

Definition at line 108 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL2M2
private

Definition at line 109 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL2M3
private

Definition at line 110 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL2M4
private

Definition at line 111 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL3M1
private

Definition at line 112 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL3M2
private

Definition at line 113 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL3M3
private

Definition at line 114 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL3M4
private

Definition at line 115 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL4M1
private

Definition at line 116 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL4M2
private

Definition at line 117 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL4M3
private

Definition at line 118 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::nL4M4
private

Definition at line 119 of file SiPixelDigiSource.h.

Referenced by dqmBeginRun().

int SiPixelDigiSource::NloEffROCs[2]
private
MonitorElement* SiPixelDigiSource::noOccROCsBarrel
private

Definition at line 126 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::noOccROCsEndcap
private

Definition at line 128 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

int SiPixelDigiSource::noOfDisks
private

Definition at line 234 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::noOfLayers
private

Definition at line 233 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and buildStructure().

int SiPixelDigiSource::numberOfDigis[336]
private

Definition at line 224 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::NzeroROCs[2]
private
bool SiPixelDigiSource::perLSsaving
private

Definition at line 60 of file SiPixelDigiSource.h.

Referenced by bookMEs().

bool SiPixelDigiSource::phiOn
private

Definition at line 67 of file SiPixelDigiSource.h.

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

MonitorElement* SiPixelDigiSource::pixEventRate
private

Definition at line 125 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

MonitorElement* SiPixelDigiSource::pixEvtsPerBX
private

Definition at line 124 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::reducedSet
private

Definition at line 65 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::ringOn
private

Definition at line 69 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::ROCMapToReset
private

Definition at line 181 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::saveFile
private

Definition at line 56 of file SiPixelDigiSource.h.

bool SiPixelDigiSource::slowDown
private

Definition at line 58 of file SiPixelDigiSource.h.

Referenced by analyze().

edm::InputTag SiPixelDigiSource::src_
private

Definition at line 55 of file SiPixelDigiSource.h.

edm::EDGetTokenT<edm::DetSetVector<PixelDigi> > SiPixelDigiSource::srcToken_
private

Definition at line 229 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

std::map<uint32_t, SiPixelDigiModule*> SiPixelDigiSource::thePixelStructure
private

Definition at line 70 of file SiPixelDigiSource.h.

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

std::string SiPixelDigiSource::topFolderName_

Definition at line 51 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and SiPixelDigiSource().

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> SiPixelDigiSource::trackerGeomTokenBeginRun_
private

Definition at line 232 of file SiPixelDigiSource.h.

Referenced by buildStructure(), and SiPixelDigiSource().

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiPixelDigiSource::trackerTopoToken_
private

Definition at line 230 of file SiPixelDigiSource.h.

Referenced by analyze(), and SiPixelDigiSource().

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiPixelDigiSource::trackerTopoTokenBeginRun_
private

Definition at line 231 of file SiPixelDigiSource.h.

Referenced by bookMEs(), buildStructure(), and SiPixelDigiSource().

bool SiPixelDigiSource::twoDimModOn
private

Definition at line 62 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::twoDimOn
private

Definition at line 61 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::twoDimOnlyLayDisk
private

Definition at line 63 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().