 |
ATLAS Offline Software
|
Tool doing the ByteStream -> MuCTPI_RIO conversion.
More...
#include <RecMuCTPIByteStreamTool.h>
|
| RecMuCTPIByteStreamTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Default constructor. More...
|
|
virtual StatusCode | initialize () override |
| Function to initialise the tool. More...
|
|
StatusCode | convert (const ROBF *rob, MuCTPI_RIO *&cont) |
| Convert ROBFragment to MuCTPI_RIO. More...
|
|
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 | sysInitialize () override |
| Perform system initialization for an algorithm. 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 |
|
Tool doing the ByteStream -> MuCTPI_RIO conversion.
The actual work of translating the information in a MuCTPI ROB fragment
into a MuCTPI_RIO object is done with this tool.
- See also
- CTPByteStreamCnv
- Author
- Tadashi Maeno
-
Attila Krasznahorkay
-
David Berge
-
Christian Ohm
Definition at line 36 of file RecMuCTPIByteStreamTool.h.
◆ ROBF
◆ StoreGateSvc_t
◆ RecMuCTPIByteStreamTool()
RecMuCTPIByteStreamTool::RecMuCTPIByteStreamTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Default constructor.
The constructor takes care of correctly constructing the base class and declaring the tool's interface to the framework.
Definition at line 32 of file RecMuCTPIByteStreamTool.cxx.
37 declareInterface< RecMuCTPIByteStreamTool >(
this );
◆ convert()
Convert ROBFragment to MuCTPI_RIO.
Conversion from eformat::ROBFragment to RIO.
This is called from the RecMuCTPIByteStreamCnv::createObj method.
Definition at line 70 of file RecMuCTPIByteStreamTool.cxx.
82 uint32_t rodId = rob->rod_source_id();
84 if( rodId == miRodId ) {
91 const uint32_t ndata = rob->rod_ndata();
92 const uint32_t detev_type = rob->rod_detev_type();
93 const uint32_t lvl1_type = rob->rod_lvl1_trigger_type();
94 const uint32_t lvl1_id = rob->rod_lvl1_id();
95 const uint32_t run_no = rob->rod_run_no();
96 const uint32_t nstatus = rob->rod_nstatus();
98 rob->rod_status( it_statusData );
103 <<
" (dec " <<
bcid <<
")");
105 << MSG::dec <<
" (dec " << detev_type <<
")");
107 <<
" (dec " << lvl1_id <<
")");
109 <<
" (dec " << lvl1_type <<
")");
113 for (
uint32_t i = 0;
i < nstatus; ++
i , ++it_statusData) {
114 ATH_MSG_VERBOSE(
"Status word # " <<
i <<
": 0x" << MSG::hex << (*it_statusData) << MSG::dec
115 <<
" (dec " << (*it_statusData) <<
")");
130 rob->rod_data( it_data );
135 if( ((*it_data) & 0x20000000) != 0 ) nMultWords++;
139 rob->rod_data( it_data );
141 it_data+=(nMultWords-1)/2;
143 ATH_MSG_DEBUG(
" 0x" << MSG::hex << std::setw( 8 ) << *it_data
144 <<
" (candidate multiplicity)");
149 sum[
i ] = ( *it_data >> (
i * 3 ) ) & 0x1F;
153 uint16_t g_bcId = ( (*it_data) & 0x001C0000 ) >> 18;
156 it_data+=(nMultWords+1)/2;
159 for(
uint32_t i = nMultWords;
i < ndata; ++
i, ++it_data ) {
161 ATH_MSG_DEBUG(
" 0x" << MSG::hex << std::setw( 8 ) << *it_data);
168 bool accepted =
true;
169 if ( ( tmpWord & 0x04000000 ) == 0 )
173 uint32_t roiWord = ( tmpWord & 0x00003FFF ) + ( ( tmpWord & 0x03FE0000 ) >> 3 );
176 <<
" : ROI=" << std::setw( 8 ) <<
roiWord);
182 uint16_t pTVal = thisRoI.getThresholdValue();
183 uint16_t pTNumber = thisRoI.getThresholdNumber();
185 uint16_t secId = thisRoI.sectorID();
187 uint16_t hemisphere = thisRoI.subsysID();
188 double eta = thisRoI.eta();
189 double phi = thisRoI.phi();
190 bool first = thisRoI.firstCandidate();
191 bool duplicatedRoI = thisRoI.padOverflow();
192 bool duplicatedSector = thisRoI.sectorOverflow();
196 accepted,
first, duplicatedRoI, duplicatedSector );
202 return StatusCode::SUCCESS;
206 ATH_MSG_WARNING(
"Expected source ID 0x" << MSG::hex << miRodId <<
" but found 0x"
207 << rodId << MSG::dec);
208 return StatusCode::FAILURE;
◆ 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);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ 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]
◆ 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
◆ initialize()
StatusCode RecMuCTPIByteStreamTool::initialize |
( |
| ) |
|
|
overridevirtual |
Function to initialise the tool.
The function connects to all services being used, resets the internally used variables, and initialises the base class.
Definition at line 45 of file RecMuCTPIByteStreamTool.cxx.
48 if(
sc.isFailure() ) {
55 if(
sc.isFailure() ) {
61 return StatusCode::SUCCESS;
◆ 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.
◆ interfaceID()
const InterfaceID & RecMuCTPIByteStreamTool::interfaceID |
( |
| ) |
|
|
static |
AlgTool InterfaceID.
This function is needed by the framework to know what kind of tool this is.
Definition at line 22 of file RecMuCTPIByteStreamTool.cxx.
24 return IID_IRecMuCTPIByteStreamTool;
◆ 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.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ 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_detStore
◆ m_evtStore
◆ m_rpcRoITool
Initial value:{
this, "RPCRecRoiSvc", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool", "RPC RoI reconstruction tool"
}
Definition at line 59 of file RecMuCTPIByteStreamTool.h.
◆ m_srcIdMap
◆ m_tgcRoITool
Initial value:{
this, "TGCRecRoiSvc", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool", "TGC RoI reconstruction tool"
}
Definition at line 62 of file RecMuCTPIByteStreamTool.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
void headerSourceId(uint32_t val)
Set the ROD ID specidied in the header.
uint32_t getRodID() const
get a ROD Source ID
void headerDetectorEventType(uint32_t val)
Set the event type specified in the header.
Scalar phi() const
phi method
void headerNumberDataWords(uint32_t val)
Set the number of data words as it was specified in the trailer
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void headerRunNumber(uint32_t val)
Set the run number specified in the header.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
void setRoI(const uint16_t bcId, const uint16_t pTval, const uint16_t pTnum, const double eta, const double phi, const uint16_t secID, const uint16_t sysId, const uint16_t hemisphere, const uint16_t roiNum, const bool accepted, const bool first, const bool duplicatedRoI, const bool duplicatedSector)
Add a muon RoI to the object
Reconstruction Input Object of the MuCTPI hardware and simulation.
const DataType * PointerType
This class defines the reconstructed Muon ROI.
void headerNumberStatusWords(uint32_t val)
Set the number of status words as it was specified in the trailer
void setSum(const uint16_t *sum)
Set the multiplicity sum.
::StatusCode StatusCode
StatusCode definition for legacy code.
void headerLVL1ID(uint32_t val)
Set the LVL1 ID specified in the header.
std::vector< uint32_t > & headerStatusWords()
Get the status words from the payload.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void headerBCID(uint32_t val)
Set the BCID specified in the header.
uint16_t bcId(uint32_t data)
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
setEventNumber setTimeStamp bcid
void headerLVL1TriggerType(uint32_t val)
Set the LVL1 trigger type specified in the header.
#define ATH_MSG_WARNING(x)
void setBCID(const uint16_t bcId)
Function setting the BCID of the object.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>