Skip to content
Snippets Groups Projects
Commit 27f15ec1 authored by Johannes Junggeburth's avatar Johannes Junggeburth :dog2: Committed by Vakhtang Tsulaia
Browse files

Muon mdt measurement - Introduce prefix to avoid naming clash

Muon mdt measurement - Introduce prefix to avoid naming clash
parent f6bafd3e
No related branches found
No related tags found
No related merge requests found
...@@ -7,13 +7,31 @@ ...@@ -7,13 +7,31 @@
// Local include(s): // Local include(s):
#include "xAODMuonPrepData/versions/MdtDriftCircleAuxContainer_v1.h" #include "xAODMuonPrepData/versions/MdtDriftCircleAuxContainer_v1.h"
namespace {
static const std::string preFixStr{"MDT_"};
}
#define PRD_AUXVARIABLE(VAR) \
do { \
static const std::string varName =preFixStr+#VAR; \
static const auxid_t auxid = getAuxID(varName, VAR); \
regAuxVar(auxid, varName, VAR); \
} while (false);
namespace xAOD { namespace xAOD {
MdtDriftCircleAuxContainer_v1::MdtDriftCircleAuxContainer_v1() MdtDriftCircleAuxContainer_v1::MdtDriftCircleAuxContainer_v1()
: AuxContainerBase() { : AuxContainerBase() {
AUX_VARIABLE(tdc); /// Identifier variable hopefully unique
AUX_VARIABLE(adc); AUX_VARIABLE(identifier);
AUX_VARIABLE(driftTube); AUX_VARIABLE(identifierHash);
AUX_VARIABLE(tubeLayer);
AUX_VARIABLE(driftCircleStatus); AUX_MEASUREMENTVAR(localPosition, 1)
AUX_MEASUREMENTVAR(localCovariance, 1)
/// Names may be shared across different subdetectors
PRD_AUXVARIABLE(tdc);
PRD_AUXVARIABLE(adc);
PRD_AUXVARIABLE(driftTube);
PRD_AUXVARIABLE(tubeLayer);
PRD_AUXVARIABLE(status);
} }
} // namespace xAOD } // namespace xAOD
\ No newline at end of file #undef PRD_AUXVARIABLE
\ No newline at end of file
...@@ -10,18 +10,27 @@ ...@@ -10,18 +10,27 @@
#include "xAODMuonPrepData/versions/MdtDriftCircle_v1.h" #include "xAODMuonPrepData/versions/MdtDriftCircle_v1.h"
namespace { namespace {
static const SG::AuxElement::Accessor<uint8_t> accDriftStatus{ static const std::string preFixStr{"MDT_"};
"driftCircleStatus"}; static const SG::AuxElement::Accessor<uint8_t> accDriftStatus{preFixStr + "status"};
} }
#define IMPLEMENT_SETTER_GETTER( DTYPE, GETTER, SETTER) \
DTYPE MdtDriftCircle_v1::GETTER() const { \
static const SG::AuxElement::Accessor<DTYPE> acc{preFixStr + #GETTER}; \
return acc(*this); \
} \
\
void MdtDriftCircle_v1::SETTER(DTYPE value) { \
static const SG::AuxElement::Accessor<DTYPE> acc{preFixStr + #GETTER}; \
acc(*this) = value; \
}
namespace xAOD { namespace xAOD {
using MdtDriftCircleStatus = MdtDriftCircle_v1::MdtDriftCircleStatus; using MdtDriftCircleStatus = MdtDriftCircle_v1::MdtDriftCircleStatus;
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(MdtDriftCircle_v1, int16_t, tdc, setTdc) IMPLEMENT_SETTER_GETTER(int16_t, tdc, setTdc)
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(MdtDriftCircle_v1, int16_t, adc, setAdc) IMPLEMENT_SETTER_GETTER(int16_t, adc, setAdc)
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(MdtDriftCircle_v1, uint16_t, driftTube, IMPLEMENT_SETTER_GETTER(uint16_t, driftTube, setTube)
setTube) IMPLEMENT_SETTER_GETTER(uint8_t, tubeLayer, setLayer)
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(MdtDriftCircle_v1, uint8_t, tubeLayer,
setLayer)
void MdtDriftCircle_v1::setStatus(MdtDriftCircleStatus st) { void MdtDriftCircle_v1::setStatus(MdtDriftCircleStatus st) {
accDriftStatus(*this) = st; accDriftStatus(*this) = st;
...@@ -53,3 +62,4 @@ void MdtDriftCircle_v1::setDriftRadCov(float cov) { ...@@ -53,3 +62,4 @@ void MdtDriftCircle_v1::setDriftRadCov(float cov) {
} }
} // namespace xAOD } // namespace xAOD
#undef IMPLEMENT_SETTER_GETTER
...@@ -30,7 +30,7 @@ class MdtDriftCircleAuxContainer_v1 : public AuxContainerBase { ...@@ -30,7 +30,7 @@ class MdtDriftCircleAuxContainer_v1 : public AuxContainerBase {
std::vector<int16_t> adc{}; std::vector<int16_t> adc{};
std::vector<uint16_t> driftTube{}; std::vector<uint16_t> driftTube{};
std::vector<uint8_t> tubeLayer{}; std::vector<uint8_t> tubeLayer{};
std::vector<uint8_t> driftCircleStatus{}; std::vector<uint8_t> status{};
/// @} /// @}
}; };
} // namespace xAOD } // namespace xAOD
......
...@@ -16,7 +16,7 @@ def SetupArgParser(): ...@@ -16,7 +16,7 @@ def SetupArgParser():
parser = ArgumentParser() parser = ArgumentParser()
parser.add_argument("-t", "--threads", dest="threads", type=int, help="number of threads", default=1) parser.add_argument("-t", "--threads", dest="threads", type=int, help="number of threads", default=1)
parser.add_argument("-o", "--output", dest="output", default='PrepDataTest.pool.root', help="Text file containing each cabling channel", metavar="FILE") parser.add_argument("-o", "--output", dest="output", default='PrepDataTest.pool.root', help="Text file containing each cabling channel", metavar="FILE")
parser.add_argument("--inputFile", "-i", default=["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/WorkflowReferences/master/q449/v32/myESD.pool.root"], parser.add_argument("--inputFile", "-i", default=["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/MuonRecRTT/UnitTestInput/Run3MC.ESD.pool.root"],
help="Input file to run on ", nargs="+") help="Input file to run on ", nargs="+")
return parser return parser
...@@ -33,10 +33,8 @@ def setupTestOutputCfg(flags,**kwargs): ...@@ -33,10 +33,8 @@ def setupTestOutputCfg(flags,**kwargs):
container_items = ["xAOD::MdtDriftCircleContainer#", container_items = ["xAOD::MdtDriftCircleContainer#",
"xAOD::MdtDriftCircleAuxContainer#"] "xAOD::MdtDriftCircleAuxContainer#"]
from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
from xAODMetaDataCnv.InfileMetaDataConfig import InfileMetaDataCfg
kwargs.setdefault("ItemList", container_items) kwargs.setdefault("ItemList", container_items)
result.merge(OutputStreamCfg(flags, **kwargs)) result.merge(OutputStreamCfg(flags, **kwargs))
result.merge(InfileMetaDataCfg(flags, kwargs["streamName"], kwargs["AcceptAlgs"]))
return result return result
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment