|
ATLAS Offline Software
|
does calibration of the CSC chambers
More...
#include <CscCalcPed.h>
|
| CscCalcPed (const std::string &name, ISvcLocator *pSvcLocator) |
|
| ~CscCalcPed ()=default |
|
StatusCode | initialize (void) |
| basic required functions More...
|
|
StatusCode | execute (void) |
|
StatusCode | finalize (void) |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
does calibration of the CSC chambers
- Author
- lampe.nosp@m.n@ph.nosp@m.ysics.nosp@m..ari.nosp@m.zona..nosp@m.edu
Description
CscCalcPed is an algorithm that cycles through calibration events and generates the pedestals. A root file is also generated where the user can view the validity of the constants.
Definition at line 44 of file CscCalcPed.h.
◆ StoreGateSvc_t
◆ CscCalcPed()
MuonCalib::CscCalcPed::CscCalcPed |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~CscCalcPed()
MuonCalib::CscCalcPed::~CscCalcPed |
( |
| ) |
|
|
default |
◆ calculateParameters()
StatusCode MuonCalib::CscCalcPed::calculateParameters |
( |
| ) |
|
|
private |
Finalize functions.
Definition at line 495 of file CscCalcPed.cxx.
502 for(
unsigned int stripHash = 0 ;stripHash <=
m_maxStripHash; stripHash++)
504 if(stripHash < 50 || stripHash%1000 == 0)
507 ATH_MSG_VERBOSE((
float)clock()/((
float)CLOCKS_PER_SEC) <<
" is the time");
510 TH1I * ampHist = (*m_ampHists)[stripHash];
514 if(ampHist->GetEntries() >0)
517 float histMean = ampHist->GetMean();
518 float histRMS = ampHist->GetRMS();
519 float histRMSError = ampHist->GetRMSError();
521 float lowbound = histMean - 3*histRMS;
522 float highbound = histMean + 3*histRMS;
525 int result = ampHist->Fit(
"gaus",
"QL",
"",lowbound,highbound);
527 TF1 * fittedFunction = ampHist->GetFunction(
"gaus");
528 double meanError = fittedFunction->GetParError(1);
529 double sigma = fittedFunction->GetParameter(2);
530 double sigmaError = fittedFunction->GetParError(2);
531 double chi2 = fittedFunction->GetChisquare();
532 int ndf = fittedFunction->GetNDF();
542 int num = (
int)ampHist->GetEntries();
543 int thr = ampHist->GetNbinsX() + 1;
544 double maxSum = 0.001*
num;
549 sum += ampHist->GetBinContent(thr);
551 }
while ((thr>0)&&(
sum<maxSum));
554 double threshold = ampHist->GetXaxis()->GetBinLowEdge(thr) +1;
575 return StatusCode::SUCCESS;
◆ calOutput0()
StatusCode MuonCalib::CscCalcPed::calOutput0 |
( |
| ) |
|
|
private |
Definition at line 601 of file CscCalcPed.cxx.
608 return StatusCode::RECOVERABLE;
616 out <<
"END_HEADER\n";
625 for(;pedItr!= pedEnd;++pedItr,++noiseItr, ++rmsItr)
627 int hashId = (*pedItr)->hashId();
628 double ped = (*pedItr)->value();
629 double noise = (*noiseItr)->value();
630 double rms = (*rmsItr)->value();
635 m_idHelperSvc->cscIdHelper().get_id(hashId,
id, &channelContext);
645 m_idHelperSvc->cscIdHelper().get_module_hash(
id,chamberHash);
649 out <<
" " << chamberHash;
659 return StatusCode::SUCCESS;
◆ calOutput1()
StatusCode MuonCalib::CscCalcPed::calOutput1 |
( |
| ) |
|
|
private |
Definition at line 664 of file CscCalcPed.cxx.
669 out.open(onlineFileName.c_str());
673 return StatusCode::RECOVERABLE;
689 for(;pedItr!= pedEnd;++pedItr,++noiseItr, ++rmsItr, ++f001Itr)
691 int hashId = (*pedItr)->hashId();
692 double ped = (*pedItr)->value();
693 double noise = (*noiseItr)->value();
695 double f001 = (*f001Itr)->value();
698 std::string onlineHexId;
701 readCdo->indexToStringId(&
m_idHelperSvc->cscIdHelper(), hashId,
"CHANNEL", onlineHexId).ignore();
706 m_idHelperSvc->cscIdHelper().get_id(hashId,
id, &channelContext);
715 char orientationChar = (
m_idHelperSvc->cscIdHelper().measuresPhi(
id) ?
'Y':
'X');
719 m_idHelperSvc->cscIdHelper().get_module_hash(
id,chamberHash);
722 out.setf(std::ios::right);
723 out << std::setfill(
'0') << std::setw(8) << onlineHexId;
725 << std::setw(2) << chamberHash << orientationChar << (
m_idHelperSvc->cscIdHelper().wireLayer(
id)-1)
727 << std::setw(3) <<
m_idHelperSvc->cscIdHelper().strip(
id) -1 <<
" " ;
728 out.setf(std::ios::fixed);
731 out <<
" " << std::setprecision(3) << std::setw(8) <<
ped <<
" 0000.00";
732 out <<
" " << std::setprecision(3) << std::setw(8) <<
noise <<
" 0000.000";
739 return StatusCode::SUCCESS;
◆ calOutput3()
StatusCode MuonCalib::CscCalcPed::calOutput3 |
( |
| ) |
|
|
private |
Definition at line 744 of file CscCalcPed.cxx.
750 return StatusCode::RECOVERABLE;
752 out <<
"03-00 <END_HEADER>";
759 out <<
"\n<END_FILE>";
762 return StatusCode::SUCCESS;
◆ collectEventInfo()
StatusCode MuonCalib::CscCalcPed::collectEventInfo |
( |
| ) |
|
|
private |
event loop functions
Definition at line 343 of file CscCalcPed.cxx.
354 if (sc_read != StatusCode::SUCCESS)
357 return StatusCode::FAILURE;
362 if(rawDataContainer->
size() == 0)
365 return StatusCode::FAILURE;
375 for(
const auto rod : *rawDataContainer)
386 for(
const auto cluster: *
rod)
389 int numStrips = cluster->width();
390 int samplesPerStrip = (cluster->samples()).
size()/numStrips;
392 ATH_MSG_VERBOSE(
"About to collect info from " << numStrips <<
" strips");
393 for(
int stripItr = 0; stripItr <numStrips; stripItr++)
403 int stripHash = cscChannelHashId;
406 m_idHelperSvc->cscIdHelper().get_id(stripHash, stripId, &channelContext);
414 << stripHash <<
") from the wrong multilayer has appeared in the data. Its string id is " <<
m_idHelperSvc->cscIdHelper().show_to_string(stripId)
419 << stripHash <<
" " << cscChannelHashId);
435 m_idHelperSvc->cscIdHelper().get_channel_hash(stripId, newHash );
450 std::vector<uint16_t> samples;
451 cluster->samples(stripItr,samplesPerStrip,samples);
457 for(
const auto & thisSample: samples)
459 (*m_ampHists)[stripHash]->Fill(thisSample);
461 (*((*m_sampHists)[stripHash]))[sampCnt]->Fill(thisSample);
464 TH2F* prodHist =
nullptr;
466 prodHist = (*m_bitProds)[stripHash];
476 " has online threshold breach. Sample: " << thisSample <<
" Thold: "
486 ATH_MSG_DEBUG(
"There is an empty rod (CscRawDataContainer).");
489 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode MuonCalib::CscCalcPed::execute |
( |
void |
| ) |
|
Definition at line 281 of file CscCalcPed.cxx.
289 ATH_MSG_ERROR(
"There was an error collecting information from the RDO this event.");
290 return StatusCode::RECOVERABLE;
293 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ fillBitHist()
StatusCode MuonCalib::CscCalcPed::fillBitHist |
( |
TH1I * |
bitHist, |
|
|
const uint16_t & |
val, |
|
|
TH2F * |
bitProds |
|
) |
| |
|
inlineprivate |
Definition at line 139 of file CscCalcPed.h.
142 return StatusCode::RECOVERABLE;
145 std::bitset<12> bitVal(
val);
147 for(
unsigned int bitIndex = 0; bitIndex <
m_numBits; bitIndex++){
148 if(bitVal[bitIndex]){
149 bitHist->Fill(bitIndex);
151 for(
unsigned int bitIndex2 = 0 ; bitIndex2 <= bitIndex ; bitIndex2++) {
152 if(bitVal[bitIndex2]){
153 bitProds->Fill(bitIndex,bitIndex2);
154 if(bitIndex != bitIndex2)
155 bitProds->Fill(bitIndex2,bitIndex);
165 return StatusCode::SUCCESS;
◆ finalize()
StatusCode MuonCalib::CscCalcPed::finalize |
( |
void |
| ) |
|
Definition at line 296 of file CscCalcPed.cxx.
300 return StatusCode::FAILURE;
315 return StatusCode::FAILURE;
325 return StatusCode::FAILURE;
334 return StatusCode::FAILURE;
338 return StatusCode::SUCCESS;
◆ GetMinMax()
template<typename dataType >
dataType MuonCalib::CscCalcPed::GetMinMax |
( |
std::vector< dataType > & |
vec | ) |
|
|
inlineprivate |
Definition at line 74 of file CscCalcPed.h.
75 const auto [pMin, pMax] = std::minmax_element(
vec.begin(),
vec.end());
◆ hashToChamberName()
StatusCode MuonCalib::CscCalcPed::hashToChamberName |
( |
IdentifierHash |
, |
|
|
std::string |
|
|
) |
| |
|
private |
◆ initialize()
StatusCode MuonCalib::CscCalcPed::initialize |
( |
void |
| ) |
|
basic required functions
Store Gate active store
Definition at line 67 of file CscCalcPed.cxx.
72 ATH_MSG_FATAL(
"Either specify an OnlineCalibFile or set CompareOnlineCalibFile to false");
73 return StatusCode::FAILURE;
96 const std::vector<Identifier> &
ids =
m_idHelperSvc->cscIdHelper().idVector();
101 for(
const auto &thisChamberId:
ids)
103 std::vector<Identifier> stripVect;
104 m_idHelperSvc->cscIdHelper().idChannels(thisChamberId,stripVect);
108 for(
const auto & thisStrip: stripVect)
111 m_idHelperSvc->cscIdHelper().get_channel_hash(thisStrip,stripHash);
122 for(
unsigned int stripItr = 0 ; stripItr <=
m_maxStripHash; stripItr++)
128 m_idHelperSvc->cscIdHelper().get_id(stripHash, stripId, &channelContext);
130 int chamLayer =
m_idHelperSvc->cscIdHelper().chamberLayer(stripId);
135 int stripNumber =
m_idHelperSvc->cscIdHelper().strip(stripId);
136 int wireLayer =
m_idHelperSvc->cscIdHelper().wireLayer(stripId);
137 char orientation =
m_idHelperSvc->cscIdHelper().measuresPhi(stripId) ?
'Y':
'X';
140 char name[30],titleSeed[600];
141 TH1I*
hist =
nullptr;
145 sprintf(
name,
"ampHist%u",stripItr);
146 sprintf(titleSeed,
"Amplitude Histogram for eta %d, sector %d, layer %d%c, strip %d",
152 hist->GetXaxis()->SetTitle(
"Amplitude (ADC value)");
153 hist->GetYaxis()->SetTitle(
"Counts");
159 sprintf(
name,
"sampHist%u_%d",stripItr,
cnt);
160 sprintf(titleSeed,
"Amplitude Histogram for eta %d, sector %d, layer %d%c, strip %d, sample %d",
174 sprintf(
name,
"bitHist%u",stripItr);
175 sprintf(titleSeed,
"Bit histogram for eta %d, sector %d, layer %d%c strip %d",
179 hist->GetXaxis()->SetTitle(
"Bit");
180 hist->GetYaxis()->SetTitle(
"Counts");
220 if(!
ifile.is_open()){
222 return StatusCode::FAILURE;
226 unsigned int onlineId;
233 return StatusCode::FAILURE;
240 while(
ifile >> std::hex >> onlineId >> std::dec) {
245 double thold = f001 + 2*
rms;
246 ATH_MSG_VERBOSE(
"onlid: " << std::hex << onlineId << std::dec <<
" hash: " << hashId <<
" rms: " <<
rms <<
" f001: " << f001 <<
" thold: " << thold);
255 if(chanCnt != 30720){
256 ATH_MSG_FATAL(
"Did not retrieve expected 30720 channels from online database! Retrieved: " << chanCnt);
257 ATH_MSG_FATAL(
"Last onlineId read: " << std::hex << onlineId << std::dec);
258 return StatusCode::FAILURE;
277 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ makeBitCorrelation()
DataVector< TH2F > * MuonCalib::CscCalcPed::makeBitCorrelation |
( |
| ) |
|
|
private |
Definition at line 856 of file CscCalcPed.cxx.
864 for(
unsigned int hashItr =0; hashItr <=
m_maxStripHash; hashItr++) {
868 m_idHelperSvc->cscIdHelper().get_id(stripHash, stripId, &channelContext);
870 int chamLayer =
m_idHelperSvc->cscIdHelper().chamberLayer(stripId);
876 int stripNumber =
m_idHelperSvc->cscIdHelper().strip(stripId);
877 int wireLayer =
m_idHelperSvc->cscIdHelper().wireLayer(stripId);
878 char orientation =
m_idHelperSvc->cscIdHelper().measuresPhi(stripId) ?
'Y':
'X';
882 std::stringstream
name;
883 name <<
"h_bitCorr_sector_" << std::setfill(
'0') << std::setw(2) << sector <<
884 "_lay_" << wireLayer << orientation <<
"_strip_" << std::setw(3) << stripNumber;
885 std::stringstream
title;
886 title <<
"h_bitCorr_sector_" << std::setfill(
'0') << std::setw(2) << sector <<
887 "_lay_" << wireLayer << orientation <<
"_strip_" << std::setw(3) << stripNumber;
895 (*correlations)[hashItr] = correlationHist;
899 double n = (*m_ampHists)[hashItr]->GetEntries();
900 TH1I * bitHist = (*m_bitHists)[hashItr];
901 TH2F * bitProds = (*m_bitProds)[hashItr];
902 for(
unsigned int bit1 = 1; bit1 <=
m_numBits; bit1++){
903 for(
unsigned int bit2 = 1; bit2 <=bit1; bit2++){
905 float xy = bitProds->GetBinContent(bit1,bit2);
906 float x = bitHist->GetBinContent(bit1);
907 float y = bitHist->GetBinContent(bit2);
917 correlationHist->SetBinContent(bit1,bit2,
r);
919 correlationHist->SetBinContent(bit2,bit1,
r);
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ onlineToOfflineHashId()
void MuonCalib::CscCalcPed::onlineToOfflineHashId |
( |
const unsigned int & |
onlineId, |
|
|
unsigned int & |
hashId |
|
) |
| const |
|
private |
Definition at line 930 of file CscCalcPed.cxx.
933 int phi = ((onlineId >> 13)&0x7)+1;
934 int eta = ((((onlineId >> 12)&0
x1) == 1) ? 1:-1);
935 int chamLay = ((onlineId>>11)&0
x1) +1;
936 int wireLay = ((onlineId>>9)&0x3) +1;
937 int measuresPhi = ((onlineId >> 8)&0
x1);
941 if( measuresPhi &&
eta == 1){
942 strip = 48 - ((onlineId)&0xff) ;
945 strip = ((onlineId)&0xff) +1;
951 m_idHelperSvc->cscIdHelper().get_channel_hash(chanId, chanHash);
953 hashId = (
unsigned int)chanHash;
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ outputParameter3()
Definition at line 767 of file CscCalcPed.cxx.
773 out <<
"<NEW_PAR> " <<
results.parName() <<
"\n";
774 std::string idString;
778 for(; resItr != resEnd; ++resItr){
779 unsigned int hashId = (*resItr)->hashId();
780 double value = (*resItr)->value();
781 std::string idString;
783 readCdo->indexToStringId(&
m_idHelperSvc->cscIdHelper(), hashId,
"CHANNEL", idString).ignore();
785 out << idString <<
" " <<
value <<
"\n";
◆ renounce()
◆ renounceArray()
◆ storeGateRecord()
StatusCode MuonCalib::CscCalcPed::storeGateRecord |
( |
| ) |
|
|
private |
Definition at line 795 of file CscCalcPed.cxx.
799 bool thereIsAnError =
false;
801 std::string histKey =
"cscPedCalibReport";
802 ATH_MSG_DEBUG(
"Recording pedestal amplitude histograms to TDS with key " << histKey);
821 ATH_MSG_ERROR(
"Failed to record CscCalibReportPed to storegate");
822 thereIsAnError =
true;
829 std::string
key =
"CscCalibResultPed";
845 thereIsAnError =
true;
850 return StatusCode::RECOVERABLE;
852 return StatusCode::SUCCESS;
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ writeCalibrationFile()
StatusCode MuonCalib::CscCalcPed::writeCalibrationFile |
( |
| ) |
|
|
private |
◆ m_ampHistHighBound
unsigned int MuonCalib::CscCalcPed::m_ampHistHighBound |
|
private |
◆ m_ampHistLowBound
unsigned int MuonCalib::CscCalcPed::m_ampHistLowBound |
|
private |
◆ m_ampHistNumBins
unsigned int MuonCalib::CscCalcPed::m_ampHistNumBins |
|
private |
◆ m_ampHists
DataVector<TH1I>* MuonCalib::CscCalcPed::m_ampHists |
|
private |
◆ m_bitCorrelation
DataVector<TH1F>* MuonCalib::CscCalcPed::m_bitCorrelation |
|
private |
◆ m_bitHists
DataVector<TH1I>* MuonCalib::CscCalcPed::m_bitHists |
|
private |
◆ m_bitProds
DataVector<TH2F>* MuonCalib::CscCalcPed::m_bitProds |
|
private |
◆ m_calOutputVersion
std::string MuonCalib::CscCalcPed::m_calOutputVersion |
|
private |
◆ m_chronoSvc
SmartIF<IChronoStatSvc> MuonCalib::CscCalcPed::m_chronoSvc |
|
private |
◆ m_cmt_parameter
std::string MuonCalib::CscCalcPed::m_cmt_parameter |
|
private |
◆ m_crossTalkFix
double* MuonCalib::CscCalcPed::m_crossTalkFix |
|
private |
◆ m_cscRdoDecoderTool
◆ m_detStore
◆ m_doBitHists
bool MuonCalib::CscCalcPed::m_doBitHists |
|
private |
◆ m_doCorrelation
bool MuonCalib::CscCalcPed::m_doCorrelation |
|
private |
◆ m_doF001
bool MuonCalib::CscCalcPed::m_doF001 |
|
private |
◆ m_doOnlineDbFile
bool MuonCalib::CscCalcPed::m_doOnlineDbFile |
|
private |
◆ m_doSampleHists
bool MuonCalib::CscCalcPed::m_doSampleHists |
|
private |
◆ m_eventCnt
int MuonCalib::CscCalcPed::m_eventCnt |
|
private |
◆ m_evtStore
◆ m_expectedChamberLayer
int MuonCalib::CscCalcPed::m_expectedChamberLayer |
|
private |
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_f001s
◆ m_idHelperSvc
◆ m_maxStripHash
unsigned int MuonCalib::CscCalcPed::m_maxStripHash |
|
private |
◆ m_noises
◆ m_numBits
const unsigned int MuonCalib::CscCalcPed::m_numBits |
|
private |
◆ m_numSamplesExpected
int MuonCalib::CscCalcPed::m_numSamplesExpected |
|
private |
◆ m_onlineDbFile
std::string MuonCalib::CscCalcPed::m_onlineDbFile |
|
private |
filename for file with online database information
Definition at line 100 of file CscCalcPed.h.
◆ m_onlineTHoldBreaches
◆ m_onlineThresholdFailureCount
std::vector<int> MuonCalib::CscCalcPed::m_onlineThresholdFailureCount |
|
private |
◆ m_onlineThresholds
std::vector<int> MuonCalib::CscCalcPed::m_onlineThresholds |
|
private |
◆ m_outputFileName
std::string MuonCalib::CscCalcPed::m_outputFileName |
|
private |
Parameters input through joboptions.
Definition at line 90 of file CscCalcPed.h.
◆ m_peds
◆ m_readKey
◆ m_rmses
◆ m_sampHists
◆ m_thresholdMultiplier
float MuonCalib::CscCalcPed::m_thresholdMultiplier |
|
private |
◆ m_titlePostfix
std::string MuonCalib::CscCalcPed::m_titlePostfix |
|
private |
◆ m_titlePrefix
std::string MuonCalib::CscCalcPed::m_titlePrefix |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
void onlineToOfflineHashId(const unsigned int &onlineId, unsigned int &hashId) const
constexpr uint8_t stationPhi
station Phi 1 to 8
Const iterator class for DataVector/DataList.
Scalar phi() const
phi method
DataVector< TH1I > * m_ampHists
ToolHandle< Muon::ICSC_RDO_Decoder > m_cscRdoDecoderTool
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
float m_thresholdMultiplier
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
SG::ReadCondHandleKey< CscCondDbData > m_readKey
size_t size() const
Duplicate of fullSize for backwards compatability.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
unsigned int m_ampHistNumBins
StatusCode fillBitHist(TH1I *bitHist, const uint16_t &val, TH2F *bitProds)
StatusCode calculateParameters()
Finalize functions.
std::vector< size_t > vec
#define ATH_MSG_VERBOSE(x)
std::vector< int > m_onlineThresholds
const unsigned int m_numBits
SmartIF< IChronoStatSvc > m_chronoSvc
DataVector< TH2F > * m_bitProds
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
StatusCode collectEventInfo()
event loop functions
virtual void setOwner(IDataHandleHolder *o)=0
std::string m_outputFileName
Parameters input through joboptions.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
(Non-const) Iterator class for DataVector/DataList.
CscCalibResultCollection * m_f001s
::StatusCode StatusCode
StatusCode definition for legacy code.
DataVector< TH1F > * m_bitCorrelation
double chi2(TH1 *h0, TH1 *h1)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
unsigned int m_ampHistLowBound
std::string m_titlePrefix
CscCalibResultCollection * m_noises
std::string m_onlineDbFile
filename for file with online database information
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::string m_titlePostfix
CscCalibResultCollection * m_rmses
void resize(size_type sz)
Resizes the collection to the specified number of elements.
CscCalibResultCollection * m_onlineTHoldBreaches
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
unsigned int m_maxStripHash
Internally global variables.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DataVector< DataVector< TH1I > > * m_sampHists
StatusCode writeCalibrationFile()
DataObjIDColl m_extendedExtraObjects
std::string getString() const
Provide a string form of the identifier - hexadecimal.
#define ATH_MSG_WARNING(x)
This container provides access to collections of CSC RDOs and a mechanism for recording them.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int m_expectedChamberLayer
unsigned int m_ampHistHighBound
AthAlgorithm()
Default constructor:
void outputParameter3(const CscCalibResultCollection &results, std::ofstream &out)
DataVector< TH2F > * makeBitCorrelation()
constexpr uint8_t stationEta
1 to 3
std::string m_calOutputVersion
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
CscCalibResultCollection * m_peds
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
DataVector< TH1I > * m_bitHists
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Services and tools.
StatusCode storeGateRecord()
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
std::vector< int > m_onlineThresholdFailureCount