#include <CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvesterMCS.cc>
Public Types | |
using | FitParametersInitValuesMuHFitMap = std::unordered_map< std::string, double > |
using | FPixCotAngleFitResults = std::unordered_map< uint32_t, std::pair< double, double > > |
using | FpixMuHResults = std::unordered_map< std::string, std::pair< double, double > > |
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 | |
template<typename T > | |
using | BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T > |
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 | |
static void | fillDescriptions (edm::ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::one::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override |
void | findMean (dqm::reco::MonitorElement *h_2D, dqm::reco::MonitorElement *h_mean, TH1D *h_slice) |
SiPixelLAHarvestMCS::fitStatus | fitMCSHistogram (dqm::reco::MonitorElement *h_mean) |
int | getIndex (bool isBetaAngle, int r, int p, int s) |
Private Attributes | |
const SiPixelLorentzAngle * | currentLorentzAngle_ |
const std::string | dqmDir_ |
std::unique_ptr< TF1 > | f1_ |
const std::vector< double > | fitParametersInitValues_ |
const std::vector< double > | fitParametersInitValuesMuHFit_ |
FitParametersInitValuesMuHFitMap | fitParametersInitValuesMuHFitMap_ |
const std::vector< double > | fitRange_ |
FpixMuHResults | fpixMuHResults |
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > | geomEsToken_ |
SiPixelLorentzAngleCalibrationHistograms | hists_ |
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > | magneticFieldToken_ |
const int | minHitsCut_ |
std::vector< std::string > | newmodulelist_ |
const std::string | recordName_ |
const edm::ESGetToken< SiPixelLorentzAngle, SiPixelLorentzAngleRcd > | siPixelLAEsToken_ |
std::pair< double, double > | theFitRange_ {-1.5, 1.5} |
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | topoEsTokenBR_ |
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | topoEsTokenER_ |
const TrackerTopology * | tTopo |
Additional Inherited Members | |
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< B > | consumes (edm::InputTag tag) noexcept |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename 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 | |
DQMStore * | dqmstore_ |
edm::GetterOfProducts< DQMToken > | jobmegetter_ |
edm::EDPutTokenT< DQMToken > | jobToken_ |
edm::GetterOfProducts< DQMToken > | lumimegetter_ |
edm::EDPutTokenT< DQMToken > | lumiToken_ |
edm::GetterOfProducts< DQMToken > | runmegetter_ |
edm::EDPutTokenT< DQMToken > | runToken_ |
Description: reads the intermediate ALCAPROMPT DQMIO-like dataset and performs the fitting of the SiPixel Lorentz Angle in the Prompt Calibration Loop Implementation: Reads the 16 2D histograms of the cluster size x/y vs cot(alpha/beta) and 16*3 histograms of the magnetic field components created by SiPixelLorentzAnglePCLWorker module. The cluster size x/y vs cot(alpha/beta) histograms are used to generate 1D profiles (average cluster size x/y vs cot(alpha/beta)) which are then fit and the values of the cot (alpha/beta) for which the cluster sizes are minimal are determined. The obtained cot(alpha/beta)_min value for z- and z+ side are used to perform fit and the muH for different rings and panels of the Pixel Forward Phase 1 detector using the formulas: cot(alpha)_min = vx/vz = (muHBy + muH^2*Bz*Bx)/(1+muH^2*Bz^2) cot(beta)_min = vy/vz = -(muHBx - muH^2*Bz*Bx)/(1+muH^2*Bz^2)
The extracted value of the muH are stored in an output sqlite file which is then uploaded to the conditions database.
Definition at line 145 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
using SiPixelLorentzAnglePCLHarvesterMCS::FitParametersInitValuesMuHFitMap = std::unordered_map<std::string, double> |
Definition at line 151 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
using SiPixelLorentzAnglePCLHarvesterMCS::FPixCotAngleFitResults = std::unordered_map<uint32_t, std::pair<double, double> > |
Definition at line 149 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
using SiPixelLorentzAnglePCLHarvesterMCS::FpixMuHResults = std::unordered_map<std::string, std::pair<double, double> > |
Definition at line 150 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
SiPixelLorentzAnglePCLHarvesterMCS::SiPixelLorentzAnglePCLHarvesterMCS | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 189 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References Exception, fitParametersInitValues_, fitParametersInitValuesMuHFit_, fitParametersInitValuesMuHFitMap_, fitRange_, edm::Service< T >::isAvailable(), and theFitRange_.
|
overridedefault |
|
override |
Definition at line 232 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References PixelEndcapName::bladeName(), SiPixelLorentzAngleCalibrationHistograms::BPixnewDetIds_, SiPixelLorentzAngleCalibrationHistograms::BPixnewLayer_, SiPixelLorentzAngleCalibrationHistograms::BPixnewModule_, SiPixelLorentzAngleCalibrationHistograms::BPixnewmodulename_, submitPVResolutionJobs::count, currentLorentzAngle_, hcalRecHitTable_cff::detId, SiPixelLorentzAngleCalibrationHistograms::detIdsList, PixelEndcapName::diskName(), spr::find(), SiPixelLorentzAngleCalibrationHistograms::FPixnewBlade_, SiPixelLorentzAngleCalibrationHistograms::FPixnewDetIds_, SiPixelLorentzAngleCalibrationHistograms::FPixnewDisk_, SiPixelLorentzAngleCalibrationHistograms::FPixnewmodulename_, GeomDet::geographicalId(), relativeConstraints::geom, geomEsToken_, edm::EventSetup::getData(), PixelBarrelName::getDetId(), PixelEndcapName::getDetId(), hists_, mps_fire::i, l1ctLayer2EG_cff::id, nano_mu_digi_cff::layer, PixelBarrelName::layerName(), LogDebug, genParticles_cff::map, PixelBarrelName::moduleName(), newmodulelist_, SiPixelLorentzAngleCalibrationHistograms::nLadders_, SiPixelLorentzAngleCalibrationHistograms::nlay, SiPixelLorentzAngleCalibrationHistograms::nModules_, PixelSubdetector::PixelBarrel, TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), DetId::rawId(), nano_mu_digi_cff::rawId, siPixelLAEsToken_, topoEsTokenBR_, tTopo, and parallelization::uint.
|
overrideprivatevirtual |
Implements DQMEDHarvester.
Definition at line 313 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References SiPixelLAHarvestMCS::FitFPixMuH::add(), cms::cuda::assert(), SiPixelLAHarvestMCS::FPixMuH::bfield, dqm::implementation::IBooker::book1D(), dqm::implementation::NavigatorBase::cd(), currentLorentzAngle_, cond::service::PoolDBOutputService::currentTime(), dqmDir_, cppFunctionSkipper::exception, f, f1_, findMean(), SiPixelLAHarvestMCS::FitFPixMuH::fit(), fitMCSHistogram(), fitParametersInitValuesMuHFitMap_, dqm-mbProfile::format, fpixMuHResults, dqm::implementation::IGetter::get(), getIndex(), SiPixelLorentzAngle::getLorentzAngles(), SiPixelLAHarvestMCS::FitFPixMuH::getMuH(), SiPixelLAHarvestMCS::FitFPixMuH::getMuHErr(), SiPixelLorentzAngleCalibrationHistograms::h_fpixAngleSize_, SiPixelLorentzAngleCalibrationHistograms::h_fpixDeltaMuH_, SiPixelLorentzAngleCalibrationHistograms::h_fpixFitStatusMuH_, SiPixelLorentzAngleCalibrationHistograms::h_fpixMagField_, SiPixelLorentzAngleCalibrationHistograms::h_fpixMean_, SiPixelLorentzAngleCalibrationHistograms::h_fpixMeanHistoFitStatus_, SiPixelLorentzAngleCalibrationHistograms::h_fpixMinClusterSizeCotAngle_, SiPixelLorentzAngleCalibrationHistograms::h_fpixMuH_, SiPixelLorentzAngleCalibrationHistograms::h_fpixNhitsClusterSizeCotAngle_, SiPixelLorentzAngleCalibrationHistograms::h_fpixRelDeltaMuH_, hists_, heavyIonCSV_trainingSettings::idx, edm::Service< T >::isAvailable(), SiPixelLAHarvestMCS::kFitConverged, SiPixelLAHarvestMCS::kFitNotPerformed, SiStripSimParameters_cfi::LorentzAngle, visualization-live-secondInstance_cfg::m, reco_skim_cfg_mod::maxSize, SiPixelLAHarvestMCS::MCSFitFunction(), minHitsCut_, SiPixelLorentzAngleCalibrationHistograms::nAngles_, seedmultiplicitymonitor_newtracking_cfi::nBins, SiPixelLorentzAngleCalibrationHistograms::nPanels_, SiPixelLorentzAngleCalibrationHistograms::nRings_, SiPixelLorentzAngleCalibrationHistograms::nSides_, AlCaHLTBitMon_ParallelJobs::p, PixelEndcapName::pannelName(), PixelSubdetector::PixelEndcap, alignCSCRings::r, recordName_, relativeConstraints::ring, PixelEndcapName::ringName(), alignCSCRings::s, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), SiPixelLAHarvestMCS::FPixMuH::shiftx, SiPixelLAHarvestMCS::FPixMuH::shiftx_err, SiPixelLAHarvestMCS::FPixMuH::shifty, SiPixelLAHarvestMCS::FPixMuH::shifty_err, Validation_hcalonly_cfi::sign, SiPixelLAHarvestMCS::FitFPixMuH::size(), mps_update::status, AlCaHLTBitMon_QueryRunRegistry::string, to_string(), tTopo, relativeConstraints::value, cms::Exception::what(), and cond::service::PoolDBOutputService::writeOneIOV().
|
static |
Definition at line 623 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Definition at line 572 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References relativeConstraints::error, dqm::impl::MonitorElement::getBinContent(), dqm::impl::MonitorElement::getNbinsX(), dqm::impl::MonitorElement::getNbinsY(), mps_fire::i, dqmiolumiharvest::j, SiStripPI::mean, dqm::impl::MonitorElement::setBinContent(), and dqm::impl::MonitorElement::setBinError().
Referenced by dqmEndJob().
|
private |
Definition at line 594 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References f1_, fitParametersInitValues_, dqm::impl::MonitorElement::getTH1(), SiPixelLAHarvestMCS::kFitConverged, SiPixelLAHarvestMCS::kFitFailed, SiPixelLAHarvestMCS::kNoFitResult, alignCSCRings::r, and theFitRange_.
Referenced by dqmEndJob().
|
private |
Definition at line 638 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
References SiPixelLorentzAngleCalibrationHistograms::betaStartIdx_, hists_, heavyIonCSV_trainingSettings::idx, SiPixelLorentzAngleCalibrationHistograms::nPanels_, SiPixelLorentzAngleCalibrationHistograms::nSides_, AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::r, and alignCSCRings::s.
Referenced by dqmEndJob().
|
private |
Definition at line 184 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun(), and dqmEndJob().
|
private |
Definition at line 168 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 181 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob(), and fitMCSHistogram().
|
private |
Definition at line 171 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by fitMCSHistogram(), and SiPixelLorentzAnglePCLHarvesterMCS().
|
private |
Definition at line 172 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by SiPixelLorentzAnglePCLHarvesterMCS().
|
private |
Definition at line 173 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob(), and SiPixelLorentzAnglePCLHarvesterMCS().
|
private |
Definition at line 170 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by SiPixelLorentzAnglePCLHarvesterMCS().
|
private |
Definition at line 182 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 163 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun().
|
private |
Definition at line 177 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun(), dqmEndJob(), and getIndex().
|
private |
Definition at line 166 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
|
private |
Definition at line 175 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 169 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun().
|
private |
Definition at line 176 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 165 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun().
|
private |
Definition at line 179 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by fitMCSHistogram(), and SiPixelLorentzAnglePCLHarvesterMCS().
|
private |
Definition at line 164 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun().
|
private |
Definition at line 164 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
|
private |
Definition at line 185 of file SiPixelLorentzAnglePCLHarvesterMCS.cc.
Referenced by beginRun(), and dqmEndJob().