CMS 3D CMS Logo

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

#include <DQM/SiStripMonitorDigi/src/SiStripMonitorDigi.cc>

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

Classes

struct  DigiFailureMEs
 
struct  LayerMEs
 
struct  ModMEs
 
struct  SubDetMEs
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &r, const edm::EventSetup &c) override
 
std::shared_ptr< bool > globalBeginLuminosityBlock (const edm::LuminosityBlock &lumi, const edm::EventSetup &iSetup) const override
 
void globalEndLuminosityBlock (const edm::LuminosityBlock &lumi, const edm::EventSetup &iSetup) override
 
 SiStripMonitorDigi (const edm::ParameterSet &)
 
 ~SiStripMonitorDigi () 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

MonitorElementNumberOfFEDDigis = nullptr
 
std::string topFolderName_
 

Private Member Functions

void AddApvShotsToSubDet (const std::vector< APVShot > &, std::vector< APVShot > &)
 
bool AllDigis (const edm::EventSetup &es)
 
void bookLayer (DQMStore::IBooker &ibooker)
 
MonitorElementbookME1D (DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName)
 
MonitorElementbookMETrend (DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName)
 
void bookTrendMEs (DQMStore::IBooker &ibooker, const TString &name, int32_t layer, uint32_t id, std::string flag)
 
void createLayerMEs (DQMStore::IBooker &ibooker, std::string label, int ndet)
 
void createMEs (DQMStore::IBooker &ibooker, const edm::EventSetup &es)
 
void createModuleMEs (DQMStore::IBooker &ibooker, ModMEs &mod_single, uint32_t detid)
 
void createSubDetMEs (DQMStore::IBooker &ibooker, std::string label)
 
void createSubDetTH2 (DQMStore::IBooker &ibooker, std::string label)
 
void FillApvShotsMap (TkHistoMap *, const std::vector< APVShot > &, uint32_t id, int)
 
void fillDigiADCsMEs (int value, std::string name)
 
void fillME (MonitorElement *ME, float value1)
 
void fillME (MonitorElement *ME, float value1, float value2)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3, float value4)
 
void fillTrend (MonitorElement *me, float value, float timeinorbit)
 
int getDigiSourceIndex (uint32_t id)
 
void ResetModuleMEs (uint32_t idet)
 

Private Attributes

edm::InputTag apvPhaseProducer_
 
edm::EDGetTokenT
< APVCyclePhaseCollection
apvPhaseProducerToken_
 
bool calculate_strip_occupancy
 
edm::ParameterSet conf_
 
bool createTrendMEs
 
SiStripDCSStatusdcsStatus_
 
std::map< std::pair
< std::string, int32_t >, bool > 
DetectedLayers
 
std::vector< const
edm::DetSetVector< SiStripDigi > * > 
digi_detset_handles
 
DigiFailureMEs digiFailureMEs
 
std::map< uint32_t, ModMEsDigiMEs
 
std::vector< edm::InputTagdigiProducerList
 
std::vector< edm::EDGetTokenT
< edm::DetSetVector
< SiStripDigi > > > 
digiProducerTokenList
 
bool digitkhistomapon
 
int eventNb
 
int firstEvent
 
SiStripFolderOrganizer folder_organizer
 
bool globalsummaryapvshotson
 
bool globalswitchapvshotsApvon
 
bool globalswitchapvshotsonprof
 
bool globalswitchchargemedianapvshotson
 
bool globalswitchnapvshotson
 
bool globalswitchNDigisFEDID
 
bool globalswitchnstripsapvshotson
 
edm::EDGetTokenT
< L1GlobalTriggerEvmReadoutRecord
gtEvmToken_
 
edm::InputTag historyProducer_
 
edm::EDGetTokenT
< EventWithHistory
historyProducerToken_
 
int ignoreFirstNLumisections_
 
int integrateNLumisections_
 
std::map< std::string,
std::vector< uint32_t > > 
LayerDetMap
 
std::map< std::string, LayerMEsLayerMEsMap
 
bool layerswitchadccooleston
 
bool layerswitchadchotteston
 
bool layerswitchdigiadcprofon
 
bool layerswitchdigiadcson
 
bool layerswitchnumdigisapvon
 
bool layerswitchnumdigison
 
bool layerswitchnumdigisprofon
 
bool layerswitchstripoccupancyon
 
unsigned long long m_cacheID_
 
bool m_trendVs10LS
 
MonitorElementMedianChargeApvShotsGlobal
 
bool Mod_On_
 
std::vector< uint32_t > ModulesToBeExcluded_
 
bool moduleswitchadccooleston
 
bool moduleswitchadchotteston
 
bool moduleswitchdigiadcson
 
bool moduleswitchnumdigison
 
bool moduleswitchnumdigispstripon
 
bool moduleswitchstripoccupancyon
 
TString name
 
MonitorElementNApvApvShotsGlobal
 
MonitorElementNApvShotsGlobal
 
MonitorElementNApvShotsGlobalProf
 
int nFedTECm
 
int nFedTECp
 
int nFedTIB
 
int nFedTIDm
 
int nFedTIDp
 
int nFedTOB
 
bool reset_each_run
 
edm::ESGetToken< RunInfo,
RunInfoRcd
runInfoTokenRun_
 
int runNb
 
int SBDeclaredAt
 
bool SBTransitionDone
 
bool select_all_detectors
 
bool shotschargehistomapon
 
bool shotshistomapon
 
bool shotsstripshistomapon
 
MonitorElementShotsVsTimeApvShotsGlobal
 
bool show_control_view
 
bool show_mechanical_structure_view
 
bool show_readout_view
 
const SiStripDetCablingSiStripDetCabling_
 
edm::ESGetToken
< SiStripDetCabling,
SiStripDetCablingRcd
SiStripDetCablingTokenRun_
 
MonitorElementStripMultiplicityApvShotsGlobal
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
std::map< std::string,
std::string > 
SubDetPhasePartMap
 
bool subdetswitchapvcycleprofon
 
bool subdetswitchapvcycleth2on
 
bool subdetswitchapvshotsApvon
 
bool subdetswitchapvshotsonprof
 
bool subdetswitchchargemedianapvshotson
 
bool subdetswitchnapvshotson
 
bool subdetswitchnstripsapvshotson
 
bool subdetswitchtotdigifailureon
 
bool subdetswitchtotdigiprofon
 
edm::ESGetToken< TkDetMap,
TrackerTopologyRcd
tkDetMapTokenRun_
 
std::unique_ptr< TkHistoMaptkmapdigi
 
std::unique_ptr< TkHistoMaptkmapMedianChargeApvshots
 
std::unique_ptr< TkHistoMaptkmapNApvshots
 
std::unique_ptr< TkHistoMaptkmapNstripApvshot
 
int TotalNShots
 
edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
tTopoToken_
 
edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
tTopoTokenRun_
 
std::vector< float > vecSubDetTotDigiProfLS
 

Additional Inherited Members

- 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
 
- 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

Data Quality Monitoring source of the Silicon Strip Tracker. Produces histograms related to digis.

DQM/SiStripMonitorDigi/src/SiStripMonitorDigi.cc

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

Implementation: <Notes on="" implementation>="">

Definition at line 35 of file SiStripMonitorDigi.h.

Constructor & Destructor Documentation

SiStripMonitorDigi::SiStripMonitorDigi ( const edm::ParameterSet iConfig)
explicit

Definition at line 48 of file SiStripMonitorDigi.cc.

References apvPhaseProducer_, apvPhaseProducerToken_, conf_, edm::EDConsumerBase::consumes(), edm::EDConsumerBase::consumesCollector(), createTrendMEs, dcsStatus_, digiProducerList, digiProducerTokenList, digitkhistomapon, edm::EDConsumerBase::esConsumes(), eventNb, firstEvent, edm::ParameterSet::getParameter(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchNDigisFEDID, globalswitchnstripsapvshotson, gtEvmToken_, historyProducer_, historyProducerToken_, ignoreFirstNLumisections_, HLT_FULL_cff::InputTag, integrateNLumisections_, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, m_trendVs10LS, Max(), Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, runInfoTokenRun_, SBDeclaredAt, SBTransitionDone, shotschargehistomapon, shotshistomapon, shotsstripshistomapon, show_mechanical_structure_view, SiStripDetCablingTokenRun_, AlCaHLTBitMon_QueryRunRegistry::string, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsApvon, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigifailureon, subdetswitchtotdigiprofon, GlobalPosition_Frontier_DevDB_cff::tag, tkDetMapTokenRun_, topFolderName_, tTopoToken_, tTopoTokenRun_, and vecSubDetTotDigiProfLS.

49  : //dqmStore_(edm::Service<DQMStore>().operator->()),
50  conf_(iConfig),
52  show_readout_view(false),
53  show_control_view(false),
55  reset_each_run(false),
57  m_cacheID_(0) {
58  firstEvent = -1;
59  eventNb = 0;
60 
61  // Detector Partitions
62  SubDetPhasePartMap["TIB"] = "TI";
63  SubDetPhasePartMap["TID__MINUS"] = "TI";
64  SubDetPhasePartMap["TID__PLUS"] = "TI";
65  SubDetPhasePartMap["TOB"] = "TO";
66  SubDetPhasePartMap["TEC__MINUS"] = "TM";
67  SubDetPhasePartMap["TEC__PLUS"] = "TP";
68 
69  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
70 
71  // get Digi Producer List
72  digiProducerList = conf_.getParameter<std::vector<edm::InputTag> >("DigiProducersList");
73  for (auto const& tag : digiProducerList) {
75  }
76 
77  //get on/off option for every cluster from cfi
78  edm::ParameterSet ParametersNumberOfDigis = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigis");
79  layerswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("layerswitchon");
80  moduleswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("moduleswitchon");
81 
82  edm::ParameterSet ParametersNumberOfDigisPerStrip = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigisPerStrip");
83  moduleswitchnumdigispstripon = ParametersNumberOfDigisPerStrip.getParameter<bool>("moduleswitchon");
84 
85  edm::ParameterSet ParametersADCsHottestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsHottestStrip");
86  layerswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("layerswitchon");
87  moduleswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("moduleswitchon");
88 
89  edm::ParameterSet ParametersADCsCoolestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsCoolestStrip");
90  layerswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("layerswitchon");
91  moduleswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("moduleswitchon");
92 
93  edm::ParameterSet ParametersDigiADCs = conf_.getParameter<edm::ParameterSet>("TH1DigiADCs");
94  layerswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("layerswitchon");
95  moduleswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("moduleswitchon");
96 
97  edm::ParameterSet ParametersStripOccupancy = conf_.getParameter<edm::ParameterSet>("TH1StripOccupancy");
98  layerswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("layerswitchon");
99  moduleswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("moduleswitchon");
100 
101  edm::ParameterSet ParametersDigiProf = conf_.getParameter<edm::ParameterSet>("TProfNumberOfDigi");
102  layerswitchnumdigisprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
103 
104  edm::ParameterSet ParametersDigiADC = conf_.getParameter<edm::ParameterSet>("TProfDigiADC");
105  layerswitchdigiadcprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
106 
107  edm::ParameterSet ParametersTotDigiProf = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
108  subdetswitchtotdigiprofon = ParametersTotDigiProf.getParameter<bool>("subdetswitchon");
109 
110  edm::ParameterSet ParametersTotDigiFailure = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
111  subdetswitchtotdigifailureon = ParametersTotDigiFailure.getParameter<bool>("subdetswitchon");
112 
113  edm::ParameterSet ParametersDigiApvProf = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
114  subdetswitchapvcycleprofon = ParametersDigiApvProf.getParameter<bool>("subdetswitchon");
115 
116  edm::ParameterSet ParametersDigiApvTH2 = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
117  subdetswitchapvcycleth2on = ParametersDigiApvTH2.getParameter<bool>("subdetswitchon");
118 
119  edm::ParameterSet ParametersNApvShots = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
120  subdetswitchnapvshotson = ParametersNApvShots.getParameter<bool>("subdetswitchon");
121 
122  edm::ParameterSet ParametersNStripApvShots = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
123  subdetswitchnstripsapvshotson = ParametersNStripApvShots.getParameter<bool>("subdetswitchon");
124 
125  edm::ParameterSet ParametersChargeMedianApvShots = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
126  subdetswitchchargemedianapvshotson = ParametersChargeMedianApvShots.getParameter<bool>("subdetswitchon");
127 
128  edm::ParameterSet ParametersApvNumberApvShots = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
129  subdetswitchapvshotsApvon = ParametersChargeMedianApvShots.getParameter<bool>("subdetswitchon");
130 
131  edm::ParameterSet ParametersNApvShotsProf = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
132  subdetswitchapvshotsonprof = ParametersNApvShotsProf.getParameter<bool>("subdetswitchon");
133 
134  //Global Histograms
135 
136  edm::ParameterSet ParametersGlobalNApvShots = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
137  globalswitchnapvshotson = ParametersGlobalNApvShots.getParameter<bool>("globalswitchon");
138 
139  edm::ParameterSet ParametersGlobalNApvShotsProf = conf_.getParameter<edm::ParameterSet>("TProfGlobalNShots");
140  globalsummaryapvshotson = ParametersGlobalNApvShotsProf.getParameter<bool>("globalswitchon");
141 
142  edm::ParameterSet ParametersGlobalNStripApvShots = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
143  globalswitchnstripsapvshotson = ParametersGlobalNStripApvShots.getParameter<bool>("globalswitchon");
144 
145  edm::ParameterSet ParametersGlobalApvNumApvShots = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
146  globalswitchapvshotsApvon = ParametersGlobalApvNumApvShots.getParameter<bool>("globalswitchon");
147 
148  edm::ParameterSet ParametersGlobalChargeMedianApvShots =
149  conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
150  globalswitchchargemedianapvshotson = ParametersGlobalChargeMedianApvShots.getParameter<bool>("globalswitchon");
151 
152  edm::ParameterSet ParametersGlobalNApvShotsTimeProf = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
153  globalswitchapvshotsonprof = ParametersGlobalNApvShotsTimeProf.getParameter<bool>("globalswitchon");
154 
155  edm::ParameterSet ParametersGlobalNDigisFEDID = conf_.getParameter<edm::ParameterSet>("TProfNDigisFED");
156  globalswitchNDigisFEDID = ParametersGlobalNDigisFEDID.getParameter<bool>("globalswitchon");
157 
158  //Digi and APV Shots Maps
159 
160  digitkhistomapon = conf_.getParameter<bool>("TkHistoMap_On");
161 
162  shotshistomapon = conf_.getParameter<bool>("TkHistoMapNApvShots_On");
163  shotsstripshistomapon = conf_.getParameter<bool>("TkHistoMapNStripApvShots_On");
164  shotschargehistomapon = conf_.getParameter<bool>("TkHistoMapMedianChargeApvShots_On");
165 
166  createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs");
167  Mod_On_ = conf_.getParameter<bool>("Mod_On");
168  m_trendVs10LS = conf_.getParameter<bool>("TrendVs10LS");
169  // xLumiProf = conf_.getParameter<int>("xLumiProf");
170  // Event History Producer
171  historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer");
172  historyProducerToken_ = consumes<EventWithHistory>(conf_.getParameter<edm::InputTag>("HistoryProducer"));
173 
174  // Apv Phase Producer
175  apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer");
176  apvPhaseProducerToken_ = consumes<APVCyclePhaseCollection>(conf_.getParameter<edm::InputTag>("ApvPhaseProducer"));
177 
178  gtEvmToken_ = consumes<L1GlobalTriggerEvmReadoutRecord>(edm::InputTag("gtEvmDigis"));
179 
181  tTopoTokenRun_ = esConsumes<edm::Transition::BeginRun>();
182  tkDetMapTokenRun_ = esConsumes<edm::Transition::BeginRun>();
183  SiStripDetCablingTokenRun_ = esConsumes<edm::Transition::BeginRun>();
184  }
186  runInfoTokenRun_ = esConsumes<edm::Transition::BeginRun>();
187  }
189 
190  // Create DCS Status
191  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
192  if (checkDCS)
194  else
195  dcsStatus_ = nullptr;
196 
197  //initialize boolean for the data-presence check (needed for TotalNumberOfDigisFailure histogram)
198  SBTransitionDone = false;
199  SBDeclaredAt = 0;
200  ignoreFirstNLumisections_ = TMath::Max(0, ParametersTotDigiFailure.getParameter<int32_t>("ignoreFirstNLumisections"));
201  integrateNLumisections_ = TMath::Max(1, ParametersTotDigiFailure.getParameter<int32_t>("integrateNLumisections"));
202  vecSubDetTotDigiProfLS.reserve(7);
203 }
edm::InputTag historyProducer_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoTokenRun_
std::map< std::string, std::string > SubDetPhasePartMap
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoTokenRun_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapTokenRun_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
unsigned long long m_cacheID_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
SiStripDCSStatus * dcsStatus_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
std::vector< float > vecSubDetTotDigiProfLS
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > SiStripDetCablingTokenRun_
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmToken_
std::vector< edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > > digiProducerTokenList
T Max(T a, T b)
Definition: MathUtil.h:44
edm::InputTag apvPhaseProducer_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string topFolderName_
edm::ParameterSet conf_
std::vector< edm::InputTag > digiProducerList
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
SiStripFolderOrganizer folder_organizer
SiStripMonitorDigi::~SiStripMonitorDigi ( )
override

Definition at line 206 of file SiStripMonitorDigi.cc.

References dcsStatus_.

206  {
207  if (dcsStatus_)
208  delete dcsStatus_;
209 }
SiStripDCSStatus * dcsStatus_

Member Function Documentation

void SiStripMonitorDigi::AddApvShotsToSubDet ( const std::vector< APVShot > &  moduleShots,
std::vector< APVShot > &  subdetShots 
)
private

Definition at line 1328 of file SiStripMonitorDigi.cc.

References mps_fire::i, and parallelization::uint().

Referenced by analyze().

1329  {
1330  for (uint i = 0; i < moduleShots.size(); i++) {
1331  subdetShots.push_back(moduleShots[i]);
1332  }
1333 }
bool SiStripMonitorDigi::AllDigis ( const edm::EventSetup es)
private
void SiStripMonitorDigi::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

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

Definition at line 575 of file SiStripMonitorDigi.cc.

References gpuClustering::adc, SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, AddApvShotsToSubDet(), apvPhaseProducerToken_, L1GtfeExtWord::beamMode(), createTrendMEs, edm::DetSet< T >::data, dcsStatus_, digi_detset_handles, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digiProducerList, digiProducerTokenList, digitkhistomapon, eventNb, edm::HandleBase::failedToGet(), dqm::impl::MonitorElement::Fill(), HcalObjRepresent::Fill(), FillApvShotsMap(), fillME(), fillTrend(), folder_organizer, edm::Event::getByToken(), SiStripDetCabling::getConnections(), edm::EventSetup::getData(), getDigiSourceIndex(), edm::Event::getLuminosityBlock(), APVShotFinder::getShots(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchNDigisFEDID, globalswitchnstripsapvshotson, gtEvmToken_, L1GlobalTriggerEvmReadoutRecord::gtfeWord(), historyProducerToken_, mps_fire::i, edm::EventBase::id(), edm::LuminosityBlock::index(), APVCyclePhaseCollection::invalid, edm::HandleBase::isValid(), SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, LayerDetMap, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, m_trendVs10LS, MedianChargeApvShotsGlobal, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, APVCyclePhaseCollection::multiphase, NApvApvShotsGlobal, SiStripDetCabling::nApvPairs(), NApvShotsGlobal, NApvShotsGlobalProf, APVCyclePhaseCollection::nopartition, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, NumberOfFEDDigis, edm::EventBase::orbitNumber(), edm::Handle< T >::product(), edm::EventID::run(), runNb, shotschargehistomapon, shotshistomapon, shotsstripshistomapon, ShotsVsTimeApvShotsGlobal, SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, StripMultiplicityApvShotsGlobal, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::SubDetMEs::SubDetApvShots, SiStripMonitorDigi::SubDetMEs::SubDetChargeMedianApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsNApvTH1, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsProf, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetNStripsApvShotsTH1, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsApvon, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigifailureon, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkmapdigi, tkmapMedianChargeApvshots, tkmapNApvshots, tkmapNstripApvshot, TotalNShots, SiStripMonitorDigi::SubDetMEs::totNDigis, tTopoToken_, parallelization::uint(), and x.

575  {
576  // Filter out events if DCS Event if requested
577  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent, iSetup))
578  return;
579 
580  //Retrieve tracker topology from geometry
581  const TrackerTopology* const tTopo = &iSetup.getData(tTopoToken_);
582 
583  TotalNShots = 0;
584 
585  runNb = iEvent.id().run();
586  eventNb++;
587 
588  float iOrbitVar =
589  m_trendVs10LS ? iEvent.orbitNumber() / (10 * NORBITS_PER_LS) : iEvent.orbitNumber() / NORBITS_PER_LS;
590 
591  digi_detset_handles.clear();
592 
593  std::vector<edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > >::const_iterator iToken =
594  digiProducerTokenList.begin();
595  for (std::vector<edm::InputTag>::const_iterator iter = digiProducerList.begin(), iEnd = digiProducerList.end();
596  iter != iEnd;
597  ++iter, ++iToken) {
599  iEvent.getByToken(*iToken, digi_handle);
600  if (digi_handle.isValid())
601  digi_detset_handles.push_back(digi_handle.product());
602  }
603 
604  // initialise # of clusters to zero
605  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin(); iSubdet != SubDetMEsMap.end();
606  iSubdet++) {
607  iSubdet->second.totNDigis = 0;
608  iSubdet->second.SubDetApvShots.clear();
609  }
610 
611  std::map<int, int> FEDID_v_digisum;
612 
613  for (std::map<std::string, std::vector<uint32_t> >::const_iterator iterLayer = LayerDetMap.begin();
614  iterLayer != LayerDetMap.end();
615  iterLayer++) {
616  std::string layer_label = iterLayer->first;
617 
618  std::vector<uint32_t> layer_dets = iterLayer->second;
619  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
620 
621  //get Layer MEs
622  LayerMEs local_layermes;
623 
624  if (iLayerME == LayerMEsMap.end())
625  continue;
626  else
627  local_layermes = iLayerME->second;
628 
629  int largest_adc_layer = 0;
630  int smallest_adc_layer = 99999;
631 
632  int ndigi_layer = 0;
633 
634  uint16_t iDet = 0;
635 
636  std::string subdet_label = "";
637 
638  // loop over all modules in the layer
639  for (std::vector<uint32_t>::const_iterator iterDets = layer_dets.begin(); iterDets != layer_dets.end();
640  iterDets++) {
641  iDet++;
642 
643  // detid and type of ME
644  uint32_t detid = (*iterDets);
645 
646  // Get SubDet label once
647  if (subdet_label.empty())
648  subdet_label = folder_organizer.getSubDetFolderAndTag(detid, tTopo).second;
649 
650  // DetId and corresponding set of MEs
651 
652  std::map<uint32_t, ModMEs>::iterator pos = DigiMEs.find(detid);
653  ModMEs local_modmes = pos->second;
654 
655  // search digis of detid
656  int loc = getDigiSourceIndex(detid);
657 
658  int ndigi_det = 0;
659 
660  if (loc > -1) {
661  ndigi_det = (*(digi_detset_handles[loc]))[detid].size();
662 
664 
665  //Get all FED connections associated with given detID.
666  // All connections for a detid have same FED Id therefore one FEDID is associated with a given detID.
667  std::vector<const FedChannelConnection*> fedConnections = SiStripDetCabling_->getConnections(detid);
668 
669  // Filling FED Id associated clusters map.
670 
671  int good_fcc_index = -999;
672  for (unsigned int x = 0; x < fedConnections.size(); x++) {
673  if (fedConnections[x] != nullptr) {
674  good_fcc_index = x;
675  break;
676  }
677  }
678  if (fedConnections[good_fcc_index] != nullptr) {
679  int temp_fedid = fedConnections[good_fcc_index]->fedId();
680  if (FEDID_v_digisum.find(temp_fedid) != FEDID_v_digisum.end()) {
681  if (ndigi_det < 1000 && ndigi_det > 0) {
682  FEDID_v_digisum[temp_fedid] = FEDID_v_digisum.find(temp_fedid)->second + ndigi_det;
683  }
684  } else {
685  if (ndigi_det < 1000 && ndigi_det > 0) {
686  FEDID_v_digisum[temp_fedid] = ndigi_det;
687  }
688  }
689  } else {
690  edm::LogInfo("SiStripMonitorDigi")
691  << "SiStripMonitorDigi::analyze WARNING! no good connections for detid = " << detid << std::endl;
692  }
694 
695  APVShotFinder theShotFinder = APVShotFinder((*(digi_detset_handles[loc]))[detid]);
696  const std::vector<APVShot>& shots = theShotFinder.getShots();
697  AddApvShotsToSubDet(shots, SubDetMEsMap[subdet_label].SubDetApvShots);
698  if (shotshistomapon)
699  tkmapNApvshots->fill(detid, shots.size());
701  FillApvShotsMap(tkmapNstripApvshot.get(), shots, detid, 1);
703  FillApvShotsMap(tkmapMedianChargeApvshots.get(), shots, detid, 2);
704  }
705 
706  if (Mod_On_ && moduleswitchnumdigison && (local_modmes.NumberOfDigis != nullptr))
707  (local_modmes.NumberOfDigis)->Fill(ndigi_det);
708 
710  local_layermes.LayerNumberOfDigisProfile->Fill(iDet * 1.0, ndigi_det);
711 
712  if (digitkhistomapon)
713  tkmapdigi->fill(detid, ndigi_det);
714 
715  if (ndigi_det == 0)
716  continue; // no digis for this detid => jump to next step of loop
717 
718  const edm::DetSet<SiStripDigi>& digi_detset = (*(digi_detset_handles[loc]))[detid];
719 
720  ndigi_layer += ndigi_det;
721 
722  // ADCs
723  int largest_adc = (digi_detset.data.begin())->adc();
724  int smallest_adc = (digi_detset.data.begin())->adc();
725 
726  // Check if these parameters are really needed
727  float det_occupancy = 0.0;
728 
729  for (edm::DetSet<SiStripDigi>::const_iterator digiIter = digi_detset.data.begin();
730  digiIter != digi_detset.data.end();
731  digiIter++) {
732  int this_adc = digiIter->adc();
733 
734  if (this_adc > 0.0)
735  det_occupancy++;
736 
737  if (this_adc > largest_adc)
738  largest_adc = this_adc;
739  if (this_adc < smallest_adc)
740  smallest_adc = this_adc;
741 
742  if (Mod_On_ && moduleswitchnumdigispstripon && (local_modmes.NumberOfDigisPerStrip != nullptr) &&
743  (this_adc > 0.0))
744  (local_modmes.NumberOfDigisPerStrip)->Fill(digiIter->strip());
745 
746  if (Mod_On_ && moduleswitchdigiadcson && (local_modmes.DigiADCs != nullptr))
747  (local_modmes.DigiADCs)->Fill(static_cast<float>(this_adc));
748 
749  //Fill #ADCs for this digi at layer level
750  if (layerswitchdigiadcson) {
751  fillME(local_layermes.LayerDigiADCs, this_adc);
752  if (createTrendMEs)
753  fillTrend(local_layermes.LayerDigiADCsTrend, this_adc, iOrbitVar);
754  }
755 
757  local_layermes.LayerDigiADCProfile->Fill(iDet * 1.0, this_adc);
758 
759  } //end of loop over digis in this det
760 
761  // Occupancy
762  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
763  if (nstrips > 0 && det_occupancy > 0) {
764  det_occupancy = det_occupancy / nstrips;
765  if (Mod_On_ && moduleswitchstripoccupancyon && (local_modmes.StripOccupancy != nullptr))
766  (local_modmes.StripOccupancy)->Fill(det_occupancy);
768  fillME(local_layermes.LayerStripOccupancy, det_occupancy);
769  if (createTrendMEs)
770  fillTrend(local_layermes.LayerStripOccupancyTrend, det_occupancy, iOrbitVar);
771  }
772  }
773 
774  if (largest_adc > largest_adc_layer)
775  largest_adc_layer = largest_adc;
776  if (smallest_adc < smallest_adc_layer)
777  smallest_adc_layer = smallest_adc;
778 
779  // nr. of adcs for hottest strip
780  if (Mod_On_ && moduleswitchadchotteston && (local_modmes.ADCsHottestStrip != nullptr))
781  (local_modmes.ADCsHottestStrip)->Fill(static_cast<float>(largest_adc));
782 
783  // nr. of adcs for coolest strip
784  if (Mod_On_ && moduleswitchadccooleston && (local_modmes.ADCsCoolestStrip != nullptr))
785  (local_modmes.ADCsCoolestStrip)->Fill(static_cast<float>(smallest_adc));
786 
787  } //end of loop over DetIds
788 
789  if (layerswitchnumdigison) {
790  fillME(local_layermes.LayerNumberOfDigis, ndigi_layer);
791  if (createTrendMEs)
792  fillTrend(local_layermes.LayerNumberOfDigisTrend, ndigi_layer, iOrbitVar);
793  }
795  fillME(local_layermes.LayerADCsHottestStrip, largest_adc_layer);
796  if (createTrendMEs)
797  fillTrend(local_layermes.LayerADCsHottestStripTrend, largest_adc_layer, iOrbitVar);
798  }
800  fillME(local_layermes.LayerADCsCoolestStrip, smallest_adc_layer);
801  if (createTrendMEs)
802  fillTrend(local_layermes.LayerADCsCoolestStripTrend, smallest_adc_layer, iOrbitVar);
803  }
804 
805  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
806  if (iSubdet != SubDetMEsMap.end()) {
807  iSubdet->second.totNDigis += ndigi_layer;
808  //std::cout << " totDigis" << iSubdet->second.totNDigis << " in " << subdet_label << std::endl;
809  }
810  }
811 
812  bool& isStableBeams = *luminosityBlockCache(iEvent.getLuminosityBlock().index());
814  //check Stable beams bit
816  iEvent.getByToken(gtEvmToken_, gtEvm_handle);
817  L1GlobalTriggerEvmReadoutRecord const* gtevm = gtEvm_handle.product();
818 
819  L1GtfeExtWord gtfeEvmExtWord;
820  if (gtevm) {
821  gtfeEvmExtWord = gtevm->gtfeWord();
822  } else
823  edm::LogInfo("DQMProvInfo") << " gtfeEvmWord inaccessible";
824 
825  /* mia: is there not a smarter way !?!?!?!? */
826  if (gtfeEvmExtWord.beamMode() == 11)
827  isStableBeams = true;
828  }
829 
830  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin(); it != SubDetMEsMap.end(); it++) {
832  if (strcmp(it->first.c_str(), "TEC__MINUS") == 0) {
833  digiFailureMEs.SubDetTotDigiProfLS->Fill(1, it->second.totNDigis);
834  } else if (strcmp(it->first.c_str(), "TEC__PLUS") == 0) {
835  digiFailureMEs.SubDetTotDigiProfLS->Fill(2, it->second.totNDigis);
836  } else if (strcmp(it->first.c_str(), "TIB") == 0) {
837  digiFailureMEs.SubDetTotDigiProfLS->Fill(3, it->second.totNDigis);
838  } else if (strcmp(it->first.c_str(), "TID__MINUS") == 0) {
839  digiFailureMEs.SubDetTotDigiProfLS->Fill(4, it->second.totNDigis);
840  } else if (strcmp(it->first.c_str(), "TID__PLUS") == 0) {
841  digiFailureMEs.SubDetTotDigiProfLS->Fill(5, it->second.totNDigis);
842  } else if (strcmp(it->first.c_str(), "TOB") == 0) {
843  digiFailureMEs.SubDetTotDigiProfLS->Fill(6, it->second.totNDigis);
844  }
845  }
846 
848  if (strcmp(it->first.c_str(), "TEC__MINUS") == 0) {
849  NApvShotsGlobalProf->Fill(1, it->second.SubDetApvShots.size());
850  } else if (strcmp(it->first.c_str(), "TEC__PLUS") == 0) {
851  NApvShotsGlobalProf->Fill(2, it->second.SubDetApvShots.size());
852  } else if (strcmp(it->first.c_str(), "TIB") == 0) {
853  NApvShotsGlobalProf->Fill(3, it->second.SubDetApvShots.size());
854  } else if (strcmp(it->first.c_str(), "TID__MINUS") == 0) {
855  NApvShotsGlobalProf->Fill(4, it->second.SubDetApvShots.size());
856  } else if (strcmp(it->first.c_str(), "TID__PLUS") == 0) {
857  NApvShotsGlobalProf->Fill(5, it->second.SubDetApvShots.size());
858  } else if (strcmp(it->first.c_str(), "TOB") == 0) {
859  NApvShotsGlobalProf->Fill(6, it->second.SubDetApvShots.size());
860  }
861  }
862 
863  SubDetMEs subdetmes = it->second;
864  std::string subdet = it->first;
865 
866  // Fill APV shots histograms for SubDet
867 
868  uint ShotsSize = subdetmes.SubDetApvShots.size();
869  TotalNShots += ShotsSize; //Counter for total Shots in the SiStrip Tracker
870 
872  subdetmes.SubDetNApvShotsTH1->Fill(ShotsSize); // N shots
874  subdetmes.SubDetNApvShotsProf->Fill(iOrbitVar, ShotsSize); //N shots vs time
875 
876  for (uint i = 0; i < ShotsSize;
877  ++i) { // Strip multiplicity, charge median and APV number distributions for APV shots
878 
880  subdetmes.SubDetNApvShotsNApvTH1->Fill(
881  (subdetmes.SubDetApvShots[i].apvNumber() + 1)); //APV are defined by 0 to 5 I want 1 to 6
883  NApvApvShotsGlobal->Fill((subdetmes.SubDetApvShots[i].apvNumber() + 1));
884 
886  subdetmes.SubDetNStripsApvShotsTH1->Fill(subdetmes.SubDetApvShots[i].nStrips());
888  StripMultiplicityApvShotsGlobal->Fill(subdetmes.SubDetApvShots[i].nStrips());
889 
891  subdetmes.SubDetChargeMedianApvShotsTH1->Fill(subdetmes.SubDetApvShots[i].median());
893  MedianChargeApvShotsGlobal->Fill(subdetmes.SubDetApvShots[i].median());
894  }
895 
897  subdetmes.SubDetTotDigiProf->Fill(iOrbitVar, subdetmes.totNDigis);
898  }
899 
904 
906  std::map<int, int>::iterator it;
907  for (it = FEDID_v_digisum.begin(); it != FEDID_v_digisum.end(); it++) {
908  NumberOfFEDDigis->Fill(it->first, it->second);
909  }
910  }
911 
912  // get EventHistory
913 
914  edm::Handle<EventWithHistory> event_history;
915  iEvent.getByToken(historyProducerToken_, event_history);
916 
917  // get Phase of APV
918  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
919  iEvent.getByToken(apvPhaseProducerToken_, apv_phase_collection);
920 
921  if (event_history.isValid() && !event_history.failedToGet() && apv_phase_collection.isValid() &&
922  !apv_phase_collection.failedToGet()) {
923  long long tbx = event_history->absoluteBX();
924 
925  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin(); it != SubDetMEsMap.end(); it++) {
926  SubDetMEs subdetmes;
927  std::string subdet = it->first;
928  subdetmes = it->second;
929 
930  int the_phase = APVCyclePhaseCollection::invalid;
931  long long tbx_corr = tbx;
932 
933  if (SubDetPhasePartMap.find(subdet) != SubDetPhasePartMap.end())
934  the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[subdet]);
937  the_phase = 30;
938  tbx_corr -= the_phase;
939 
941  subdetmes.SubDetDigiApvProf->Fill(tbx_corr % 70, subdetmes.totNDigis);
943  subdetmes.SubDetDigiApvTH2->Fill(tbx_corr % 70, subdetmes.totNDigis);
944  }
945  }
946 } //end of method analyze
RunNumber_t run() const
Definition: EventID.h:38
std::map< std::string, LayerMEs > LayerMEsMap
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
LuminosityBlockIndex index() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
std::unique_ptr< TkHistoMap > tkmapNstripApvshot
MonitorElement * NApvShotsGlobalProf
std::map< uint32_t, ModMEs > DigiMEs
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * MedianChargeApvShotsGlobal
MonitorElement * StripMultiplicityApvShotsGlobal
const SiStripDetCabling * SiStripDetCabling_
std::unique_ptr< TkHistoMap > tkmapMedianChargeApvshots
void Fill(long long x)
bool getData(T &iHolder) const
Definition: EventSetup.h:128
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
const std::vector< APVShot > & getShots() const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
SiStripDCSStatus * dcsStatus_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
DigiFailureMEs digiFailureMEs
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
void fillME(MonitorElement *ME, float value1)
MonitorElement * NApvApvShotsGlobal
LuminosityBlock const & getLuminosityBlock() const
Definition: Event.h:100
int orbitNumber() const
Definition: EventBase.h:65
std::map< std::string, SubDetMEs > SubDetMEsMap
bool isValid() const
Definition: HandleBase.h:70
void fillTrend(MonitorElement *me, float value, float timeinorbit)
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmToken_
MonitorElement * NApvShotsGlobal
std::vector< edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > > digiProducerTokenList
std::vector< const edm::DetSetVector< SiStripDigi > * > digi_detset_handles
Log< level::Info, false > LogInfo
bool failedToGet() const
Definition: HandleBase.h:72
int getDigiSourceIndex(uint32_t id)
std::unique_ptr< TkHistoMap > tkmapNApvshots
T const * product() const
Definition: Handle.h:70
std::map< std::string, std::vector< uint32_t > > LayerDetMap
std::unique_ptr< TkHistoMap > tkmapdigi
std::vector< edm::InputTag > digiProducerList
const uint16_t nApvPairs(uint32_t det_id) const
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
edm::EventID id() const
Definition: EventBase.h:59
collection_type data
Definition: DetSet.h:80
void AddApvShotsToSubDet(const std::vector< APVShot > &, std::vector< APVShot > &)
SiStripFolderOrganizer folder_organizer
MonitorElement * ShotsVsTimeApvShotsGlobal
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
const cms_uint16_t beamMode() const
void FillApvShotsMap(TkHistoMap *, const std::vector< APVShot > &, uint32_t id, int)
MonitorElement * NumberOfFEDDigis
uint16_t *__restrict__ uint16_t const *__restrict__ adc
void SiStripMonitorDigi::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

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

Definition at line 211 of file SiStripMonitorDigi.cc.

References createMEs(), DigiMEs, edm::EventSetup::get(), m_cacheID_, reset_each_run, ResetModuleMEs(), and show_mechanical_structure_view.

211  {
213  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
214  if (m_cacheID_ != cacheID) {
215  m_cacheID_ = cacheID;
216  edm::LogInfo("SiStripMonitorDigi") << "SiStripMonitorDigi::bookHistograms: "
217  << " Creating MEs for new Cabling ";
218  createMEs(ibooker, es);
219  }
220  } else if (reset_each_run) {
221  edm::LogInfo("SiStripMonitorDigi") << "SiStripMonitorDigi::bookHistograms: "
222  << " Resetting MEs ";
223  for (std::map<uint32_t, ModMEs>::const_iterator idet = DigiMEs.begin(); idet != DigiMEs.end(); idet++) {
224  ResetModuleMEs(idet->first);
225  }
226  }
227 }
void ResetModuleMEs(uint32_t idet)
void createMEs(DQMStore::IBooker &ibooker, const edm::EventSetup &es)
std::map< uint32_t, ModMEs > DigiMEs
unsigned long long m_cacheID_
Log< level::Info, false > LogInfo
void SiStripMonitorDigi::bookLayer ( DQMStore::IBooker ibooker)
private
SiStripMonitorDigi::MonitorElement * SiStripMonitorDigi::bookME1D ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 992 of file SiStripMonitorDigi.cc.

References dqm::implementation::IBooker::book1D(), conf_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), and createModuleMEs().

994  {
996  return ibooker.book1D(HistoName,
997  HistoName,
998  Parameters.getParameter<int32_t>("Nbinx"),
999  Parameters.getParameter<double>("xmin"),
1000  Parameters.getParameter<double>("xmax"));
1001 }
vector< ParameterSet > Parameters
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet conf_
std::string HistoName
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
SiStripMonitorDigi::MonitorElement * SiStripMonitorDigi::bookMETrend ( DQMStore::IBooker ibooker,
const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 966 of file SiStripMonitorDigi.cc.

References dqm::implementation::IBooker::bookProfile(), conf_, edm::ParameterSet::getParameter(), hlt_dqm_clientPB-live_cfg::me, and MonitorElementData::TPROFILE.

Referenced by createLayerMEs().

968  {
969  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
970  MonitorElement* me =
971  ibooker.bookProfile(HistoName,
972  HistoName,
973  ParametersTrend.getParameter<int32_t>("Nbins"),
974  // 0,
975  ParametersTrend.getParameter<double>("xmin"),
976  ParametersTrend.getParameter<double>("xmax"),
977  // ParametersTrend.getParameter<int32_t>("Nbins"),
978  100, //that parameter should not be there !?
979  ParametersTrend.getParameter<double>("ymin"),
980  ParametersTrend.getParameter<double>("ymax"),
981  "");
982  if (!me)
983  return me;
984 
985  me->setAxisTitle("Lumisection", 1);
986  if (me->kind() == MonitorElement::Kind::TPROFILE)
987  me->setCanExtend(TH1::kAllAxes);
988  return me;
989 }
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
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet conf_
std::string HistoName
void SiStripMonitorDigi::bookTrendMEs ( DQMStore::IBooker ibooker,
const TString &  name,
int32_t  layer,
uint32_t  id,
std::string  flag 
)
private
void SiStripMonitorDigi::createLayerMEs ( DQMStore::IBooker ibooker,
std::string  label,
int  ndet 
)
private

Definition at line 1067 of file SiStripMonitorDigi.cc.

References bookME1D(), bookMETrend(), dqm::implementation::IBooker::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, hidmanager, label, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by createMEs().

1067  {
1068  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
1069  if (iLayerME == LayerMEsMap.end()) {
1071  LayerMEs layerMEs;
1072  layerMEs.LayerNumberOfDigis = nullptr;
1073  layerMEs.LayerNumberOfDigisTrend = nullptr;
1074  layerMEs.LayerADCsHottestStrip = nullptr;
1075  layerMEs.LayerADCsHottestStripTrend = nullptr;
1076  layerMEs.LayerADCsCoolestStrip = nullptr;
1077  layerMEs.LayerADCsCoolestStripTrend = nullptr;
1078  layerMEs.LayerDigiADCs = nullptr;
1079  layerMEs.LayerDigiADCsTrend = nullptr;
1080  layerMEs.LayerStripOccupancy = nullptr;
1081  layerMEs.LayerStripOccupancyTrend = nullptr;
1082  layerMEs.LayerNumberOfDigisProfile = nullptr;
1083  layerMEs.LayerDigiADCProfile = nullptr;
1084 
1085  //#Digis
1086  if (layerswitchnumdigison) {
1087  layerMEs.LayerNumberOfDigis =
1088  bookME1D(ibooker,
1089  "TH1NumberOfDigis",
1090  hidmanager.createHistoLayer("Summary_TotalNumberOfDigis", "layer", label, "").c_str());
1091  if (createTrendMEs)
1092  layerMEs.LayerNumberOfDigisTrend =
1093  bookMETrend(ibooker,
1094  "TH1NumberOfDigis",
1095  hidmanager.createHistoLayer("Trend_NumberOfDigis", "layer", label, "").c_str());
1096  }
1097 
1098  //#ADCs for hottest strip
1100  layerMEs.LayerADCsHottestStrip =
1101  bookME1D(ibooker,
1102  "TH1ADCsHottestStrip",
1103  hidmanager.createHistoLayer("Summary_ADCsHottestStrip", "layer", label, "").c_str());
1104  if (createTrendMEs)
1105  layerMEs.LayerADCsHottestStripTrend =
1106  bookMETrend(ibooker,
1107  "TH1ADCsHottestStrip",
1108  hidmanager.createHistoLayer("Trend_ADCsHottestStrip", "layer", label, "").c_str());
1109  }
1110 
1111  //#ADCs for coolest strip
1113  layerMEs.LayerADCsCoolestStrip =
1114  bookME1D(ibooker,
1115  "TH1ADCsCoolestStrip",
1116  hidmanager.createHistoLayer("Summary_ADCsCoolestStrip", "layer", label, "").c_str());
1117  if (createTrendMEs)
1118  layerMEs.LayerADCsCoolestStripTrend =
1119  bookMETrend(ibooker,
1120  "TH1ADCsCoolestStrip",
1121  hidmanager.createHistoLayer("Trend_ADCsCoolestStrip", "layer", label, "").c_str());
1122  }
1123 
1124  //#ADCs for each digi
1125  if (layerswitchdigiadcson) {
1126  layerMEs.LayerDigiADCs =
1127  bookME1D(ibooker, "TH1DigiADCs", hidmanager.createHistoLayer("Summary_DigiADCs", "layer", label, "").c_str());
1128  if (createTrendMEs)
1129  layerMEs.LayerDigiADCsTrend = bookMETrend(
1130  ibooker, "TH1DigiADCs", hidmanager.createHistoLayer("Trend_DigiADCs", "layer", label, "").c_str());
1131  }
1132 
1133  //Strip Occupancy
1135  layerMEs.LayerStripOccupancy =
1136  bookME1D(ibooker,
1137  "TH1StripOccupancy",
1138  hidmanager.createHistoLayer("Summary_StripOccupancy", "layer", label, "").c_str());
1139  if (createTrendMEs)
1140  layerMEs.LayerStripOccupancyTrend =
1141  bookMETrend(ibooker,
1142  "TH1StripOccupancy",
1143  hidmanager.createHistoLayer("Trend_StripOccupancy", "layer", label, "").c_str());
1144  }
1145  // # of Digis
1147  std::string hid = hidmanager.createHistoLayer("NumberOfDigiProfile", "layer", label, "");
1148  layerMEs.LayerNumberOfDigisProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets + 0.5, 21, -0.5, 200.5);
1149  }
1150 
1151  // # of Digis
1153  std::string hid = hidmanager.createHistoLayer("DigiADCProfile", "layer", label, "");
1154  layerMEs.LayerDigiADCProfile = ibooker.bookProfile(hid, hid, ndets, 0.5, ndets + 0.5, 64, -0.5, 255.5);
1155  }
1156 
1157  LayerMEsMap[label] = layerMEs;
1158  }
1159 }
std::map< std::string, LayerMEs > LayerMEsMap
char const * label
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 * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName)
SiStripHistoId hidmanager
MonitorElement * bookMETrend(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName)
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
void SiStripMonitorDigi::createMEs ( DQMStore::IBooker ibooker,
const edm::EventSetup es 
)
private

Definition at line 318 of file SiStripMonitorDigi.cc.

References funct::abs(), activeDets, SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, SiStripDetCabling::addActiveDetectorsRawIds(), conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digitkhistomapon, folder_organizer, edm::EventSetup::getData(), SiStripFolderOrganizer::getLayerFolderName(), edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchNDigisFEDID, globalswitchnstripsapvshotson, hidmanager, dqm::impl::MonitorElement::kind(), label, LayerDetMap, LayerMEsMap, MedianChargeApvShotsGlobal, Mod_On_, NApvApvShotsGlobal, NApvShotsGlobal, NApvShotsGlobalProf, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, NumberOfFEDDigis, reset_each_run, ResetModuleMEs(), dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::impl::MonitorElement::setCanExtend(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), shotschargehistomapon, shotshistomapon, shotsstripshistomapon, ShotsVsTimeApvShotsGlobal, show_mechanical_structure_view, SiStripDetCabling_, SiStripDetCablingTokenRun_, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, StripMultiplicityApvShotsGlobal, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures2D, SubDetMEsMap, subdetswitchtotdigifailureon, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkDetMapTokenRun_, tkmapdigi, tkmapMedianChargeApvshots, tkmapNApvshots, tkmapNstripApvshot, topFolderName_, MonitorElementData::TPROFILE, and tTopoTokenRun_.

Referenced by bookHistograms().

318  {
320  //Retrieve tracker topology from geometry
321  const TrackerTopology* const tTopo = &es.getData(tTopoTokenRun_);
322  const TkDetMap* tkDetMap = &es.getData(tkDetMapTokenRun_);
323 
324  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
326 
327  // get list of active detectors from SiStripDetCabling
328  std::vector<uint32_t> activeDets;
329  activeDets.clear(); // just in case
331 
332  // remove any eventual zero elements - there should be none, but just in case
333  for (std::vector<uint32_t>::iterator idets = activeDets.begin(); idets != activeDets.end(); idets++) {
334  if (*idets == 0)
335  activeDets.erase(idets);
336  }
337 
338  // create SiStripFolderOrganizer
340 
341  // Create TkHistoMap for Digi and APV shots properies
342 
343  if (digitkhistomapon)
344  tkmapdigi = std::make_unique<TkHistoMap>(tkDetMap, ibooker, topFolderName_, "TkHMap_NumberOfDigi", 0.0, true);
345  if (shotshistomapon)
346  tkmapNApvshots = std::make_unique<TkHistoMap>(tkDetMap, ibooker, topFolderName_, "TkHMap_NApvShots", 0.0, true);
349  std::make_unique<TkHistoMap>(tkDetMap, ibooker, topFolderName_, "TkHMap_NStripApvShots", 0.0, true);
352  std::make_unique<TkHistoMap>(tkDetMap, ibooker, topFolderName_, "TkHMap_MedianChargeApvShots", 0.0, true);
353 
354  std::vector<uint32_t> tibDetIds;
355 
356  // loop over detectors and book MEs
357  edm::LogInfo("SiStripTkDQM|SiStripMonitorDigi") << "nr. of activeDets: " << activeDets.size();
358  for (std::vector<uint32_t>::const_iterator detid_iterator = activeDets.begin(); detid_iterator != activeDets.end();
359  detid_iterator++) {
360  uint32_t detid = (*detid_iterator);
361 
362  ModMEs local_modmes;
363 
364  local_modmes.NumberOfDigis = nullptr;
365  local_modmes.NumberOfDigisPerStrip = nullptr;
366  local_modmes.ADCsHottestStrip = nullptr;
367  local_modmes.ADCsCoolestStrip = nullptr;
368  local_modmes.DigiADCs = nullptr;
369  local_modmes.StripOccupancy = nullptr;
370 
371  if (Mod_On_) {
372  // set appropriate folder using SiStripFolderOrganizer
373  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
374  if (reset_each_run)
375  ResetModuleMEs(detid);
376  createModuleMEs(ibooker, local_modmes, detid);
377 
378  // append to DigiMEs
379  DigiMEs.insert(std::make_pair(detid, local_modmes));
380  }
381 
382  // Create Layer Level MEs if they are not created already
383  std::pair<std::string, int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid, tTopo);
385  std::string label = hidmanager.getSubdetid(detid, tTopo, false);
386 
387  // get detids for the layer
388  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
389 
390  if (iLayerME == LayerMEsMap.end()) {
391  int32_t lnumber = det_layer_pair.second;
392  std::vector<uint32_t> layerDetIds;
393  if (det_layer_pair.first == "TIB") {
394  SiStripSubStructure::getTIBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0, 0);
395  } else if (det_layer_pair.first == "TOB") {
396  SiStripSubStructure::getTOBDetectors(activeDets, layerDetIds, tTopo, lnumber, 0, 0);
397  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
398  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 2, abs(lnumber), 0, 0);
399  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
400  SiStripSubStructure::getTIDDetectors(activeDets, layerDetIds, tTopo, 1, abs(lnumber), 0, 0);
401  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
402  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 2, abs(lnumber), 0, 0, 0, 0);
403  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
404  SiStripSubStructure::getTECDetectors(activeDets, layerDetIds, tTopo, 1, abs(lnumber), 0, 0, 0, 0);
405  }
406 
407  LayerDetMap[label] = layerDetIds;
408 
409  // book Layer plots
410  folder_organizer.setLayerFolder(detid, tTopo, det_layer_pair.second);
411  createLayerMEs(ibooker, label, layerDetIds.size());
412  }
413 
414  // book sub-detector plots
415  auto sdet_pair = folder_organizer.getSubDetFolderAndTag(detid, tTopo);
416  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()) {
417  ibooker.setCurrentFolder(sdet_pair.first);
418  createSubDetMEs(ibooker, sdet_pair.second);
419  }
420 
421  } //end of loop over detectors
422 
423  //book some Summary histograms on APV shots in the MechanicalView
424 
425  ibooker.setCurrentFolder(topFolderName_ + "/MechanicalView/");
426 
428  const char* HistoName = "Summary Mean Apv shots for SubDets";
429  NApvShotsGlobalProf = ibooker.bookProfile(HistoName, HistoName, 6, 0.5, 6.5, 100, 0., 0., "");
436  NApvShotsGlobalProf->setAxisTitle(" mean APV shots # / evt", 2);
437  }
438 
439  //cumulative number of APV shots Vs Time
442  const char* HistoName = "NApv_Shots_vs_Time";
443  ShotsVsTimeApvShotsGlobal = ibooker.bookProfile(HistoName,
444  HistoName,
445  Parameters.getParameter<int32_t>("Nbins"),
446  Parameters.getParameter<double>("xmin"),
447  Parameters.getParameter<double>("xmax"),
448  200, //that parameter should not be there !?
449  Parameters.getParameter<double>("ymin"),
450  Parameters.getParameter<double>("ymax"),
451  "");
452  ShotsVsTimeApvShotsGlobal->setAxisTitle("Time (s)", 1);
453  ShotsVsTimeApvShotsGlobal->setAxisTitle("# Apv Shots", 2);
455  ShotsVsTimeApvShotsGlobal->setCanExtend(TH1::kAllAxes);
456  }
457 
458  //cumulative number of Strips in APV shots
460  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
461  const char* HistoName = "Number_of_Strips_in_Apv_Shots";
462  StripMultiplicityApvShotsGlobal = ibooker.book1D(HistoName,
463  HistoName,
464  Parameters.getParameter<int32_t>("Nbins"),
465  Parameters.getParameter<double>("xmin"),
466  Parameters.getParameter<double>("xmax"));
467  StripMultiplicityApvShotsGlobal->setAxisTitle("# strips in Apv Shots", 1);
468  }
469 
470  //cumulative number of APV shots
472  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
473  const char* HistoName = "Number_of_Apv_Shots";
474  NApvShotsGlobal = ibooker.book1D(HistoName,
475  HistoName,
476  Parameters.getParameter<int32_t>("Nbins"),
477  Parameters.getParameter<double>("xmin"),
478  Parameters.getParameter<double>("xmax"));
479  NApvShotsGlobal->setAxisTitle("# Apv Shots", 1);
480  }
481 
482  //cumulative Median Charge in APV shots
484  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
485  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
486  const char* HistoName = "Apv_Shots_Charge_Median";
487  MedianChargeApvShotsGlobal = ibooker.book1D(HistoName,
488  HistoName,
489  Parameters.getParameter<int32_t>("Nbins"),
490  Parameters.getParameter<double>("xmin"),
491  Parameters.getParameter<double>("xmax"));
492  MedianChargeApvShotsGlobal->setAxisTitle("Apv Shots Charge Median (ADC)", 1);
493  }
494 
495  //cmulative APV number with shots
497  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
498  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
499  const char* HistoName = "Apv_Shots_Apv_Number";
500  NApvApvShotsGlobal = ibooker.book1D(HistoName,
501  HistoName,
502  Parameters.getParameter<int32_t>("Nbins"),
503  Parameters.getParameter<double>("xmin"),
504  Parameters.getParameter<double>("xmax"));
505  NApvApvShotsGlobal->setAxisTitle("Apv Number", 1);
506  }
507 
509  // Number of digis per FED
510  edm::ParameterSet FEDDigi = conf_.getParameter<edm::ParameterSet>("TProfNDigisFED");
511  const char* HistoName = "NumberOfDigisinFED_v_FEDID";
512  //Using TProfile for average.
513  NumberOfFEDDigis = ibooker.bookProfile(HistoName,
514  HistoName,
515  FEDDigi.getParameter<int32_t>("Nbinsx"),
516  FEDDigi.getParameter<double>("xmin"),
517  FEDDigi.getParameter<double>("xmax"),
518  FEDDigi.getParameter<int32_t>("Nbinsy"),
519  FEDDigi.getParameter<double>("ymin"),
520  FEDDigi.getParameter<double>("ymax"),
521  "");
522  NumberOfFEDDigis->setAxisTitle("FED ID", 1);
523  NumberOfFEDDigis->setAxisTitle("Mean # of Digis in FED", 2);
524  }
525 
526  //
527  // Book new histogram to monitor digi in last LS
528  //
529 
532 
533  std::stringstream ss;
534 
535  folder_organizer.getLayerFolderName(ss, 0, tTopo);
536  ibooker.setCurrentFolder(ss.str());
537 
539  const char* HistoName = "NumberOfDigisInLastLS";
540  digiFailureMEs.SubDetTotDigiProfLS = ibooker.bookProfile(HistoName, HistoName, 6, 0.5, 6.5, 0., 0., "");
547  }
548 
550  std::string HistoName = "DataPresentInLS";
551  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
552 
553  digiFailureMEs.SubDetDigiFailures2D = ibooker.book2D(HistoName,
554  HistoName,
555  Parameters.getParameter<int32_t>("Nbins"), //bins X
556  1, //xmin
557  Parameters.getParameter<int32_t>("Nbins") + 1, //xmax
558  6, //bins Y
559  0, //ymin
560  6); //ymax
561 
568  digiFailureMEs.SubDetDigiFailures2D->setAxisTitle("Luminosity Section");
569  }
570  } //end of if
571 
572 } //end of method
void ResetModuleMEs(uint32_t idet)
std::map< std::string, LayerMEs > LayerMEsMap
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0)
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
virtual DQM_DEPRECATED void setCanExtend(unsigned int value)
std::pair< const std::string, const char * > getSubDetFolderAndTag(const uint32_t &detid, const TrackerTopology *tTopo)
std::unique_ptr< TkHistoMap > tkmapNstripApvshot
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoTokenRun_
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0)
Kind kind() const
Get the type of the monitor element.
MonitorElement * NApvShotsGlobalProf
std::map< uint32_t, ModMEs > DigiMEs
void getLayerFolderName(std::stringstream &ss, uint32_t rawdetid, const TrackerTopology *tTopo, bool ring_flag=false)
MonitorElement * MedianChargeApvShotsGlobal
MonitorElement * StripMultiplicityApvShotsGlobal
const SiStripDetCabling * SiStripDetCabling_
void setLayerFolder(uint32_t rawdetid, const TrackerTopology *tTopo, int32_t layer=0, bool ring_flag=false)
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, const TrackerTopology *trackerTopology, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0)
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapTokenRun_
std::unique_ptr< TkHistoMap > tkmapMedianChargeApvshots
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
void createSubDetMEs(DQMStore::IBooker &ibooker, std::string label)
bool getData(T &iHolder) const
Definition: EventSetup.h:128
char const * label
vector< ParameterSet > Parameters
DigiFailureMEs digiFailureMEs
std::vector< uint32_t > activeDets
MonitorElement * NApvApvShotsGlobal
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > SiStripDetCablingTokenRun_
std::map< std::string, SubDetMEs > SubDetMEsMap
std::string getSubdetid(uint32_t id, const TrackerTopology *tTopo, bool flag_ring)
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void createLayerMEs(DQMStore::IBooker &ibooker, std::string label, int ndet)
MonitorElement * NApvShotsGlobal
SiStripHistoId hidmanager
Log< level::Info, false > LogInfo
std::unique_ptr< TkHistoMap > tkmapNApvshots
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::map< std::string, std::vector< uint32_t > > LayerDetMap
std::string topFolderName_
edm::ParameterSet conf_
std::string HistoName
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, const TrackerTopology *tTopo, bool ring_flag=false)
std::unique_ptr< TkHistoMap > tkmapdigi
SiStripFolderOrganizer folder_organizer
MonitorElement * ShotsVsTimeApvShotsGlobal
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, const TrackerTopology *trackerTopology, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0)
MonitorElement * NumberOfFEDDigis
void createModuleMEs(DQMStore::IBooker &ibooker, ModMEs &mod_single, uint32_t detid)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorDigi::createModuleMEs ( DQMStore::IBooker ibooker,
ModMEs mod_single,
uint32_t  detid 
)
private

Definition at line 1013 of file SiStripMonitorDigi.cc.

References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, dqm::implementation::IBooker::book1D(), bookME1D(), SiStripHistoId::createHistoId(), SiStripMonitorDigi::ModMEs::DigiADCs, hidmanager, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripDetCabling::nApvPairs(), SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setStatOverflows(), SiStripDetCabling_, AlCaHLTBitMon_QueryRunRegistry::string, and SiStripMonitorDigi::ModMEs::StripOccupancy.

Referenced by createMEs().

1013  {
1014  // use SistripHistoId for producing histogram id (and title)
1016  std::string hid;
1017 
1018  //nr. of digis per module
1019  if (moduleswitchnumdigison) {
1020  hid = hidmanager.createHistoId("NumberOfDigis", "det", detid);
1021  mod_single.NumberOfDigis = ibooker.book1D(hid, hid, 21, -0.5, 20.5);
1022  mod_single.NumberOfDigis->setAxisTitle("number of digis in one detector module");
1023  mod_single.NumberOfDigis->setStatOverflows(kTRUE); // over/underflows in Mean calculation
1024  }
1025 
1026  //nr. of digis per strip in module
1028  hid = hidmanager.createHistoId("NumberOfDigisPerStrip", "det", detid);
1029  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
1030  mod_single.NumberOfDigisPerStrip = ibooker.book1D(hid, hid, nstrips, -0.5, nstrips + 0.5);
1031  mod_single.NumberOfDigisPerStrip->setAxisTitle("number of (digis > 0) per strip");
1032  mod_single.NumberOfDigisPerStrip->setStatOverflows(kTRUE); // over/underflows in Mean calculation
1033  }
1034  //#ADCs for hottest strip
1036  hid = hidmanager.createHistoId("ADCsHottestStrip", "det", detid);
1037  mod_single.ADCsHottestStrip = bookME1D(ibooker, "TH1ADCsHottestStrip", hid.c_str());
1038  mod_single.ADCsHottestStrip->setAxisTitle("number of ADCs for hottest strip");
1039  }
1040 
1041  //#ADCs for coolest strip
1043  hid = hidmanager.createHistoId("ADCsCoolestStrip", "det", detid);
1044  mod_single.ADCsCoolestStrip = bookME1D(ibooker, "TH1ADCsCoolestStrip", hid.c_str());
1045  mod_single.ADCsCoolestStrip->setAxisTitle("number of ADCs for coolest strip");
1046  }
1047 
1048  //#ADCs for each digi
1049  if (moduleswitchdigiadcson) {
1050  hid = hidmanager.createHistoId("DigiADCs", "det", detid);
1051  mod_single.DigiADCs = bookME1D(ibooker, "TH1DigiADCs", hid.c_str());
1052  mod_single.DigiADCs->setAxisTitle("number of ADCs for each digi");
1053  }
1054 
1055  //Strip occupancy
1057  hid = hidmanager.createHistoId("StripOccupancy", "det", detid);
1058  mod_single.StripOccupancy = bookME1D(ibooker, "TH1StripOccupancy", hid.c_str());
1059  mod_single.StripOccupancy->setAxisTitle("strip occupancy");
1060  }
1061 }
const SiStripDetCabling * SiStripDetCabling_
MonitorElement * bookME1D(DQMStore::IBooker &ibooker, const char *ParameterSetLabel, const char *HistoName)
SiStripHistoId hidmanager
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
const uint16_t nApvPairs(uint32_t det_id) const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorDigi::createSubDetMEs ( DQMStore::IBooker ibooker,
std::string  label 
)
private

Definition at line 1163 of file SiStripMonitorDigi.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), conf_, edm::ParameterSet::getParameter(), dqm::impl::MonitorElement::kind(), label, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setCanExtend(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripMonitorDigi::SubDetMEs::SubDetApvShots, SiStripMonitorDigi::SubDetMEs::SubDetChargeMedianApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsNApvTH1, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsProf, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetNStripsApvShotsTH1, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, SiStripMonitorDigi::SubDetMEs::totNDigis, and MonitorElementData::TPROFILE.

Referenced by createMEs().

1163  {
1164  SubDetMEs subdetMEs;
1165  subdetMEs.totNDigis = 0;
1166  subdetMEs.SubDetTotDigiProf = nullptr;
1167  subdetMEs.SubDetDigiApvProf = nullptr;
1168  subdetMEs.SubDetDigiApvTH2 = nullptr;
1169 
1170  subdetMEs.SubDetApvShots.clear();
1171  subdetMEs.SubDetNApvShotsTH1 = nullptr;
1172  subdetMEs.SubDetChargeMedianApvShotsTH1 = nullptr;
1173  subdetMEs.SubDetNStripsApvShotsTH1 = nullptr;
1174  subdetMEs.SubDetNApvShotsProf = nullptr;
1175 
1177 
1178  // Total Number of Digi - Profile
1180  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
1181  HistoName = "TotalNumberOfDigiProfile__" + label;
1182  subdetMEs.SubDetTotDigiProf = ibooker.bookProfile(HistoName,
1183  HistoName,
1184  Parameters.getParameter<int32_t>("Nbins"),
1185  Parameters.getParameter<double>("xmin"),
1186  Parameters.getParameter<double>("xmax"),
1187  100, //that parameter should not be there !?
1188  Parameters.getParameter<double>("ymin"),
1189  Parameters.getParameter<double>("ymax"),
1190  "");
1191  subdetMEs.SubDetTotDigiProf->setAxisTitle("Lumisection", 1);
1192 
1193  if (subdetMEs.SubDetTotDigiProf->kind() == MonitorElement::Kind::TPROFILE)
1194  subdetMEs.SubDetTotDigiProf->setCanExtend(TH1::kAllAxes);
1195  }
1196 
1197  // Number of Digi vs Bx - Profile
1199  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
1200  HistoName = "Digi_vs_ApvCycle__" + label;
1201  subdetMEs.SubDetDigiApvProf = ibooker.bookProfile(HistoName,
1202  HistoName,
1203  Parameters.getParameter<int32_t>("Nbins"),
1204  Parameters.getParameter<double>("xmin"),
1205  Parameters.getParameter<double>("xmax"),
1206  200, //that parameter should not be there !?
1207  Parameters.getParameter<double>("ymin"),
1208  Parameters.getParameter<double>("ymax"),
1209  "");
1210  subdetMEs.SubDetDigiApvProf->setAxisTitle("ApvCycle (Corrected Absolute Bx % 70)", 1);
1211  }
1212 
1213  // Number of Digi vs Bx - TH2
1215  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
1216  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1217  HistoName = "Digi_vs_ApvCycle_2D__" + label;
1218  // Adjusting the scale for 2D histogram
1219  double h2ymax = 9999.0;
1220  double yfact = Parameters.getParameter<double>("yfactor");
1221  if (label.find("TIB") != std::string::npos)
1222  h2ymax = (6984. * 256.) * yfact;
1223  else if (label.find("TID") != std::string::npos)
1224  h2ymax = (2208. * 256.) * yfact;
1225  else if (label.find("TOB") != std::string::npos)
1226  h2ymax = (12906. * 256.) * yfact;
1227  else if (label.find("TEC") != std::string::npos)
1228  h2ymax = (7552. * 2. * 256.) * yfact;
1229  subdetMEs.SubDetDigiApvTH2 =
1230  ibooker.book2D(HistoName,
1231  HistoName,
1232  Parameters.getParameter<int32_t>("Nbins"),
1233  Parameters.getParameter<double>("xmin"),
1234  Parameters.getParameter<double>("xmax"),
1235  Parameters.getParameter<int32_t>("Nbinsy"), //it was 100 that parameter should not be there !?
1236  Parameters.getParameter<double>("ymin"),
1237  h2ymax);
1238  subdetMEs.SubDetDigiApvTH2->setAxisTitle("absolute Bx mod(70)", 1);
1239  }
1240 
1241  //Number of APV Shots
1243  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
1244  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1245  HistoName = "Number_of_Apv_Shots_" + label;
1246  subdetMEs.SubDetNApvShotsTH1 = ibooker.book1D(HistoName,
1247  HistoName,
1248  Parameters.getParameter<int32_t>("Nbins"),
1249  Parameters.getParameter<double>("xmin"),
1250  Parameters.getParameter<double>("xmax"));
1251  subdetMEs.SubDetNApvShotsTH1->setAxisTitle("# Apv Shots", 1);
1252  }
1253 
1254  //Strip multiplicity of APV Shots
1256  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
1257  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1258  HistoName = "Number_of_Strips_in_Apv_Shots_" + label;
1259  subdetMEs.SubDetNStripsApvShotsTH1 = ibooker.book1D(HistoName,
1260  HistoName,
1261  Parameters.getParameter<int32_t>("Nbins"),
1262  Parameters.getParameter<double>("xmin"),
1263  Parameters.getParameter<double>("xmax"));
1264  subdetMEs.SubDetNStripsApvShotsTH1->setAxisTitle("# strips in Apv Shots", 1);
1265  }
1266 
1267  //Charge median of APV Shots
1269  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
1270  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1271  HistoName = "Apv_Shots_Charge_Median_" + label;
1272  subdetMEs.SubDetChargeMedianApvShotsTH1 = ibooker.book1D(HistoName,
1273  HistoName,
1274  Parameters.getParameter<int32_t>("Nbins"),
1275  Parameters.getParameter<double>("xmin"),
1276  Parameters.getParameter<double>("xmax"));
1277  subdetMEs.SubDetChargeMedianApvShotsTH1->setAxisTitle("Apv Shots Charge Median (ADC)", 1);
1278  }
1279 
1281  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
1282  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1283  HistoName = "Apv_Shots_Apv_Number_" + label;
1284  subdetMEs.SubDetNApvShotsNApvTH1 = ibooker.book1D(HistoName,
1285  HistoName,
1286  Parameters.getParameter<int32_t>("Nbins"),
1287  Parameters.getParameter<double>("xmin"),
1288  Parameters.getParameter<double>("xmax"));
1289  subdetMEs.SubDetNApvShotsNApvTH1->setAxisTitle("Apv Number", 1);
1290  }
1291 
1292  //APV Shots number Vs time
1294  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
1295  HistoName = "NApv_Shots_vs_Time_" + label;
1296  subdetMEs.SubDetNApvShotsProf = ibooker.bookProfile(HistoName,
1297  HistoName,
1298  Parameters.getParameter<int32_t>("Nbins"),
1299  Parameters.getParameter<double>("xmin"),
1300  Parameters.getParameter<double>("xmax"),
1301  200, //that parameter should not be there !?
1302  Parameters.getParameter<double>("ymin"),
1303  Parameters.getParameter<double>("ymax"),
1304  "");
1305  subdetMEs.SubDetNApvShotsProf->setAxisTitle("Time (s)", 1);
1306  subdetMEs.SubDetNApvShotsProf->setAxisTitle("# Apv Shots", 2);
1307  if (subdetMEs.SubDetNApvShotsProf->kind() == MonitorElement::Kind::TPROFILE)
1308  subdetMEs.SubDetNApvShotsProf->setCanExtend(TH1::kAllAxes);
1309  }
1310 
1311  SubDetMEsMap[label] = subdetMEs;
1312 }
char const * label
vector< ParameterSet > Parameters
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
std::map< std::string, SubDetMEs > SubDetMEsMap
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
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::ParameterSet conf_
std::string HistoName
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorDigi::createSubDetTH2 ( DQMStore::IBooker ibooker,
std::string  label 
)
private
void SiStripMonitorDigi::dqmBeginRun ( const edm::Run r,
const edm::EventSetup c 
)
overridevirtual

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

Definition at line 230 of file SiStripMonitorDigi.cc.

References edm::EventSetup::get(), edm::ESHandleBase::isValid(), m_cacheID_, nFedTECm, nFedTECp, nFedTIB, nFedTIDm, nFedTIDp, nFedTOB, runInfoTokenRun_, subdetswitchtotdigifailureon, and edm::EventSetup::tryToGet().

230  {
232  //get FED cabling to know if SiStrip is in DAQ or no
233  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
234  if (m_cacheID_ != cacheID) {
235  m_cacheID_ = cacheID;
236  }
237 
238  //nFEDConnected = 0;
239  nFedTIB = 0;
240  nFedTIDm = 0;
241  nFedTIDp = 0;
242  nFedTECm = 0;
243  nFedTECp = 0;
244  nFedTOB = 0;
245 
246  //const int siStripFedIdMin = FEDNumbering::MINSiStripFEDID;
247  //const int siStripFedIdMax = FEDNumbering::MAXSiStripFEDID;
248 
249  if (auto runInfoRec = es.tryToGet<RunInfoRcd>()) {
250  edm::ESHandle<RunInfo> sumFED = runInfoRec->getHandle(runInfoTokenRun_);
251 
252  if (sumFED.isValid()) {
253  std::vector<int> FedsInIds = sumFED->m_fed_in;
254  for (unsigned int it = 0; it < FedsInIds.size(); ++it) {
255  int fedID = FedsInIds[it];
256  // if(fedID>=siStripFedIdMin && fedID<=siStripFedIdMax) ++nFEDConnected;
257  /* mia: but is there not a smarter way !?!?!? */
258  if (fedID >= 50 && fedID <= 133)
259  ++nFedTIB;
260  if (fedID >= 134 && fedID <= 148)
261  ++nFedTIDm;
262  if (fedID >= 149 && fedID <= 163)
263  ++nFedTIDp;
264  if (fedID >= 164 && fedID <= 259)
265  ++nFedTECm;
266  if (fedID >= 260 && fedID <= 355)
267  ++nFedTECp;
268  if (fedID >= 356 && fedID <= 489)
269  ++nFedTOB;
270  }
271  }
272  }
273  }
274 }
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoTokenRun_
unsigned long long m_cacheID_
bool isValid() const
Definition: ESHandle.h:44
void SiStripMonitorDigi::FillApvShotsMap ( TkHistoMap the_map,
const std::vector< APVShot > &  shots,
uint32_t  id,
int  mode 
)
private

Definition at line 1335 of file SiStripMonitorDigi.cc.

References TkHistoMap::fill(), mps_fire::i, median(), me0TriggerPseudoDigis_cff::nStrips, and parallelization::uint().

Referenced by analyze().

1335  {
1336  for (uint i = 0; i < shots.size(); i++) {
1337  if (mode == 1)
1338  the_map->fill(id, shots[i].nStrips()); //mode == 1 fill with strip multiplicity
1339  if (mode == 2)
1340  the_map->fill(id, shots[i].median()); // mode == 2 fill with charge median
1341  }
1342 }
tuple nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
void fill(DetId detid, float value)
Definition: TkHistoMap.cc:176
T median(std::vector< T > values)
Definition: median.h:16
void SiStripMonitorDigi::fillDigiADCsMEs ( int  value,
std::string  name 
)
private
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 103 of file SiStripMonitorDigi.h.

References dqm::impl::MonitorElement::Fill().

Referenced by analyze().

103  {
104  if (ME != nullptr)
105  ME->Fill(value1);
106  }
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 107 of file SiStripMonitorDigi.h.

References dqm::impl::MonitorElement::Fill().

107  {
108  if (ME != nullptr)
109  ME->Fill(value1, value2);
110  }
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 111 of file SiStripMonitorDigi.h.

References dqm::impl::MonitorElement::Fill().

111  {
112  if (ME != nullptr)
113  ME->Fill(value1, value2, value3);
114  }
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 115 of file SiStripMonitorDigi.h.

References dqm::impl::MonitorElement::Fill().

115  {
116  if (ME != nullptr)
117  ME->Fill(value1, value2, value3, value4);
118  }
void Fill(long long x)
void SiStripMonitorDigi::fillTrend ( MonitorElement me,
float  value,
float  timeinorbit 
)
private

Definition at line 1004 of file SiStripMonitorDigi.cc.

References dqm::impl::MonitorElement::Fill().

Referenced by analyze().

1004  {
1005  if (!me)
1006  return;
1007  me->Fill(timeinorbit, value);
1008 }
void Fill(long long x)
int SiStripMonitorDigi::getDigiSourceIndex ( uint32_t  id)
private

Definition at line 1316 of file SiStripMonitorDigi.cc.

References digi_detset_handles, and dataset::end.

Referenced by analyze().

1316  {
1317  int location = -1;
1318  for (unsigned int ival = 0; ival < digi_detset_handles.size(); ++ival) {
1320  if (isearch != digi_detset_handles[ival]->end()) {
1321  location = ival;
1322  break;
1323  }
1324  }
1325  return location;
1326 }
std::vector< const edm::DetSetVector< SiStripDigi > * > digi_detset_handles
string end
Definition: dataset.py:937
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:102
std::shared_ptr< bool > SiStripMonitorDigi::globalBeginLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup iSetup 
) const
override

Definition at line 277 of file SiStripMonitorDigi.cc.

278  {
279  bool isStableBeams = false;
280  return std::make_shared<bool>(isStableBeams);
281 }
void SiStripMonitorDigi::globalEndLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup iSetup 
)
override

Definition at line 284 of file SiStripMonitorDigi.cc.

References digiFailureMEs, dqm::impl::MonitorElement::Fill(), dqm::impl::MonitorElement::getBinContent(), edm::LuminosityBlockBase::id(), ignoreFirstNLumisections_, edm::LuminosityBlock::index(), integrateNLumisections_, edm::LuminosityBlockID::luminosityBlock(), nFedTECm, nFedTECp, nFedTIB, nFedTIDm, nFedTIDp, nFedTOB, SBDeclaredAt, SBTransitionDone, SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures2D, subdetswitchtotdigifailureon, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, relativeConstraints::value, and vecSubDetTotDigiProfLS.

284  {
285  unsigned int currentLS = lb.id().luminosityBlock();
286  const bool isStableBeams = luminosityBlockCache(lb.index());
287  if (subdetswitchtotdigifailureon && isStableBeams && !SBTransitionDone) {
288  SBDeclaredAt = (int)currentLS;
289  SBTransitionDone = true;
290  }
291 
292  if (subdetswitchtotdigifailureon && currentLS % integrateNLumisections_ == 0) {
293  int nFeds[6] = {96, 96, 84, 15, 15, 134}; // tec- , tec+ , tib , tid- , tid+ , tob
294  int nFedsConnected[6] = {nFedTECm, nFedTECp, nFedTIB, nFedTIDm, nFedTIDp, nFedTOB};
295 
297  for (int ibin = 1; ibin < 7; ibin++) {
298  //the vector now has the sum from previous integrateNLumisections_
299  //whereas digiFailureMEs.SubDetTotDigiProfLS now has sum for all LS upto now.
302 
303  float fillvalue = 2;
304  if (isStableBeams
305  // && (int)lb.id().luminosityBlock() > ignoreFirstNLumisections_ //ignore first X lumisections for HV rampup
306  && ((int)currentLS - SBDeclaredAt) > ignoreFirstNLumisections_ &&
307  (float)nFedsConnected[ibin - 1] / nFeds[ibin - 1] > 0.5 && value < 50.) {
308  fillvalue = 1.01;
309  }
310  //account for integrated LS: fill previous bins as well
311  for (int fillbin = (int)currentLS - integrateNLumisections_ + 1; fillbin <= (int)currentLS; fillbin++)
312  digiFailureMEs.SubDetDigiFailures2D->Fill(fillbin, ibin - 1, fillvalue);
313  }
314  }
315  }
316 }
void Fill(long long x)
DigiFailureMEs digiFailureMEs
std::vector< float > vecSubDetTotDigiProfLS
virtual double getBinContent(int binx) const
get content of bin (1-D)
void SiStripMonitorDigi::ResetModuleMEs ( uint32_t  idet)
private

Definition at line 948 of file SiStripMonitorDigi.cc.

References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, SiStripMonitorDigi::ModMEs::DigiADCs, DigiMEs, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, dqm::impl::MonitorElement::Reset(), and SiStripMonitorDigi::ModMEs::StripOccupancy.

Referenced by bookHistograms(), and createMEs().

948  {
949  std::map<uint32_t, ModMEs>::iterator pos = DigiMEs.find(idet);
950  ModMEs mod_me = pos->second;
951 
953  mod_me.NumberOfDigis->Reset();
955  mod_me.NumberOfDigisPerStrip->Reset();
957  mod_me.ADCsHottestStrip->Reset();
959  mod_me.ADCsCoolestStrip->Reset();
961  mod_me.DigiADCs->Reset();
963  mod_me.StripOccupancy->Reset();
964 }
std::map< uint32_t, ModMEs > DigiMEs

Member Data Documentation

edm::InputTag SiStripMonitorDigi::apvPhaseProducer_
private

Definition at line 226 of file SiStripMonitorDigi.h.

Referenced by SiStripMonitorDigi().

edm::EDGetTokenT<APVCyclePhaseCollection> SiStripMonitorDigi::apvPhaseProducerToken_
private

Definition at line 229 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::calculate_strip_occupancy
private

Definition at line 135 of file SiStripMonitorDigi.h.

edm::ParameterSet SiStripMonitorDigi::conf_
private
bool SiStripMonitorDigi::createTrendMEs
private

Definition at line 220 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

SiStripDCSStatus* SiStripMonitorDigi::dcsStatus_
private

Definition at line 237 of file SiStripMonitorDigi.h.

Referenced by analyze(), SiStripMonitorDigi(), and ~SiStripMonitorDigi().

std::map<std::pair<std::string, int32_t>, bool> SiStripMonitorDigi::DetectedLayers
private

Definition at line 146 of file SiStripMonitorDigi.h.

std::vector<const edm::DetSetVector<SiStripDigi>*> SiStripMonitorDigi::digi_detset_handles
private

Definition at line 147 of file SiStripMonitorDigi.h.

Referenced by analyze(), and getDigiSourceIndex().

DigiFailureMEs SiStripMonitorDigi::digiFailureMEs
private

Definition at line 142 of file SiStripMonitorDigi.h.

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

std::map<uint32_t, ModMEs> SiStripMonitorDigi::DigiMEs
private

Definition at line 134 of file SiStripMonitorDigi.h.

Referenced by analyze(), bookHistograms(), createMEs(), and ResetModuleMEs().

std::vector<edm::InputTag> SiStripMonitorDigi::digiProducerList
private

Definition at line 132 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

std::vector<edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > > SiStripMonitorDigi::digiProducerTokenList
private

Definition at line 131 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::digitkhistomapon
private

Definition at line 215 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

int SiStripMonitorDigi::eventNb
private

Definition at line 159 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

int SiStripMonitorDigi::firstEvent
private
SiStripFolderOrganizer SiStripMonitorDigi::folder_organizer
private

Definition at line 145 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::globalsummaryapvshotson
private

Definition at line 163 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchapvshotsApvon
private

Definition at line 197 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchapvshotsonprof
private

Definition at line 195 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchchargemedianapvshotson
private

Definition at line 196 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchnapvshotson
private

Definition at line 193 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchNDigisFEDID
private

Definition at line 198 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::globalswitchnstripsapvshotson
private

Definition at line 194 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

edm::EDGetTokenT<L1GlobalTriggerEvmReadoutRecord> SiStripMonitorDigi::gtEvmToken_
private

Definition at line 230 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

edm::InputTag SiStripMonitorDigi::historyProducer_
private

Definition at line 225 of file SiStripMonitorDigi.h.

Referenced by SiStripMonitorDigi().

edm::EDGetTokenT<EventWithHistory> SiStripMonitorDigi::historyProducerToken_
private

Definition at line 228 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

int SiStripMonitorDigi::ignoreFirstNLumisections_
private

Definition at line 201 of file SiStripMonitorDigi.h.

Referenced by globalEndLuminosityBlock(), and SiStripMonitorDigi().

int SiStripMonitorDigi::integrateNLumisections_
private

Definition at line 202 of file SiStripMonitorDigi.h.

Referenced by globalEndLuminosityBlock(), and SiStripMonitorDigi().

std::map<std::string, std::vector<uint32_t> > SiStripMonitorDigi::LayerDetMap
private

Definition at line 138 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::map<std::string, LayerMEs> SiStripMonitorDigi::LayerMEsMap
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and createMEs().

bool SiStripMonitorDigi::layerswitchadccooleston
private

Definition at line 168 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchadchotteston
private

Definition at line 167 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchdigiadcprofon
private

Definition at line 172 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchdigiadcson
private

Definition at line 169 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchnumdigisapvon
private

Definition at line 166 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::layerswitchnumdigison
private

Definition at line 165 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchnumdigisprofon
private

Definition at line 171 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchstripoccupancyon
private

Definition at line 170 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

unsigned long long SiStripMonitorDigi::m_cacheID_
private

Definition at line 149 of file SiStripMonitorDigi.h.

Referenced by bookHistograms(), and dqmBeginRun().

bool SiStripMonitorDigi::m_trendVs10LS
private

Definition at line 222 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

MonitorElement * SiStripMonitorDigi::MedianChargeApvShotsGlobal
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::Mod_On_
private

Definition at line 213 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

std::vector<uint32_t> SiStripMonitorDigi::ModulesToBeExcluded_
private

Definition at line 151 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::moduleswitchadccooleston
private

Definition at line 177 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchadchotteston
private

Definition at line 176 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchdigiadcson
private

Definition at line 178 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchnumdigison
private

Definition at line 174 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchnumdigispstripon
private

Definition at line 175 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchstripoccupancyon
private

Definition at line 179 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

TString SiStripMonitorDigi::name
private

Definition at line 144 of file SiStripMonitorDigi.h.

Referenced by ElectronMVAID.ElectronMVAID::__call__(), FWLite.ElectronMVAID::__call__(), dirstructure.Directory::__create_pie_image(), DisplayManager.DisplayManager::__del__(), dqm_interfaces.DirID::__eq__(), dirstructure.Directory::__get_full_path(), dirstructure.Comparison::__get_img_name(), dataset.Dataset::__getDataType(), dataset.Dataset::__getFileInfoList(), dirstructure.Comparison::__make_image(), core.autovars.NTupleVariable::__repr__(), core.autovars.NTupleObjectType::__repr__(), core.autovars.NTupleObject::__repr__(), core.autovars.NTupleCollection::__repr__(), dirstructure.Directory::__repr__(), dqm_interfaces.DirID::__repr__(), dirstructure.Comparison::__repr__(), config.Service::__setattr__(), config.CFG::__str__(), counter.Counter::__str__(), average.Average::__str__(), FWLite.WorkingPoints::_reformat_cut_definitions(), core.autovars.NTupleObjectType::addSubObjects(), core.autovars.NTupleObjectType::addVariables(), core.autovars.NTupleObjectType::allVars(), dirstructure.Directory::calcStats(), geometryComparison.GeometryComparison::createScript(), validation.Sample::digest(), python.rootplot.utilities.Hist::divide(), python.rootplot.utilities.Hist::divide_wilson(), DisplayManager.DisplayManager::Draw(), TreeCrawler.Package::dump(), core.autovars.NTupleVariable::fillBranch(), core.autovars.NTupleObject::fillBranches(), core.autovars.NTupleCollection::fillBranchesScalar(), core.autovars.NTupleCollection::fillBranchesVector(), core.autovars.NTupleCollection::get_cpp_declaration(), core.autovars.NTupleCollection::get_cpp_wrapper_class(), core.autovars.NTupleCollection::get_py_wrapper_class(), utils.StatisticalTest::get_status(), production_tasks.Task::getname(), dataset.CMSDataset::getPrimaryDatasetEntries(), dataset.PrivateDataset::getPrimaryDatasetEntries(), primaryVertexResolution.PrimaryVertexResolution::getRepMap(), primaryVertexValidation.PrimaryVertexValidation::getRepMap(), zMuMuValidation.ZMuMuValidation::getRepMap(), VIDSelectorBase.VIDSelectorBase::initialize(), personalPlayback.Applet::log(), core.autovars.NTupleVariable::makeBranch(), core.autovars.NTupleObject::makeBranches(), core.autovars.NTupleCollection::makeBranchesScalar(), core.autovars.NTupleCollection::makeBranchesVector(), dirstructure.Directory::print_report(), dataset.BaseDataset::printInfo(), dataset.Dataset::printInfo(), production_tasks.MonitorJobs::run(), python.rootplot.utilities.Hist::TGraph(), python.rootplot.utilities.Hist::TH1F(), counter.Counter::write(), and average.Average::write().

MonitorElement * SiStripMonitorDigi::NApvApvShotsGlobal
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorDigi::NApvShotsGlobal
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

MonitorElement * SiStripMonitorDigi::NApvShotsGlobalProf
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

int SiStripMonitorDigi::nFedTECm
private

Definition at line 209 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

int SiStripMonitorDigi::nFedTECp
private

Definition at line 208 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

int SiStripMonitorDigi::nFedTIB
private

Definition at line 205 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

int SiStripMonitorDigi::nFedTIDm
private

Definition at line 207 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

int SiStripMonitorDigi::nFedTIDp
private

Definition at line 206 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

int SiStripMonitorDigi::nFedTOB
private

Definition at line 210 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and globalEndLuminosityBlock().

MonitorElement* SiStripMonitorDigi::NumberOfFEDDigis = nullptr

Definition at line 92 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::reset_each_run
private

Definition at line 135 of file SiStripMonitorDigi.h.

Referenced by bookHistograms(), and createMEs().

edm::ESGetToken<RunInfo, RunInfoRcd> SiStripMonitorDigi::runInfoTokenRun_
private

Definition at line 234 of file SiStripMonitorDigi.h.

Referenced by dqmBeginRun(), and SiStripMonitorDigi().

int SiStripMonitorDigi::runNb
private

Definition at line 159 of file SiStripMonitorDigi.h.

Referenced by analyze().

int SiStripMonitorDigi::SBDeclaredAt
private

Definition at line 203 of file SiStripMonitorDigi.h.

Referenced by globalEndLuminosityBlock(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::SBTransitionDone
private

Definition at line 204 of file SiStripMonitorDigi.h.

Referenced by globalEndLuminosityBlock(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::select_all_detectors
private

Definition at line 135 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::shotschargehistomapon
private

Definition at line 218 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::shotshistomapon
private

Definition at line 216 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::shotsstripshistomapon
private

Definition at line 217 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

MonitorElement * SiStripMonitorDigi::ShotsVsTimeApvShotsGlobal
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::show_control_view
private

Definition at line 135 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::show_mechanical_structure_view
private

Definition at line 135 of file SiStripMonitorDigi.h.

Referenced by bookHistograms(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::show_readout_view
private

Definition at line 135 of file SiStripMonitorDigi.h.

const SiStripDetCabling* SiStripMonitorDigi::SiStripDetCabling_
private

Definition at line 150 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and createModuleMEs().

edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> SiStripMonitorDigi::SiStripDetCablingTokenRun_
private

Definition at line 233 of file SiStripMonitorDigi.h.

Referenced by createMEs(), and SiStripMonitorDigi().

MonitorElement * SiStripMonitorDigi::StripMultiplicityApvShotsGlobal
private

Definition at line 154 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::map<std::string, SubDetMEs> SiStripMonitorDigi::SubDetMEsMap
private

Definition at line 140 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and createSubDetMEs().

std::map<std::string, std::string> SiStripMonitorDigi::SubDetPhasePartMap
private

Definition at line 141 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvcycleprofon
private

Definition at line 182 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvcycleth2on
private

Definition at line 183 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvshotsApvon
private

Definition at line 191 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvshotsonprof
private

Definition at line 189 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchchargemedianapvshotson
private

Definition at line 190 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchnapvshotson
private

Definition at line 187 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchnstripsapvshotson
private

Definition at line 188 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchtotdigifailureon
private
bool SiStripMonitorDigi::subdetswitchtotdigiprofon
private

Definition at line 181 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

edm::ESGetToken<TkDetMap, TrackerTopologyRcd> SiStripMonitorDigi::tkDetMapTokenRun_
private

Definition at line 232 of file SiStripMonitorDigi.h.

Referenced by createMEs(), and SiStripMonitorDigi().

std::unique_ptr<TkHistoMap> SiStripMonitorDigi::tkmapdigi
private

Definition at line 157 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::unique_ptr<TkHistoMap> SiStripMonitorDigi::tkmapMedianChargeApvshots
private

Definition at line 157 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::unique_ptr<TkHistoMap> SiStripMonitorDigi::tkmapNApvshots
private

Definition at line 157 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::unique_ptr<TkHistoMap> SiStripMonitorDigi::tkmapNstripApvshot
private

Definition at line 157 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorDigi::topFolderName_

Definition at line 46 of file SiStripMonitorDigi.h.

Referenced by createMEs(), and SiStripMonitorDigi().

int SiStripMonitorDigi::TotalNShots
private

Definition at line 161 of file SiStripMonitorDigi.h.

Referenced by analyze().

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripMonitorDigi::tTopoToken_
private

Definition at line 235 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripMonitorDigi::tTopoTokenRun_
private

Definition at line 231 of file SiStripMonitorDigi.h.

Referenced by createMEs(), and SiStripMonitorDigi().

std::vector<float> SiStripMonitorDigi::vecSubDetTotDigiProfLS
private

Definition at line 224 of file SiStripMonitorDigi.h.

Referenced by globalEndLuminosityBlock(), and SiStripMonitorDigi().