File indexing completed on 2023-03-17 10:38:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "Alignment/CommonAlignmentAlgorithm/interface/IntegratedCalibrationBase.h"
0012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0013 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0014
0015
0016
0017
0018
0019
0020 IntegratedCalibrationBase::IntegratedCalibrationBase(const edm::ParameterSet &cfg)
0021 : name_(cfg.getParameter<std::string>("calibrationName")) {}
0022
0023
0024 std::vector<IntegratedCalibrationBase::Values> IntegratedCalibrationBase::derivatives(
0025 const TrackingRecHit &hit,
0026 const TrajectoryStateOnSurface &tsos,
0027 const edm::EventSetup &setup,
0028 const EventInfo &eventInfo) const {
0029
0030 std::vector<Values> result(this->numParameters(), Values(0., 0.));
0031
0032
0033 std::vector<ValuesIndexPair> derivsIndexPairs;
0034 const unsigned int numNonZero = this->derivatives(derivsIndexPairs, hit, tsos, setup, eventInfo);
0035
0036
0037 for (unsigned int i = 0; i < numNonZero; ++i) {
0038 const ValuesIndexPair &valuesIndex = derivsIndexPairs[i];
0039 result[valuesIndex.second] = valuesIndex.first;
0040 }
0041
0042 return result;
0043 }