ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetConditions
PixelConditionsData
src
ITkPixelOfflineCalibData.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ITkPixelOfflineCalibData.cxx, (c) ATLAS Detector software
8
9
#include "
PixelConditionsData/ITkPixelOfflineCalibData.h
"
10
#include "Identifier/Identifier.h"
11
12
#include <sstream>
13
14
namespace
ITk
15
{
16
17
std::vector<float>
PixelOfflineCalibData::getConstants
()
const
{
18
const
std::vector< std::array<float, ITk::PixelClusterErrorData::kNParam> > &constMap =
m_clusterErrorData
->getConstMap();
19
std::vector<float>
constants
;
20
constants
.reserve( (
ITk::PixelClusterErrorData::kNParam
+1) * constMap.size() );
21
//
22
for
(
unsigned
int
id_hash=0;
const
std::array<float, ITk::PixelClusterErrorData::kNParam>& values : constMap){
23
long
long
pixelId =
m_clusterErrorData
->getIdentifier(id_hash++).get_compact();
24
constants
.push_back(pixelId);
// @TODO not necessariy lossless to convert an IdentifierHash into a float
25
constants
.insert(
constants
.end(), values.begin(),values.end());
26
}
27
return
constants
;
28
}
29
30
void
PixelOfflineCalibData::dump
() {
31
m_clusterErrorData
->print(
"ITkPixelClusterDump.txt"
);
32
}
33
34
35
void
PixelOfflineCalibData::setConstants
(
const
std::vector<float> &
constants
) {
36
37
int
entry_size = 9;
38
int
map_size =
constants
.size()/entry_size;
39
40
for
(
int
i=0;i<map_size;i++){
41
42
long
long
pixelId_long =
constants
[i*entry_size];
43
std::ostringstream
ss
;
44
ss
<<
"0x"
<< std::hex << pixelId_long;
45
std::string pixelId_str(
ss
.str());
46
Identifier
pixelId;
47
pixelId.
set
(pixelId_str);
48
49
double
period_phi =
constants
[i*entry_size + 1];
50
double
period_sinheta =
constants
[i*entry_size + 2];
51
double
delta_x_slope =
constants
[i*entry_size + 3];
52
double
delta_x_offset =
constants
[i*entry_size + 4];
53
double
delta_err_x =
constants
[i*entry_size + 5];
54
double
delta_y_slope =
constants
[i*entry_size + 6];
55
double
delta_y_offset =
constants
[i*entry_size + 7];
56
double
delta_err_y =
constants
[i*entry_size + 8];
57
58
m_clusterErrorData
->setDeltaError(
m_clusterErrorData
->getIdentifierHash(pixelId), period_phi, period_sinheta,
59
delta_x_slope, delta_x_offset, delta_err_x,
60
delta_y_slope, delta_y_offset, delta_err_y);
61
62
}
63
}
64
65
}
// end of namespace ITk
ITkPixelOfflineCalibData.h
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
ITk::PixelClusterErrorData::kNParam
@ kNParam
Definition
ITkPixelClusterErrorData.h:37
ITk::PixelOfflineCalibData::setConstants
void setConstants(const std::vector< float > &constants)
Definition
ITkPixelOfflineCalibData.cxx:35
ITk::PixelOfflineCalibData::m_clusterErrorData
std::unique_ptr< PixelClusterErrorData > m_clusterErrorData
Definition
ITkPixelOfflineCalibData.h:51
ITk::PixelOfflineCalibData::dump
void dump()
Definition
ITkPixelOfflineCalibData.cxx:30
ITk::PixelOfflineCalibData::getConstants
std::vector< float > getConstants() const
Definition
ITkPixelOfflineCalibData.cxx:17
Identifier::set
void set(std::string_view id)
build from a string form - hexadecimal
Definition
Identifier.cxx:25
ITk
Definition
ITkPixelOfflineCalibCondAlg.cxx:13
Identifier
Definition
IdentifierFieldParser.cxx:14
constants
Definition
Calorimeter/CaloClusterCorrection/python/constants.py:1
Generated on
for ATLAS Offline Software by
1.17.0