 |
ATLAS Offline Software
|
#include <TileCisDefaultCalibTool.h>
|
| | TileCisDefaultCalibTool (const std::string &type, const std::string &name, const IInterface *pParent) |
| |
| virtual | ~TileCisDefaultCalibTool () |
| |
| virtual StatusCode | initialize () override |
| |
| virtual StatusCode | initNtuple (int runNumber, int runType, TFile *rootfile) override |
| |
| virtual StatusCode | execute () override |
| |
| virtual StatusCode | finalizeCalculations () override |
| |
| virtual StatusCode | writeNtuple (int runNumber, int runType, TFile *rootfile) override |
| |
| virtual StatusCode | finalize () override |
| |
| 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 | sysInitialize () override |
| | Perform system initialization for an algorithm. 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, V, H > &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 |
| |
|
| enum | QualityType {
includedBit = 0,
calibratedBit = 1,
rangeBit = 2,
probBit = 3,
noiseBit = 4,
injRMSBit = 5,
digiErrorBit = 6,
probChi2Bit = 7,
edgeSamp = 8,
nextToEdgeSamp = 9,
stuckbitBit = 10
} |
| |
| typedef std::map< uint32_t, int > | TDACIntMap |
| |
| typedef std::map< uint32_t, double > | TDACDoubleMap |
| |
| typedef std::map< uint32_t, double >::iterator | TDACDoubleMapIter |
| |
| typedef std::map< HWIdentifier, TDACIntMap * > | TAdcIntMap |
| |
| typedef std::map< HWIdentifier, TDACDoubleMap * > | TAdcDoubleMap |
| |
| typedef std::map< HWIdentifier, TDACDoubleMap * >::iterator | TAdcDoubleMapIter |
| |
| using | Tile = TileCalibUtils |
| |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
| |
|
| int | chanIsConnected (int ros, int chan) |
| |
| void | setBit (QualityType qb, int &bitflag) |
| |
| void | unsetBit (QualityType qb, int &bitflag) |
| |
| TString | arrayString (int ros, int drawer, int chan, int gain) |
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
| |
|
| TAdcIntMap | m_NEvtMap |
| |
| TAdcIntMap | m_NDigitalErrorsMap |
| |
| TAdcDoubleMap | m_MeanMap |
| |
| TAdcDoubleMap | m_MeanSqMap |
| |
| const TileHWID * | m_tileHWID |
| |
| const TileCablingService * | m_cabling |
| |
| ServiceHandle< TileCablingSvc > | m_cablingSvc |
| |
| ToolHandle< ITileStuckBitsProbsTool > | m_stuckBitsProbs |
| |
| SG::ReadHandleKey< TileDQstatus > | m_dqStatusKey |
| |
| SG::ReadHandleKey< TileDigitsContainer > | m_digitsContainerKey |
| |
| SG::ReadHandleKey< TileRawChannelContainer > | m_rawChannelContainerKey |
| |
| std::string | m_rawChannelContainerName |
| |
| std::string | m_ntupleID |
| |
| std::string | m_DigitsContainerName |
| |
| bool | m_useSmallCap |
| |
| bool | m_removePed |
| |
| double | m_maxPed |
| |
| double | m_phaseMin |
| |
| double | m_phaseMax |
| |
| double | m_chargeMaxHi |
| |
| double | m_chargeMinHi |
| |
| double | m_chargeMaxLo |
| |
| double | m_chargeMinLo |
| |
| double | m_linfitMaxHi |
| |
| double | m_linfitMinHi |
| |
| double | m_linfitMaxLo |
| |
| double | m_linfitMinLo |
| |
| double | m_linfitMaxHiDemo |
| |
| double | m_linfitMinHiDemo |
| |
| double | m_linfitMaxLoDemo |
| |
| double | m_linfitMinLoDemo |
| |
| bool | m_doSampleChecking |
| |
| float(* | m_calib )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_qflag )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_nDAC )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_nDigitalErrors )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| float(* | m_chi2 )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_edgeSample )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_nextToEdgeSample )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| int(* | m_sampleBit )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN][NBITS] |
| |
| unsigned short(* | m_bitStatus )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN][NBSTATUS] |
| |
| int(* | m_numSamp )[Tile::MAX_DRAWER][Tile::MAX_CHAN][Tile::MAX_GAIN] |
| |
| TMap * | m_scanMap |
| |
| TMap * | m_scanMapRMS |
| |
| double | m_defaultCalib [4] = {0., 0., 0., 0.} |
| |
| double | m_dac2Charge [4] = {0., 0., 0., 0.} |
| |
| double | m_chargeMin [4] = {0., 0., 0., 0.} |
| |
| double | m_chargeMax [4] = {0., 0., 0., 0.} |
| |
| double | m_linfitMin [4] = {0., 0., 0., 0.} |
| |
| double | m_linfitMax [4] = {0., 0., 0., 0.} |
| |
| double | m_maxAmp [4] = {0., 0., 0., 0.} |
| |
| std::vector< int > | m_fragIDsDemonstrators |
| |
| std::string | m_infoName |
| |
| const TileInfo * | m_tileInfo |
| |
| StoreGateSvc_t | m_evtStore |
| | Pointer to StoreGate (event store by default) More...
|
| |
| StoreGateSvc_t | m_detStore |
| | Pointer to StoreGate (detector store by default) More...
|
| |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| |
| bool | m_varHandleArraysDeclared |
| |
Definition at line 41 of file TileCisDefaultCalibTool.h.
◆ StoreGateSvc_t
◆ TAdcDoubleMap
◆ TAdcDoubleMapIter
◆ TAdcIntMap
◆ TDACDoubleMap
◆ TDACDoubleMapIter
◆ TDACIntMap
◆ Tile
◆ QualityType
| Enumerator |
|---|
| includedBit | |
| calibratedBit | |
| rangeBit | |
| probBit | |
| noiseBit | |
| injRMSBit | |
| digiErrorBit | |
| probChi2Bit | |
| edgeSamp | |
| nextToEdgeSamp | |
| stuckbitBit | |
Definition at line 59 of file TileCisDefaultCalibTool.h.
◆ TileCisDefaultCalibTool()
| TileCisDefaultCalibTool::TileCisDefaultCalibTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
pParent |
|
) |
| |
◆ ~TileCisDefaultCalibTool()
| TileCisDefaultCalibTool::~TileCisDefaultCalibTool |
( |
| ) |
|
|
virtual |
◆ arrayString()
| TString TileCisDefaultCalibTool::arrayString |
( |
int |
ros, |
|
|
int |
drawer, |
|
|
int |
chan, |
|
|
int |
gain |
|
) |
| |
|
inlineprivate |
◆ chanIsConnected()
| int TileCisDefaultCalibTool::chanIsConnected |
( |
int |
ros, |
|
|
int |
chan |
|
) |
| |
|
inlineprivate |
◆ 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 TileCisDefaultCalibTool::execute |
( |
| ) |
|
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 191 of file TileCisDefaultCalibTool.cxx.
196 const EventContext& ctx = Gaudi::Hive::currentContext();
204 int cap_ind = (cap > 10) ? 0 : 1;
206 for (
int i=0;
i<4; ++
i)
216 if (cispar[6] == 120) {
232 for (; itColl != itCollEnd; ++itColl) {
234 int fragId = (*itColl)->identify();
236 int gain_offset = (demonstrator) ? 2 : 0;
237 double charge = chargeAll[cap_ind+gain_offset];
240 it = (*itColl)->begin();
241 itEnd = (*itColl)->end();
243 for (;
it != itEnd; ++
it) {
265 if (NEvtDacMap ==
nullptr) {
275 double amp = (*it)->amplitude();
283 <<
" channel: " <<
chan
285 <<
" due to DQ error found." );
287 (*NDigitalErrorsDacMap)[
dac] += 1;
293 (*NEvtDacMap)[
dac] += 1;
294 (*MeanDacMap)[
dac] += amp;
295 (*MeanSqDacMap)[
dac] += amp*amp;
314 for (; digItColl != digItCollEnd; ++digItColl) {
319 if (digIt != digItEnd) {
321 int fragId = (*digItColl)->identify();
323 int gain_offset = (demonstrator) ? 2 : 0;
324 double charge = chargeAll[cap_ind+gain_offset];
331 int numSamples = (*digIt)->NtimeSamples();
332 if (numSamples != 7) {
337 for (; digIt != digItEnd; ++digIt) {
339 adc_id = (*digIt)->adc_HWID();
343 std::vector<float> theDigits = (*digIt)->samples();
352 for(
unsigned int sampNum = 0; sampNum < theDigits.size(); sampNum++) {
357 int quotient = theDigits[sampNum];
361 if((quotient % 2) == 1) {
366 quotient = quotient / 2;
373 std::vector<float> theDigits = (*digIt)->samples();
374 float maxSampVal = -1.;
377 for (
unsigned int sampNum = 0; sampNum < theDigits.size(); sampNum++) {
378 if (theDigits[sampNum] > maxSampVal) {
379 maxSampVal = theDigits[sampNum];
380 maxSampNum = sampNum + 1;
384 if (maxSampNum == 1 || maxSampNum == 7) {
386 }
else if (maxSampNum == 2 || maxSampNum == 6) {
398 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
◆ finalize()
| StatusCode TileCisDefaultCalibTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ finalizeCalculations()
| StatusCode TileCisDefaultCalibTool::finalizeCalculations |
( |
| ) |
|
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 401 of file TileCisDefaultCalibTool.cxx.
409 meanCalib[0] = 1.295;
410 meanCalib[1] = 81.454;
412 meanCalib[2] = 1.26282;
413 meanCalib[3] = 40.9303;
432 int nevt, ndigerr = 0;
435 double maxPointInFitRange;
438 TF1 *fslope =
new TF1(
"fslope",
"[0]*x", 0, 1000);
448 for (; adcIter != adcIterE; ++adcIter) {
449 hwid = (adcIter)->
first;
450 MeanDacMap = (adcIter)->
second;
462 int gain_offset = (demonstrator) ? 2 : 0;
463 int gain_ind =
gain + gain_offset;
466 double prevMean = 0.0, deltaMean = 0.0, averSlope = 0.0;
467 double prevCharge = 0.0, deltaCharge = 0.0, deltaChargeMin = 999999.;
468 double prevSlope = 0.0, slope = 0.0, maxGoodAmp=0.0, minGoodAmp = 999999.;
469 double maxGoodCharge =
m_linfitMax[gain_ind], minGoodCharge = 999999.;
470 double maxCharge = 0.0, minCharge = 999999., maxAmp = 0.0, minAmp = 999999.;
471 bool signalInRange =
true;
475 npt = MeanDacMap->size();
477 gr =
new TGraphErrors(npt);
478 grrms =
new TGraphErrors(npt);
497 maxPointInFitRange = 0.0;
499 for (; dacIter != dacIterE; ++dacIter) {
502 meansq = (*MeanSqDacMap)[
dac];
503 nevt = (*NEvtDacMap)[
dac];
504 ndigerr = (*NDigitalErrorsDacMap)[
dac];
508 meansq = meansq / nevt;
510 rms = (meansq <= mean2) ? 0. : sqrt(meansq - mean2);
511 err = sqrt(
rms *
rms / nevt + 0.5 * 0.5);
523 deltaMean =
mean - prevMean;
524 deltaCharge =
charge - prevCharge;
525 if (deltaCharge != 0) {
526 slope = deltaMean / deltaCharge;
527 if (deltaCharge<deltaChargeMin) deltaChargeMin = deltaCharge;
533 signalInRange =
false;
539 <<
" => Ignoring this point ");
541 if (prevSlope != 0) {
542 double R = std::abs(slope/prevSlope);
543 double R1 = (nptGood>1) ? (slope / averSlope) : 1.;
544 if (
R<0.025 || (nptGood>2 && R1>2.5 &&
R>2.5) || (nptGood==2 && R1>4.1) ) {
551 <<
" dC " << deltaCharge
552 <<
" dA " << deltaMean
553 <<
" expected dA " << prevSlope*deltaCharge
554 <<
" aver dA " << averSlope*deltaCharge
556 <<
" => Removing this point ");
563 if (
mean>maxGoodAmp) maxGoodAmp =
mean;
564 if (
mean<minGoodAmp) minGoodAmp =
mean;
572 averSlope += (slope - averSlope) / nptGood;
582 if (
rms < 0.01) badPts++;
583 if (
mean > maxPointInFitRange) maxPointInFitRange =
mean;
584 if (
rms > maxRMS) maxRMS =
rms;
589 if (prevSlope !=0 ) {
590 double R = slope / prevSlope;
591 if (
R>0.4 &&
R<2.5) {
594 prevSlope = (prevSlope + slope)/2.;
598 if (
R>0.4 &&
R<2.5) {
602 }
else if (nptGood < 3 && signalInRange && charge >=
m_linfitMax[gain_ind] &&
mean <
m_maxAmp[gain_ind] && prevSlope != 0) {
603 double R = slope/prevSlope;
604 if (
R>0.9 &&
R<1.1) {
613 gr->SetPointError(
pt, 0.0,
err);
616 grrms->SetPointError(
pt, 0.0,
rms);
622 for (
int i=npt-1;
i>=
pt; --
i)
625 slope = (prevMean > 0 && prevCharge > 0) ? prevMean/prevCharge :
m_defaultCalib[gain_ind];
626 fslope->SetParameter(0, slope);
631 <<
" up to " << maxGoodCharge
632 <<
" pC; N good points " << nptGood);
635 if (deltaChargeMin>999.) deltaChargeMin = 0.1;
636 else deltaChargeMin *= 0.5;
637 gr->Fit(
"fslope",
"q",
"", minGoodCharge-deltaChargeMin, maxGoodCharge+deltaChargeMin);
641 <<
" minC " << minGoodCharge
642 <<
" maxC " << maxGoodCharge
643 <<
" deltaC " << deltaChargeMin*2
644 <<
" minA " << minGoodAmp
645 <<
" maxA " << maxGoodAmp
646 <<
" nptG " << nptGood
647 <<
" slope " << slope
648 <<
" fit " << fslope->GetParameter(0));
650 const char * bms[3] = {
"No good points to fit ",
651 "Only one point to fit ",
652 "Only two points to fit "};
653 const char * ems[3] = {
" => Put zero slope",
661 <<
" slope " << slope
662 <<
" fit " << fslope->GetParameter(0)
665 slope = (nptGood > 0) ? fslope->GetParameter(0) : 0.;
668 if (maxGoodCharge > minGoodCharge) {
669 averSlope = (maxGoodAmp-minGoodAmp)/(maxGoodCharge-minGoodCharge);
670 if (slope > 2.5 * averSlope) {
676 <<
" avslope " << averSlope
678 <<
" => Put zero slope");
681 }
else if (maxCharge > minCharge) {
682 averSlope = (maxAmp-minAmp)/(maxCharge-minCharge);
683 if (slope > 10. * averSlope) {
689 <<
" AVslope " << averSlope
691 <<
" => Put zero slope");
705 if (fslope->GetNDF() == 0)
711 if (TMath::Prob(fslope->GetChisquare(), fslope->GetNDF()) > 2.e-6) {
729 ratio = (slope / meanCalib[gain_ind]);
734 if (maxPointInFitRange > 600) {
795 return StatusCode::SUCCESS;
◆ initialize()
| StatusCode TileCisDefaultCalibTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ initNtuple()
| StatusCode TileCisDefaultCalibTool::initNtuple |
( |
int |
runNumber, |
|
|
int |
runType, |
|
|
TFile * |
rootfile |
|
) |
| |
|
overridevirtual |
◆ 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.
◆ interfaceID()
| static const InterfaceID& ITileCalibTool::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ 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.
◆ renounce()
◆ renounceArray()
◆ setBit()
| void TileCisDefaultCalibTool::setBit |
( |
QualityType |
qb, |
|
|
int & |
bitflag |
|
) |
| |
|
inlineprivate |
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ unsetBit()
| void TileCisDefaultCalibTool::unsetBit |
( |
QualityType |
qb, |
|
|
int & |
bitflag |
|
) |
| |
|
inlineprivate |
◆ updateVHKA()
◆ writeNtuple()
| StatusCode TileCisDefaultCalibTool::writeNtuple |
( |
int |
runNumber, |
|
|
int |
runType, |
|
|
TFile * |
rootfile |
|
) |
| |
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 798 of file TileCisDefaultCalibTool.cxx.
802 TTree *
t =
new TTree(
m_ntupleID.c_str(),
"TileCalib-Ntuple");
803 t->Branch(
"RunNumber", &
runNumber,
"runNo/I");
804 t->Branch(
"calib", *
m_calib,
"calib[5][64][48][2]/F");
805 t->Branch(
"qflag", *
m_qflag,
"qflag[5][64][48][2]/I");
806 t->Branch(
"nDAC", *
m_nDAC,
"nDAC[5][64][48][2]/I");
807 t->Branch(
"nDigitalErrors", *
m_nDigitalErrors,
"nDigitalErrors[5][64][48][2]/I");
808 t->Branch(
"chi2", *
m_chi2,
"chi2[5][64][48][2]/F");
809 t->Branch(
"BitStatus", *
m_bitStatus,
"BitStatus[5][64][48][2][4]/s");
813 ATH_MSG_WARNING(
"Impossible to get ITileStuckBitsProbsTool and stuck bits probabilities!");
824 m_scanMap->Write(
"cisScans", TObject::kSingleKey);
825 m_scanMapRMS->Write(
"cisScansRMS", TObject::kSingleKey);
827 return StatusCode::SUCCESS;
◆ m_bitStatus
◆ m_cabling
◆ m_cablingSvc
◆ m_calib
◆ m_chargeMax
| double TileCisDefaultCalibTool::m_chargeMax[4] = {0., 0., 0., 0.} |
|
private |
◆ m_chargeMaxHi
| double TileCisDefaultCalibTool::m_chargeMaxHi |
|
private |
◆ m_chargeMaxLo
| double TileCisDefaultCalibTool::m_chargeMaxLo |
|
private |
◆ m_chargeMin
| double TileCisDefaultCalibTool::m_chargeMin[4] = {0., 0., 0., 0.} |
|
private |
◆ m_chargeMinHi
| double TileCisDefaultCalibTool::m_chargeMinHi |
|
private |
◆ m_chargeMinLo
| double TileCisDefaultCalibTool::m_chargeMinLo |
|
private |
◆ m_chi2
◆ m_dac2Charge
| double TileCisDefaultCalibTool::m_dac2Charge[4] = {0., 0., 0., 0.} |
|
private |
◆ m_defaultCalib
| double TileCisDefaultCalibTool::m_defaultCalib[4] = {0., 0., 0., 0.} |
|
private |
◆ m_detStore
◆ m_digitsContainerKey
Initial value:{this,
"TileDigitsContainer", "TileDigitsCnt", "Tile digits container"}
Definition at line 98 of file TileCisDefaultCalibTool.h.
◆ m_DigitsContainerName
| std::string TileCisDefaultCalibTool::m_DigitsContainerName |
|
private |
◆ m_doSampleChecking
| bool TileCisDefaultCalibTool::m_doSampleChecking |
|
private |
◆ m_dqStatusKey
◆ m_edgeSample
◆ m_evtStore
◆ m_fragIDsDemonstrators
| std::vector<int> TileCisDefaultCalibTool::m_fragIDsDemonstrators |
|
private |
◆ m_infoName
| std::string TileCisDefaultCalibTool::m_infoName |
|
private |
◆ m_linfitMax
| double TileCisDefaultCalibTool::m_linfitMax[4] = {0., 0., 0., 0.} |
|
private |
◆ m_linfitMaxHi
| double TileCisDefaultCalibTool::m_linfitMaxHi |
|
private |
◆ m_linfitMaxHiDemo
| double TileCisDefaultCalibTool::m_linfitMaxHiDemo |
|
private |
◆ m_linfitMaxLo
| double TileCisDefaultCalibTool::m_linfitMaxLo |
|
private |
◆ m_linfitMaxLoDemo
| double TileCisDefaultCalibTool::m_linfitMaxLoDemo |
|
private |
◆ m_linfitMin
| double TileCisDefaultCalibTool::m_linfitMin[4] = {0., 0., 0., 0.} |
|
private |
◆ m_linfitMinHi
| double TileCisDefaultCalibTool::m_linfitMinHi |
|
private |
◆ m_linfitMinHiDemo
| double TileCisDefaultCalibTool::m_linfitMinHiDemo |
|
private |
◆ m_linfitMinLo
| double TileCisDefaultCalibTool::m_linfitMinLo |
|
private |
◆ m_linfitMinLoDemo
| double TileCisDefaultCalibTool::m_linfitMinLoDemo |
|
private |
◆ m_maxAmp
| double TileCisDefaultCalibTool::m_maxAmp[4] = {0., 0., 0., 0.} |
|
private |
◆ m_maxPed
| double TileCisDefaultCalibTool::m_maxPed |
|
private |
◆ m_MeanMap
◆ m_MeanSqMap
◆ m_nDAC
◆ m_nDigitalErrors
◆ m_NDigitalErrorsMap
| TAdcIntMap TileCisDefaultCalibTool::m_NDigitalErrorsMap |
|
private |
◆ m_NEvtMap
◆ m_nextToEdgeSample
◆ m_ntupleID
| std::string TileCisDefaultCalibTool::m_ntupleID |
|
private |
◆ m_numSamp
◆ m_phaseMax
| double TileCisDefaultCalibTool::m_phaseMax |
|
private |
◆ m_phaseMin
| double TileCisDefaultCalibTool::m_phaseMin |
|
private |
◆ m_qflag
◆ m_rawChannelContainerKey
Initial value:{this,
"TileRawChannelContainer", "TileRawChannelFit", "Tile raw channel container"}
Definition at line 100 of file TileCisDefaultCalibTool.h.
◆ m_rawChannelContainerName
| std::string TileCisDefaultCalibTool::m_rawChannelContainerName |
|
private |
◆ m_removePed
| bool TileCisDefaultCalibTool::m_removePed |
|
private |
◆ m_sampleBit
◆ m_scanMap
| TMap* TileCisDefaultCalibTool::m_scanMap |
|
private |
◆ m_scanMapRMS
| TMap* TileCisDefaultCalibTool::m_scanMapRMS |
|
private |
◆ m_stuckBitsProbs
Initial value:{this,
"StuckBitsProbsTool","","Tile stuck bits probabilities tool"}
Definition at line 94 of file TileCisDefaultCalibTool.h.
◆ m_tileHWID
◆ m_tileInfo
◆ m_useSmallCap
| bool TileCisDefaultCalibTool::m_useSmallCap |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
Const iterator class for DataVector/DataList.
void mean(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="")
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
static int isChEmpty(int partition, int drawer, int ch)
True if channel is not fully implemented.
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
virtual void setOwner(IDataHandleHolder *o)=0
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Class that holds Data Quality fragment information and provides functions to extract the data quality...
int adc(const HWIdentifier &id) const
extract adc field from HW identifier
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
#define CHECK(...)
Evaluate an expression and check for errors.
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
static const unsigned int MAX_ROS
Number of ROSs
bool isAdcDQgood(int partition, int drawer, int ch, int gain) const
returns status of single ADC returns False if there are any errors
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
double charge(const T &p)
const uint32_t * cispar() const
CIS parameters.
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
static int channel2hole(int ros, int channel)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
static const unsigned int MAX_CHAN
Number of channels in drawer.
int ADCmax() const
Returns the maximum ADC output (10 bits --> 1023)
static const unsigned int MAX_GAIN
Number of gains per channel