ATLAS Offline Software
Loading...
Searching...
No Matches
PixelModuleConfigCondAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELCONDITIONSALGORITHMS_PIXELMODULECONFIGCONDALG
6#define PIXELCONDITIONSALGORITHMS_PIXELMODULECONFIGCONDALG
7
9#include "GaudiKernel/ToolHandle.h"
10
13
16
17#include "Gaudi/Property.h"
18#include "CLHEP/Units/SystemOfUnits.h"
19
21 public:
22 PixelModuleConfigCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
23
24 virtual StatusCode initialize() override final;
25 virtual StatusCode execute(const EventContext& ctx) const override final;
26
27 private:
28 // Key for basic pixel parameters
30 {this, "WriteKey", "PixelModuleData", "Output key of pixel module data"};
31
32 // Digitization parameters
33 Gaudi::Property<double> m_bunchSpace
34 {this, "BunchSpace", 25.0, "Bunch space [ns]"};
35
36 Gaudi::Property<std::vector<int>> m_BarrelNumberOfBCID
37 {this, "BarrelNumberOfBCID", {1,1,1,1,1}, "BCID numbers for barrel pixel layers"};
38
39 Gaudi::Property<std::vector<int>> m_EndcapNumberOfBCID
40 {this, "EndcapNumberOfBCID", {1,1,1,1,1,1,1,1,1}, "BCID numbers for endcap pixel layers"};
41
42 Gaudi::Property<std::vector<int>> m_DBMNumberOfBCID
43 {this, "DBMNumberOfBCID", {1,1,1}, "BCID numbers for DBM layers"};
44
45 Gaudi::Property<std::vector<double>> m_BarrelTimeOffset
46 {this, "BarrelTimeOffset", {5.0,5.0,5.0,5.0,5.0}, "Offset time of barrel pixel layer"};
47
48 Gaudi::Property<std::vector<double>> m_EndcapTimeOffset
49 {this, "EndcapTimeOffset", {5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0}, "Offset time of endcap pixel layer"};
50
51 Gaudi::Property<std::vector<double>> m_DBMTimeOffset
52 {this, "DBMTimeOffset", {5.0,5.0,5.0}, "Offset time of DBM layer"};
53
54 Gaudi::Property<std::vector<double>> m_BarrelTimeJitter
55 {this, "BarrelTimeJitter", {0.0,0.0,0.0,0.0,0.0}, "Time jitter of barrel pixel layer"};
56
57 Gaudi::Property<std::vector<double>> m_EndcapTimeJitter
58 {this, "EndcapTimeJitter", {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}, "Time jitter of endcap pixel layer"};
59
60 Gaudi::Property<std::vector<double>> m_DBMTimeJitter
61 {this, "DBMTimeJitter", {0.0,0.0,0.0}, "Time jitter of DBM layer"};
62
63 Gaudi::Property<std::vector<int>> m_BarrelToTThreshold
64 {this, "BarrelToTThreshold", {}, "ToT thresholds for barrel pixel layers"};
65
66 Gaudi::Property<std::vector<float>> m_BarrelBiasVoltage
67 {this, "DefaultBarrelBiasVoltage", {}, "Default barrel bias voltage"};
68
69 Gaudi::Property<std::vector<double>> m_BarrelFluence
70 {this, "BarrelFluence", {}, "Barrel fluence for radiation damage"};
71
72 Gaudi::Property<std::vector<std::string>> m_BarrelFluenceMap
73 {this, "BarrelFluenceMap", {},
74 "Barrel fluence map for radiation damage"};
75
76 Gaudi::Property<std::vector<double>> m_BarrelCrossTalk
77 {this, "BarrelCrossTalk", {}, "Cross-talk fraction of barrel pixel layers"};
78
79 Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancy
80 {this, "BarrelNoiseOccupancy", {}, "Noise occupancy of barrel pixel layers"};
81
82 Gaudi::Property<std::vector<double>> m_BarrelDisableProbability
83 {this, "BarrelDisableProbability", {}, "Disable probability of barrel pixel layers"};
84
85 Gaudi::Property<std::vector<double>> m_BarrelLorentzAngleCorr
86 {this, "BarrelLorentzAngleCorr", {}, "Scale factor for Lorentz angle of barrel pixel layers"};
87
88 // This is ad-hoc solution.
89 Gaudi::Property<std::vector<float>> m_InnermostNoiseShape
90 {this, "InnermostNoiseShape", {}, "Noise shape for L0"};
91
92 Gaudi::Property<std::vector<float>> m_NextInnermostNoiseShape
93 {this, "NextInnermostNoiseShape", {}, "Noise shape for L1"};
94
95 Gaudi::Property<std::vector<float>> m_PixelNoiseShape
96 {this, "PixelNoiseShape", {}, "Noise shape for PIXEL"};
97
98 // Endcap ITK
99 Gaudi::Property<std::vector<int>> m_EndcapToTThreshold
100 {this, "EndcapToTThreshold", {}, "ToT thresholds for endcap pixel layers"};
101
102 Gaudi::Property<std::vector<float>> m_EndcapBiasVoltage
103 {this, "DefaultEndcapBiasVoltage", {}, "Default endcap bias voltage"};
104
105 Gaudi::Property<std::vector<double>> m_EndcapCrossTalk
106 {this, "EndcapCrossTalk", {}, "Cross-talk fraction of barrel endcap layers"};
107
108 Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancy
109 {this, "EndcapNoiseOccupancy", {}, "Noise occupancy of endcap pixel layers"};
110
111 Gaudi::Property<std::vector<double>> m_EndcapDisableProbability
112 {this, "EndcapDisableProbability", {}, "Disable probability of endcap pixel layers"};
113
114 Gaudi::Property<std::vector<double>> m_EndcapLorentzAngleCorr
115 {this, "EndcapLorentzAngleCorr", {}, "Scale factor for Lorentz angle of endcap pixel layers"};
116
117 // 3D
118 Gaudi::Property<std::vector<double>> m_3DFluence
119 {this, "Barrel3DFluence", {}, "Barrel3D fluence for radiation damage"};
120
121 Gaudi::Property<std::vector<std::string>> m_3DFluenceMap
122 {this, "Barrel3DFluenceMap", {},
123 "Barrel3D fluence map for radiation damage"};
124
125 //====================================================================================
126 // The following parameters are default values which will be overwritten by the one
127 // from the conditions DB. Otherwise the DB is not retrieved nor available, these
128 // values are used.
129 //====================================================================================
130 Gaudi::Property<std::vector<int>> m_BarrelAnalogThreshold
131 {this, "DefaultBarrelAnalogThreshold", {-1,-1,-1,-1,-1}, "Default analog thresholds of barrel pixel layers"};
132
133 Gaudi::Property<std::vector<int>> m_EndcapAnalogThreshold
134 {this, "DefaultEndcapAnalogThreshold", {-1,-1,-1,-1,-1,-1,-1,-1,-1}, "Default analog thresholds of endcap pixel layers"};
135
136 Gaudi::Property<std::vector<int>> m_DBMAnalogThreshold
137 {this, "DefaultDBMAnalogThreshold", {-1,-1,-1}, "Default analog thresholds of DBMlayers"};
138
139 Gaudi::Property<std::vector<int>> m_BarrelAnalogThresholdSigma
140 {this, "DefaultBarrelAnalogThresholdSigma", {45,35,30,30,30}, "Default analog threshold sigma of barrel pixel layers"};
141
142 Gaudi::Property<std::vector<int>> m_EndcapAnalogThresholdSigma
143 {this, "DefaultEndcapAnalogThresholdSigma", {30,30,30,30,30,30,30,30,30}, "Default analog threshold sigma of endcap pixel layers"};
144
145 Gaudi::Property<std::vector<int>> m_DBMAnalogThresholdSigma
146 {this, "DefaultDBMAnalogThresholdSigma", {70,70,70}, "Default analog threshold sigma of DBM pixel layers"};
147
148 Gaudi::Property<std::vector<int>> m_BarrelAnalogThresholdNoise
149 {this, "DefaultBarrelAnalogThresholdNoise", {130,150,160,160,160}, "Default threshold noise of barrel pixel layers"};
150
151 Gaudi::Property<std::vector<int>> m_EndcapAnalogThresholdNoise
152 {this, "DefaultEndcapAnalogThresholdNoise", {150,150,150,150,150,150,150,150,150}, "Default threshold noise of endcap pixel layers"};
153
154 Gaudi::Property<std::vector<int>> m_DBMAnalogThresholdNoise
155 {this, "DefaultDBMAnalogThresholdNoise", {190,190,190}, "Default threshold noise of DBM pixel layers"};
156
157 Gaudi::Property<std::vector<int>> m_BarrelInTimeThreshold
158 {this, "DefaultBarrelInTimeThreshold", {2000,5000,5000,5000,5000}, "Default in-time thresholds of barrel pixel layers"};
159
160 Gaudi::Property<std::vector<int>> m_EndcapInTimeThreshold
161 {this, "DefaultEndcapInTimeThreshold", {5000,5000,5000,5000,5000,5000,5000,5000,5000}, "Default in-time thresholds of endcap pixel layers"};
162
163 Gaudi::Property<std::vector<int>> m_FEI4BarrelHitDiscConfig
164 {this, "FEI4BarrelHitDiscConfig", {2,2,2,2,2}, "Set HitDiscConfig parameter for barrel pixel layers"};
165
166 Gaudi::Property<std::vector<int>> m_FEI4EndcapHitDiscConfig
167 {this, "FEI4EndcapHitDiscConfig", {2,2,2,2,2,2,2,2,2}, "Set HitDiscConfig parameter for endcap pixel layers"};
168
169 Gaudi::Property<float> m_chargeScaleFEI4
170 {this, "ChargeScaleFEI4", 1.0, "Scaling of the FEI4 charge"};
171
173 {this, "UseFEI4SpecialScalingFunction", true, "Use FEI4 special scaling function"};
174
175 Gaudi::Property<std::vector<int>> m_FEI3BarrelLatency
176 {this, "FEI3BarrelLatency", { }, "FEI3 latency for barrel pixel layers"};
177
178 Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplication
179 {this, "FEI3BarrelHitDuplication", { }, "Use FEI3 hit-duplicaiton for barrel pixel layers"};
180
181 Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToT
182 {this, "FEI3BarrelSmallHitToT", { }, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers"};
183
184 Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTune
185 {this, "FEI3BarrelTimingSimTune", { }, "FEI3 timing tuning set of barrel pixel layers"};
186
187 Gaudi::Property<std::vector<int>> m_FEI3EndcapLatency
188 {this, "FEI3EndcapLatency", { }, "FEI3 latency for endcap pixel layers"};
189
190 Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplication
191 {this, "FEI3EndcapHitDuplication", { }, "Use FEI3 hit-duplicaiton for endcap pixel layers"};
192
193 Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToT
194 {this, "FEI3EndcapSmallHitToT", { }, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers"};
195
196 Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTune
197 {this, "FEI3EndcapTimingSimTune", { }, "FEI3 timing tuning set of endcap pixel layers"};
198
199 Gaudi::Property<std::vector<int>> m_DBMToTThreshold
200 {this, "DBMToTThreshold", { }, "ToT thresholds for DBM layers"};
201
202 Gaudi::Property<std::vector<float>> m_DBMBiasVoltage
203 {this, "DefaultDBMBiasVoltage", { }, "Default DBM bias voltage"};
204
205 Gaudi::Property<std::vector<double>> m_DBMCrossTalk
206 {this, "DBMCrossTalk", { }, "Cross-talk fraction of barrel DBM layers"};
207
208 Gaudi::Property<std::vector<double>> m_DBMNoiseOccupancy
209 {this, "DBMNoiseOccupancy", { }, "Noise occupancy of DBM layers"};
210
211 Gaudi::Property<std::vector<double>> m_DBMDisableProbability
212 {this, "DBMDisableProbability", { }, "Disable probability of DBM pixel layers"};
213
214 Gaudi::Property<std::vector<int>> m_DBMInTimeThreshold
215 {this, "DefaultDBMInTimeThreshold", { }, "Default in-time thresholds of DBM pixel layers"};
216
217 Gaudi::Property<std::vector<double>> m_BarrelThermalNoise
218 {this, "BarrelThermalNoise", { }, "Thermal noise of barrel pixel layers"};
219
220 Gaudi::Property<std::vector<double>> m_EndcapThermalNoise
221 {this, "EndcapThermalNoise", { }, "Thermal noise of endcap pixel layers"};
222
223 Gaudi::Property<std::vector<double>> m_DBMThermalNoise
224 {this, "DBMThermalNoise", { }, "Thermal noise of DBM layers"};
225
226
227 // Charge calibration parameters
228 Gaudi::Property<float> m_CalibrationParameterA
229 {this, "DefaultCalibrationParameterA", 70.2, "Default charge calibration parameter A"};
230
231 Gaudi::Property<float> m_CalibrationParameterE
232 {this, "DefaultCalibrationParameterE", -3561.25, "Default charge calibration parameter E"};
233
234 Gaudi::Property<float> m_CalibrationParameterC
235 {this, "DefaultCalibrationParameterC", 26000.0, "Default charge calibration parameter C"};
236
237 // DCS parameters
238 Gaudi::Property<float> m_biasVoltage
239 {this, "DefaultBiasVoltage", 150.0, "Default bias voltage"};
240
241 Gaudi::Property<float> m_temperature
242 {this, "DefaultTemperature", -7.0, "Default temperature in Celcius"};
243
244 // Cabling parameters
245 Gaudi::Property<bool> m_cablingMapToFile
246 {this, "CablingMapToFile", false, "Dump pixel cabling map into file"};
247
248 Gaudi::Property<std::string> m_cablingMapFileName
249 {this, "CablingMapFileName", "PixelCabling/Pixels_Atlas_IdMapping_2016.dat", "Read cabling map from file"};
250
251};
252
253#endif
Base class for conditions algorithms.
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
Store pixel constant parameters in PixelModuleData.
Base class for conditions algorithms.
Gaudi::Property< std::vector< double > > m_EndcapCrossTalk
virtual StatusCode execute(const EventContext &ctx) const override final
Gaudi::Property< std::vector< bool > > m_FEI3EndcapHitDuplication
Gaudi::Property< std::vector< int > > m_DBMInTimeThreshold
Gaudi::Property< std::vector< float > > m_DBMBiasVoltage
Gaudi::Property< std::vector< int > > m_EndcapToTThreshold
Gaudi::Property< std::vector< std::string > > m_3DFluenceMap
Gaudi::Property< std::vector< int > > m_BarrelAnalogThresholdSigma
Gaudi::Property< std::vector< int > > m_DBMAnalogThresholdNoise
Gaudi::Property< std::vector< int > > m_BarrelToTThreshold
Gaudi::Property< std::vector< double > > m_DBMDisableProbability
Gaudi::Property< std::vector< int > > m_EndcapAnalogThreshold
Gaudi::Property< std::vector< int > > m_FEI3BarrelLatency
Gaudi::Property< float > m_CalibrationParameterE
Gaudi::Property< bool > m_UseFEI4SpecialScalingFunction
Gaudi::Property< std::vector< int > > m_DBMAnalogThreshold
Gaudi::Property< std::vector< double > > m_BarrelTimeOffset
Gaudi::Property< std::vector< double > > m_DBMTimeOffset
Gaudi::Property< bool > m_cablingMapToFile
Gaudi::Property< std::vector< int > > m_EndcapInTimeThreshold
Gaudi::Property< std::vector< double > > m_EndcapLorentzAngleCorr
Gaudi::Property< std::vector< bool > > m_FEI3BarrelHitDuplication
Gaudi::Property< std::vector< int > > m_FEI4EndcapHitDiscConfig
virtual StatusCode initialize() override final
Gaudi::Property< float > m_CalibrationParameterC
Gaudi::Property< std::vector< int > > m_FEI3BarrelSmallHitToT
Gaudi::Property< std::vector< double > > m_EndcapDisableProbability
Gaudi::Property< std::vector< int > > m_BarrelInTimeThreshold
Gaudi::Property< std::vector< int > > m_DBMAnalogThresholdSigma
Gaudi::Property< std::vector< int > > m_EndcapAnalogThresholdNoise
Gaudi::Property< std::vector< double > > m_BarrelNoiseOccupancy
Gaudi::Property< std::vector< double > > m_BarrelFluence
Gaudi::Property< double > m_bunchSpace
Gaudi::Property< std::vector< int > > m_DBMNumberOfBCID
Gaudi::Property< float > m_CalibrationParameterA
Gaudi::Property< std::vector< int > > m_EndcapAnalogThresholdSigma
Gaudi::Property< std::vector< double > > m_EndcapTimeJitter
Gaudi::Property< std::vector< int > > m_BarrelNumberOfBCID
Gaudi::Property< std::vector< float > > m_EndcapBiasVoltage
Gaudi::Property< std::vector< int > > m_FEI3EndcapSmallHitToT
Gaudi::Property< float > m_temperature
Gaudi::Property< std::vector< double > > m_EndcapThermalNoise
Gaudi::Property< std::vector< double > > m_EndcapTimeOffset
Gaudi::Property< std::vector< int > > m_BarrelAnalogThreshold
Gaudi::Property< std::vector< int > > m_EndcapNumberOfBCID
Gaudi::Property< float > m_chargeScaleFEI4
Gaudi::Property< std::vector< double > > m_DBMTimeJitter
Gaudi::Property< std::vector< int > > m_FEI3EndcapLatency
Gaudi::Property< std::vector< double > > m_DBMThermalNoise
Gaudi::Property< std::vector< int > > m_FEI3BarrelTimingSimTune
Gaudi::Property< std::vector< int > > m_FEI3EndcapTimingSimTune
Gaudi::Property< std::vector< float > > m_InnermostNoiseShape
Gaudi::Property< std::vector< int > > m_DBMToTThreshold
Gaudi::Property< std::vector< double > > m_BarrelThermalNoise
Gaudi::Property< std::vector< double > > m_DBMNoiseOccupancy
Gaudi::Property< std::vector< float > > m_PixelNoiseShape
Gaudi::Property< std::vector< int > > m_BarrelAnalogThresholdNoise
Gaudi::Property< std::vector< double > > m_3DFluence
SG::WriteCondHandleKey< PixelModuleData > m_writeKey
Gaudi::Property< std::vector< double > > m_BarrelCrossTalk
Gaudi::Property< std::vector< std::string > > m_BarrelFluenceMap
Gaudi::Property< std::vector< float > > m_NextInnermostNoiseShape
Gaudi::Property< std::vector< double > > m_DBMCrossTalk
Gaudi::Property< std::string > m_cablingMapFileName
Gaudi::Property< std::vector< int > > m_FEI4BarrelHitDiscConfig
Gaudi::Property< std::vector< double > > m_EndcapNoiseOccupancy
PixelModuleConfigCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::vector< float > > m_BarrelBiasVoltage
Gaudi::Property< std::vector< double > > m_BarrelDisableProbability
Gaudi::Property< float > m_biasVoltage
Gaudi::Property< std::vector< double > > m_BarrelLorentzAngleCorr
Gaudi::Property< std::vector< double > > m_BarrelTimeJitter