|
ATLAS Offline Software
|
#include <RpcClusterBuilderPRD.h>
|
| RpcClusterBuilderPRD (const std::string &name, ISvcLocator *pSvcLocator) |
|
StatusCode | initialize () |
|
StatusCode | execute () |
|
StatusCode | finalize () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. 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 | 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 |
|
Definition at line 27 of file RpcClusterBuilderPRD.h.
◆ coll_iter
◆ cont_iter
◆ pattern
◆ StoreGateSvc_t
◆ RpcClusterBuilderPRD()
RpcClusterBuilderPRD::RpcClusterBuilderPRD |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ buildClusters()
Definition at line 222 of file RpcClusterBuilderPRD.cxx.
228 for(;patt_it!=
m_digits.end();++patt_it){
232 int measphi=
m_idHelperSvc->rpcIdHelper().measuresPhi(panelId);
236 std::map<int, Muon::RpcPrepData*, std::less<int> >
::iterator dig_it=
m_digits[panelId].begin();
238 std::vector<Identifier> theIDs;
239 std::vector<int> theAmbFlags;
245 unsigned int count=0;
250 for(;dig_it!=
m_digits[panelId].end();++dig_it){
259 theIDs.push_back((*dig_it).second->identify());
260 theAmbFlags.push_back((*dig_it).second->ambiguityFlag());
262 globalPosition+=descriptor->
stripPos((*dig_it).second->identify());
263 localPosition+=descriptor->
localStripPos((*dig_it).second->identify());
264 mintime=(*dig_it).second->time();
265 lastTime=(*dig_it).second->time();
267 }
else if(abs(
lastStrip-(*dig_it).first)==1 &&
272 theIDs.push_back((*dig_it).second->identify());
273 theAmbFlags.push_back((*dig_it).second->ambiguityFlag());
275 globalPosition+=descriptor->
stripPos((*dig_it).second->identify());
276 localPosition+=descriptor->
localStripPos((*dig_it).second->identify());
277 if(mintime>(*dig_it).second->time()) mintime=(*dig_it).second->time();
278 lastTime=(*dig_it).second->time();
288 bool hasGoldenStrip=
false;
291 for(
unsigned int k=0;
k<theAmbFlags.size();++
k){
292 clusAmbFlag=
std::max(clusAmbFlag,theAmbFlags[
k]);
294 if(theAmbFlags[
k]==1) hasGoldenStrip=
true;
296 if(hasGoldenStrip) clusAmbFlag=1;
300 localPosition=localPosition*(1/(
float)theIDs.size());
301 globalPosition=globalPosition*(1/(
float)theIDs.size());
311 m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext);
314 descriptor->surface(panelId).
globalToLocal(globalPosition,globalPosition,pointLocPos);
315 Muon::RpcPrepData* newCluster =
new Muon::RpcPrepData(theIDs[0],
339 globalPosition=descriptor->stripPos((*dig_it).
second->
identify());
340 localPosition=descriptor->localStripPos((*dig_it).
second->
identify());
358 bool hasGoldenStrip=
false;
361 for(
unsigned int k=0;
k<theAmbFlags.size();++
k){
362 clusAmbFlag=
std::max(clusAmbFlag,theAmbFlags[
k]);
364 if(theAmbFlags[
k]==1) hasGoldenStrip=
true;
366 if(hasGoldenStrip) clusAmbFlag=1;
372 m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext);
375 localPosition=localPosition*(1/(
float)theIDs.size());
376 globalPosition=globalPosition*(1/(
float)theIDs.size());
377 double width=descriptor->StripWidth(measphi);
385 descriptor->surface(panelId).
globalToLocal(globalPosition,globalPosition,pointLocPos);
386 Muon::RpcPrepData* newCluster =
new Muon::RpcPrepData(theIDs[0],
◆ buildPatterns()
Definition at line 166 of file RpcClusterBuilderPRD.cxx.
172 std::vector<Muon::RpcPrepData*> theDigits= rpcCollection->
stdcont();
178 for(
unsigned int j=0;j< theDigits.size();j++){
198 newPatt[nstrip]=rpcDigit;
◆ 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]
◆ execute()
StatusCode RpcClusterBuilderPRD::execute |
( |
| ) |
|
◆ 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
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ fill_rpcClusterContainer()
StatusCode RpcClusterBuilderPRD::fill_rpcClusterContainer |
( |
| ) |
|
|
private |
Definition at line 81 of file RpcClusterBuilderPRD.cxx.
85 if(MuonDetMgr==
nullptr){
86 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object");
87 return StatusCode::FAILURE;
91 if (!container.isValid()) {
93 return StatusCode::SUCCESS;
108 for ( ; rpcCollection!=lastCollection; ++rpcCollection ){
112 if(!theCollection->
empty()){
120 if (
m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext)) {
121 ATH_MSG_ERROR(
"Unable to get RPC hash id from CSC PreDataCollection collection id"
122 <<
"context begin_index = " << rpcContext.
begin_index()
123 <<
" context end_index = " << rpcContext.
end_index()
124 <<
" the identifier is ");
148 <<
" in StoreGate!");
163 return StatusCode::SUCCESS;
◆ finalize()
StatusCode RpcClusterBuilderPRD::finalize |
( |
| ) |
|
◆ initialize()
StatusCode RpcClusterBuilderPRD::initialize |
( |
| ) |
|
◆ 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.
◆ 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.
◆ push_back()
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ 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_colKey
◆ m_colKeyIn
◆ m_coll_vect
◆ m_DetectorManagerKey
Initial value:{this, "DetectorManagerKey",
"MuonDetectorManager",
"Key of input MuonDetectorManager condition data"}
Definition at line 60 of file RpcClusterBuilderPRD.h.
◆ m_detStore
◆ m_digits
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_idHelperSvc
◆ m_rpcClusterContainer
◆ m_temp_coll
◆ m_timeSpread
float RpcClusterBuilderPRD::m_timeSpread |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
std::string find(const std::string &s)
return a remapped string
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId) override final
insert collection into container with id hash if IDC should not take ownership of collection,...
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
MuonPrepDataCollection< RpcPrepData > RpcPrepDataCollection
size_type end_index() const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
virtual void setIdentifier(Identifier id)
#define AmgSymMatrix(dim)
std::map< int, Muon::RpcPrepData * > pattern
virtual void setOwner(IDataHandleHolder *o)=0
float time() const
Returns the time.
size_type begin_index() const
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Class to represent RPC measurements.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual Identifier identify() const override final
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
SG::WriteHandleKey< Muon::RpcPrepDataContainer > m_colKey
Template to hold collections of MuonPrepRawData objects.
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
void show() const
Print out in hex form.
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_colKeyIn
void buildClusters(Identifier elementId, const MuonGM::MuonDetectorManager *MuonDetMgr)
virtual void renounce()=0
std::vector< Muon::RpcPrepDataCollection * > m_coll_vect
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Amg::Vector3D localStripPos(int doubletPhi, int gasGap, bool measphi, int strip) const
Returns the local strip position in the AMDB frame.
Identifier identify() const
return the identifier
Definition of ATLAS Math & Geometry primitives (Amg)
Amg::Vector3D stripPos(const Identifier &id) const
int buildPatterns(const Muon::RpcPrepDataCollection *rpcCollection)
Muon::RpcPrepDataCollection * m_temp_coll
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
StatusCode fill_rpcClusterContainer()
Muon::RpcPrepDataContainer * m_rpcClusterContainer
const PtrVector & stdcont() const
Return the underlying std::vector of the container.
double StripWidth(bool measphi) const
returns the strip width for the phi or eta plane
DataObjIDColl m_extendedExtraObjects
def time(flags, cells_name, *args, **kw)
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
void push_back(Muon::RpcPrepData *&newCluster)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
AthAlgorithm()
Default constructor:
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Polygon globalToLocal(const Polygon &pol, float z, const Trk::PlaneSurface &surf)
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
bool empty() const noexcept
Returns true if the collection is empty.
std::map< Identifier, pattern > m_digits