ATLAS Offline Software
Loading...
Searching...
No Matches
SCTCalib.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
17
18#ifndef SCTCalib_H
19#define SCTCalib_H
20
21// Local
25#include "SCT_CalibAlgs/SCTCalibWriteTool.h" //template parameter
26
27//Athena
28#include "AthenaBaseComps/AthAlgorithm.h" //baseclass
29#include "AthenaKernel/IOVTime.h" //member
30#include "Identifier/Identifier.h"
33
34//InnerDetector
37
38// SCT Conditions
42
43// SCT Cabling
45
46// Gaudi
47#include "GaudiKernel/ToolHandle.h" //member
48
49// STL headers
50#include <string>
51#include <vector>
52#include <utility>
53#include <map>
54#include <iostream>
55#include <fstream>
56#include <iomanip>
57
58//Forward declarations
59class TFile;
60class TProfile;
61class TProfile2D;
62class ISvcLocator;
63class StatusCode;
64
65class SCTCalib : public AthAlgorithm {
66
67 public:
68 SCTCalib( const std::string &name, ISvcLocator* pSvcLocator ) ;
69 ~SCTCalib() = default;
70 virtual StatusCode initialize() override;
71 virtual StatusCode execute() override;
72 virtual StatusCode stop ATLAS_NOT_THREAD_SAFE () override; // Thread unsafe getNoisyStrip, getDeadStrip, getNoiseOccupancy, getRawOccupancy, getEfficiency, getBSErrors, getLorentzAngle methods are used.
73 virtual StatusCode finalize() override;
74
75 private:
76 // SCT specific numbers
77 enum { nbins = 6*128, firstStrip = 0, lastStrip = nbins-1,
86 };
87
88 // Additional info on SCT specific numbers
93 };
94
95 const SCT_ID* m_pSCTHelper{nullptr};
96 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
97
98 ToolHandle<SCTCalibWriteTool> m_pCalibWriteTool{this, "SCTCalibWriteTool", "SCTCalibWriteTool", "Tool to write out data from calibration loop"};
99 ToolHandle<ISCT_ConfigurationConditionsTool> m_ConfigurationConditionsTool{this, "SCT_ConfigurationConditionsTool", "SCT_ConfigurationConditionsTool/InDetSCT_ConfigurationConditionsTool", "Tool to retrieve SCT Configuration"};
100 ToolHandle<ISCT_ReadCalibDataTool> m_ReadCalibDataTool{this, "SCT_ReadCalibDataTool", "SCT_ReadCalibDataTool/InDetSCT_ReadCalibDataTool", "Tool to retrieve SCT calibration data"};
101 ToolHandle<ISCT_DetectorLevelConditionsTool> m_MajorityConditionsTool{this, "SCT_MajorityConditionsTool", "SCT_MajorityConditionsTool", "Tool to retrieve the majority conditions of SCT"};
102 ToolHandle<ISCT_CablingTool> m_CablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
103 ToolHandle<ISCT_CalibHistoTool> m_calibHitmapTool{this, "SCT_CalibHitmapTool", "SCT_CalibHitmapTool", "Tool for reading and writing HitMap histograms"};
104 ToolHandle<ISCT_CalibHistoTool> m_calibLbTool{this, "SCT_CalibLbTool", "SCT_CalibLbTool", "Tool for reading and writing Lb dependent HitMap histograms"};
105 ToolHandle<ISCT_CalibHistoTool> m_calibBsErrTool{this, "SCT_CalibBsErrorTool", "SCT_CalibBsErrorTool", "Tool for reading and writing BS error histograms"};
106 ToolHandle<ISCT_CalibModuleListTool> m_calibModuleListTool{this, "SCT_CalibModuleListTool", "SCT_CalibModuleListTool", "Tool for handling list of modules"};
107 ToolHandle<ISCT_CalibEvtInfo> m_calibEvtInfoTool{this, "SCT_CalibEventInfo", "SCT_CalibEventInfo", "Tool for handling event info"};
108
109 // For ntuple sorting
110 // For HV trips
111 std::vector<std::vector<std::pair<int, int>>> m_summarytrips;
112 std::vector<std::vector<std::pair<int, int>>> m_summarytripslb;
113
114 std::ofstream m_gofile;
115
116 // output files (for dead search & MONP200 related things )
117 std::ofstream m_outDeadStrips;
118 std::ofstream m_outDeadChips;
119 std::ofstream m_outDeadSummary;
120 std::ofstream m_outNOSummary;
121 std::ofstream m_outROSummary;
122 std::ofstream m_outEffSummary;
123 std::ofstream m_outBSErrSummary;
124 std::ofstream m_outBSErrModule;
125 std::ofstream m_outLASummary;
126
127 // Properties configurable from jobO
128 IntegerProperty m_runNumber{this, "RunNumber", -1};
129 IntegerProperty m_eventNumber{this, "EventNumber", -1};
130
131 StringProperty m_runStartTime{this, "RunStartTime", "", "from runInfo.txt"};
132 StringProperty m_runEndTime{this, "RunEndTime", "", "from runInfo.txt"};
133 StringProperty m_LBMax{this, "LBMax", "1000", "from runInfo.txt"};
134
135 BooleanProperty m_useConfiguration{this, "UseConfiguration", true};
136 BooleanProperty m_useCalibration{this, "UseCalibration", true};
137 BooleanProperty m_useMajority{this, "UseMajority", true};
138 BooleanProperty m_useBSError{this, "UseBSError", false};
139
140 StringArrayProperty m_input_hist{this, "InputHist", {}, "list of HIST (assuming 1 file)"};
141
142 BooleanProperty m_readBS{this, "ReadBS", false, "True if BS is used"};
143 BooleanProperty m_histBefore2010{this, "HistBefore2010", false, "True if HIST is from 2009 or earlier"};
144
145 BooleanProperty m_doHitMaps{this, "DoHitMaps", true};
146 BooleanProperty m_doHitMapsLB{this, "DoHitMapsLB", true};
147 IntegerProperty m_nLbsMerged{this, "LbsPerWindow", 30};
148 BooleanProperty m_readHitMaps{this, "ReadHitMaps", false};
149 BooleanProperty m_doBSErrors{this, "DoBSErrors", false};
150 BooleanProperty m_doNoisyStrip{this, "DoNoisyStrip", true};
151 BooleanProperty m_doHV{this, "DoHV", false};
152 BooleanProperty m_doDeadStrip{this, "DoDeadStrip", false};
153 BooleanProperty m_doDeadChip{this, "DoDeadChip", false};
154 BooleanProperty m_doNoiseOccupancy{this, "DoNoiseOccupancy", false};
155 BooleanProperty m_doRawOccupancy{this, "DoRawOccupancy", false};
156 BooleanProperty m_doEfficiency{this, "DoEfficiency", false};
157 BooleanProperty m_doBSErrorDB{this, "DoBSErrorDB", false};
158 BooleanProperty m_doLorentzAngle{this, "DoLorentzAngle", false};
159 BooleanProperty m_writeToCool{this, "WriteToCool", true};
160
161 BooleanProperty m_noisyUpdate{this, "NoisyUpdate", true};
162 BooleanProperty m_noisyWriteAllModules{this, "NoisyWriteAllModules", true};
163 BooleanProperty m_noisyUploadTest{this, "NoisyUploadTest", true};
164 FloatProperty m_noisyModuleAverageInDB{this, "NoisyModuleAverageInDB", -1., "Average number of modules with at least 1 noisy strip in COOL"};
165 IntegerProperty m_noisyStripLastRunInDB{this, "NoisyStripLastRunInDB", -999, "Number of noisy strips of the last run uploaded to COOL"};
166 FloatProperty m_noisyStripAverageInDB{this, "NoisyStripAverageInDB", -999., "Number of noisy strips of the last run uploaded to COOL"};
167 IntegerProperty m_noisyModuleList{this, "NoisyModuleList", 200};
168 FloatProperty m_noisyModuleDiff{this, "NoisyModuleDiff", 0.200};
169 FloatProperty m_noisyStripDiff{this, "NoisyStripDiff", 128.};
170
171 UnsignedIntegerProperty m_noisyMinStat{this, "NoisyMinStat", 50000};
172 BooleanProperty m_noisyStripAll{this, "NoisyStripAll", true};
173 BooleanProperty m_noisyStripThrDef{this, "NoisyStripThrDef", true};
174 FloatProperty m_noisyStripThrOffline{this, "NoisyStripThrOffline", 1.500E-2};
175 FloatProperty m_noisyStripThrOnline{this, "NoisyStripThrOnline", 1.500E-3};
176 BooleanProperty m_noisyWaferFinder{this, "NoisyWaferFinder", true};
177 BooleanProperty m_noisyWaferWrite{this, "NoisyWaferWrite", true};
178 BooleanProperty m_noisyWaferAllStrips{this, "NoisyWaferAllStrips", true};
179 FloatProperty m_noisyWaferThrBarrel{this, "NoisyWaferThrBarrel", 1.000E-4};
180 FloatProperty m_noisyWaferThrECA{this, "NoisyWaferThrECA", 1.000E-4};
181 FloatProperty m_noisyWaferThrECC{this, "NoisyWaferThrECC", 1.000E-4};
182 FloatProperty m_noisyWaferFraction{this, "NoisyWaferFraction", 0.500};
183 FloatProperty m_noisyChipFraction{this, "NoisyChipFraction", 0.500};
184
185 IntegerProperty m_maxtbins{this, "HVBinWidth", 5};
186
187 UnsignedIntegerProperty m_deadStripMinStat{this, "DeadStripMinStat", 200000};
188 UnsignedIntegerProperty m_deadStripMinStatBusy{this, "DeadStripMinStatBusy", 1600000};
189 UnsignedIntegerProperty m_deadChipMinStat{this, "DeadChipMinStat", 200000};
190 UnsignedIntegerProperty m_deadStripSignificance{this, "DeadStripSignificance", 10};
191 UnsignedIntegerProperty m_deadChipSignificance{this, "DeadChipSignificance", 10};
192 FloatProperty m_busyThr4DeadFinding{this, "BusyThr4DeadFinding", 1E-4};
193 FloatProperty m_noisyThr4DeadFinding{this, "NoisyThr4DeadFinding", 1.500E-3};
194 BooleanProperty m_deadChipUploadTest{this, "DeadChipUploadTest", true};
195 BooleanProperty m_deadStripUploadTest{this, "DeadStripUploadTest", true};
196 BooleanProperty m_deadNotQuiet{this, "DeadNotQuiet", true};
197 FloatProperty m_quietThresholdStrip{this, "QuietThresholdStrip", 0.5};
198 FloatProperty m_quietThresholdChip{this, "QuietThresholdChip", 0.5};
199
200 BooleanProperty m_noiseOccupancyTriggerAware{this, "NoiseOccupancyTriggerAware", true};
201 UnsignedIntegerProperty m_noiseOccupancyMinStat{this, "NoiseOccupancyMinStat", 50000};
202 UnsignedIntegerProperty m_rawOccupancyMinStat{this, "RawOccupancyMinStat", 50000};
203 UnsignedIntegerProperty m_efficiencyMinStat{this, "EfficiencyMinStat", 50000};
204 BooleanProperty m_efficiencyDoChips{this, "EfficiencyDoChips", true};
205 UnsignedIntegerProperty m_BSErrorDBMinStat{this, "BSErrorDBMinStat", 50000};
206 UnsignedIntegerProperty m_LorentzAngleMinStat{this, "LorentzAngleMinStat", 50000};
207
208 BooleanProperty m_LorentzAngleDebugMode{this, "LorentzAngleDebugMode", true};
209
210 StringProperty m_tagID4NoisyStrips{this, "TagID4NoisyStrips", "SctDerivedMonitoring-001-00"};
211 StringProperty m_tagID4DeadStrips{this, "TagID4DeadStrips", "SctDerivedDeadStrips-001-00"};
212 StringProperty m_tagID4DeadChips{this, "TagID4DeadChips", "SctDerivedDeadChips-001-00"};
213 StringProperty m_tagID4NoiseOccupancy{this, "TagID4NoiseOccupancy", "SctDerivedNoiseOccupancy-001-00"};
214
215 StringProperty m_badStripsAllFile{this, "BadStripsAllFile", "BadStripsAllFile.xml", "Output XML for all noisy strips"};
216 StringProperty m_badStripsNewFile{this, "BadStripsNewFile", "BadStripsNewFile.xml", "Output XML for newly found noisy strips (i.e. not in config/calib data)"};
217 StringProperty m_badStripsSummaryFile{this, "BadStripsSummaryFile", "BadStripsSummaryFile.xml", "Output XML for summary info from noisy strip search"};
218
219 StringProperty m_badModulesFile{this, "BadModulesFile", "BadModulesFile.xml", "Output XML for HV trips"};
220
221 StringProperty m_deadStripsFile{this, "DeadStripsFile", "DeadStripsFile.xml", "Output XML for dead strips"};
222 StringProperty m_deadChipsFile{this, "DeadChipsFile", "DeadChipsFile.xml", "Output XML for dead chips"};
223 StringProperty m_deadSummaryFile{this, "DeadSummaryFile", "DeadSummaryFile.xml", "Output XML for summary of Dead Finding"};
224
225 StringProperty m_noiseOccupancyFile{this, "NoiseOccupancyFile", "NoiseOccupancyFile.xml", "Output XML for noise occupancy"};
226 StringProperty m_noiseOccupancySummaryFile{this, "NoiseOccupancySummaryFile", "NoiseOccupancySummaryFile.xml", "Output XML for summary of noise occupancy"};
227 StringProperty m_rawOccupancySummaryFile{this,"RawOccupancySummaryFile", "RawOccupancySummaryFile.xml", "Output XML for summary of raw occupancy"};
228 StringProperty m_efficiencySummaryFile{this, "EfficiencySummaryFile", "EfficiencySummaryFile.xml", "Output XML for summary of efficiency"};
229 StringProperty m_efficiencyModuleFile{this, "EfficiencyModuleFile", "EfficiencyModuleSummary.xml", "Output XML for efficiency"};
230 StringProperty m_efficiencyChipFile{this, "EfficiencyChipFile", "EfficiencyChipSummary.xml", "Output XML for chip efficiency"};
231 StringProperty m_BSErrorSummaryFile{this, "BSErrorSummaryFile", "BSErrorSummaryFile.xml", "Output XML for summary of BS Errors"};
232 StringProperty m_BSErrorModuleFile{this, "BSErrorModuleFile", "BSErrorModuleSummary.xml", "Output XML for summary of BS Errors"};
233 StringProperty m_LorentzAngleFile{this, "LorentzAngleFile", "LorentzAngleFile.xml", "Output XML for noise occupancy"};
234 StringProperty m_LorentzAngleSummaryFile{this, "LorentzAngleSummaryFile", "LorentzAngleSummaryFile.xml", "Output XML for summary of lorentz angle"};
235
236 // Event related
238 unsigned long long m_numberOfEvents{0};
239 unsigned long long m_numberOfEventsHist{0}; // For number of events from HIST
240 std::string m_utcBegin;
241 std::string m_utcEnd;
242 int m_LBRange{-999};
245
246 // Input
247 TFile* m_inputHist{nullptr}; // Monitoring histograms
248 bool m_readHIST; // True if HIST is used
249
250 // Histograms
251 std::vector<TProfile2D*> m_pnoiseoccupancymapHistoVector;
252 std::vector<TProfile2D*> m_pnoiseoccupancymapHistoVectorECp;
253 std::vector<TProfile2D*> m_pnoiseoccupancymapHistoVectorECm;
254 std::vector<TProfile*> m_h_phiVsNstripsSideHistoVector;
255
256 // Book histograms
257
258 // Methods implemented
259 StatusCode prepareHV();
260 void doHVPrintXML(const std::pair<int, int>& timeInterval, const std::pair<int, int>& lbRange, Identifier);
261
262 bool notEnoughStatistics(const int required, const int obtained, const std::string& histogramName="HIST") const;
263
264 StatusCode getNoisyStrip ATLAS_NOT_THREAD_SAFE (); // Thread unsafe writeModuleListToCool method is used.
265 StatusCode getDeadStrip ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListStrip, SCTCalibWriteTool::createListChip methods are used.
266 StatusCode getNoiseOccupancy ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListNO method is used.
267 StatusCode getRawOccupancy ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListRawOccu method is used.
268 StatusCode getEfficiency ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListEff method is used.
269 StatusCode getBSErrors ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListBSErr method is used.
270 StatusCode getLorentzAngle ATLAS_NOT_THREAD_SAFE (); // Thread unsafe SCTCalibWriteTool::createListLA method is used.
271
272 // To handle XML file for DB
273 StatusCode openXML4DB(std::ofstream&, const char*, const char*, const IOVTime&, const IOVTime&) const;
274 StatusCode closeXML4DB(std::ofstream&) const;
275 StatusCode addToXML4DB(std::ofstream&, const Identifier&, const char*, float, const char*) const;
276
277 // To handle XML file for Summary
278 StatusCode openXML4MonSummary(std::ofstream&, const char*) const;
279 StatusCode openXML4DeadSummary(std::ofstream& file, const char* type, int n_Module=0, int n_Link=0, int n_Chip=0, int n_Strip=0) const;
280 StatusCode wrapUpXML4Summary(std::ofstream&, const char*, std::ostringstream&) const;
281 StatusCode addToSummaryStr(std::ostringstream&, const Identifier&, const char*, const char*, const char*) const;
282
283 template<class S>
284 bool retrievedService(S& service) const {
285 if (service.retrieve().isFailure()) {
286 ATH_MSG_ERROR("Unable to retrieve "<<service.name());
287 return false;
288 }
289 return true;
290 }
291 std::string
292 xmlChannelNoiseOccDataString(const Identifier& waferId, const float occupancy, const SCT_SerialNumber& serial) const;
293
294 std::string
295 xmlChannelEfficiencyDataString(const Identifier& waferId, const float efficiency, const SCT_SerialNumber& serial, const int side) const;
296
297 std::string
298 xmlChannelEfficiencyDataStringChip(const Identifier& waferId, const float efficiency, const float efficiency_bcid, const SCT_SerialNumber& serial, const int side, const int chip) const;
299
300 std::pair<int, bool>
301 getNumNoisyStrips(const Identifier& waferId) const;
302
303 StatusCode
304 addStripsToList(Identifier& waferId, std::set<Identifier>& stripIdList, bool isNoisy, bool isNew) const;
305
306 StatusCode
307 writeModuleListToCool ATLAS_NOT_THREAD_SAFE // Thread unsafe SCTCalibWriteTool::createCondObjects method is used.
308 (const std::map<Identifier, std::set<Identifier>>& moduleListAll,
309 const std::map<Identifier, std::set<Identifier>>& moduleListNew,
310 const std::map<Identifier, std::set<Identifier>>& moduleListRef);
311 std::string
312 getStripList(const std::set<Identifier>& stripIdList) const;
313
314 std::set<Identifier>
315 getOverlapStripList( const std::set<Identifier>& stripAllIdList, const std::set<Identifier>& stripRefIdList ) const;
316
317 StatusCode
318 noisyStripsToXml(const std::map< Identifier, std::set<Identifier> >& moduleList, const std::string& badStripsFile) const;
319
320 StatusCode
321 noisyStripsToSummaryXml(const std::map<Identifier, std::set<Identifier>>& moduleListAll,
322 //const std::map<Identifier, std::set<Identifier>>& moduleListNew,
323 const std::map<Identifier, std::set<Identifier>>& moduleListRef,
324 const std::string& badStripsFile) const;
325
326 std::set<int>
327 getNoisyChips(const std::set<Identifier>& stripIdList) const;
328
329 std::pair<std::string, float>
330 getNoisyLB(const Identifier& moduleId, int& chipId) const;
331
332 std::string
333 getLBList(const std::set<int>& LBList) const;
334}; // end of class
335
336#endif // SCTCalib_H
#define ATH_MSG_ERROR(x)
Basic time unit for IOVSvc.
Header file for abstract interface to SCT cabling tool.
interface for SCT_CalibEvtInfo
Header file to interface class for histograms in the SCT_CalibAlgs package.
interface file for service that keeps track of configuration conditions
interface file for tools that report on the detector or ECC/B/ECA level
Interface file for SCT_ReadCalibDataTool.
This is an Identifier helper class for the SCT subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Basic time unit for IOVSvc.
Definition IOVTime.h:33
std::ofstream m_outBSErrSummary
Definition SCTCalib.h:123
BooleanProperty m_doDeadChip
Definition SCTCalib.h:153
ToolHandle< ISCT_CalibHistoTool > m_calibBsErrTool
Definition SCTCalib.h:105
StatusCode openXML4DB(std::ofstream &, const char *, const char *, const IOVTime &, const IOVTime &) const
std::string getStripList(const std::set< Identifier > &stripIdList) const
BooleanProperty m_noisyUpdate
Definition SCTCalib.h:161
FloatProperty m_noisyWaferThrECC
Definition SCTCalib.h:181
UnsignedIntegerProperty m_deadStripSignificance
Definition SCTCalib.h:190
UnsignedIntegerProperty m_rawOccupancyMinStat
Definition SCTCalib.h:202
~SCTCalib()=default
BooleanProperty m_doNoiseOccupancy
Definition SCTCalib.h:154
std::ofstream m_gofile
Definition SCTCalib.h:114
StringProperty m_deadStripsFile
Definition SCTCalib.h:221
std::pair< int, bool > getNumNoisyStrips(const Identifier &waferId) const
StringProperty m_badStripsNewFile
Definition SCTCalib.h:216
UnsignedIntegerProperty m_efficiencyMinStat
Definition SCTCalib.h:203
FloatProperty m_noisyModuleDiff
Definition SCTCalib.h:168
BooleanProperty m_noisyWaferFinder
Definition SCTCalib.h:176
UnsignedIntegerProperty m_deadChipSignificance
Definition SCTCalib.h:191
FloatProperty m_noisyStripDiff
Definition SCTCalib.h:169
std::vector< TProfile2D * > m_pnoiseoccupancymapHistoVectorECp
Definition SCTCalib.h:252
FloatProperty m_noisyThr4DeadFinding
Definition SCTCalib.h:193
std::string xmlChannelNoiseOccDataString(const Identifier &waferId, const float occupancy, const SCT_SerialNumber &serial) const
std::vector< TProfile2D * > m_pnoiseoccupancymapHistoVectorECm
Definition SCTCalib.h:253
IntegerProperty m_maxtbins
Definition SCTCalib.h:185
FloatProperty m_quietThresholdChip
Definition SCTCalib.h:198
StringProperty m_BSErrorSummaryFile
Definition SCTCalib.h:231
BooleanProperty m_noisyWaferWrite
Definition SCTCalib.h:177
StatusCode getBSErrors ATLAS_NOT_THREAD_SAFE()
std::vector< std::vector< std::pair< int, int > > > m_summarytripslb
Definition SCTCalib.h:112
BooleanProperty m_doDeadStrip
Definition SCTCalib.h:152
std::string xmlChannelEfficiencyDataString(const Identifier &waferId, const float efficiency, const SCT_SerialNumber &serial, const int side) const
FloatProperty m_noisyStripThrOffline
Definition SCTCalib.h:174
std::pair< std::string, float > getNoisyLB(const Identifier &moduleId, int &chipId) const
StatusCode noisyStripsToXml(const std::map< Identifier, std::set< Identifier > > &moduleList, const std::string &badStripsFile) const
StatusCode noisyStripsToSummaryXml(const std::map< Identifier, std::set< Identifier > > &moduleListAll, const std::map< Identifier, std::set< Identifier > > &moduleListRef, const std::string &badStripsFile) const
StringProperty m_efficiencyModuleFile
Definition SCTCalib.h:229
StringProperty m_BSErrorModuleFile
Definition SCTCalib.h:232
FloatProperty m_noisyModuleAverageInDB
Definition SCTCalib.h:164
ToolHandle< ISCT_CalibModuleListTool > m_calibModuleListTool
Definition SCTCalib.h:106
BooleanProperty m_noisyWriteAllModules
Definition SCTCalib.h:162
bool retrievedService(S &service) const
Definition SCTCalib.h:284
StatusCode addToXML4DB(std::ofstream &, const Identifier &, const char *, float, const char *) const
StringProperty m_LBMax
Definition SCTCalib.h:133
UnsignedIntegerProperty m_deadStripMinStatBusy
Definition SCTCalib.h:188
UnsignedIntegerProperty m_deadChipMinStat
Definition SCTCalib.h:189
ToolHandle< ISCT_ReadCalibDataTool > m_ReadCalibDataTool
Definition SCTCalib.h:100
StatusCode getEfficiency ATLAS_NOT_THREAD_SAFE()
ToolHandle< ISCT_CalibEvtInfo > m_calibEvtInfoTool
Definition SCTCalib.h:107
ToolHandle< ISCT_ConfigurationConditionsTool > m_ConfigurationConditionsTool
Definition SCTCalib.h:99
virtual StatusCode initialize() override
Definition SCTCalib.cxx:122
BooleanProperty m_doHV
Definition SCTCalib.h:151
std::ofstream m_outDeadSummary
Definition SCTCalib.h:119
std::set< int > getNoisyChips(const std::set< Identifier > &stripIdList) const
BooleanProperty m_noiseOccupancyTriggerAware
Definition SCTCalib.h:200
UnsignedIntegerProperty m_noiseOccupancyMinStat
Definition SCTCalib.h:201
std::set< Identifier > getOverlapStripList(const std::set< Identifier > &stripAllIdList, const std::set< Identifier > &stripRefIdList) const
BooleanProperty m_useMajority
Definition SCTCalib.h:137
ToolHandle< ISCT_CalibHistoTool > m_calibHitmapTool
Definition SCTCalib.h:103
const SCT_ID * m_pSCTHelper
Definition SCTCalib.h:95
BooleanProperty m_efficiencyDoChips
Definition SCTCalib.h:204
StringProperty m_rawOccupancySummaryFile
Definition SCTCalib.h:227
BooleanProperty m_deadChipUploadTest
Definition SCTCalib.h:194
UnsignedIntegerProperty m_LorentzAngleMinStat
Definition SCTCalib.h:206
StringProperty m_badStripsSummaryFile
Definition SCTCalib.h:217
std::ofstream m_outEffSummary
Definition SCTCalib.h:122
StringProperty m_tagID4DeadStrips
Definition SCTCalib.h:211
StatusCode wrapUpXML4Summary(std::ofstream &, const char *, std::ostringstream &) const
virtual StatusCode execute() override
Definition SCTCalib.cxx:294
StatusCode getRawOccupancy ATLAS_NOT_THREAD_SAFE()
std::ofstream m_outLASummary
Definition SCTCalib.h:125
BooleanProperty m_doBSErrorDB
Definition SCTCalib.h:157
StringArrayProperty m_input_hist
Definition SCTCalib.h:140
BooleanProperty m_writeToCool
Definition SCTCalib.h:159
StatusCode getLorentzAngle ATLAS_NOT_THREAD_SAFE()
FloatProperty m_noisyWaferThrECA
Definition SCTCalib.h:180
IntegerProperty m_nLbsMerged
Definition SCTCalib.h:147
ToolHandle< ISCT_CablingTool > m_CablingTool
Definition SCTCalib.h:102
StringProperty m_deadChipsFile
Definition SCTCalib.h:222
FloatProperty m_noisyStripThrOnline
Definition SCTCalib.h:175
unsigned long long m_numberOfEventsHist
Definition SCTCalib.h:239
StringProperty m_deadSummaryFile
Definition SCTCalib.h:223
StatusCode prepareHV()
std::ofstream m_outBSErrModule
Definition SCTCalib.h:124
ToolHandle< ISCT_CalibHistoTool > m_calibLbTool
Definition SCTCalib.h:104
UnsignedIntegerProperty m_noisyMinStat
Definition SCTCalib.h:171
BooleanProperty m_readHitMaps
Definition SCTCalib.h:148
UnsignedIntegerProperty m_BSErrorDBMinStat
Definition SCTCalib.h:205
std::string m_utcBegin
Definition SCTCalib.h:240
BooleanProperty m_histBefore2010
Definition SCTCalib.h:143
std::string m_utcEnd
Definition SCTCalib.h:241
BooleanProperty m_noisyWaferAllStrips
Definition SCTCalib.h:178
StringProperty m_efficiencySummaryFile
Definition SCTCalib.h:228
BooleanProperty m_doRawOccupancy
Definition SCTCalib.h:155
std::string xmlChannelEfficiencyDataStringChip(const Identifier &waferId, const float efficiency, const float efficiency_bcid, const SCT_SerialNumber &serial, const int side, const int chip) const
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition SCTCalib.h:96
std::vector< TProfile2D * > m_pnoiseoccupancymapHistoVector
Definition SCTCalib.h:251
StringProperty m_noiseOccupancyFile
Definition SCTCalib.h:225
BooleanProperty m_doEfficiency
Definition SCTCalib.h:156
StringProperty m_tagID4NoiseOccupancy
Definition SCTCalib.h:213
StatusCode addToSummaryStr(std::ostringstream &, const Identifier &, const char *, const char *, const char *) const
StringProperty m_efficiencyChipFile
Definition SCTCalib.h:230
SCTCalib(const std::string &name, ISvcLocator *pSvcLocator)
Definition SCTCalib.cxx:112
void doHVPrintXML(const std::pair< int, int > &timeInterval, const std::pair< int, int > &lbRange, Identifier)
doHVPrintXML() Prints XML file for hv modules
Definition SCTCalib.cxx:470
StringProperty m_noiseOccupancySummaryFile
Definition SCTCalib.h:226
std::ofstream m_outNOSummary
Definition SCTCalib.h:120
FloatProperty m_busyThr4DeadFinding
Definition SCTCalib.h:192
BooleanProperty m_useBSError
Definition SCTCalib.h:138
IntegerProperty m_eventNumber
Definition SCTCalib.h:129
FloatProperty m_quietThresholdStrip
Definition SCTCalib.h:197
StatusCode openXML4DeadSummary(std::ofstream &file, const char *type, int n_Module=0, int n_Link=0, int n_Chip=0, int n_Strip=0) const
StatusCode getNoiseOccupancy ATLAS_NOT_THREAD_SAFE()
BooleanProperty m_noisyStripThrDef
Definition SCTCalib.h:173
virtual StatusCode finalize() override
Finalize - delete any memory allocation from the heap.
Definition SCTCalib.cxx:452
StringProperty m_tagID4DeadChips
Definition SCTCalib.h:212
virtual StatusCode stop ATLAS_NOT_THREAD_SAFE() override
std::vector< std::vector< std::pair< int, int > > > m_summarytrips
Definition SCTCalib.h:111
BooleanProperty m_deadNotQuiet
Definition SCTCalib.h:196
StringProperty m_runStartTime
Definition SCTCalib.h:131
StatusCode openXML4MonSummary(std::ofstream &, const char *) const
FloatProperty m_noisyChipFraction
Definition SCTCalib.h:183
FloatProperty m_noisyStripAverageInDB
Definition SCTCalib.h:166
ToolHandle< ISCT_DetectorLevelConditionsTool > m_MajorityConditionsTool
Definition SCTCalib.h:101
StatusCode closeXML4DB(std::ofstream &) const
StringProperty m_runEndTime
Definition SCTCalib.h:132
StringProperty m_LorentzAngleSummaryFile
Definition SCTCalib.h:234
int m_numOfLBsProcessed
Definition SCTCalib.h:237
std::ofstream m_outROSummary
Definition SCTCalib.h:121
IntegerProperty m_runNumber
Definition SCTCalib.h:128
unsigned long long m_numberOfEvents
Definition SCTCalib.h:238
StringProperty m_LorentzAngleFile
Definition SCTCalib.h:233
StatusCode addStripsToList(Identifier &waferId, std::set< Identifier > &stripIdList, bool isNoisy, bool isNew) const
BooleanProperty m_useCalibration
Definition SCTCalib.h:136
std::ofstream m_outDeadStrips
Definition SCTCalib.h:117
BooleanProperty m_doLorentzAngle
Definition SCTCalib.h:158
std::vector< TProfile * > m_h_phiVsNstripsSideHistoVector
Definition SCTCalib.h:254
BooleanProperty m_noisyUploadTest
Definition SCTCalib.h:163
bool m_readHIST
Definition SCTCalib.h:248
BooleanProperty m_noisyStripAll
Definition SCTCalib.h:172
BooleanProperty m_doNoisyStrip
Definition SCTCalib.h:150
StringProperty m_badStripsAllFile
Definition SCTCalib.h:215
ToolHandle< SCTCalibWriteTool > m_pCalibWriteTool
Definition SCTCalib.h:98
BooleanProperty m_doBSErrors
Definition SCTCalib.h:149
FloatProperty m_noisyWaferFraction
Definition SCTCalib.h:182
TFile * m_inputHist
Definition SCTCalib.h:247
BooleanProperty m_doHitMaps
Definition SCTCalib.h:145
@ n_stripPerChip
Definition SCTCalib.h:89
@ n_phiBinsECMiddle
Definition SCTCalib.h:91
@ n_phiBinsB3
Definition SCTCalib.h:90
@ firstBSErrorType
Definition SCTCalib.h:92
@ n_phiBinsB1
Definition SCTCalib.h:90
@ n_phiBinsB0
Definition SCTCalib.h:90
@ n_BSErrorType
Definition SCTCalib.h:92
@ n_phiBinsECShort
Definition SCTCalib.h:91
@ n_etaInBarrel
Definition SCTCalib.h:89
@ n_elements
Definition SCTCalib.h:91
@ n_phiBinsECOuter
Definition SCTCalib.h:91
@ n_chipPerSide
Definition SCTCalib.h:89
@ n_chipPerModule
Definition SCTCalib.h:89
@ lastBSErrorType
Definition SCTCalib.h:92
@ n_phiBinsB2
Definition SCTCalib.h:90
std::string getLBList(const std::set< int > &LBList) const
FloatProperty m_noisyWaferThrBarrel
Definition SCTCalib.h:179
UnsignedIntegerProperty m_deadStripMinStat
Definition SCTCalib.h:187
BooleanProperty m_doHitMapsLB
Definition SCTCalib.h:146
IOVTime m_iovStart
Definition SCTCalib.h:243
bool notEnoughStatistics(const int required, const int obtained, const std::string &histogramName="HIST") const
Definition SCTCalib.cxx:282
int m_LBRange
Definition SCTCalib.h:242
StatusCode getDeadStrip ATLAS_NOT_THREAD_SAFE()
IOVTime m_iovStop
Definition SCTCalib.h:244
BooleanProperty m_readBS
Definition SCTCalib.h:142
StatusCode getNoisyStrip ATLAS_NOT_THREAD_SAFE()
BooleanProperty m_LorentzAngleDebugMode
Definition SCTCalib.h:208
@ first_etaBinEC
Definition SCTCalib.h:84
@ first_phiBin
Definition SCTCalib.h:81
@ last_etaBinEC
Definition SCTCalib.h:84
@ n_disks
Definition SCTCalib.h:83
@ first_phiBinEC
Definition SCTCalib.h:85
@ last_disk
Definition SCTCalib.h:83
@ first_hitBin
Definition SCTCalib.h:79
@ first_barrel
Definition SCTCalib.h:82
@ n_etaBins
Definition SCTCalib.h:80
@ n_phiBinsEC
Definition SCTCalib.h:85
@ ntimeBins
Definition SCTCalib.h:78
@ last_phiBinEC
Definition SCTCalib.h:85
@ lastStrip
Definition SCTCalib.h:77
@ n_barrels
Definition SCTCalib.h:82
@ lastTimeBin
Definition SCTCalib.h:78
@ firstStrip
Definition SCTCalib.h:77
@ n_hitBins
Definition SCTCalib.h:79
@ last_hitBin
Definition SCTCalib.h:79
@ first_etaBin
Definition SCTCalib.h:80
@ last_etaBin
Definition SCTCalib.h:80
@ last_phiBin
Definition SCTCalib.h:81
@ n_phiBins
Definition SCTCalib.h:81
@ firstTimeBin
Definition SCTCalib.h:78
@ n_etaBinsEC
Definition SCTCalib.h:84
@ last_barrel
Definition SCTCalib.h:82
@ first_disk
Definition SCTCalib.h:83
BooleanProperty m_deadStripUploadTest
Definition SCTCalib.h:195
std::ofstream m_outDeadChips
Definition SCTCalib.h:118
BooleanProperty m_useConfiguration
Definition SCTCalib.h:135
StringProperty m_tagID4NoisyStrips
Definition SCTCalib.h:210
StringProperty m_badModulesFile
Definition SCTCalib.h:219
IntegerProperty m_noisyModuleList
Definition SCTCalib.h:167
IntegerProperty m_noisyStripLastRunInDB
Definition SCTCalib.h:165
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
SCT_SerialNumber is a class to hold a serial number and provide check on validity,...
void efficiency(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
TFile * file