#include <CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAnglePCLHarvester.cc>
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 | endRun (const edm::Run &, const edm::EventSetup &) override |
void | findMean (MonitorElement *h_drift_depth_adc_slice_, int i, int i_ring) |
SiPixelLAHarvest::fitResults | fitAndStore (std::shared_ptr< SiPixelLorentzAngle > theLA, int i_idx, int i_lay, int i_mod) |
bool | isFitGood (SiPixelLAHarvest::fitResults &res) |
Private Attributes | |
const SiPixelLorentzAngle * | currentLorentzAngle_ |
const bool | doChebyshevFit_ |
const std::string | dqmDir_ |
std::unique_ptr< TF1 > | f1_ |
const double | fitChi2Cut_ |
const std::vector< double > | fitRange_ |
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > | geomEsToken_ |
SiPixelLorentzAngleCalibrationHistograms | hists_ |
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > | magneticFieldToken_ |
const int | minHitsCut_ |
std::vector< std::string > | newmodulelist_ |
const int | order_ |
const std::string | recordName_ |
edm::ESGetToken< SiPixelLorentzAngle, SiPixelLorentzAngleRcd > | siPixelLAEsToken_ |
std::pair< double, double > | theFitRange_ {5., 280.} |
float | theMagField_ {0.f} |
std::unique_ptr< TrackerTopology > | theTrackerTopology_ |
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | topoEsTokenBR_ |
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > | topoEsTokenER_ |
float | width_ |
Static Private Attributes | |
static constexpr float | teslaToInverseGeV_ = 2.99792458e-3f |
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 | |
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 |
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 2D histograms of the drift vs depth created by SiPixelLorentzAnglePCLWorker modules and generates 1D profiles which are then fit with a 5th order polinomial. The extracted value of the tan(theta_L)/B are stored in an output sqlite file which is then uploaded to the conditions database
Definition at line 104 of file SiPixelLorentzAnglePCLHarvester.cc.
SiPixelLorentzAnglePCLHarvester::SiPixelLorentzAnglePCLHarvester | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 146 of file SiPixelLorentzAnglePCLHarvester.cc.
References Exception, fitRange_, edm::Service< T >::isAvailable(), and theFitRange_.
|
overridedefault |
|
override |
Definition at line 175 of file SiPixelLorentzAnglePCLHarvester.cc.
References PixelEndcapName::bladeName(), Surface::bounds(), 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, MagneticField::inverseBzAtOriginInGeV(), nano_mu_digi_cff::layer, PixelBarrelName::layerName(), LogDebug, magneticFieldToken_, genParticles_cff::map, PixelBarrelName::moduleName(), newmodulelist_, SiPixelLorentzAngleCalibrationHistograms::nLadders_, SiPixelLorentzAngleCalibrationHistograms::nlay, SiPixelLorentzAngleCalibrationHistograms::nModules_, PixelSubdetector::PixelBarrel, TrackerTopology::pxbLayer(), TrackerTopology::pxbModule(), nano_mu_digi_cff::rawId, DetId::rawId(), siPixelLAEsToken_, GeomDet::surface(), teslaToInverseGeV_, theMagField_, Bounds::thickness(), topoEsTokenBR_, parallelization::uint, and width_.
|
overrideprivatevirtual |
Implements DQMEDHarvester.
Definition at line 276 of file SiPixelLorentzAnglePCLHarvester.cc.
References newFWLiteAna::bin, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), SiPixelLorentzAngleCalibrationHistograms::BPixnewDetIds_, SiPixelLorentzAngleCalibrationHistograms::BPixnewLayer_, SiPixelLorentzAngleCalibrationHistograms::BPixnewModule_, SiPixelLorentzAngleCalibrationHistograms::BPixnewmodulename_, dqm::implementation::NavigatorBase::cd(), currentLorentzAngle_, cond::service::PoolDBOutputService::currentTime(), dqmDir_, cppFunctionSkipper::exception, f, dqm::impl::MonitorElement::Fill(), findMean(), fitAndStore(), dqm-mbProfile::format, dqm::implementation::IGetter::get(), SiPixelLorentzAngle::getLorentzAngle(), SiPixelLorentzAngle::getLorentzAngles(), dqm::impl::MonitorElement::getNbinsX(), dqm::impl::MonitorElement::getTH1(), SiPixelLorentzAngleCalibrationHistograms::h2_byLayerDiff_, SiPixelLorentzAngleCalibrationHistograms::h2_byLayerLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectChi2_, SiPixelLorentzAngleCalibrationHistograms::h_bySectCovMatrixStatus_, SiPixelLorentzAngleCalibrationHistograms::h_bySectDeltaLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectDriftError_, SiPixelLorentzAngleCalibrationHistograms::h_bySectFitQuality_, SiPixelLorentzAngleCalibrationHistograms::h_bySectFitStatus_, SiPixelLorentzAngleCalibrationHistograms::h_bySectLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectMeasLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectOccupancy_, SiPixelLorentzAngleCalibrationHistograms::h_bySectRejectLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectSetLA_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_adc2_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_adc_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_noadc_, SiPixelLorentzAngleCalibrationHistograms::h_mean_, hists_, mps_fire::i, caHitNtupletGeneratorKernels::if(), createfilelist::int, edm::Service< T >::isAvailable(), dqmiolumiharvest::j, SummaryClient_cfi::labels, PVValHelper::ladder, nano_mu_digi_cff::layer, SiStripSimParameters_cfi::LorentzAngle, SiPixelLorentzAngleCalibrationHistograms::nLadders_, SiPixelLorentzAngleCalibrationHistograms::nlay, SiPixelLorentzAngleCalibrationHistograms::nModules_, PixelSubdetector::PixelBarrel, recordName_, dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, theTrackerTopology_, HcalDetIdTransform::transform(), relativeConstraints::value, cms::Exception::what(), and cond::service::PoolDBOutputService::writeOneIOV().
|
overrideprivate |
Definition at line 269 of file SiPixelLorentzAnglePCLHarvester.cc.
References edm::EventSetup::getData(), theTrackerTopology_, and topoEsTokenER_.
|
static |
Definition at line 882 of file SiPixelLorentzAnglePCLHarvester.cc.
References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Definition at line 623 of file SiPixelLorentzAnglePCLHarvester.cc.
References relativeConstraints::error, dqm::impl::MonitorElement::getMean(), dqm::impl::MonitorElement::getNbinsX(), dqm::impl::MonitorElement::getRMS(), SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_adc2_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_adc_, SiPixelLorentzAngleCalibrationHistograms::h_drift_depth_noadc_, SiPixelLorentzAngleCalibrationHistograms::h_mean_, hists_, mps_fire::i, dqmiolumiharvest::j, SiStripPI::mean, dqm::impl::MonitorElement::Reset(), dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), and mathSSE::sqrt().
Referenced by dqmEndJob().
|
private |
Definition at line 662 of file SiPixelLorentzAnglePCLHarvester.cc.
References cms::cuda::assert(), SiPixelLorentzAngleCalibrationHistograms::BPixnewDetIds_, siPixelLACalibration::cmToum, currentLorentzAngle_, SiPixelLorentzAngleCalibrationHistograms::detIdsList, doChebyshevFit_, f1_, dqm::impl::MonitorElement::getBinContent(), SiPixelLorentzAngle::getLorentzAngle(), SiPixelLorentzAngleCalibrationHistograms::h_bySectChi2_, SiPixelLorentzAngleCalibrationHistograms::h_bySectCovMatrixStatus_, SiPixelLorentzAngleCalibrationHistograms::h_bySectDeltaLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectDriftError_, SiPixelLorentzAngleCalibrationHistograms::h_bySectFitQuality_, SiPixelLorentzAngleCalibrationHistograms::h_bySectFitStatus_, SiPixelLorentzAngleCalibrationHistograms::h_bySectLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectMeasLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectOccupancy_, SiPixelLorentzAngleCalibrationHistograms::h_bySectRejectLA_, SiPixelLorentzAngleCalibrationHistograms::h_bySectSetLA_, SiPixelLorentzAngleCalibrationHistograms::h_mean_, hists_, isFitGood(), dqmdumpme::k, SiPixelLAHarvest::kNotCalculated, SiPixelLAHarvest::kUndefined, MainPageGenerator::l, LogDebug, SiPixelLorentzAngleCalibrationHistograms::nlay, SiPixelLorentzAngleCalibrationHistograms::nModules_, order_, conifer::pow(), mps_fire::result, dqm::impl::MonitorElement::setBinContent(), dqm::impl::MonitorElement::setBinError(), mathSSE::sqrt(), theFitRange_, theMagField_, and width_.
Referenced by dqmEndJob().
|
private |
Definition at line 854 of file SiPixelLorentzAnglePCLHarvester.cc.
References PixelTripletNoTipGenerator_cfi::chi2Cut, doChebyshevFit_, fitChi2Cut_, SiPixelLAHarvest::kChi2Cut, SiPixelLAHarvest::kCovStatus, SiPixelLAHarvest::kMadePosDef, SiPixelLAHarvest::kNentries, SiPixelLAHarvest::kZeroChi2, and minHitsCut_.
Referenced by fitAndStore().
|
private |
Definition at line 141 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun(), dqmEndJob(), and fitAndStore().
|
private |
Definition at line 127 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by fitAndStore(), and isFitGood().
|
private |
Definition at line 126 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 133 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by fitAndStore().
|
private |
Definition at line 129 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by isFitGood().
|
private |
Definition at line 130 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by SiPixelLorentzAnglePCLHarvester().
|
private |
Definition at line 120 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
private |
Definition at line 140 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun(), dqmEndJob(), findMean(), and fitAndStore().
|
private |
Definition at line 123 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
private |
Definition at line 131 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by isFitGood().
|
private |
Definition at line 125 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
private |
Definition at line 128 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by fitAndStore().
|
private |
Definition at line 132 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by dqmEndJob().
|
private |
Definition at line 122 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
staticprivate |
Definition at line 137 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
private |
Definition at line 138 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by fitAndStore(), and SiPixelLorentzAnglePCLHarvester().
|
private |
Definition at line 135 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun(), and fitAndStore().
|
private |
Definition at line 142 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by dqmEndJob(), and endRun().
|
private |
Definition at line 121 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun().
|
private |
Definition at line 121 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by endRun().
|
private |
Definition at line 134 of file SiPixelLorentzAnglePCLHarvester.cc.
Referenced by beginRun(), and fitAndStore().