Definition at line 30 of file DTVDriftSegment.h.
Implements dtCalibration::DTVDriftBaseAlgo.
Definition at line 74 of file DTVDriftSegment.cc.
References DTVelocityUnits::cm_per_ns, Exception, DTResidualFitResult::fitMean, DTResidualFitResult::fitMeanError, DTResidualFitter::fitResiduals(), DTResidualFitResult::fitSigma, DTResidualFitResult::fitSigmaError, fitter_, DTRecoConditions::get(), DTMtime::get(), getHisto(), LogTrace, mTimeMap_, nSigmas_, DetId::rawId(), readLegacyVDriftDB, L1TObjectsTimingClient_cff::resolution, mps_update::status, DTSuperLayerId::superLayer(), and vDriftMap_.
82 throw cms::Exception(
"DTCalibration") <<
"Could not find vDrift entry in DB for" << slId << endl;
89 LogTrace(
"Calibration") <<
"[DTVDriftSegment]: RZ superlayer\n" 90 <<
" Will use original vDrift and resolution.";
93 TH1F* vDriftCorrHisto =
getHisto(slId);
95 if (vDriftCorrHisto->GetEntries() == 0) {
96 LogError(
"Calibration") <<
"[DTVDriftSegment]: Histogram " << vDriftCorrHisto->GetName() <<
" is empty.\n" 97 <<
" Will use original vDrift and resolution.";
101 LogTrace(
"Calibration") <<
"[DTVDriftSegment]: Fitting histogram " << vDriftCorrHisto->GetName();
103 LogTrace(
"Calibration") <<
"[DTVDriftSegment]: \n" 107 float vDriftCorr = fitResult.
fitMean;
108 float vDriftNew = vDrift * (1. - vDriftCorr);
110 return DTVDriftData(vDriftNew, resolutionNew);
float get(const DTWireId &wireid, double *x=nullptr) const
Get the value correspoding to the given WireId, / using x[] as parameters of the parametrization when...
int superLayer() const
Return the superlayer number.
int get(int wheelId, int stationId, int sectorId, int slId, float &mTime, float &mTrms, DTTimeUnits::type unit) const
Log< level::Error, false > LogError
const DTRecoConditions * vDriftMap_
const DTMtime * mTimeMap_
DTResidualFitResult fitResiduals(TH1F &histo, int nSigmas=1)
constexpr uint32_t rawId() const
get the raw id
DTResidualFitter * fitter_
TH1F * getHisto(const DTSuperLayerId &)