|
| OnlineBeamMonitor (const edm::ParameterSet &) |
|
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 () |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
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 |
|
std::vector< bool > const & | recordProvenanceList () 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) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override |
|
void | dqmEndRun (edm::Run const &, edm::EventSetup const &) override |
|
std::shared_ptr< onlinebeammonitor::NoCache > | globalBeginLuminosityBlock (const edm::LuminosityBlock &iLumi, const edm::EventSetup &iSetup) const override |
|
void | globalEndLuminosityBlock (const edm::LuminosityBlock &iLumi, const edm::EventSetup &iSetup) override |
|
virtual void | analyze (edm::Event const &, edm::EventSetup const &) |
|
virtual void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)=0 |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (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) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
- Author
- Simone Gennai INFN/Bicocca
Definition at line 31 of file OnlineBeamMonitor.h.
Reimplemented from DQMOneEDAnalyzer< edm::LuminosityBlockCache< onlinebeammonitor::NoCache > >.
Definition at line 311 of file OnlineBeamMonitor.cc.
316 const double bigNumber = 1000000.;
320 bsChoice_->
getTH1()->GetXaxis()->SetRangeUser(firstLumi - 0.5, lastLumi + 0.5);
322 for (
auto& itHH : itH.second) {
323 double min = bigNumber;
324 double max = -bigNumber;
325 if (itHH.first !=
"run") {
326 for (
auto& itHHH : itHH.second) {
327 if (itHHH.second !=
nullptr) {
328 for (
int bin = 1;
bin <= itHHH.second->getTH1()->GetNbinsX();
bin++) {
329 if (itHHH.second->getTH1()->GetBinError(
bin) != 0 || itHHH.second->getTH1()->GetBinContent(
bin) != 0) {
330 if (itHHH.first ==
"Lumibased BeamSpotHLT" || itHHH.first ==
"Lumibased BeamSpotLegacy" ||
331 itHHH.first ==
"Lumibased BeamSpotTransient") {
332 if (
min > itHHH.second->getTH1()->GetBinContent(
bin)) {
333 min = itHHH.second->getTH1()->GetBinContent(
bin);
335 if (max < itHHH.second->getTH1()->GetBinContent(
bin)) {
336 max = itHHH.second->getTH1()->GetBinContent(
bin);
339 LogInfo(
"OnlineBeamMonitorClient") <<
"The histosMap_ have a histogram named " << itHHH.first
340 <<
" that I can't recognize in this loop!";
346 for (
auto& itHHH : itHH.second) {
347 if (itHHH.second !=
nullptr) {
348 if (itHHH.first ==
"Lumibased BeamSpotHLT" || itHHH.first ==
"Lumibased BeamSpotLegacy" ||
349 itHHH.first ==
"Lumibased BeamSpotTransient") {
350 if ((
max == -bigNumber &&
min == bigNumber) ||
max -
min == 0) {
351 itHHH.second->getTH1()->SetMinimum(itHHH.second->getTH1()->GetMinimum() - 0.01);
352 itHHH.second->getTH1()->SetMaximum(itHHH.second->getTH1()->GetMaximum() + 0.01);
354 itHHH.second->getTH1()->SetMinimum(
min - 0.1 * (
max -
min));
355 itHHH.second->getTH1()->SetMaximum(
max + 0.1 * (
max -
min));
358 LogInfo(
"OnlineBeamMonitorClient")
359 <<
"The histosMap_ have a histogram named " << itHHH.first <<
" that I can't recognize in this loop!";
361 itHHH.second->getTH1()->GetXaxis()->SetRangeUser(firstLumi - 0.5, lastLumi + 0.5);
References newFWLiteAna::bin, bsChoice_, dqm::impl::MonitorElement::getTH1(), histosMap_, SiStripPI::max, min(), and processedLumis_.
Definition at line 126 of file OnlineBeamMonitor.cc.
137 auto const& spotDB = *bsHLTHandle;
143 for (
int i = 0;
i < 7; ++
i) {
144 for (
int j = 0;
j < 7; ++
j) {
150 BeamSpot(apoint, spotDB.GetSigmaZ(), spotDB.Getdxdz(), spotDB.Getdydz(), spotDB.GetBeamWidthX(),
matrix);
155 aSpot->setEmittanceX(spotDB.GetEmittanceX());
156 aSpot->setEmittanceY(spotDB.GetEmittanceY());
157 aSpot->setbetaStar(spotDB.GetBetaStar());
159 if (spotDB.GetBeamType() == 2) {
167 LogInfo(
"OnlineBeamMonitor") <<
"Database BeamSpot is not valid at lumi: " <<
iLumi.id().luminosityBlock();
170 auto const& spotDB = *bsLegacyHandle;
175 for (
int i = 0;
i < 7; ++
i) {
176 for (
int j = 0;
j < 7; ++
j) {
182 BeamSpot(apoint, spotDB.GetSigmaZ(), spotDB.Getdxdz(), spotDB.Getdydz(), spotDB.GetBeamWidthX(),
matrix);
187 aSpot->setEmittanceX(spotDB.GetEmittanceX());
188 aSpot->setEmittanceY(spotDB.GetEmittanceY());
189 aSpot->setbetaStar(spotDB.GetBetaStar());
191 if (spotDB.GetBeamType() == 2) {
199 LogInfo(
"OnlineBeamMonitor") <<
"Database BeamSpot is not valid at lumi: " <<
iLumi.id().luminosityBlock();
202 auto const& spotDB = *bsTransientHandle;
208 for (
int i = 0;
i < 7; ++
i) {
209 for (
int j = 0;
j < 7; ++
j) {
215 BeamSpot(apoint, spotDB.GetSigmaZ(), spotDB.Getdxdz(), spotDB.Getdydz(), spotDB.GetBeamWidthX(),
matrix);
220 aSpot->setEmittanceX(spotDB.GetEmittanceX());
221 aSpot->setEmittanceY(spotDB.GetEmittanceY());
222 aSpot->setbetaStar(spotDB.GetBetaStar());
224 if (spotDB.GetBeamType() == 2) {
232 LogInfo(
"OnlineBeamMonitor") <<
"Database BeamSpot is not valid at lumi: " <<
iLumi.id().luminosityBlock();
References align::BeamSpot, beamSpotsMap_, bsHLTToken_, bsLegacyToken_, bsTransientToken_, reco::BeamSpot::Fake, edm::EventSetup::getHandle(), mps_fire::i, es_hardcode_cfi::iLumi, dqmiolumiharvest::j, makeMuonMisalignmentScenario::matrix, processedLumis_, reco::BeamSpot::setBeamWidthY(), and reco::BeamSpot::Tracker.
Definition at line 238 of file OnlineBeamMonitor.cc.
259 map<std::string, pair<double, double> > resultsMap;
260 vector<pair<double, double> > vertexResults;
267 resultsMap[itBS.first] = pair<double, double>(itBS.second.x0(), itBS.second.x0Error());
268 }
else if (itV ==
"y") {
269 resultsMap[itBS.first] = pair<double, double>(itBS.second.y0(), itBS.second.y0Error());
270 }
else if (itV ==
"z") {
271 resultsMap[itBS.first] = pair<double, double>(itBS.second.z0(), itBS.second.z0Error());
272 }
else if (itV ==
"sigmaX") {
273 resultsMap[itBS.first] = pair<double, double>(itBS.second.BeamWidthX(), itBS.second.BeamWidthXError());
274 }
else if (itV ==
"sigmaY") {
275 resultsMap[itBS.first] = pair<double, double>(itBS.second.BeamWidthY(), itBS.second.BeamWidthYError());
276 }
else if (itV ==
"sigmaZ") {
277 resultsMap[itBS.first] = pair<double, double>(itBS.second.sigmaZ(), itBS.second.sigmaZ0Error());
279 LogInfo(
"OnlineBeamMonitor") <<
"The histosMap_ has been built with the name " << itV
280 <<
" that I can't recognize!";
288 if (itM.second ==
"Lumibased BeamSpotHLT") {
289 if (resultsMap.find(
"HLT") != resultsMap.end()) {
290 histo->setBinContent(
iLumi.id().luminosityBlock(), resultsMap[
"HLT"].first);
291 histo->setBinError(
iLumi.id().luminosityBlock(), resultsMap[
"HLT"].second);
293 }
else if (itM.second ==
"Lumibased BeamSpotLegacy") {
294 if (resultsMap.find(
"Legacy") != resultsMap.end()) {
295 histo->setBinContent(
iLumi.id().luminosityBlock(), resultsMap[
"Legacy"].first);
296 histo->setBinError(
iLumi.id().luminosityBlock(), resultsMap[
"Legacy"].second);
298 }
else if (itM.second ==
"Lumibased BeamSpotTransient") {
299 if (resultsMap.find(
"Transient") != resultsMap.end()) {
300 histo->setBinContent(
iLumi.id().luminosityBlock(), resultsMap[
"Transient"].first);
301 histo->setBinError(
iLumi.id().luminosityBlock(), resultsMap[
"Transient"].second);
304 LogInfo(
"OnlineBeamMonitor") <<
"The histosMap_ have a histogram named " << itM.second
305 <<
" that I can't recognize in this loop!";
References beamSpotsMap_, bsChoice_, timingPdfMaker::histo, histoByCategoryNames_, histosMap_, es_hardcode_cfi::iLumi, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), align::Tracker, and varNamesV_.