32 return StatusCode::SUCCESS;
47 return StatusCode::SUCCESS;
51template <
class INTYPE,
class OUTTYPE,
class OUTTYPEAUX>
54 const EventContext& ctx)
const {
56 ATH_MSG_VERBOSE(
"No key configured to convert "<<
typeid(INTYPE).name()<<
" into xAOD objects. Skipping.");
57 return StatusCode::SUCCESS;
69 std::make_unique<OUTTYPEAUX>()) );
70 ATH_MSG_DEBUG(
"Recorded xAOD container with key: " << outputContainer.
key() );
72 for (
const auto *coll : *handle) {
73 for (
const auto * prd : *coll) {
74 auto * xprd =
new typename OUTTYPE::base_value_type();
75 outputContainer->push_back(xprd);
77 outputContainer->pop_back();
82 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
int tube(const Identifier &id) const
int tubeLayer(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
Class to represent MM measurements.
const std::vector< AmgVector(2)> & stripDriftErrors() const
returns the list of drift distances
const std::vector< uint16_t > & stripNumbers() const
returns the list of strip numbers
const std::vector< short int > & stripTimes() const
returns the list of times
float angle() const
Returns the microTPC angle.
float driftDist() const
Returns the Drift Distance.
short int time() const
Returns the time (in ns)
const std::vector< float > & stripDriftDist() const
returns the list of drift distances
const std::vector< int > & stripCharges() const
returns the list of charges
int charge() const
Returns the AD.
float chisqProb() const
Returns the microTPC chisq Prob.
Class to represent measurements from the Monitored Drift Tubes.
int adc() const
Returns the ADC (typically range is 0 to 250)
MdtDriftCircleStatus status() const
Returns the status of the measurement.
int tdc() const
Returns the TDC (typically range is 0 to 2500).
virtual IdentifierHash collectionHash() const
Returns the IdentifierHash corresponding to the PRD collection in the PRD container.
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_rpcPrepRawDataKey
SG::WriteHandleKey< xAOD::sTgcPadContainer > m_stgcPadxAODKey
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_tgcPrepRawDataKey
SG::WriteHandleKey< xAOD::sTgcWireContainer > m_stgcWirexAODKey
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdtPrepRawDataKey
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_stgcPrepRawDataKey
SG::WriteHandleKey< xAOD::MdtDriftCircleContainer > m_mdtxAODKey
bool fillxPRD(const PRD &prd, xPRD &xprd) const
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_mmPrepRawDataKey
virtual StatusCode initialize() override
SG::WriteHandleKey< xAOD::TgcStripContainer > m_tgcxAODKey
virtual StatusCode execute(const EventContext &ctx) const override
StatusCode getAndFillContainer(const SG::ReadHandleKey< INTYPE > &inKey, const SG::WriteHandleKey< OUTTYPE > &outKey, const EventContext &) const
SG::WriteHandleKey< xAOD::sTgcStripContainer > m_stgcStripxAODKey
SG::WriteHandleKey< xAOD::MMClusterContainer > m_mmxAODKey
SG::WriteHandleKey< xAOD::RpcStripContainer > m_rpcxAODKey
Class to represent RPC measurements.
float timeOverThreshold() const
Returns the time over threshold.
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
int ambiguityFlag() const
Returns the number of ambiguities associated with this RpcPrepData.
float time() const
Returns the time.
Class to represent TGC measurements.
uint16_t getBcBitMap() const
Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.
Class to represent sTgc measurements.
int charge() const
Returns the bcBitMap of this PRD bit2 for Previous BC, bit1 for Current BC, bit0 for Next BC.
const std::vector< uint16_t > & stripNumbers() const
returns the list of strip numbers
const std::vector< int > & stripCharges() const
returns the list of charges
const std::vector< short int > & stripTimes() const
returns the list of times
int gasGap(const Identifier &id) const override
get the hashes
int doubletPhi(const Identifier &id) const
int strip(const Identifier &id) const
bool measuresPhi(const Identifier &id) const override
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
Property holding a SG store/key/clid from which a WriteHandle is made.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
bool measuresPhi(const Identifier &id) const override
const Amg::Vector2D & localPosition() const
return the local position reference
Identifier identify() const
return the identifier
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
int channelType(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
void setDriftDist(float value)
Sets the drift distance.
void setStripDriftDist(const std::vector< float > &stripDriftDist)
void setStripDriftErrors(const std::vector< DriftCov_t > &stripDriftErrors)
void setStripNumbers(const std::vector< uint16_t > &stripNumbers)
void setStripCharges(const std::vector< int > &stripCharges)
void setChiSqProb(float value)
Sets the microTPC chisq probability.
void setTime(uint16_t value)
Sets the TDC counts.
void setAngle(float value)
Sets the microTPC angle.
void setStripTimes(const std::vector< int16_t > &stripTimes)
void setChannelNumber(uint16_t strip)
void setGasGap(uint8_t gap)
void setCharge(uint32_t value)
Sets the calibrated charge.
void setAdc(int16_t adc)
Sets the ADC counts.
void setLayer(uint8_t layer_n)
Sets the layer number.
void setStatus(MdtDriftCircleStatus st)
Sets the status of the drift circle.
void setTdc(int16_t tdc)
Setter methods.
void setTube(uint16_t tube_n)
Sets the tube number.
void setAmbiguityFlag(uint8_t ambi)
Sets the ADC counts.
void setDoubletPhi(uint8_t doubPhi)
Sets the doubletPhi identifier field.
void setTriggerInfo(uint32_t triggerinfo)
Set the trigger info of the hit.
void setGasGap(uint8_t gap)
Sets the associated gasGap identifier field.
void setTimeOverThreshold(float timeoverthreshold)
Sets the TDC counts.
void setTime(float time)
Sets the the triger time of the hit.
void setStripNumber(uint16_t strip)
Sets the associated strip number identifier field.
void setMeasuresPhi(uint8_t measPhi)
sets the measuresPhi value
void setMeasuresPhi(uint8_t measPhi)
Set the measures phi flag of the measurement to true /false.
void setGasGap(uint8_t gapNum)
Set the gas gap number of the measurement [1-N].
void setChannelNumber(uint16_t chan)
Set the strip or wire group number of the measurement.
void setBcBitMap(uint16_t)
Set the bunch crossing-id map.
void setMeasurement(const DetectorIDHashType idHash, MeasVector< N > locPos, MeasMatrix< N > locCov)
Sets IdentifierHash, local position and local covariance of the measurement.
void setIdentifier(const DetectorIdentType measId)
Sets the full Identifier of the measurement.
void setTime(short int t)
: Set the calibrated time of the wire measurement
void setAuthor(Author a)
Set the author of the producing algorithm.
void setCharge(int q)
: Set the collected charge on the wire
void setChannelNumber(uint16_t channel)
Set the channel number of the measurement.
void setGasGap(uint8_t gap)
Set the associated gas gap of the measurement.
void setStripNumbers(const std::vector< uint16_t > &strips)
Set the list of individual strip clusters.
void setStripCharges(const std::vector< int > &charges)
Set the individual list of contributing charges.
void setQuality(Quality q)
Set the quality flag.
void setStripTimes(const std::vector< short int > ×)
Set the list of indivual strip times.
MdtDriftCircle_v1 MdtDriftCircle
Eigen::Matrix< float, N, N > MeasMatrix
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
sTgcStripCluster_v1 sTgcStripCluster
MeasVector< N > toStorage(const AmgVector(N)&amgVec)
Converts the double precision of the AmgVector into the floating point storage precision of the MeasV...
sTgcWireHit_v1 sTgcWireHit