 |
ATLAS Offline Software
|
#include <MdtCalibDbAlg.h>
|
virtual | ~MdtCalibDbAlg ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | execute (const EventContext &ctx) const override |
|
virtual bool | isReEntrant () const override |
|
| AthReentrantAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor with parameters: More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
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 |
|
|
StatusCode | parseRtPayload (const nlohmann::json &rtBlob, MuonCalib::MdtCalibDataContainer &outContainer) const |
|
StatusCode | parseRtPayload (TTree &rtTree, MuonCalib::MdtCalibDataContainer &outContainer) const |
| Reads a r-t ROOT tree and stores its content in the calibration constant container. More...
|
|
MuonCalib::IRtRelationPtr | makeRt (const std::string &rtType, const std::vector< double > &pars) const |
| Creates a new rt function from the typeName & the list of parameters. More...
|
|
MuonCalib::ITrRelationPtr | makeTr (const std::string &trType, const std::vector< double > &pars) const |
| Creates a new tr function from the typeName & the list of parameters. More...
|
|
MuonCalib::IRtResolutionPtr | makeReso (const std::string &resoType, const std::vector< double > &pars, MuonCalib::IRtRelationPtr rt) const |
| Creates a new resoltuion function from the typeName & the list of parameters. More...
|
|
StatusCode | parseT0Payload (const nlohmann::json &t0Blob, MuonCalib::MdtCalibDataContainer &outContainer) const |
| Trnaslates a t0 - JSON payload into transient memory. More...
|
|
StatusCode | parseT0Payload (TTree &t0Tree, MuonCalib::MdtCalibDataContainer &outContainer) const |
| Translates a T0 TTree payload into transient memory. More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
|
SG::WriteCondHandleKey< MuonCalib::MdtCalibDataContainer > | m_writeKey |
|
Gaudi::Property< std::string > | m_rtJSON {this, "RtJSON", ""} |
| External Rt & T0 JSON files. More...
|
|
Gaudi::Property< std::string > | m_t0JSON {this, "TubeT0JSON", ""} |
|
Gaudi::Property< std::string > | m_rtRootFile |
|
Gaudi::Property< std::string > | m_t0RootFile |
|
Gaudi::Property< std::string > | m_rtTreeName {this, "RtTreeName", "RtCalibConstants"} |
|
Gaudi::Property< std::string > | m_t0TreeName {this, "T0TreeName", "T0CalibConstants"} |
|
SG::ReadCondHandleKey< CondAttrListCollection > | m_readKeyRt {this, "ReadKeyRt", "/MDT/RTJSON", "DB folder containing the RT calibrations"} |
|
SG::ReadCondHandleKey< CondAttrListCollection > | m_readKeyTube {this, "ReadKeyTube", "/MDT/T0JSON", "DB folder containing the tube constants"} |
|
Gaudi::Property< std::string > | m_dbPayloadType {this, "dbPayloadType","TTree", "specify the format of the payload in the database. Can be TTree or JSON"} |
|
Gaudi::Property< double > | m_prop_beta {this, "PropagationSpeedBeta", 1., "Speed of the signal propagation"} |
|
Gaudi::Property< unsigned > | m_t0CalibPrec {this, "T0CalibPrecision", 4} |
| Precision cut off to treat 2 t0 constants as equivalent. More...
|
|
Gaudi::Property< bool > | m_create_b_field_function |
|
Gaudi::Property< bool > | m_createSlewingFunction |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
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 |
|
◆ CorrectionPtr
◆ RtRelationPtr
◆ StoreGateSvc_t
◆ TubeContainerPtr
◆ ~MdtCalibDbAlg()
virtual MuonCalibR4::MdtCalibDbAlg::~MdtCalibDbAlg |
( |
| ) |
|
|
virtualdefault |
◆ AthReentrantAlgorithm()
AthReentrantAlgorithm::AthReentrantAlgorithm |
Constructor with parameters:
Definition at line 90 of file AthReentrantAlgorithm.cxx.
30 std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
32 std::move (m_updateDataHandles));
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ 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);
◆ 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.
◆ 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.
◆ 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 MdtCalibDbAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Load the t0 blob
Parse the constants from the database
Definition at line 93 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
96 if(writeHandle.isValid()) {
97 ATH_MSG_DEBUG(
"CondHandle " << writeHandle.fullKey() <<
" is already valid.");
98 return StatusCode::SUCCESS;
101 auto writeCdo = std::make_unique<MdtCalibDataContainer>(
m_idHelperSvc.get(), RegionGranularity::OnePerMultiLayer);
109 writeHandle.addDependency(readHandle);
111 itr != readHandle->end(); ++itr) {
115 return StatusCode::FAILURE;
121 std::unique_ptr<TTree>
tree;
124 return StatusCode::FAILURE;
132 return StatusCode::FAILURE;
138 return StatusCode::FAILURE;
146 return StatusCode::FAILURE;
148 TTree*
tree{
nullptr};
152 return StatusCode::FAILURE;
155 }
else if (!
m_rtJSON.value().empty()) {
159 return StatusCode::FAILURE;
168 writeHandle.addDependency(readHandle);
170 itr != readHandle->end(); ++itr) {
174 return StatusCode::FAILURE;
180 std::unique_ptr<TTree>
tree;
183 return StatusCode::FAILURE;
191 return StatusCode::FAILURE;
197 return StatusCode::FAILURE;
205 return StatusCode::FAILURE;
207 TTree*
tree{
nullptr};
211 return StatusCode::FAILURE;
218 return StatusCode::FAILURE;
225 ATH_CHECK(writeHandle.record(std::move(writeCdo)));
227 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 & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ initialize()
StatusCode MdtCalibDbAlg::initialize |
( |
| ) |
|
|
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.
◆ isClonable()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, InDet::SiSPGNNTrackMaker, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ isReEntrant()
virtual bool MuonCalibR4::MdtCalibDbAlg::isReEntrant |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ makeReso()
Creates a new resoltuion function from the typeName & the list of parameters.
- Parameters
-
trType | Tr-relation type to create |
pars | Parameter vector to parse to the Tr-relation |
rt | Point to the rt relation created before. |
Definition at line 319 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
322 if (resoType ==
"RtResolutionLookUp") {
323 rtReso = std::make_unique<RtResolutionLookUp>(resoParams);
324 }
else if (resoType ==
"RtResolutionChebyshev") {
325 rtReso = std::make_unique<RtResolutionChebyshev>(resoParams);
326 }
else if (resoType ==
"RadiusResolutionChebyshev") {
327 rtReso = std::make_unique<RadiusResolutionChebyshev>(resoParams, rt);
329 ATH_MSG_FATAL(
"The rt resolution type <"<<resoType<<
"> is not yet supported.");
◆ makeRt()
Creates a new rt function from the typeName & the list of parameters.
- Parameters
-
rtType | Rt-relation type to create |
pars | Parameter vector to parse to the Rt-relation |
Definition at line 285 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
287 if (rtType ==
"RtRelationLookUp") {
288 rtRel = std::make_unique<RtRelationLookUp>(rtParams);
289 }
else if (rtType ==
"RtLegendre"){
290 rtRel = std::make_unique<RtLegendre>(rtParams);
291 }
else if (rtType ==
"RtChebyshev") {
292 rtRel = std::make_unique<RtChebyshev>(rtParams);
295 ATH_MSG_VERBOSE(
"Fetched new rt-relation <"<<rtType<<
"> valid for drift times ranging from "
296 <<rtRel->tLower()<<
"-"<<rtRel->tUpper()<<
".");
298 ATH_MSG_FATAL(
"The rt-relation function type <"<<rtType<<
"> is not yet supported.");
◆ makeTr()
Creates a new tr function from the typeName & the list of parameters.
- Parameters
-
trType | Tr-relation type to create |
pars | Parameter vector to parse to the Tr-relation |
Definition at line 303 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
305 if (trType ==
"TrChebyshev") {
306 trRel = std::make_unique<TrChebyshev>(trParams);
307 }
else if(trType ==
"TrLegendre") {
308 trRel = std::make_unique<TrLegendre>(trParams);
311 ATH_MSG_VERBOSE(
"Fetched new tr-relation <"<<trType<<
"> valid for drift radii ranging from "
312 <<trRel->minRadius()<<
"-"<<trRel->maxRadius()<<
".");
314 ATH_MSG_FATAL(
"The rt-relation function type <"<<trType<<
"> is not yet supported.");
◆ 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.
◆ parseRtPayload() [1/2]
Loop over the R-T blob payload
Fetch the associated detector elements
Defining constants of the rt-relation
Defining constants of the rt-resolution
Load the rt constants to the assigned detector elements
Definition at line 333 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
338 for (
auto&
payload : rtBlob.items()) {
339 std::vector<Identifier> detIds{};
343 for (
auto& chambList : calibConstants[
"chambers"].
items()) {
345 const std::string station = chambPayload[
"station"];
346 const int eta = chambPayload[
"eta"];
347 const int phi = chambPayload[
"phi"];
348 const int ml = chambPayload[
"ml"];
349 const Identifier mlId{idHelper.channelID(station, eta, phi, ml, 1, 1)};
350 detIds.emplace_back(mlId);
358 return StatusCode::FAILURE;
360 if (calibConstants.find(
"trRelation") != calibConstants.end()) {
362 trRel =
makeTr(trPayload[
"type"], trPayload[
"params"]);
364 return StatusCode::FAILURE;
371 return StatusCode::FAILURE;
374 std::make_unique<MdtRtRelation>(std::move(rtRel), std::move(rtReso), std::move(trRel));
380 outContainer.
getCalibData(mlId, msgStream())->rtRelation) {
383 if (!outContainer.
storeData(mlId, mdtRel, msgStream())) {
384 return StatusCode::FAILURE;
388 return StatusCode::SUCCESS;
◆ parseRtPayload() [2/2]
Reads a r-t ROOT tree and stores its content in the calibration constant container.
- Parameters
-
rtTree | TTree to read the data from |
outContainer | Output container append the Rt relations |
Definition at line 231 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
235 std::string* rtType{
nullptr}, *trType{
nullptr}, *resoType{
nullptr};
237 std::vector<double>* rtParams{
nullptr}, *trParams{
nullptr}, *resoParams{
nullptr};
254 for (Long64_t
e = 0;
e< rtTree.GetEntries(); ++
e) {
257 std::vector<Identifier> detIds{};
261 detIds.emplace_back(detElId);
265 return StatusCode::FAILURE;
268 if ((*trType).size() && !trRel) {
269 return StatusCode::FAILURE;
273 return StatusCode::FAILURE;
276 std::make_unique<MdtRtRelation>(std::move(rtRel), std::move(rtReso), std::move(trRel));
278 if (!outContainer.
storeData(detId, mdtRel, msgStream())){
279 return StatusCode::FAILURE;
283 return StatusCode::SUCCESS;
◆ parseT0Payload() [1/2]
Trnaslates a t0 - JSON payload into transient memory.
- Parameters
-
t0Blob | JSON payload to be translated |
outContainer | Container into which the t0 constants are stored |
Loop over the R-T blob payload
Definition at line 448 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
456 for (
auto& dbEntry : t0Blob.items()) {
458 const std::string station =
payload[
"station"];
464 ATH_MSG_FATAL(
"Failed to create a valid identifier from "<<station<<
", "<<eta<<
", "<<phi);
465 return StatusCode::FAILURE;
471 SingleTubeCalibPtr calibConstant{std::make_unique<SingleTubeCalib>()};
472 calibConstant->t0 = calibPayload[
"t0"];
473 calibConstant->adcCal = calibPayload[
"adc"];
474 calibConstant->statusCode = calibPayload[
"code"];
475 calibConstant = *t0Constants.insert(calibConstant).first;
476 for (
auto& tubeEntry : calibPayload[
"tubes"].
items()) {
478 const int ml = tubePayload[
"ml"];
479 const int tubeLayer = tubePayload[
"tl"];
480 const std::string tubeStr = tubePayload[
"no"];
482 std::vector<int> tubes{};
483 for (
const std::string& token: tubeTokens) {
484 if (token.find(
"-") == std::string::npos) {
488 if (rangeToken.size() != 2) {
490 return StatusCode::FAILURE;
493 if (tubeLow >= tubeHigh){
495 <<
". The lower end must be strictly smaller than the upper one");
496 return StatusCode::FAILURE;
499 tubes.push_back(
tube);
503 for (
const int tube : tubes) {
507 <<
", layer: "<<tubeLayer<<
", tube: "<<
tube);
508 return StatusCode::FAILURE;
510 if (!calibChannels->
setCalib(calibConstant, tubeId, msgStream())){
511 return StatusCode::FAILURE;
516 if (!outContainer.
storeData(detId, std::move(calibChannels), msgStream())) {
517 return StatusCode::FAILURE;
521 return StatusCode::SUCCESS;
◆ parseT0Payload() [2/2]
Translates a T0 TTree payload into transient memory.
- Parameters
-
t0Tree | Reference to the TTree to translate |
outContainer | Container into which the t0 constants are stored |
Definition at line 391 of file MuonPhaseII/MuonConditions/MuonCondAlgR4/src/MdtCalibDbAlg.cxx.
397 float t0{0.f},
adc{0.f};
398 std::vector<unsigned short>*
multiLayer{
nullptr}, *tubeLayer{
nullptr}, *
tube{
nullptr};
415 for (Long64_t
e = 0 ;
e <t0Tree.GetEntries(); ++
e) {
422 return StatusCode::FAILURE;
425 SingleTubeCalibPtr t0Calib = std::make_unique<SingleTubeCalib>();
426 t0Calib->adcCal =
adc;
428 t0Calib->statusCode =
code;
429 t0Calib = (*t0Constants.insert(t0Calib).first);
436 return StatusCode::FAILURE;
438 if (!calibChannels->
setCalib(t0Calib, tubeId, msgStream())) {
439 return StatusCode::FAILURE;
442 if (!outContainer.
storeData(detId, calibChannels, msgStream())){
443 return StatusCode::FAILURE;
446 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ 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()
◆ m_create_b_field_function
Gaudi::Property<bool> MuonCalibR4::MdtCalibDbAlg::m_create_b_field_function |
|
private |
◆ m_createSlewingFunction
Gaudi::Property<bool> MuonCalibR4::MdtCalibDbAlg::m_createSlewingFunction |
|
private |
◆ m_dbPayloadType
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_dbPayloadType {this, "dbPayloadType","TTree", "specify the format of the payload in the database. Can be TTree or JSON"} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_idHelperSvc
◆ m_prop_beta
Gaudi::Property<double> MuonCalibR4::MdtCalibDbAlg::m_prop_beta {this, "PropagationSpeedBeta", 1., "Speed of the signal propagation"} |
|
private |
◆ m_readKeyRt
◆ m_readKeyTube
◆ m_rtJSON
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_rtJSON {this, "RtJSON", ""} |
|
private |
◆ m_rtRootFile
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_rtRootFile |
|
private |
◆ m_rtTreeName
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_rtTreeName {this, "RtTreeName", "RtCalibConstants"} |
|
private |
◆ m_t0CalibPrec
Gaudi::Property<unsigned> MuonCalibR4::MdtCalibDbAlg::m_t0CalibPrec {this, "T0CalibPrecision", 4} |
|
private |
◆ m_t0JSON
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_t0JSON {this, "TubeT0JSON", ""} |
|
private |
◆ m_t0RootFile
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_t0RootFile |
|
private |
◆ m_t0TreeName
Gaudi::Property<std::string> MuonCalibR4::MdtCalibDbAlg::m_t0TreeName {this, "T0TreeName", "T0CalibConstants"} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_writeKey
The documentation for this class was generated from the following files:
char data[hepevt_bytes_allocation_ATLAS]
constexpr uint8_t stationPhi
station Phi 1 to 8
Gaudi::Property< std::string > m_rtTreeName
StatusCode parseT0Payload(const nlohmann::json &t0Blob, MuonCalib::MdtCalibDataContainer &outContainer) const
Trnaslates a t0 - JSON payload into transient memory.
StatusCode parseRtPayload(const nlohmann::json &rtBlob, MuonCalib::MdtCalibDataContainer &outContainer) const
Gaudi::Property< std::string > m_t0TreeName
Gaudi::Property< std::string > m_t0RootFile
bool storeData(const Identifier &mlID, CorrectionPtr corrFuncSet, MsgStream &msg)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::vector< std::string > tokenize(const std::string &the_str, std::string_view delimiters)
Splits the string into smaller substrings.
Helper struct to group Mdt calibration constants which are equivalent within the target precision.
std::vector< ALFA_RawData_p1 > t0
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyTube
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
bool empty() const
Test if the key is blank.
Gaudi::Property< std::string > m_t0JSON
virtual void setOwner(IDataHandleHolder *o)=0
Gaudi::Property< std::string > m_dbPayloadType
MuonCalib::IRtResolutionPtr makeReso(const std::string &resoType, const std::vector< double > &pars, MuonCalib::IRtRelationPtr rt) const
Creates a new resoltuion function from the typeName & the list of parameters.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
bool readBlobAsString(const coral::Blob &, std::string &)
::StatusCode StatusCode
StatusCode definition for legacy code.
static EventIDRange infiniteRunLB()
Produces an EventIDRange that is infinite in RunLumi and invalid in Time.
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyRt
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
virtual StatusCode sysInitialize() override
Override sysInitialize.
Gaudi::Property< std::string > m_rtRootFile
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode initialize(bool used=true)
const MdtFullCalibData * getCalibData(const Identifier &measId, MsgStream &msg) const
Returns the calibration data associated with this station
bool setCalib(SingleTubeCalibPtr val, const Identifier &tubeId, MsgStream &msg)
set the calibration constants of a single tube
Gaudi::Property< double > m_prop_beta
MuonCalib::IRtRelationPtr makeRt(const std::string &rtType, const std::vector< double > &pars) const
Creates a new rt function from the typeName & the list of parameters.
#define ATH_MSG_WARNING(x)
ChanAttrListMap::const_iterator const_iterator
SG::WriteCondHandleKey< MuonCalib::MdtCalibDataContainer > m_writeKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
MuonCalib::ITrRelationPtr makeTr(const std::string &trType, const std::vector< double > &pars) const
Creates a new tr function from the typeName & the list of parameters.
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
bool hasDataForChannel(const Identifier &measId, MsgStream &msg) const
Checks whether a calibration data object is already present.
#define SET_BRANCHADDRESS(tree, branchName)
constexpr uint8_t stationEta
1 to 3
constexpr int pow(int base, int exp) noexcept
Gaudi::Property< std::string > m_rtJSON
External Rt & T0 JSON files.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool readBlobAsTTree(const coral::Blob &blob, std::unique_ptr< TTree > &tree, const std::string_view name="tree")
Interprets the coral::Blob as a TTree instance.
Gaudi::Property< unsigned > m_t0CalibPrec
Precision cut off to treat 2 t0 constants as equivalent.