ATLAS Offline Software
Loading...
Searching...
No Matches
PixelClusterOnTrackErrorData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PixelOfflineCalibData.h, (c) ATLAS Detector software
8
9#ifndef PIXELCLUSTERONTRACKERRORDATA_H
10#define PIXELCLUSTERONTRACKERRORDATA_H
11
13#include <string>
14#include <vector>
15
22
23namespace PixelCalib {
24
26
27 public:
28
31
33
34 // get/set version number
35 int getVersion() const;
36 void setVersion(int version);
37
38 // get the number of bins
39 int getNumberOfPhiBarrelBins() const;
40 int getNumberOfEtaBarrelBins() const;
41 // IBL
42 int getNumberOfPhiIBLBins() const;
43 int getNumberOfEtaIBLBins() const;
44
45
46 // get parametrizations
47 const std::vector<float>& getClusterSizeBinsX() const {return m_csx;}
48 const std::vector<float>& getClusterSizeBinsY() const {return m_csy;}
49 const std::vector<float>& getEtaBins() const {return m_etaref;}
50 const std::vector<float>& getIncidenceAngleBins() const {return m_phibins;}
51 // IBL
52 const std::vector<float>& getEtaIBLBins() const {return m_ibletaref;}
53 const std::vector<float>& getIncidenceAngleIBLBins() const {return m_iblphibins;}
54
55
56 // old parametrization (analytical formula)
57 static double getPixelBarrelPhiError(double ang, int phiClusterSize) ;
58
59 // new parametrization (read from DB)
60 float getPixelBarrelEtaError(int ibin) const;
61 float getPixelBarrelPhiError(int ibin) const;
62 // IBL
63 float getPixelIBLEtaError(int ibin) const;
64 float getPixelIBLPhiError(int ibin) const;
65
66 void setParameters(const int ncsx, const int ncsy, const int neta, const int nalpha,
67 int offset, const std::vector<float> & constants);
68 void setPixelBarrelPhiError(int ibin, double error){
69 m_barrelphierror[ibin] = error; }
70 void setPixelBarrelEtaError(int ibin, double error){
71 m_barreletaerror[ibin] = error; }
72 // IBL
73 void setPixelIBLPhiError(int ibin, double error){
74 m_iblphierror[ibin] = error; }
75 void setPixelIBLEtaError(int ibin, double error){
76 m_ibletaerror[ibin] = error; }
77
78
79 int getBarrelBinPhi(double angle, int phiClusterSize) const;
80
81 int getBarrelBinEta(double eta, int etaClusterSize,
82 int phiClusterSize) const;
83 // IBL
84 int getIBLBinPhi(double angle, int phiClusterSize) const;
85 int getIBLBinEta(double eta, int etaClusterSize) const;
86
87 // save constants on text file
88 void Print(const std::string& file) const;
89 // load constants from text file
90 void Load(const std::string& file);
91 // IBL
92
93 int getIBLcsxbins() const {return m_csxbinsibl;}
94 int getIBLcsybins() const {return m_csybinsibl;}
95 int getIBLetabins() const {return m_etabinsibl;}
96 int getIBLphibins() const {return m_phibinsibl;}
97
98 void setIBLcsxbins(int icsx){m_csxbinsibl = icsx;}
99 void setIBLcsybins(int icsy){m_csybinsibl = icsy;}
100 void setIBLetabins(int ieta){m_etabinsibl = ieta;}
101 void setIBLphibins(int iphi){m_phibinsibl = iphi;}
102
103 private:
104 void Initialize();
105
106 int m_version{};
107 // parametrization of errors
108 std::vector<float> m_barrelphierror;
109 std::vector<float> m_barreletaerror;
110 std::vector<float> m_endcapphierror;
111 std::vector<float> m_endcapetaerror;
112
113 // The bins of parametrization
114 std::vector<float> m_csx; // x cluster size
115 std::vector<float> m_csy; // y cluster size
116 std::vector<float> m_etaref; // eta values
117 std::vector<float> m_phibins; // Incidence angle values
118 // IBL
119 int m_csxbinsibl{}; // IBL csx bins
120 int m_csybinsibl{}; // IBL csy bins
121 int m_etabinsibl{}; // IBL eta bins
122 int m_phibinsibl{}; // IBL phi bins
123 std::vector<float> m_ibletaref; // eta values of IBL
124 std::vector<float> m_iblphibins; // Incidence angle values of IBL
125 std::vector<float> m_iblphierror;
126 std::vector<float> m_ibletaerror;
127
128};
129
130}
131
132#endif
Scalar eta() const
pseudorapidity method
macros to associate a CLID to a type
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
int getBarrelBinPhi(double angle, int phiClusterSize) const
const std::vector< float > & getClusterSizeBinsY() const
int getIBLBinPhi(double angle, int phiClusterSize) const
const std::vector< float > & getIncidenceAngleBins() const
const std::vector< float > & getClusterSizeBinsX() const
static double getPixelBarrelPhiError(double ang, int phiClusterSize)
int getBarrelBinEta(double eta, int etaClusterSize, int phiClusterSize) const
const std::vector< float > & getEtaBins() const
void setParameters(const int ncsx, const int ncsy, const int neta, const int nalpha, int offset, const std::vector< float > &constants)
const std::vector< float > & getEtaIBLBins() const
int getVersion() const
Methods to access the calibration data.
int getIBLBinEta(double eta, int etaClusterSize) const
const std::vector< float > & getIncidenceAngleIBLBins() const
TFile * file