Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
This AthConstConverter class provides conversion from ByteStream to TileDigitsContainer.
More...
#include <TileDigitsContByteStreamCnv.h>
|
double | phiCorr (double phi) |
|
void | ipCorr (double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt) |
|
This AthConstConverter class provides conversion from ByteStream to TileDigitsContainer.
- Author
- Alexander Solodkov
This class provides methods to convert the bytestream data into TileDigits. The TileDigitsContainer contains a TileDigitsCollection per superdrawer.
Definition at line 44 of file TileDigitsContByteStreamCnv.h.
◆ BYTESTREAMTOOL
◆ TileDigitsContByteStreamCnv()
TileDigitsContByteStreamCnv::TileDigitsContByteStreamCnv |
( |
ISvcLocator * |
svcloc | ) |
|
◆ addTrack()
◆ classID()
const CLID & TileDigitsContByteStreamCnv::classID |
( |
| ) |
|
|
static |
◆ clear()
void Converter::clear |
( |
| ) |
|
|
inlineinherited |
◆ createObj()
StatusCode AthConstConverter::createObj |
( |
IOpaqueAddress * |
pAddress, |
|
|
DataObject *& |
refpObject |
|
) |
| |
|
finaloverridevirtualinherited |
Create the transient representation of an object.
Non-const version; just calls the const version.
Definition at line 44 of file AthConstConverter.cxx.
◆ createObjConst()
StatusCode TileDigitsContByteStreamCnv::createObjConst |
( |
IOpaqueAddress * |
pAddress, |
|
|
DataObject *& |
refpObject |
|
) |
| const |
|
overridevirtual |
Create the transient representation of an object.
The default implementation is a no-op.
Reimplemented from AthConstConverter.
Definition at line 71 of file TileDigitsContByteStreamCnv.cxx.
79 return StatusCode::FAILURE;
82 const std::string containerName(*(pRE_Addr->par()));
83 bool isTMDB(containerName == std::string(
"MuRcvDigitsCnt"));
84 bool isFELIX(containerName == std::string(
"TileDigitsFlxCnt"));
88 std::vector<uint32_t> robid(1);
90 std::vector<const ROBDataProviderSvc::ROBF*> robf;
99 digitsCollection->
clear();
105 }
else if (isFELIX) {
111 if (newrob != robid[0]) {
114 m_robSvc->getROBData(Gaudi::Hive::currentContext(), robid, robf);
117 if (robf.size() > 0 ) {
120 m_decoder->fillCollection_TileMuRcv_Digi(robf[0], *digitsCollection);
123 m_decoder->fillCollection_FELIX_Digi(robf[0], *digitsCollection);
125 m_decoder->fillCollection(robf[0], *digitsCollection);
130 ATH_MSG_DEBUG(
"Status for " << ((isTMDB)?
"TMDB ":
"") <<
"drawer 0x" << MSG::hex << collID <<
" in Digi frag is 0x" <<
status << MSG::dec);
136 ATH_MSG_DEBUG(
"Creating digits container: " << containerName );
142 return StatusCode::SUCCESS;
◆ createRep()
StatusCode AthConstConverter::createRep |
( |
DataObject * |
pObject, |
|
|
IOpaqueAddress *& |
refpAddress |
|
) |
| |
|
finaloverridevirtualinherited |
Convert the transient object to the requested representation.
Non-const version; just calls the const version.
Definition at line 56 of file AthConstConverter.cxx.
◆ createRepConst()
StatusCode TileDigitsContByteStreamCnv::createRepConst |
( |
DataObject * |
pObject, |
|
|
IOpaqueAddress *& |
refpAddress |
|
) |
| const |
|
overridevirtual |
Convert the transient object to the requested representation.
The default implementation is a no-op.
Reimplemented from AthConstConverter.
Definition at line 146 of file TileDigitsContByteStreamCnv.cxx.
156 std::string
key(
"Tile");
165 return StatusCode::FAILURE;
168 std::string
name = pObj->registry()->name();
176 return m_tool->convert(digicont, fea);
◆ finalize()
StatusCode TileDigitsContByteStreamCnv::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode TileDigitsContByteStreamCnv::initialize |
( |
| ) |
|
|
overridevirtual |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ ipCorr()
void Converter::ipCorr |
( |
double |
d0, |
|
|
double |
z0, |
|
|
double & |
d0c, |
|
|
double & |
z0c, |
|
|
double |
phi0, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
inlineprotectedinherited |
Definition at line 257 of file Converter.h.
261 double sd0 = (
d0 != 0 ?
d0/fabs(
d0) : 1);
262 double spt = (
pt != 0 ?
pt/fabs(
pt) : 1);
270 double rc = fabs(
pt)*15.0/(9.0*1.042);
276 double xd01,yd01,xd02,yd02;
279 xd01 = 0; yd01 =
rc+yc;
280 xd02 = 0; yd02 = -
rc+yc;
282 xd01 = xc+yc/xc*yc+sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd01 = yc/xc*xd01;
283 xd02 = xc+yc/xc*yc-sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd02 = yc/xc*xd02;
286 double r1 = sqrt(xd01*xd01+yd01*yd01);
287 double r2 = sqrt(xd02*xd02+yd02*yd02);
292 phiV = atan2(yd01,xd01);
294 phiV = atan2(yd02,xd02);
304 d0c = fabs(sqrt(xc*xc+yc*yc)-rc)*
sin(phiV-newphi);
307 double theta_save=
theta;
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ name()
const std::string& AthConstConverter::name |
( |
| ) |
const |
|
inlineinherited |
◆ phiCorr()
double Converter::phiCorr |
( |
double |
phi | ) |
|
|
inlineprotectedinherited |
Definition at line 248 of file Converter.h.
250 if (
phi < -TMath::Pi())
phi += 2*TMath::Pi();
251 if (
phi > TMath::Pi())
phi -= 2*TMath::Pi();
◆ repSvcType()
virtual long TileDigitsContByteStreamCnv::repSvcType |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ selectTracks() [1/3]
Definition at line 177 of file Converter.h.
179 static int hpmap[20] = { 0, 1, 2, 7, 8, 9, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
184 while(muonitr!=muonend) {
186 bool hasInDet = (*muonitr)->hasInDetTrackParticle();
188 if(hasInDet) trackitr=(*muonitr)->inDetTrackParticle();
190 if(!hasInDet)
continue;
194 CLHEP::HepVector perigeeParams = measPer->parameters();
195 double pT = measPer->pT();
196 double eta = measPer->eta();
223 double dof =
quality->quality->numberDoF();
227 for (
int ih=0 ; ih<20 ; ih++ ) {
236 deta, dphi, dz0, dd0, dpT,
238 nStrawHits, nTrHits, bitmap, 0,
◆ selectTracks() [2/3]
Definition at line 111 of file Converter.h.
116 static int hpmap[20] = { 0, 1, 2, 7, 8, 9, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
118 while ( trackitr!=trackend ) {
122 CLHEP::HepVector perigeeParams = measPer->parameters();
123 double pT = measPer->pT();
124 double eta = measPer->eta();
147 bool expectBL =
false;
151 double dof =
quality->numberDoF();
155 for (
int ih=0 ; ih<20 ; ih++ ) {
164 deta, dphi, dz0, dd0, dpT,
166 nStrawHits, nTrHits, bitmap, 0,
◆ selectTracks() [3/3]
Definition at line 56 of file Converter.h.
61 while ( trackitr!=trackend ) {
63 double eta = (*trackitr)->param()->eta();
64 double phi = (*trackitr)->param()->phi0();
65 double z0 = (*trackitr)->param()->z0();
66 double pT = (*trackitr)->param()->pT();
67 double d0 = (*trackitr)->param()->a0();
70 double deta = (*trackitr)->param()->eeta();
71 double dphi = (*trackitr)->param()->ephi0();
72 double dz0 = (*trackitr)->param()->ez0();
73 double dpT = (*trackitr)->param()->epT();
74 double dd0 = (*trackitr)->param()->ea0();
76 int algoid = (*trackitr)->algorithmId();
78 int nBlayerHits = ((*trackitr)->HitPattern() & 0x1);
79 int nPixelHits = 2*(*trackitr)->NPixelSpacePoints();
80 int nSctHits = 2*(*trackitr)->NSCT_SpacePoints();
81 int nStrawHits = (*trackitr)->NStrawHits();
82 int nTrHits = (*trackitr)->NTRHits();
85 bool expectBL =
false;
87 unsigned hitPattern = (*trackitr)->HitPattern();
88 unsigned multiPattern = 0;
90 double chi2 = (*trackitr)->chi2();
98 deta, dphi, dz0, dd0, dpT,
100 nStrawHits, nTrHits, hitPattern, multiPattern,
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ storageType()
long TileDigitsContByteStreamCnv::storageType |
( |
| ) |
|
|
static |
◆ tracks()
◆ ATLAS_THREAD_SAFE
◆ m_beamX
double Converter::m_beamX |
|
protectedinherited |
◆ m_beamY
double Converter::m_beamY |
|
protectedinherited |
◆ m_beamZ
double Converter::m_beamZ |
|
protectedinherited |
◆ m_byteStreamCnvSvc
◆ m_decoder
◆ m_hid2re
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_name
std::string AthConstConverter::m_name |
|
privateinherited |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_robSvc
◆ m_tool
◆ m_tracks
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
@ numberOfPixelHits
number of pixel layers on track with absence of hits
void ipCorr(double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Const iterator class for DataVector/DataList.
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
ToolHandle< TileROD_Decoder > m_decoder
Pointer to TileROD_Decoder.
Scalar phi() const
phi method
Template class for assembling a full atlas raw event from subfragments.
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
Scalar eta() const
pseudorapidity method
StatusCode status() const
Return the error status from the constructors.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
uint32_t getRobFromFragID(int frag_id) const
make a ROB SrcID for a fragment ID
Scalar theta() const
theta method
uint32_t getRobFromTileMuRcvFragID(int frag_id) const
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
const TileHid2RESrcID * m_hid2re
Pointer to TileHid2RESrcID.
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
float nPixelHits(const U &p)
IMessageSvc * getMessageSvc(bool quiet=false)
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
double phiCorr(double phi)
virtual StatusCode createRepConst(DataObject *pObject, IOpaqueAddress *&refpAddress) const
Convert the transient object to the requested representation.
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
Helper for holding non-const raw data prior to recording in SG.
@ numberOfSCTHits
number of SCT holes
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
const FitQuality * fitQuality() const
accessor function for FitQuality.
double chi2(TH1 *h0, TH1 *h1)
ServiceHandle< IByteStreamCnvSvc > m_byteStreamCnvSvc
ToolHandle< TileDigitsContByteStreamTool > m_tool
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
MsgStream & msg() const
The standard message stream.
void addTrack(TIDA::Track *t)
void clear()
Clear everything for next event.
@ numberOfTRTHits
number of TRT outliers
static constexpr long storageType()
static const unsigned int FELIX_FRAGID_OFFSET
Offset for frag ID used for FELIX in frag ID to ROB ID map.
Collection * indexFindPtr(IdentifierHash hash)
Look up a (non-const) collection via hash.
A summary of the information contained by a track.
const std::string & name() const
virtual StatusCode createObjConst(IOpaqueAddress *pAddress, DataObject *&refpObject) const
Create the transient representation of an object.
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
void setFragBCID(uint32_t bcid)
Set BCID.
std::string m_nm
Message source name.
ServiceHandle< IROBDataProviderSvc > m_robSvc
Pointer to IROBDataProviderSvc.
void initMessaging() const
Initialize our message level and MessageSvc.
static const CLID & classID()
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
constexpr int pow(int base, int exp) noexcept
std::vector< TIDA::Track * > m_tracks
float nSiHits(const U &p)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static long storageType()