CMS 3D CMS Logo

List of all members | Public Types | 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 Types

enum  { SIZE_LG_STRUCTS = 6, SIZE_HG_STRUCTS = 820, SIZE_INDEX = 8 }
 
- 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
 

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 (edm::ParameterSet const &iConfig)
 
 DQMEDHarvester ()
 
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
 
 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
 
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 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)
 

Private Member Functions

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

Private Attributes

const edm::ESGetToken< AlignPCLThresholdsHG, AlignPCLThresholdsHGRcdaliThrToken_
 
MonitorElementbinariesAvalaible
 
MonitorElementexitCode
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgDetToken_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
MonitorElementh_xPos
 
std::map< std::string, MonitorElement * > h_xPos_HG
 
MonitorElementh_xRot
 
std::map< std::string, MonitorElement * > h_xRot_HG
 
MonitorElementh_yPos
 
std::map< std::string, MonitorElement * > h_yPos_HG
 
MonitorElementh_yRot
 
std::map< std::string, MonitorElement * > h_yRot_HG
 
MonitorElementh_zPos
 
std::map< std::string, MonitorElement * > h_zPos_HG
 
MonitorElementh_zRot
 
std::map< std::string, MonitorElement * > h_zRot_HG
 
bool isHG_
 
std::vector< std::pair< std::string, int > > layerVec
 
std::unique_ptr< MillePedeFileReadermpReader_
 
const edm::ParameterSet mpReaderConfig_
 
std::shared_ptr< PixelTopologyMappixelTopologyMap_
 
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcdptitpToken_
 
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

- 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<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
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< Bconsumes (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 ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
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 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 51 of file MillePedeDQMModule.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
SIZE_LG_STRUCTS 
SIZE_HG_STRUCTS 
SIZE_INDEX 

Definition at line 59 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  ptitpToken_(esConsumes<edm::Transition::BeginRun>()),
33  aliThrToken_(esConsumes<edm::Transition::BeginRun>()),
34  geomToken_(esConsumes<edm::Transition::BeginRun>()),
35  mpReaderConfig_(config.getParameter<edm::ParameterSet>("MillePedeFileReader")),
36  isHG_(mpReaderConfig_.getParameter<bool>("isHG")) {
37  consumes<AlignmentToken, edm::InProcess>(config.getParameter<edm::InputTag>("alignmentTokenSrc"));
38 }
const edm::ParameterSet mpReaderConfig_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > gDetToken_
Definition: config.py:1
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
const edm::ESGetToken< AlignPCLThresholdsHG, AlignPCLThresholdsHGRcd > aliThrToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_

◆ ~MillePedeDQMModule()

MillePedeDQMModule::~MillePedeDQMModule ( )
override

Definition at line 40 of file MillePedeDQMModule.cc.

40 {}

Member Function Documentation

◆ beginRun()

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

Definition at line 141 of file MillePedeDQMModule.cc.

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

141  {
142  if (!setupChanged(setup))
143  return;
144 
145  const TrackerTopology* const tTopo = &setup.getData(tTopoToken_);
146  const GeometricDet* geometricDet = &setup.getData(gDetToken_);
147  const PTrackerParameters* ptp = &setup.getData(ptpToken_);
148  const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_);
149  const TrackerGeometry* geom = &setup.getData(geomToken_);
150 
151  pixelTopologyMap_ = std::make_shared<PixelTopologyMap>(geom, tTopo);
152 
153  // take the thresholds from DB
154  const auto& thresholds_ = &setup.getData(aliThrToken_);
155 
156  auto myThresholds = std::make_shared<AlignPCLThresholdsHG>();
157  myThresholds->setAlignPCLThresholds(thresholds_->getNrecords(), thresholds_->getThreshold_Map());
158  myThresholds->setFloatMap(thresholds_->getFloatMap());
159 
161 
162  const auto trackerGeometry = builder.build(geometricDet, ptitp, *ptp, tTopo);
163  tracker_ = std::make_unique<AlignableTracker>(trackerGeometry, tTopo);
164 
165  const std::string labelerPlugin{"PedeLabeler"};
166  edm::ParameterSet labelerConfig{};
167  labelerConfig.addUntrackedParameter("plugin", labelerPlugin);
168  labelerConfig.addUntrackedParameter("RunRangeSelection", edm::VParameterSet{});
169 
170  std::shared_ptr<PedeLabelerBase> pedeLabeler{PedeLabelerPluginFactory::get()->create(
171  labelerPlugin, PedeLabelerBase::TopLevelAlignables(tracker_.get(), nullptr, nullptr), labelerConfig)};
172 
173  mpReader_ = std::make_unique<MillePedeFileReader>(
174  mpReaderConfig_, pedeLabeler, std::shared_ptr<const AlignPCLThresholdsHG>(myThresholds), pixelTopologyMap_);
175 }
const edm::ParameterSet mpReaderConfig_
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:34
TrackerGeometry * build(const GeometricDet *gd, const PTrackerAdditionalParametersPerDet *ptitp, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
bool setupChanged(const edm::EventSetup &)
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > gDetToken_
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::shared_ptr< PixelTopologyMap > pixelTopologyMap_
void addUntrackedParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:192
const edm::ESGetToken< AlignPCLThresholdsHG, AlignPCLThresholdsHGRcd > aliThrToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
std::unique_ptr< AlignableTracker > tracker_
std::unique_ptr< MillePedeFileReader > mpReader_
#define get
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_

◆ bookHistograms()

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

Definition at line 46 of file MillePedeDQMModule.cc.

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_xPos_HG, h_xRot, h_xRot_HG, h_yPos, h_yPos_HG, h_yRot, h_yRot_HG, h_zPos, h_zPos_HG, h_zRot, h_zRot_HG, isHG_, phase1PixelTopology::layer, layerVec, pixelTopologyMap_, dqm::implementation::NavigatorBase::setCurrentFolder(), and statusResults.

Referenced by dqmEndJob().

46  {
47  edm::LogInfo("MillePedeDQMModule") << "Booking histograms";
48 
49  booker.cd();
50  if (!isHG_) {
51  booker.setCurrentFolder("AlCaReco/SiPixelAli/");
52  h_xPos = booker.book1D("Xpos", "Alignment fit #DeltaX;;#mum", 36, 0., 36.);
53  h_xRot = booker.book1D("Xrot", "Alignment fit #Delta#theta_{X};;#murad", 36, 0., 36.);
54  h_yPos = booker.book1D("Ypos", "Alignment fit #DeltaY;;#mum", 36, 0., 36.);
55  h_yRot = booker.book1D("Yrot", "Alignment fit #Delta#theta_{Y};;#murad", 36, 0., 36.);
56  h_zPos = booker.book1D("Zpos", "Alignment fit #DeltaZ;;#mum", 36, 0., 36.);
57  h_zRot = booker.book1D("Zrot", "Alignment fit #Delta#theta_{Z};;#murad", 36, 0., 36.);
58  statusResults = booker.book2D("statusResults", "Status of SiPixelAli PCL workflow;;", 6, 0., 6., 1, 0., 1.);
59  } else {
60  booker.setCurrentFolder("AlCaReco/SiPixelAliHG/");
61 
62  layerVec = {{"Layer1", pixelTopologyMap_->getPXBLadders(1)},
63  {"Layer2", pixelTopologyMap_->getPXBLadders(2)},
64  {"Layer3", pixelTopologyMap_->getPXBLadders(3)},
65  {"Layer4", pixelTopologyMap_->getPXBLadders(4)},
66  {"Disk-3", pixelTopologyMap_->getPXFBlades(-3) * 2},
67  {"Disk-2", pixelTopologyMap_->getPXFBlades(-2) * 2},
68  {"Disk-1", pixelTopologyMap_->getPXFBlades(-1) * 2},
69  {"Disk1", pixelTopologyMap_->getPXFBlades(1) * 2},
70  {"Disk2", pixelTopologyMap_->getPXFBlades(2) * 2},
71  {"Disk3", pixelTopologyMap_->getPXFBlades(3) * 2}};
72 
73  for (const auto& layer : layerVec) {
74  h_xPos_HG[layer.first] = booker.book1D("Xpos_HG_" + layer.first,
75  "Alignment fit #DeltaX for " + layer.first + ";;#mum",
76  layer.second,
77  0.,
78  layer.second);
79  h_xRot_HG[layer.first] = booker.book1D("Xrot_HG_" + layer.first,
80  "Alignment fit #Delta#theta_{X} for " + layer.first + ";;#murad",
81  layer.second,
82  0.,
83  layer.second);
84  h_yPos_HG[layer.first] = booker.book1D("Ypos_HG_" + layer.first,
85  "Alignment fit #DeltaY for " + layer.first + ";;#mum",
86  layer.second,
87  0.,
88  layer.second);
89  h_yRot_HG[layer.first] = booker.book1D("Yrot_HG_" + layer.first,
90  "Alignment fit #Delta#theta_{Y} for " + layer.first + ";;#murad",
91  layer.second,
92  0.,
93  layer.second);
94  h_zPos_HG[layer.first] = booker.book1D("Zpos_HG_" + layer.first,
95  "Alignment fit #DeltaZ for " + layer.first + ";;#mum",
96  layer.second,
97  0.,
98  layer.second);
99  h_zRot_HG[layer.first] = booker.book1D("Zrot_HG_" + layer.first,
100  "Alignment fit #Delta#theta_{Z} for " + layer.first + ";;#murad",
101  layer.second,
102  0.,
103  layer.second);
104  }
105 
106  statusResults =
107  booker.book2D("statusResults", "Fraction threshold check for SiPixelAliHG PCL;;", 6, 0., 6., 10, 0., 10.);
108  }
109 
110  binariesAvalaible = booker.bookInt("BinariesFound");
111  exitCode = booker.bookString("PedeExitCode", "");
112 
113  booker.cd();
114 }
std::map< std::string, MonitorElement * > h_xRot_HG
std::vector< std::pair< std::string, int > > layerVec
std::map< std::string, MonitorElement * > h_yPos_HG
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
MonitorElement * h_zPos
std::map< std::string, MonitorElement * > h_zRot_HG
MonitorElement * binariesAvalaible
MonitorElement * bookString(TString const &name, TString const &value, FUNC onbooking=NOOP())
Definition: DQMStore.h:87
constexpr std::array< uint8_t, layerIndexSize > layer
std::map< std::string, MonitorElement * > h_yRot_HG
std::map< std::string, MonitorElement * > h_xPos_HG
MonitorElement * h_xPos
MonitorElement * h_yPos
Log< level::Info, false > LogInfo
std::shared_ptr< PixelTopologyMap > pixelTopologyMap_
MonitorElement * statusResults
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:212
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
Definition: DQMStore.h:73
MonitorElement * h_xRot
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * h_zRot
MonitorElement * exitCode
std::map< std::string, MonitorElement * > h_zPos_HG
MonitorElement * h_yRot

◆ dqmEndJob()

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

Implements DQMEDHarvester.

Definition at line 116 of file MillePedeDQMModule.cc.

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

116  {
117  bookHistograms(booker);
118  if (mpReader_) {
119  mpReader_->read();
120  } else {
121  throw cms::Exception("LogicError") << "@SUB=MillePedeDQMModule::dqmEndJob\n"
122  << "Try to read MillePede results before initializing MillePedeFileReader";
123  }
124  if (!isHG_) {
127  } else {
130  }
131  binariesAvalaible->Fill(mpReader_->binariesAmount());
132  auto theResults = mpReader_->getResults();
133  std::string exitCodeStr = theResults.getExitMessage();
134  exitCode->Fill(exitCodeStr);
135 }
void fillStatusHisto(MonitorElement *statusHisto)
MonitorElement * binariesAvalaible
void Fill(long long x)
void bookHistograms(DQMStore::IBooker &)
MonitorElement * statusResults
std::unique_ptr< MillePedeFileReader > mpReader_
MonitorElement * exitCode
void fillStatusHistoHG(MonitorElement *statusHisto)

◆ fillExpertHisto()

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

Definition at line 279 of file MillePedeDQMModule.cc.

References PA_MinBiasSkim_cff::cut, timingPdfMaker::histo, mps_fire::i, and HLT_2022v12_cff::sigCut.

Referenced by fillExpertHistos().

285  {
286  TH1F* histo_0 = histo->getTH1F();
287 
288  double max_ = *std::max_element(maxMoveCut.begin(), maxMoveCut.end());
289 
290  histo_0->SetMinimum(-(max_));
291  histo_0->SetMaximum(max_);
292 
293  // Schematics of the bin contents
294  //
295  // XX XX XX XX XX XX OO OO OO OO II II II II
296  // |--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
297  // | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17| ...
298  //
299  // |-----------------| |-----------| |-----------|
300  // |observed movement| |thresholds1| |thresholds2|
301 
302  for (size_t i = 0; i < obs.size(); ++i) {
303  // fist obs.size() bins for observed movements
304  histo_0->SetBinContent(i + 1, obs[i]);
305  histo_0->SetBinError(i + 1, obsErr[i]);
306 
307  // then at bin 8,8+5,8+10,... for cutoffs
308  // 5 bins is the space allocated for the 4 other thresholds + 1 empty separation bin
309  histo_0->SetBinContent(8 + i * 5, cut[i]);
310 
311  // then at bin 9,9+5,9+10,... for significances
312  histo_0->SetBinContent(9 + i * 5, sigCut[i]);
313 
314  // then at bin 10,10+5,10+10,... for maximum movements
315  histo_0->SetBinContent(10 + i * 5, maxMoveCut[i]);
316 
317  // then at bin 11,11+5,11+10,... for maximum errors
318  histo_0->SetBinContent(11 + i * 5, maxErrorCut[i]);
319  }
320 }

◆ fillExpertHisto_HG()

void MillePedeDQMModule::fillExpertHisto_HG ( std::map< std::string, MonitorElement *> &  histo_map,
const std::array< double, SIZE_INDEX > &  cut,
const std::array< double, SIZE_INDEX > &  sigCut,
const std::array< double, SIZE_INDEX > &  maxMoveCut,
const std::array< double, SIZE_INDEX > &  maxErrorCut,
const std::array< double, SIZE_HG_STRUCTS > &  obs,
const std::array< double, SIZE_HG_STRUCTS > &  obsErr 
)
private

Definition at line 404 of file MillePedeDQMModule.cc.

References newFWLiteAna::bin, mps_splice::currentStart, mps_fire::i, phase1PixelTopology::layer, and layerVec.

Referenced by fillExpertHistos_HG().

410  {
411  int currentStart = 0;
412 
413  for (const auto& layer : layerVec) {
414  TH1F* histo_0 = histo_map[layer.first]->getTH1F();
415 
416  for (int i = currentStart; i < (currentStart + layer.second); ++i) {
417  // first obs.size() bins for observed movements
418  int bin = i - currentStart + 1;
419  histo_0->SetBinContent(bin, obs[i]);
420  histo_0->SetBinError(bin, obsErr[i]);
421  }
422  currentStart += layer.second;
423  }
424 }
std::vector< std::pair< std::string, int > > layerVec
constexpr std::array< uint8_t, layerIndexSize > layer
int currentStart
Definition: mps_splice.py:66

◆ fillExpertHistos()

void MillePedeDQMModule::fillExpertHistos ( )
private

Definition at line 215 of file MillePedeDQMModule.cc.

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

Referenced by dqmEndJob().

215  {
216  std::array<double, SIZE_INDEX> Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_;
217  std::array<double, SIZE_INDEX> tXcut_, sigtXcut_, maxMovetXcut_, maxErrortXcut_;
218 
219  std::array<double, SIZE_INDEX> Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_;
220  std::array<double, SIZE_INDEX> tYcut_, sigtYcut_, maxMovetYcut_, maxErrortYcut_;
221 
222  std::array<double, SIZE_INDEX> Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_;
223  std::array<double, SIZE_INDEX> tZcut_, sigtZcut_, maxMovetZcut_, maxErrortZcut_;
224 
225  auto myMap = mpReader_->getThresholdMap();
226 
227  std::vector<std::string> alignablesList;
228  for (auto it = myMap.begin(); it != myMap.end(); ++it) {
229  alignablesList.push_back(it->first);
230  }
231 
232  for (auto& alignable : alignablesList) {
233  int detIndex = getIndexFromString(alignable);
234 
235  Xcut_[detIndex] = myMap[alignable].getXcut();
236  sigXcut_[detIndex] = myMap[alignable].getSigXcut();
237  maxMoveXcut_[detIndex] = myMap[alignable].getMaxMoveXcut();
238  maxErrorXcut_[detIndex] = myMap[alignable].getErrorXcut();
239 
240  Ycut_[detIndex] = myMap[alignable].getYcut();
241  sigYcut_[detIndex] = myMap[alignable].getSigYcut();
242  maxMoveYcut_[detIndex] = myMap[alignable].getMaxMoveYcut();
243  maxErrorYcut_[detIndex] = myMap[alignable].getErrorYcut();
244 
245  Zcut_[detIndex] = myMap[alignable].getZcut();
246  sigZcut_[detIndex] = myMap[alignable].getSigZcut();
247  maxMoveZcut_[detIndex] = myMap[alignable].getMaxMoveZcut();
248  maxErrorZcut_[detIndex] = myMap[alignable].getErrorZcut();
249 
250  tXcut_[detIndex] = myMap[alignable].getThetaXcut();
251  sigtXcut_[detIndex] = myMap[alignable].getSigThetaXcut();
252  maxMovetXcut_[detIndex] = myMap[alignable].getMaxMoveThetaXcut();
253  maxErrortXcut_[detIndex] = myMap[alignable].getErrorThetaXcut();
254 
255  tYcut_[detIndex] = myMap[alignable].getThetaYcut();
256  sigtYcut_[detIndex] = myMap[alignable].getSigThetaYcut();
257  maxMovetYcut_[detIndex] = myMap[alignable].getMaxMoveThetaYcut();
258  maxErrortYcut_[detIndex] = myMap[alignable].getErrorThetaYcut();
259 
260  tZcut_[detIndex] = myMap[alignable].getThetaZcut();
261  sigtZcut_[detIndex] = myMap[alignable].getSigThetaZcut();
262  maxMovetZcut_[detIndex] = myMap[alignable].getMaxMoveThetaZcut();
263  maxErrortZcut_[detIndex] = myMap[alignable].getErrorThetaZcut();
264  }
265 
266  fillExpertHisto(h_xPos, Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_, mpReader_->getXobs(), mpReader_->getXobsErr());
268  h_xRot, tXcut_, sigtXcut_, maxMovetXcut_, maxErrortXcut_, mpReader_->getTXobs(), mpReader_->getTXobsErr());
269 
270  fillExpertHisto(h_yPos, Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_, mpReader_->getYobs(), mpReader_->getYobsErr());
272  h_yRot, tYcut_, sigtYcut_, maxMovetYcut_, maxErrortYcut_, mpReader_->getTYobs(), mpReader_->getTYobsErr());
273 
274  fillExpertHisto(h_zPos, Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_, mpReader_->getZobs(), mpReader_->getZobsErr());
276  h_zRot, tZcut_, sigtZcut_, maxMovetZcut_, maxErrortZcut_, mpReader_->getTZobs(), mpReader_->getTZobsErr());
277 }
void fillExpertHisto(MonitorElement *histo, const std::array< double, SIZE_INDEX > &cut, const std::array< double, SIZE_INDEX > &sigCut, const std::array< double, SIZE_INDEX > &maxMoveCut, const std::array< double, SIZE_INDEX > &maxErrorCut, const std::array< double, SIZE_LG_STRUCTS > &obs, const std::array< double, SIZE_LG_STRUCTS > &obsErr)
MonitorElement * h_zPos
MonitorElement * h_xPos
MonitorElement * h_yPos
MonitorElement * h_xRot
std::unique_ptr< MillePedeFileReader > mpReader_
int getIndexFromString(const std::string &alignableId)
MonitorElement * h_zRot
MonitorElement * h_yRot

◆ fillExpertHistos_HG()

void MillePedeDQMModule::fillExpertHistos_HG ( )
private

Definition at line 322 of file MillePedeDQMModule.cc.

References fillExpertHisto_HG(), getIndexFromString(), h_xPos_HG, h_xRot_HG, h_yPos_HG, h_yRot_HG, h_zPos_HG, h_zRot_HG, and mpReader_.

Referenced by dqmEndJob().

322  {
323  std::array<double, SIZE_INDEX> Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_;
324  std::array<double, SIZE_INDEX> tXcut_, sigtXcut_, maxMovetXcut_, maxErrortXcut_;
325 
326  std::array<double, SIZE_INDEX> Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_;
327  std::array<double, SIZE_INDEX> tYcut_, sigtYcut_, maxMovetYcut_, maxErrortYcut_;
328 
329  std::array<double, SIZE_INDEX> Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_;
330  std::array<double, SIZE_INDEX> tZcut_, sigtZcut_, maxMovetZcut_, maxErrortZcut_;
331 
332  auto myMap = mpReader_->getThresholdMap();
333 
334  std::vector<std::string> alignablesList;
335  for (auto it = myMap.begin(); it != myMap.end(); ++it) {
336  alignablesList.push_back(it->first);
337  }
338 
339  for (auto& alignable : alignablesList) {
340  int detIndex = getIndexFromString(alignable);
341 
342  Xcut_[detIndex] = myMap[alignable].getXcut();
343  sigXcut_[detIndex] = myMap[alignable].getSigXcut();
344  maxMoveXcut_[detIndex] = myMap[alignable].getMaxMoveXcut();
345  maxErrorXcut_[detIndex] = myMap[alignable].getErrorXcut();
346 
347  Ycut_[detIndex] = myMap[alignable].getYcut();
348  sigYcut_[detIndex] = myMap[alignable].getSigYcut();
349  maxMoveYcut_[detIndex] = myMap[alignable].getMaxMoveYcut();
350  maxErrorYcut_[detIndex] = myMap[alignable].getErrorYcut();
351 
352  Zcut_[detIndex] = myMap[alignable].getZcut();
353  sigZcut_[detIndex] = myMap[alignable].getSigZcut();
354  maxMoveZcut_[detIndex] = myMap[alignable].getMaxMoveZcut();
355  maxErrorZcut_[detIndex] = myMap[alignable].getErrorZcut();
356 
357  tXcut_[detIndex] = myMap[alignable].getThetaXcut();
358  sigtXcut_[detIndex] = myMap[alignable].getSigThetaXcut();
359  maxMovetXcut_[detIndex] = myMap[alignable].getMaxMoveThetaXcut();
360  maxErrortXcut_[detIndex] = myMap[alignable].getErrorThetaXcut();
361 
362  tYcut_[detIndex] = myMap[alignable].getThetaYcut();
363  sigtYcut_[detIndex] = myMap[alignable].getSigThetaYcut();
364  maxMovetYcut_[detIndex] = myMap[alignable].getMaxMoveThetaYcut();
365  maxErrortYcut_[detIndex] = myMap[alignable].getErrorThetaYcut();
366 
367  tZcut_[detIndex] = myMap[alignable].getThetaZcut();
368  sigtZcut_[detIndex] = myMap[alignable].getSigThetaZcut();
369  maxMovetZcut_[detIndex] = myMap[alignable].getMaxMoveThetaZcut();
370  maxErrortZcut_[detIndex] = myMap[alignable].getErrorThetaZcut();
371  }
372 
374  h_xPos_HG, Xcut_, sigXcut_, maxMoveXcut_, maxErrorXcut_, mpReader_->getXobs_HG(), mpReader_->getXobsErr_HG());
376  tXcut_,
377  sigtXcut_,
378  maxMovetXcut_,
379  maxErrortXcut_,
380  mpReader_->getTXobs_HG(),
381  mpReader_->getTXobsErr_HG());
382 
384  h_yPos_HG, Ycut_, sigYcut_, maxMoveYcut_, maxErrorYcut_, mpReader_->getYobs_HG(), mpReader_->getYobsErr_HG());
386  tYcut_,
387  sigtYcut_,
388  maxMovetYcut_,
389  maxErrortYcut_,
390  mpReader_->getTYobs_HG(),
391  mpReader_->getTYobsErr_HG());
392 
394  h_zPos_HG, Zcut_, sigZcut_, maxMoveZcut_, maxErrorZcut_, mpReader_->getZobs_HG(), mpReader_->getZobsErr_HG());
396  tZcut_,
397  sigtZcut_,
398  maxMovetZcut_,
399  maxErrortZcut_,
400  mpReader_->getTZobs_HG(),
401  mpReader_->getTZobsErr_HG());
402 }
std::map< std::string, MonitorElement * > h_xRot_HG
std::map< std::string, MonitorElement * > h_yPos_HG
std::map< std::string, MonitorElement * > h_zRot_HG
std::map< std::string, MonitorElement * > h_yRot_HG
std::map< std::string, MonitorElement * > h_xPos_HG
std::unique_ptr< MillePedeFileReader > mpReader_
int getIndexFromString(const std::string &alignableId)
std::map< std::string, MonitorElement * > h_zPos_HG
void fillExpertHisto_HG(std::map< std::string, MonitorElement *> &histo_map, const std::array< double, SIZE_INDEX > &cut, const std::array< double, SIZE_INDEX > &sigCut, const std::array< double, SIZE_INDEX > &maxMoveCut, const std::array< double, SIZE_INDEX > &maxErrorCut, const std::array< double, SIZE_HG_STRUCTS > &obs, const std::array< double, SIZE_HG_STRUCTS > &obsErr)

◆ fillStatusHisto()

void MillePedeDQMModule::fillStatusHisto ( MonitorElement statusHisto)
private

Definition at line 177 of file MillePedeDQMModule.cc.

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

Referenced by dqmEndJob().

177  {
178  TH2F* histo_status = statusHisto->getTH2F();
179  auto theResults = mpReader_->getResults();
180  theResults.print();
181  histo_status->SetBinContent(1, 1, theResults.getDBUpdated());
182  histo_status->GetXaxis()->SetBinLabel(1, "DB updated");
183  histo_status->SetBinContent(2, 1, theResults.exceedsCutoffs());
184  histo_status->GetXaxis()->SetBinLabel(2, "significant movement");
185  histo_status->SetBinContent(3, 1, theResults.getDBVetoed());
186  histo_status->GetXaxis()->SetBinLabel(3, "DB update vetoed");
187  histo_status->SetBinContent(4, 1, !theResults.exceedsThresholds());
188  histo_status->GetXaxis()->SetBinLabel(4, "within max movement");
189  histo_status->SetBinContent(5, 1, !theResults.exceedsMaxError());
190  histo_status->GetXaxis()->SetBinLabel(5, "within max error");
191  histo_status->SetBinContent(6, 1, !theResults.belowSignificance());
192  histo_status->GetXaxis()->SetBinLabel(6, "above significance");
193 }
virtual TH2F * getTH2F() const
std::unique_ptr< MillePedeFileReader > mpReader_

◆ fillStatusHistoHG()

void MillePedeDQMModule::fillStatusHistoHG ( MonitorElement statusHisto)
private

Definition at line 195 of file MillePedeDQMModule.cc.

References dqm::legacy::MonitorElement::getTH2F(), mps_fire::i, dqmiolumiharvest::j, mpReader_, and mps_fire::result.

Referenced by dqmEndJob().

195  {
196  TH2F* histo_status = statusHisto->getTH2F();
197  auto& theResults = mpReader_->getResultsHG();
198  histo_status->GetXaxis()->SetBinLabel(1, "#DeltaX");
199  histo_status->GetXaxis()->SetBinLabel(2, "#Delta#theta_{X}");
200  histo_status->GetXaxis()->SetBinLabel(3, "#DeltaY");
201  histo_status->GetXaxis()->SetBinLabel(4, "#Delta#theta_{Y}");
202  histo_status->GetXaxis()->SetBinLabel(5, "#DeltaZ");
203  histo_status->GetXaxis()->SetBinLabel(6, "#Delta#theta_{Z}");
204 
205  int i = 0;
206  for (const auto& result : theResults) {
207  histo_status->GetYaxis()->SetBinLabel(i + 1, result.first.data());
208  for (std::size_t j = 0; j < result.second.size(); ++j) {
209  histo_status->SetBinContent(j + 1, i + 1, result.second[j]);
210  }
211  i++;
212  }
213 }
virtual TH2F * getTH2F() const
std::unique_ptr< MillePedeFileReader > mpReader_

◆ getIndexFromString()

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

Definition at line 439 of file MillePedeDQMModule.cc.

References Exception.

Referenced by fillExpertHistos(), and fillExpertHistos_HG().

439  {
440  if (alignableId == "TPBHalfBarrelXminus") {
441  return 3;
442  } else if (alignableId == "TPBHalfBarrelXplus") {
443  return 2;
444  } else if (alignableId == "TPEHalfCylinderXminusZminus") {
445  return 1;
446  } else if (alignableId == "TPEHalfCylinderXplusZminus") {
447  return 0;
448  } else if (alignableId == "TPEHalfCylinderXminusZplus") {
449  return 5;
450  } else if (alignableId == "TPEHalfCylinderXplusZplus") {
451  return 4;
452  } else if (alignableId.rfind("TPBLadder", 0) == 0) {
453  return 6;
454  } else if (alignableId.rfind("TPEPanel", 0) == 0) {
455  return 7;
456  } else {
457  throw cms::Exception("LogicError") << "@SUB=MillePedeDQMModule::getIndexFromString\n"
458  << "Retrieving conversion for not supported Alignable partition" << alignableId;
459  }
460 }

◆ setupChanged()

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

Definition at line 426 of file MillePedeDQMModule.cc.

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

Referenced by beginRun().

426  {
427  bool changed{false};
428 
430  changed = true;
432  changed = true;
434  changed = true;
435 
436  return changed;
437 }
edm::ESWatcher< IdealGeometryRecord > watchIdealGeometryRcd_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
edm::ESWatcher< TrackerTopologyRcd > watchTrackerTopologyRcd_
edm::ESWatcher< PTrackerParametersRcd > watchPTrackerParametersRcd_

Member Data Documentation

◆ aliThrToken_

const edm::ESGetToken<AlignPCLThresholdsHG, AlignPCLThresholdsHGRcd> MillePedeDQMModule::aliThrToken_
private

Definition at line 102 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ binariesAvalaible

MonitorElement* MillePedeDQMModule::binariesAvalaible
private

Definition at line 132 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ exitCode

MonitorElement* MillePedeDQMModule::exitCode
private

Definition at line 133 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ gDetToken_

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

Definition at line 99 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ geomToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> MillePedeDQMModule::geomToken_
private

Definition at line 103 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ h_xPos

MonitorElement* MillePedeDQMModule::h_xPos
private

Definition at line 117 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_xPos_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_xPos_HG
private

Definition at line 124 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ h_xRot

MonitorElement* MillePedeDQMModule::h_xRot
private

Definition at line 118 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_xRot_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_xRot_HG
private

Definition at line 125 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ h_yPos

MonitorElement* MillePedeDQMModule::h_yPos
private

Definition at line 119 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_yPos_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_yPos_HG
private

Definition at line 126 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ h_yRot

MonitorElement* MillePedeDQMModule::h_yRot
private

Definition at line 120 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_yRot_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_yRot_HG
private

Definition at line 127 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ h_zPos

MonitorElement* MillePedeDQMModule::h_zPos
private

Definition at line 121 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_zPos_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_zPos_HG
private

Definition at line 128 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ h_zRot

MonitorElement* MillePedeDQMModule::h_zRot
private

Definition at line 122 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos().

◆ h_zRot_HG

std::map<std::string, MonitorElement*> MillePedeDQMModule::h_zRot_HG
private

Definition at line 129 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHistos_HG().

◆ isHG_

bool MillePedeDQMModule::isHG_
private

Definition at line 135 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ layerVec

std::vector<std::pair<std::string, int> > MillePedeDQMModule::layerVec
private

Definition at line 110 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and fillExpertHisto_HG().

◆ mpReader_

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

◆ mpReaderConfig_

const edm::ParameterSet MillePedeDQMModule::mpReaderConfig_
private

Definition at line 105 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ pixelTopologyMap_

std::shared_ptr<PixelTopologyMap> MillePedeDQMModule::pixelTopologyMap_
private

Definition at line 108 of file MillePedeDQMModule.h.

Referenced by beginRun(), and bookHistograms().

◆ ptitpToken_

Definition at line 101 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ ptpToken_

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

Definition at line 100 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ statusResults

MonitorElement* MillePedeDQMModule::statusResults
private

Definition at line 131 of file MillePedeDQMModule.h.

Referenced by bookHistograms(), and dqmEndJob().

◆ tracker_

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

Definition at line 106 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ tTopoToken_

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

Definition at line 98 of file MillePedeDQMModule.h.

Referenced by beginRun().

◆ watchIdealGeometryRcd_

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

Definition at line 113 of file MillePedeDQMModule.h.

Referenced by setupChanged().

◆ watchPTrackerParametersRcd_

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

Definition at line 114 of file MillePedeDQMModule.h.

Referenced by setupChanged().

◆ watchTrackerTopologyRcd_

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

Definition at line 112 of file MillePedeDQMModule.h.

Referenced by setupChanged().