CMS 3D CMS Logo

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

#include <MillePedeDQMModule.h>

Inheritance diagram for MillePedeDQMModule:
DQMEDHarvester edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
 MillePedeDQMModule (const edm::ParameterSet &)
 
 ~MillePedeDQMModule () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester ()
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endProcessBlockProduce (edm::ProcessBlock &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
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
 
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
 
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
 
- 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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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
 
EDConsumerBaseoperator= (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)
 

Private Member Functions

void beginRun (const edm::Run &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &)
 
void fillExpertHisto (MonitorElement *histo, const std::array< double, 6 > &cut, const std::array< double, 6 > &sigCut, const std::array< double, 6 > &maxMoveCut, const std::array< double, 6 > &maxErrorCut, const std::array< double, 6 > &obs, const std::array< double, 6 > &obsErr)
 
void fillExpertHistos ()
 
void fillStatusHisto (MonitorElement *statusHisto)
 
int getIndexFromString (const std::string &alignableId)
 
bool setupChanged (const edm::EventSetup &)
 

Private Attributes

const edm::ESGetToken< AlignPCLThresholds, AlignPCLThresholdsRcdaliThrToken_
 
MonitorElementbinariesAvalaible
 
MonitorElementexitCode
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgDetToken_
 
MonitorElementh_xPos
 
MonitorElementh_xRot
 
MonitorElementh_yPos
 
MonitorElementh_yRot
 
MonitorElementh_zPos
 
MonitorElementh_zRot
 
std::unique_ptr< MillePedeFileReadermpReader_
 
const edm::ParameterSet mpReaderConfig_
 
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcdptpToken_
 
MonitorElementstatusResults
 
std::unique_ptr< AlignableTrackertracker_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 
edm::ESWatcher< IdealGeometryRecordwatchIdealGeometryRcd_
 
edm::ESWatcher< PTrackerParametersRcdwatchPTrackerParametersRcd_
 
edm::ESWatcher< TrackerTopologyRcdwatchTrackerTopologyRcd_
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::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 edm::ProducerBase
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 ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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...
 
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)
 
- Protected Attributes inherited from DQMEDHarvester
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenjobmegetter_
 
edm::EDPutTokenT< DQMTokenjobToken_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 47 of file MillePedeDQMModule.h.

Constructor & Destructor Documentation

◆ MillePedeDQMModule()

MillePedeDQMModule::MillePedeDQMModule ( const edm::ParameterSet config)

Definition at line 28 of file MillePedeDQMModule.cc.

29  : tTopoToken_(esConsumes<edm::Transition::BeginRun>()),
30  gDetToken_(esConsumes<edm::Transition::BeginRun>()),
31  ptpToken_(esConsumes<edm::Transition::BeginRun>()),
32  aliThrToken_(esConsumes<edm::Transition::BeginRun>()),
33  mpReaderConfig_(config.getParameter<edm::ParameterSet>("MillePedeFileReader")) {
34  consumes<AlignmentToken, edm::InProcess>(config.getParameter<edm::InputTag>("alignmentTokenSrc"));
35 }

◆ ~MillePedeDQMModule()

MillePedeDQMModule::~MillePedeDQMModule ( )
override

Definition at line 37 of file MillePedeDQMModule.cc.

37 {}

Member Function Documentation

◆ beginRun()

void MillePedeDQMModule::beginRun ( const edm::Run ,
const edm::EventSetup setup 
)
overrideprivate

Definition at line 83 of file MillePedeDQMModule.cc.

83  {
84  if (!setupChanged(setup))
85  return;
86 
87  const TrackerTopology* const tTopo = &setup.getData(tTopoToken_);
88  const GeometricDet* geometricDet = &setup.getData(gDetToken_);
89  const PTrackerParameters* ptp = &setup.getData(ptpToken_);
90 
91  // take the thresholds from DB
92  const auto& thresholds_ = &setup.getData(aliThrToken_);
93 
94  auto myThresholds = std::make_shared<AlignPCLThresholds>();
95  myThresholds->setAlignPCLThresholds(thresholds_->getNrecords(), thresholds_->getThreshold_Map());
96 
98 
99  const auto trackerGeometry = builder.build(geometricDet, *ptp, tTopo);
100  tracker_ = std::make_unique<AlignableTracker>(trackerGeometry, tTopo);
101 
102  const std::string labelerPlugin{"PedeLabeler"};
103  edm::ParameterSet labelerConfig{};
104  labelerConfig.addUntrackedParameter("plugin", labelerPlugin);
105  labelerConfig.addUntrackedParameter("RunRangeSelection", edm::VParameterSet{});
106 
107  std::shared_ptr<PedeLabelerBase> pedeLabeler{PedeLabelerPluginFactory::get()->create(
108  labelerPlugin, PedeLabelerBase::TopLevelAlignables(tracker_.get(), nullptr, nullptr), labelerConfig)};
109 
110  mpReader_ = std::make_unique<MillePedeFileReader>(
111  mpReaderConfig_, pedeLabeler, std::shared_ptr<const AlignPCLThresholds>(myThresholds));
112 }

References edm::ParameterSet::addUntrackedParameter(), aliThrToken_, TrackerGeomBuilderFromGeometricDet::build(), gDetToken_, get, mpReader_, mpReaderConfig_, MillePedeAlignmentAlgorithm_cfi::pedeLabeler, ptpToken_, singleTopDQM_cfi::setup, setupChanged(), AlCaHLTBitMon_QueryRunRegistry::string, tracker_, and tTopoToken_.

◆ bookHistograms()

void MillePedeDQMModule::bookHistograms ( DQMStore::IBooker booker)
private

Definition at line 43 of file MillePedeDQMModule.cc.

43  {
44  edm::LogInfo("MillePedeDQMModule") << "Booking histograms";
45 
46  booker.cd();
47  booker.setCurrentFolder("AlCaReco/SiPixelAli/");
48 
49  h_xPos = booker.book1D("Xpos", "Alignment fit #DeltaX;;#mum", 36, 0., 36.);
50  h_xRot = booker.book1D("Xrot", "Alignment fit #Delta#theta_{X};;#murad", 36, 0., 36.);
51  h_yPos = booker.book1D("Ypos", "Alignment fit #DeltaY;;#mum", 36, 0., 36.);
52  h_yRot = booker.book1D("Yrot", "Alignment fit #Delta#theta_{Y};;#murad", 36, 0., 36.);
53  h_zPos = booker.book1D("Zpos", "Alignment fit #DeltaZ;;#mum", 36, 0., 36.);
54  h_zRot = booker.book1D("Zrot", "Alignment fit #Delta#theta_{Z};;#murad", 36, 0., 36.);
55 
56  statusResults = booker.book2D("statusResults", "Status of SiPixelAli PCL workflow;;", 6, 0., 6., 1, 0., 1.);
57  binariesAvalaible = booker.bookInt("BinariesFound");
58  exitCode = booker.bookString("PedeExitCode", "");
59 
60  booker.cd();
61 }

References binariesAvalaible, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookInt(), dqm::implementation::IBooker::bookString(), dqm::implementation::NavigatorBase::cd(), exitCode, h_xPos, h_xRot, h_yPos, h_yRot, h_zPos, h_zRot, dqm::implementation::NavigatorBase::setCurrentFolder(), and statusResults.

Referenced by dqmEndJob().

◆ dqmEndJob()

void MillePedeDQMModule::dqmEndJob ( DQMStore::IBooker booker,
DQMStore::IGetter  
)
overridevirtual

Implements DQMEDHarvester.

Definition at line 63 of file MillePedeDQMModule.cc.

63  {
64  bookHistograms(booker);
65  if (mpReader_) {
66  mpReader_->read();
67  } else {
68  throw cms::Exception("LogicError") << "@SUB=MillePedeDQMModule::dqmEndJob\n"
69  << "Try to read MillePede results before initializing MillePedeFileReader";
70  }
73  binariesAvalaible->Fill(mpReader_->binariesAmount());
74  auto theResults = mpReader_->getResults();
75  std::string exitCodeStr = theResults.getExitMessage();
76  exitCode->Fill(exitCodeStr);
77 }

References binariesAvalaible, bookHistograms(), Exception, exitCode, dqm::impl::MonitorElement::Fill(), fillExpertHistos(), fillStatusHisto(), mpReader_, statusResults, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillExpertHisto()

void MillePedeDQMModule::fillExpertHisto ( MonitorElement histo,
const std::array< double, 6 > &  cut,
const std::array< double, 6 > &  sigCut,
const std::array< double, 6 > &  maxMoveCut,
const std::array< double, 6 > &  maxErrorCut,
const std::array< double, 6 > &  obs,
const std::array< double, 6 > &  obsErr 
)
private

Definition at line 196 of file MillePedeDQMModule.cc.

202  {
203  TH1F* histo_0 = histo->getTH1F();
204 
205  double max_ = *std::max_element(maxMoveCut.begin(), maxMoveCut.end());
206 
207  histo_0->SetMinimum(-(max_));
208  histo_0->SetMaximum(max_);
209 
210  // Schematics of the bin contents
211  //
212  // XX XX XX XX XX XX OO OO OO OO II II II II
213  // |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
214  // | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17| ...
215  //
216  // |-----------------| |-----------| |-----------|
217  // |observed movement| |thresholds1| |thresholds2|
218 
219  for (size_t i = 0; i < obs.size(); ++i) {
220  // fist obs.size() bins for observed movements
221  histo_0->SetBinContent(i + 1, obs[i]);
222  histo_0->SetBinError(i + 1, obsErr[i]);
223 
224  // then at bin 8,8+5,8+10,... for cutoffs
225  // 5 bins is the space allocated for the 4 other thresholds + 1 empty separation bin
226  histo_0->SetBinContent(8 + i * 5, cut[i]);
227 
228  // then at bin 9,9+5,9+10,... for significances
229  histo_0->SetBinContent(9 + i * 5, sigCut[i]);
230 
231  // then at bin 10,10+5,10+10,... for maximum movements
232  histo_0->SetBinContent(10 + i * 5, maxMoveCut[i]);
233 
234  // then at bin 11,11+5,11+10,... for maximum errors
235  histo_0->SetBinContent(11 + i * 5, maxErrorCut[i]);
236  }
237 }

References TkAlMuonSelectors_cfi::cut, timingPdfMaker::histo, mps_fire::i, and HLT_FULL_cff::sigCut.

Referenced by fillExpertHistos().

◆ fillExpertHistos()

void MillePedeDQMModule::fillExpertHistos ( )
private

Definition at line 132 of file MillePedeDQMModule.cc.

132  {
133  std::array<double, 6> Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_;
134  std::array<double, 6> tXcut_, sigtXcut_, maxMovetXcut_, maxErrortXcut_;
135 
136  std::array<double, 6> Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_;
137  std::array<double, 6> tYcut_, sigtYcut_, maxMovetYcut_, maxErrortYcut_;
138 
139  std::array<double, 6> Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_;
140  std::array<double, 6> tZcut_, sigtZcut_, maxMovetZcut_, maxErrortZcut_;
141 
142  auto myMap = mpReader_->getThresholdMap();
143 
144  std::vector<std::string> alignablesList;
145  for (auto it = myMap.begin(); it != myMap.end(); ++it) {
146  alignablesList.push_back(it->first);
147  }
148 
149  for (auto& alignable : alignablesList) {
150  int detIndex = getIndexFromString(alignable);
151 
152  Xcut_[detIndex] = myMap[alignable].getXcut();
153  sigXcut_[detIndex] = myMap[alignable].getSigXcut();
154  maxMoveXcut_[detIndex] = myMap[alignable].getMaxMoveXcut();
155  maxErrorXcut_[detIndex] = myMap[alignable].getErrorXcut();
156 
157  Ycut_[detIndex] = myMap[alignable].getYcut();
158  sigYcut_[detIndex] = myMap[alignable].getSigYcut();
159  maxMoveYcut_[detIndex] = myMap[alignable].getMaxMoveYcut();
160  maxErrorYcut_[detIndex] = myMap[alignable].getErrorYcut();
161 
162  Zcut_[detIndex] = myMap[alignable].getZcut();
163  sigZcut_[detIndex] = myMap[alignable].getSigZcut();
164  maxMoveZcut_[detIndex] = myMap[alignable].getMaxMoveZcut();
165  maxErrorZcut_[detIndex] = myMap[alignable].getErrorZcut();
166 
167  tXcut_[detIndex] = myMap[alignable].getThetaXcut();
168  sigtXcut_[detIndex] = myMap[alignable].getSigThetaXcut();
169  maxMovetXcut_[detIndex] = myMap[alignable].getMaxMoveThetaXcut();
170  maxErrortXcut_[detIndex] = myMap[alignable].getErrorThetaXcut();
171 
172  tYcut_[detIndex] = myMap[alignable].getThetaYcut();
173  sigtYcut_[detIndex] = myMap[alignable].getSigThetaYcut();
174  maxMovetYcut_[detIndex] = myMap[alignable].getMaxMoveThetaYcut();
175  maxErrortYcut_[detIndex] = myMap[alignable].getErrorThetaYcut();
176 
177  tZcut_[detIndex] = myMap[alignable].getThetaZcut();
178  sigtZcut_[detIndex] = myMap[alignable].getSigThetaZcut();
179  maxMovetZcut_[detIndex] = myMap[alignable].getMaxMoveThetaZcut();
180  maxErrortZcut_[detIndex] = myMap[alignable].getErrorThetaZcut();
181  }
182 
183  fillExpertHisto(h_xPos, Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_, mpReader_->getXobs(), mpReader_->getXobsErr());
185  h_xRot, tXcut_, sigtXcut_, maxMovetXcut_, maxErrortXcut_, mpReader_->getTXobs(), mpReader_->getTXobsErr());
186 
187  fillExpertHisto(h_yPos, Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_, mpReader_->getYobs(), mpReader_->getYobsErr());
189  h_yRot, tYcut_, sigtYcut_, maxMovetYcut_, maxErrortYcut_, mpReader_->getTYobs(), mpReader_->getTYobsErr());
190 
191  fillExpertHisto(h_zPos, Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_, mpReader_->getZobs(), mpReader_->getZobsErr());
193  h_zRot, tZcut_, sigtZcut_, maxMovetZcut_, maxErrortZcut_, mpReader_->getTZobs(), mpReader_->getTZobsErr());
194 }

References fillExpertHisto(), getIndexFromString(), h_xPos, h_xRot, h_yPos, h_yRot, h_zPos, h_zRot, and mpReader_.

Referenced by dqmEndJob().

◆ fillStatusHisto()

void MillePedeDQMModule::fillStatusHisto ( MonitorElement statusHisto)
private

Definition at line 114 of file MillePedeDQMModule.cc.

114  {
115  TH2F* histo_status = statusHisto->getTH2F();
116  auto theResults = mpReader_->getResults();
117  theResults.print();
118  histo_status->SetBinContent(1, 1, theResults.getDBUpdated());
119  histo_status->GetXaxis()->SetBinLabel(1, "DB updated");
120  histo_status->SetBinContent(2, 1, theResults.exceedsCutoffs());
121  histo_status->GetXaxis()->SetBinLabel(2, "significant movement");
122  histo_status->SetBinContent(3, 1, theResults.getDBVetoed());
123  histo_status->GetXaxis()->SetBinLabel(3, "DB update vetoed");
124  histo_status->SetBinContent(4, 1, !theResults.exceedsThresholds());
125  histo_status->GetXaxis()->SetBinLabel(4, "within max movement");
126  histo_status->SetBinContent(5, 1, !theResults.exceedsMaxError());
127  histo_status->GetXaxis()->SetBinLabel(5, "within max error");
128  histo_status->SetBinContent(6, 1, !theResults.belowSignificance());
129  histo_status->GetXaxis()->SetBinLabel(6, "above significance");
130 }

References dqm::legacy::MonitorElement::getTH2F(), and mpReader_.

Referenced by dqmEndJob().

◆ getIndexFromString()

int MillePedeDQMModule::getIndexFromString ( const std::string &  alignableId)
private

Definition at line 252 of file MillePedeDQMModule.cc.

252  {
253  if (alignableId == "TPBHalfBarrelXminus") {
254  return 3;
255  } else if (alignableId == "TPBHalfBarrelXplus") {
256  return 2;
257  } else if (alignableId == "TPEHalfCylinderXminusZminus") {
258  return 1;
259  } else if (alignableId == "TPEHalfCylinderXplusZminus") {
260  return 0;
261  } else if (alignableId == "TPEHalfCylinderXminusZplus") {
262  return 5;
263  } else if (alignableId == "TPEHalfCylinderXplusZplus") {
264  return 4;
265  } else {
266  throw cms::Exception("LogicError") << "@SUB=MillePedeDQMModule::getIndexFromString\n"
267  << "Retrieving conversion for not supported Alignable partition" << alignableId;
268  }
269 }

References Exception.

Referenced by fillExpertHistos().

◆ setupChanged()

bool MillePedeDQMModule::setupChanged ( const edm::EventSetup setup)
private

Definition at line 239 of file MillePedeDQMModule.cc.

239  {
240  bool changed{false};
241 
243  changed = true;
245  changed = true;
247  changed = true;
248 
249  return changed;
250 }

References edm::ESWatcher< T >::check(), singleTopDQM_cfi::setup, watchIdealGeometryRcd_, watchPTrackerParametersRcd_, and watchTrackerTopologyRcd_.

Referenced by beginRun().

Member Data Documentation

◆ aliThrToken_

const edm::ESGetToken<AlignPCLThresholds, AlignPCLThresholdsRcd> MillePedeDQMModule::aliThrToken_
private

Definition at line 83 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ binariesAvalaible

MonitorElement* MillePedeDQMModule::binariesAvalaible
private

Definition at line 102 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ exitCode

MonitorElement* MillePedeDQMModule::exitCode
private

Definition at line 103 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ gDetToken_

const edm::ESGetToken<GeometricDet, IdealGeometryRecord> MillePedeDQMModule::gDetToken_
private

Definition at line 81 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ h_xPos

MonitorElement* MillePedeDQMModule::h_xPos
private

Definition at line 94 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_xRot

MonitorElement* MillePedeDQMModule::h_xRot
private

Definition at line 95 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_yPos

MonitorElement* MillePedeDQMModule::h_yPos
private

Definition at line 96 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_yRot

MonitorElement* MillePedeDQMModule::h_yRot
private

Definition at line 97 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_zPos

MonitorElement* MillePedeDQMModule::h_zPos
private

Definition at line 98 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_zRot

MonitorElement* MillePedeDQMModule::h_zRot
private

Definition at line 99 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ mpReader_

std::unique_ptr<MillePedeFileReader> MillePedeDQMModule::mpReader_
private

Definition at line 87 of file MillePedeDQMModule.h.

Referenced by beginRun(), dqmEndJob(), fillExpertHistos(), and fillStatusHisto().

◆ mpReaderConfig_

const edm::ParameterSet MillePedeDQMModule::mpReaderConfig_
private

Definition at line 85 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ ptpToken_

const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> MillePedeDQMModule::ptpToken_
private

Definition at line 82 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ statusResults

MonitorElement* MillePedeDQMModule::statusResults
private

Definition at line 101 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ tracker_

std::unique_ptr<AlignableTracker> MillePedeDQMModule::tracker_
private

Definition at line 86 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ tTopoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> MillePedeDQMModule::tTopoToken_
private

Definition at line 80 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ watchIdealGeometryRcd_

edm::ESWatcher<IdealGeometryRecord> MillePedeDQMModule::watchIdealGeometryRcd_
private

Definition at line 90 of file MillePedeDQMModule.h.

Referenced by setupChanged().

◆ watchPTrackerParametersRcd_

edm::ESWatcher<PTrackerParametersRcd> MillePedeDQMModule::watchPTrackerParametersRcd_
private

Definition at line 91 of file MillePedeDQMModule.h.

Referenced by setupChanged().

◆ watchTrackerTopologyRcd_

edm::ESWatcher<TrackerTopologyRcd> MillePedeDQMModule::watchTrackerTopologyRcd_
private

Definition at line 89 of file MillePedeDQMModule.h.

Referenced by setupChanged().

edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
MillePedeDQMModule::gDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > gDetToken_
Definition: MillePedeDQMModule.h:81
mps_fire.i
i
Definition: mps_fire.py:428
TkAlMuonSelectors_cfi.cut
cut
Definition: TkAlMuonSelectors_cfi.py:5
MillePedeDQMModule::binariesAvalaible
MonitorElement * binariesAvalaible
Definition: MillePedeDQMModule.h:102
PTrackerParameters
Definition: PTrackerParameters.h:6
MillePedeDQMModule::tTopoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: MillePedeDQMModule.h:80
MillePedeDQMModule::tracker_
std::unique_ptr< AlignableTracker > tracker_
Definition: MillePedeDQMModule.h:86
TrackerTopology
Definition: TrackerTopology.h:16
MillePedeDQMModule::mpReader_
std::unique_ptr< MillePedeFileReader > mpReader_
Definition: MillePedeDQMModule.h:87
MillePedeDQMModule::h_xPos
MonitorElement * h_xPos
Definition: MillePedeDQMModule.h:94
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
edm::VParameterSet
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:34
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:43
MillePedeDQMModule::bookHistograms
void bookHistograms(DQMStore::IBooker &)
Definition: MillePedeDQMModule.cc:43
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
MillePedeDQMModule::fillStatusHisto
void fillStatusHisto(MonitorElement *statusHisto)
Definition: MillePedeDQMModule.cc:114
edm::ParameterSet::addUntrackedParameter
void addUntrackedParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:192
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
config
Definition: config.py:1
MillePedeDQMModule::fillExpertHistos
void fillExpertHistos()
Definition: MillePedeDQMModule.cc:132
MillePedeDQMModule::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: MillePedeDQMModule.h:82
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
MillePedeDQMModule::watchPTrackerParametersRcd_
edm::ESWatcher< PTrackerParametersRcd > watchPTrackerParametersRcd_
Definition: MillePedeDQMModule.h:91
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
GeometricDet
Definition: GeometricDet.h:31
MillePedeDQMModule::h_yPos
MonitorElement * h_yPos
Definition: MillePedeDQMModule.h:96
PedeLabelerBase::TopLevelAlignables
Definition: PedeLabelerBase.h:39
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MillePedeDQMModule::h_zPos
MonitorElement * h_zPos
Definition: MillePedeDQMModule.h:98
edm::ParameterSet
Definition: ParameterSet.h:47
MillePedeAlignmentAlgorithm_cfi.pedeLabeler
pedeLabeler
Definition: MillePedeAlignmentAlgorithm_cfi.py:38
dqm::implementation::IBooker::bookString
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
MillePedeDQMModule::mpReaderConfig_
const edm::ParameterSet mpReaderConfig_
Definition: MillePedeDQMModule.h:85
MillePedeDQMModule::watchIdealGeometryRcd_
edm::ESWatcher< IdealGeometryRecord > watchIdealGeometryRcd_
Definition: MillePedeDQMModule.h:90
dqm::implementation::IBooker::bookInt
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
HLT_FULL_cff.sigCut
sigCut
Definition: HLT_FULL_cff.py:51976
MillePedeDQMModule::aliThrToken_
const edm::ESGetToken< AlignPCLThresholds, AlignPCLThresholdsRcd > aliThrToken_
Definition: MillePedeDQMModule.h:83
MillePedeDQMModule::fillExpertHisto
void fillExpertHisto(MonitorElement *histo, const std::array< double, 6 > &cut, const std::array< double, 6 > &sigCut, const std::array< double, 6 > &maxMoveCut, const std::array< double, 6 > &maxErrorCut, const std::array< double, 6 > &obs, const std::array< double, 6 > &obsErr)
Definition: MillePedeDQMModule.cc:196
get
#define get
MillePedeDQMModule::h_yRot
MonitorElement * h_yRot
Definition: MillePedeDQMModule.h:97
MillePedeDQMModule::setupChanged
bool setupChanged(const edm::EventSetup &)
Definition: MillePedeDQMModule.cc:239
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
Exception
Definition: hltDiff.cc:245
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:17
MillePedeDQMModule::h_zRot
MonitorElement * h_zRot
Definition: MillePedeDQMModule.h:99
MillePedeDQMModule::exitCode
MonitorElement * exitCode
Definition: MillePedeDQMModule.h:103
MillePedeDQMModule::getIndexFromString
int getIndexFromString(const std::string &alignableId)
Definition: MillePedeDQMModule.cc:252
MillePedeDQMModule::watchTrackerTopologyRcd_
edm::ESWatcher< TrackerTopologyRcd > watchTrackerTopologyRcd_
Definition: MillePedeDQMModule.h:89
MillePedeDQMModule::h_xRot
MonitorElement * h_xRot
Definition: MillePedeDQMModule.h:95
edm::InputTag
Definition: InputTag.h:15
MillePedeDQMModule::statusResults
MonitorElement * statusResults
Definition: MillePedeDQMModule.h:101
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
dqm::legacy::MonitorElement::getTH2F
virtual TH2F * getTH2F() const
Definition: MonitorElement.h:491