26 avgOcc_ =
_params.getUntrackedParameter<std::vector<double>>(
"avgOcc");
41 MESet& meMLQualitySummary(
MEs_.
at(
"MLQualitySummary"));
42 MESet& meEventsperMLImage(
MEs_.
at(
"EventsperMLImage"));
49 double pu = sPU.getFloatValue();
73 TH2F* hEbDigiMap((
sources_.
at(
"DigiAllByLumi")).getME(1)->getTH2F());
76 std::vector<float> ebOccMap1dCumulPad;
77 std::valarray<float> ebOccMap1d(
nTowers);
80 for (
int i = 0;
i < hEbDigiMap->GetNbinsY();
i++) {
81 for (
int j = 0;
j < hEbDigiMap->GetNbinsX();
j++) {
82 int bin = hEbDigiMap->GetBin(
j + 1,
i + 1);
84 ebOccMap1d[
k] = hEbDigiMap->GetBinContent(
bin);
101 for (
size_t i = 0;
i <
nLS;
i++) {
111 std::valarray<float> ebOccMap1dCumul(0.,
nTowers);
124 ebOccMap1dCumul = ebOccMap1dCumul * (500. / TNum);
127 ebOccMap1dCumulPad.assign(std::begin(ebOccMap1dCumul), std::end(ebOccMap1dCumul));
132 ebOccMap1dCumulPad.insert(ebOccMap1dCumulPad.begin(),
136 int size = ebOccMap1dCumulPad.size();
138 float val = ebOccMap1dCumulPad[
k];
139 ebOccMap1dCumulPad.push_back(
val);
162 Ort::SessionOptions sessionOptions;
163 sessionOptions.SetIntraOpNumThreads(1);
164 Ort::Env
env(OrtLoggingLevel::ORT_LOGGING_LEVEL_WARNING, instanceName.c_str());
165 Ort::Session session(
env, modelFilepath.c_str(), sessionOptions);
167 Ort::AllocatorWithDefaultOptions
allocator;
172 Ort::TypeInfo inputTypeInfo = session.GetInputTypeInfo(0);
173 auto inputTensorInfo = inputTypeInfo.GetTensorTypeAndShapeInfo();
175 std::vector<int64_t> inputDims = inputTensorInfo.GetShape();
179 Ort::TypeInfo outputTypeInfo = session.GetOutputTypeInfo(0);
180 auto outputTensorInfo = outputTypeInfo.GetTensorTypeAndShapeInfo();
182 std::vector<int64_t> outputDims = outputTensorInfo.GetShape();
185 std::vector<float> ebRecoOccMap1dPad(TensorSize);
187 std::vector<const char*> inputNames{inputName.c_str()};
189 std::vector<Ort::Value> inputTensors;
190 std::vector<Ort::Value> outputTensors;
192 Ort::MemoryInfo memoryInfo =
193 Ort::MemoryInfo::CreateCpu(OrtAllocatorType::OrtArenaAllocator, OrtMemType::OrtMemTypeDefault);
194 inputTensors.push_back(Ort::Value::CreateTensor<float>(
195 memoryInfo, ebOccMap1dCumulPad.data(), TensorSize, inputDims.data(), inputDims.size()));
197 outputTensors.push_back(Ort::Value::CreateTensor<float>(
198 memoryInfo, ebRecoOccMap1dPad.data(), TensorSize, outputDims.data(), outputDims.size()));
200 session.Run(Ort::RunOptions{
nullptr},
205 outputTensors.data(),
215 std::valarray<float> recoOcc1d(0.,
nPhiTowers);
216 std::valarray<float> inputOcc1d(0.,
nPhiTowers);
217 std::valarray<float> avgOcc1d(0.,
nPhiTowers);
218 std::valarray<float> loss_;
223 for (
int i = 1;
i < 35;
i++) {
226 recoOcc1d[
j] = ebRecoOccMap1dPad[
k];
227 inputOcc1d[
j] = ebOccMap1dCumulPad[
k];
231 loss_ =
std::pow((recoOcc1d / avgOcc1d - inputOcc1d / avgOcc1d), 2);
232 lossMap2d[
i - 1] = (loss_);
243 std::valarray<std::valarray<float>> lossMap2dMult(std::valarray<float>(1.,
nPhiTowers),
nEtaTowers);
253 TH2F* hLossMap2dMult(sAELoss.getME(1)->getTH2F());
254 for (
int i = 0;
i < hLossMap2dMult->GetNbinsY();
i++) {
255 for (
int j = 0;
j < hLossMap2dMult->GetNbinsX();
j++) {
256 int bin_ = hLossMap2dMult->GetBin(
j + 1,
i + 1);
258 hLossMap2dMult->SetBinContent(bin_,
content);
272 float entries(dItr->getBinContent());
static const int nEtaTowersPad
void setParams(edm::ParameterSet const &) override
#define DEFINE_ECALDQM_WORKER(TYPE)
edm::LuminosityBlockNumber_t iLumi
static const int PHYSICS_BAD_CHANNEL_WARNING
std::string fullPath() const
MESet & at(const std::string &key)
static const int PEDESTAL_ONLINE_HIGH_GAIN_RMS_ERROR
static const int PHYSICS_BAD_CHANNEL_ERROR
void producePlots(ProcessType) override
double getFloatValue() const
std::set< std::string > qualitySummaries_
StatusManager const * statusManager_
std::deque< std::valarray< std::valarray< float > > > lossMap2dQ
static const int nEtaTowers
EcalElectronicsMapping const * GetElectronicsMap()
EcalDQMSetupObjects const getEcalDQMSetupObjects()
std::deque< int > NEventQ
const_iterator & toNextChannel(EcalElectronicsMapping const *)
EcalTrigTowerConstituentsMap const * GetTrigTowerMap()
static const int nPhiTowers
void erase(const std::string &key)
std::deque< std::valarray< float > > ebOccMap1dQ
Power< A, B >::type pow(const A &a, const B &b)
std::vector< double > avgOcc_