20 log << MSG::DEBUG <<
"TgcCoinDataCnv_p2::persToTrans" <<
endmsg;
32 auto posIn = std::unique_ptr<Amg::Vector2D>
34 auto posOut = std::unique_ptr<Amg::Vector2D>
39 auto tempMat = std::make_unique<Amg::MatrixX>();
40 if (!dummy.values.empty())
41 EigenHelpers::vectorToEigenMatrix(dummy.values, *tempMat,
"TgcCoinDataCnv_p2");
75 log << MSG::DEBUG <<
"TgcCoinDataCnv_p2::transToPers" <<
endmsg;
82 log << MSG::ERROR <<
"TgcCoinDataCnv_p2::transToPers - invalid trans channelIdIn!! "
93 log << MSG::ERROR <<
"TgcCoinDataCnv_p2::transToPers - invalid trans channelIdOut!! "
103 switch(transObj->
type()){
126 if (! transObj->
errMat().cols() || !transObj->
errMat().rows()) {
129 log << MSG::WARNING <<
"Have been given a TgcCoinData error matrix with size = ["
130 <<transObj->
errMat().rows()<<
","<<transObj->
errMat().cols()<<
"]. Skipping writing of the matrix."<<
endmsg;
141 persObj->
m_pt = transObj->
pt();
CNV::Trans_t * createTransFromPStore(CNV **cnv, const TPObjRef &ref, MsgStream &log) const
void fillTransFromPStore(CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
TPObjRef toPersistent(CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
unsigned int hashAndIndex() const
combined index
bool is_valid() const
Check if id is in a valid state.
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.
unsigned int m_indexAndHash
Identifier32::value_type m_channelIdIn
IdentifierHash m_collectionIdHash
Identifier32::value_type m_channelIdOut
int roi() const
return ROI number
double widthOut() const
return region width of hit on TGC2(TRACKLET) or TGC3(HIPT)
CoinDataType type() const
return the coincidence type (HIPT, LPT, SL)
int trackletId() const
return trackletId (Identifier for each track)
double widthIn() const
return region width of hit on TGC1
const IdentContIndex & getHashAndIndex() const
const MuonGM::TgcReadoutElement * detectorElementIn() const
return TgcReadoutElement of track on TGC1(HIPT) or TGC2(TRACKLET)
int trackletIdStrip() const
return trackletId for strip (Identifier for each track)
bool isPositiveDeltaR() const
return isPositiveDeltaR (isMuplus) of SL
int sub() const
return subMatrix of Tracklet or hsub of HiPt
const Amg::MatrixX & errMat() const
return 2d width of ROI for SL: errMat[0][0]==(width for R), errMat[1][1]==(width for phi)
IdentifierHash identifyHash() const
return the identifierHash of Outer Hit
bool isAside() const
Aside or Cside.
const Amg::Vector2D * posInPtr() const
int phi() const
return phi number of trigger sector
bool isForward() const
Forward region or Endcap region.
void setHashAndIndex(unsigned short collHash, unsigned short objIndex)
bool hasErrMat() const
Test to see if the error matrix is present.
const MuonGM::TgcReadoutElement * detectorElementOut() const
return TgcReadoutElement of track on TGC3
int pt() const
return pt threshold value
Identifier channelIdIn() const
return offlineID on TGC1(HIPT) or TGC2(TRACKLET)
Identifier channelIdOut() const
return offlineID on track on TGC3
int delta() const
return the deviation from Pt=oo track
const Amg::Vector2D * posOutPtr() const
bool isStrip() const
Strip hit or Wire hit?
unsigned int m_numErrsPrinted
void persToTrans(const Muon::TgcCoinData_p2 *persObj, Muon::TgcCoinData *transObj, MsgStream &log)
LocalPositionCnv_p1 * m_localPosCnv
ErrorMatrixCnv_p1 * m_errorMxCnv
void transToPers(const Muon::TgcCoinData *transObj, Muon::TgcCoinData_p2 *persObj, MsgStream &log)
std::vector< float > values
static void eigenMatrixToVector(VECTOR &vec, COVARIANCE &cov, const char *)