ATLAS Offline Software
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
RpcClusterBuilderPRD Class Reference

#include <RpcClusterBuilderPRD.h>

Inheritance diagram for RpcClusterBuilderPRD:
Collaboration diagram for RpcClusterBuilderPRD:

Public Types

typedef Muon::RpcPrepDataContainer::const_iterator cont_iter
 
typedef Muon::RpcPrepDataCollection::const_iterator coll_iter
 

Public Member Functions

 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
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Protected Attributes

Muon::RpcPrepDataContainerm_rpcClusterContainer
 
SG::ReadCondHandleKey< MuonGM::MuonDetectorManagerm_DetectorManagerKey
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
SG::ReadHandleKey< Muon::RpcPrepDataContainerm_colKeyIn {this, "InputCollectionName", "RPC_Measurements"}
 
SG::WriteHandleKey< Muon::RpcPrepDataContainerm_colKey {this, "CollectionName", "rpcClusters"}
 

Private Types

typedef std::map< int, Muon::RpcPrepData * > pattern
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode fill_rpcClusterContainer ()
 
void buildClusters (Identifier elementId, const MuonGM::MuonDetectorManager *MuonDetMgr)
 
int buildPatterns (const Muon::RpcPrepDataCollection *rpcCollection)
 
void push_back (Muon::RpcPrepData *&newCluster)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::vector< Muon::RpcPrepDataCollection * > m_coll_vect
 
Muon::RpcPrepDataCollectionm_temp_coll
 
std::map< Identifier, patternm_digits
 
float m_timeSpread
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 27 of file RpcClusterBuilderPRD.h.

Member Typedef Documentation

◆ coll_iter

Definition at line 37 of file RpcClusterBuilderPRD.h.

◆ cont_iter

Definition at line 36 of file RpcClusterBuilderPRD.h.

◆ pattern

typedef std::map<int, Muon::RpcPrepData*> RpcClusterBuilderPRD::pattern
private

Definition at line 51 of file RpcClusterBuilderPRD.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ RpcClusterBuilderPRD()

RpcClusterBuilderPRD::RpcClusterBuilderPRD ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 27 of file RpcClusterBuilderPRD.cxx.

27  :
28  AthAlgorithm(name, pSvcLocator), m_temp_coll(nullptr), m_rpcClusterContainer(nullptr)
29 {
30 
31  // Declare the properties
32  declareProperty("ClusterTimeSpread", m_timeSpread = 15.);
33 }

Member Function Documentation

◆ buildClusters()

void RpcClusterBuilderPRD::buildClusters ( Identifier  elementId,
const MuonGM::MuonDetectorManager MuonDetMgr 
)
private

Definition at line 222 of file RpcClusterBuilderPRD.cxx.

222  {
223 
224  // loop over existing patterns
225 
227 
228  for(;patt_it!=m_digits.end();++patt_it){
229 
230  Identifier panelId=(*patt_it).first; // this is the panel id
231 
232  int measphi=m_idHelperSvc->rpcIdHelper().measuresPhi(panelId);
233 
234  //int clusteropen=0;
235 
236  std::map<int, Muon::RpcPrepData*, std::less<int> >::iterator dig_it=m_digits[panelId].begin();
237 
238  std::vector<Identifier> theIDs;
239  std::vector<int> theAmbFlags;
240  int lastStrip=-999;
241  float lastTime=-999;
242  float mintime=0;
243  Amg::Vector3D localPosition(0,0,0);
244  Amg::Vector3D globalPosition(0,0,0);
245  unsigned int count=0;
246  // std::vector<Trk::PrepRawData*> digitsInCluster;
247 
248  // get the ID from the first digit in collection
249 
250  for(;dig_it!=m_digits[panelId].end();++dig_it){ // loop over patterns
251 
252  const MuonGM::RpcReadoutElement* descriptor=MuonDetMgr->getRpcReadoutElement((*dig_it).second->identify());
253 
254  if(lastStrip==-999){ // first hit of a cluster..
255 
256  //std::cout<<" opening a cluster at strip "<< (*dig_it).first<<std::endl;
257  //clusteropen=1;
258  lastStrip=(*dig_it).first;
259  theIDs.push_back((*dig_it).second->identify());
260  theAmbFlags.push_back((*dig_it).second->ambiguityFlag());
261  // digitsInCluster.push_back((*dig_it).second);
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();
266 
267  } else if(abs(lastStrip-(*dig_it).first)==1 &&
268  abs(lastTime-(*dig_it).second->time())<m_timeSpread){ // still on the same cluster, with acceptable time spread
269 
270  //std::cout<<" adding to a cluster the strip "<< (*dig_it).first<<std::endl;
271  lastStrip=(*dig_it).first;
272  theIDs.push_back((*dig_it).second->identify());
273  theAmbFlags.push_back((*dig_it).second->ambiguityFlag());
274  // digitsInCluster.push_back((*dig_it).second);
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(); //keep the lowest time in the cluster
278  lastTime=(*dig_it).second->time();
279 
280  } else { // close the cluster
281  //std::cout<<" closing the cluster "<<std::endl;
282 
283  // determine ambiguity flag:
284  // if one of the strips has abiguity=1, then all the cluster inherits it
285  // otherwise we assign to the cluster the max of the abiguities of the strips
286 
287  int clusAmbFlag=-1;
288  bool hasGoldenStrip=false;
289 
290  // std::cout<<"deciding amb flag"<<std::endl;
291  for(unsigned int k=0;k<theAmbFlags.size();++k){
292  clusAmbFlag=std::max(clusAmbFlag,theAmbFlags[k]);
293  // std::cout<<theAmbFlags[k]<< " "<<clusAmbFlag<<std::endl;
294  if(theAmbFlags[k]==1) hasGoldenStrip=true;
295  }
296  if(hasGoldenStrip) clusAmbFlag=1;
297 
298  // std::cout<<"decision is "<<clusAmbFlag<<std::endl;
299 
300  localPosition=localPosition*(1/(float)theIDs.size());
301  globalPosition=globalPosition*(1/(float)theIDs.size());
302  float width=descriptor->StripWidth(measphi);
303  AmgSymMatrix(1) mat ;
304  mat(0,0) = 1.;
305  double err = theIDs.size()*width/sqrt((double)12);
306  mat *= err*err;
307  auto errClusterPos = Amg::MatrixX(mat);
308 
309  IdContext rpcContext = m_idHelperSvc->rpcIdHelper().module_context();
310  IdentifierHash rpcHashId;
311  m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext);
312 
313  Amg::Vector2D pointLocPos ;
314  descriptor->surface(panelId).globalToLocal(globalPosition,globalPosition,pointLocPos);
315  Muon::RpcPrepData* newCluster = new Muon::RpcPrepData(theIDs[0],
316  rpcHashId,
317  pointLocPos,
318  theIDs,
319  // DV,
320  errClusterPos,
321  //width,
322  // new Trk::GlobalPosition(globalPosition),
323  descriptor,
324  mintime,
325  false,
326  clusAmbFlag);
327  push_back(newCluster);
328 
329  // clear all the numbers and restart a new cluster
330 
331  lastStrip=(*dig_it).first;
332  theIDs.clear();
333  theAmbFlags.clear();
334  //digitsInCluster.clear();
335  theIDs.push_back((*dig_it).second->identify());
336  theAmbFlags.push_back((*dig_it).second->ambiguityFlag());
337  //std::cout<<" opening2 a cluster at strip "<< (*dig_it).first<<std::endl;
338  // digitsInCluster.push_back((*dig_it).second);
339  globalPosition=descriptor->stripPos((*dig_it).second->identify());
340  localPosition=descriptor->localStripPos((*dig_it).second->identify());
341  mintime=(*dig_it).second->time();
342  lastTime=(*dig_it).second->time();
343 
344  }
345 
346 
347  // if we are at the end, close the custer anyway and fill it with what we have found
348 
349  if(count==m_digits[panelId].size()-1&&!theIDs.empty()){
350 
351 
352 
353  // determine ambiguity flag:
354  // if one of the strips has abiguity=1, then all the cluster inherits it
355  // otherwise we assign to the cluster the max of the abiguities of the strips
356 
357  int clusAmbFlag=-1;
358  bool hasGoldenStrip=false;
359 
360  // std::cout<<"deciding amb flag"<<std::endl;
361  for(unsigned int k=0;k<theAmbFlags.size();++k){
362  clusAmbFlag=std::max(clusAmbFlag,theAmbFlags[k]);
363  // std::cout<<theAmbFlags[k]<< " "<<clusAmbFlag<<std::endl;
364  if(theAmbFlags[k]==1) hasGoldenStrip=true;
365  }
366  if(hasGoldenStrip) clusAmbFlag=1;
367 
368  // std::cout<<"decision is "<<clusAmbFlag<<std::endl;
369 
370  IdContext rpcContext = m_idHelperSvc->rpcIdHelper().module_context();
371  IdentifierHash rpcHashId;
372  m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext);
373 
374  //std::cout<<" closing2 the cluster "<<std::endl;
375  localPosition=localPosition*(1/(float)theIDs.size());
376  globalPosition=globalPosition*(1/(float)theIDs.size());
377  double width=descriptor->StripWidth(measphi);
378  AmgSymMatrix(1) mat;
379  mat(0,0) = 1.;
380  double err = theIDs.size()*width/sqrt((double)12);
381  mat *= err*err;
382  auto errClusterPos = Amg::MatrixX(mat);
383 
384  Amg::Vector2D pointLocPos ;
385  descriptor->surface(panelId).globalToLocal(globalPosition,globalPosition,pointLocPos);
386  Muon::RpcPrepData* newCluster = new Muon::RpcPrepData(theIDs[0],
387  rpcHashId,
388  pointLocPos,
389  theIDs,
390  // DV,
391  errClusterPos,
392  // width,
393  // new Trk::GlobalPosition(globalPosition),
394  descriptor,
395  mintime,
396  false,
397  clusAmbFlag);
398  push_back(newCluster);
399 
400  }
401 
402 
403  count++;
404 
405  }
406  // outfile.close();
407 
408  }
409 
410 }

◆ buildPatterns()

int RpcClusterBuilderPRD::buildPatterns ( const Muon::RpcPrepDataCollection rpcCollection)
private

Definition at line 166 of file RpcClusterBuilderPRD.cxx.

166  {
167 
168  // here we loop over the digits in the collection and fill the patterns
169 
170  //const Muon::RpcPrepDataCollection rpcCollection = *iter;
171 
172  std::vector<Muon::RpcPrepData*> theDigits= rpcCollection->stdcont();
173 
174  Identifier eleId=rpcCollection->identify();
175 
176  // loop over digits in collection
177 
178  for(unsigned int j=0;j< theDigits.size();j++){
179 
180  Muon::RpcPrepData* rpcDigit = theDigits[j];
181 
182  if(!(rpcDigit->triggerInfo())){ // remove trigger patterns. temporary
183 
184  Identifier id=rpcDigit->identify();
185  int nstrip=m_idHelperSvc->rpcIdHelper().strip(id);
186  int doubletZ=m_idHelperSvc->rpcIdHelper().doubletZ(id);
187  int doubletPhi=m_idHelperSvc->rpcIdHelper().doubletPhi(id);
188  int gasGap=m_idHelperSvc->rpcIdHelper().gasGap(id);
189  int measPhi=m_idHelperSvc->rpcIdHelper().measuresPhi(id);
190 
191  // use Id of first strip to identify a panel.
192 
193  Identifier panelId=m_idHelperSvc->rpcIdHelper().channelID(eleId,doubletZ,doubletPhi,gasGap,measPhi,1);
194 
195  if(m_digits.find(panelId)==m_digits.end()){ // first hit on this panel
196 
197  pattern newPatt;
198  newPatt[nstrip]=rpcDigit;
199  m_digits[panelId]=newPatt;
200 
201  } else { // use existing pattern
202 
203  if(m_digits[panelId].find(nstrip)==m_digits[panelId].end()){ // no hits on this strip before
204 
205  m_digits[panelId][nstrip]=rpcDigit;
206 
207  } else if(m_digits[panelId][nstrip]->time()> rpcDigit->time()){
208 
209  m_digits[panelId][nstrip]=rpcDigit; // if more than one digit, keep only the one with lowest time
210 
211  }
212 
213 
214  }
215  }
216  }
217 
218  return m_digits.size();
219 
220 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode RpcClusterBuilderPRD::execute ( )

Definition at line 53 of file RpcClusterBuilderPRD.cxx.

53  {
54 
56  ATH_CHECK(clusterContainer.record(std::make_unique<Muon::RpcPrepDataContainer>(m_idHelperSvc->rpcIdHelper().module_hash_max())));
57  m_rpcClusterContainer = clusterContainer.ptr();
58 
59  // m_rpcClusterContainer->cleanup();
60 
62 
63  if(sc.isFailure()) ATH_MSG_WARNING("couldn't build clusters for this event");
64 
65  // try to retrieve the collection just created and print it out
66  // if (!sc.isFailure())
67  // sc = retrieve_rpcClusterContainer();
68 
69  return sc;
70 
71 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ fill_rpcClusterContainer()

StatusCode RpcClusterBuilderPRD::fill_rpcClusterContainer ( )
private

Definition at line 81 of file RpcClusterBuilderPRD.cxx.

81  {
82 
84  const MuonGM::MuonDetectorManager* MuonDetMgr = DetectorManagerHandle.cptr();
85  if(MuonDetMgr==nullptr){
86  ATH_MSG_ERROR("Null pointer to the read MuonDetectorManager conditions object");
87  return StatusCode::FAILURE;
88  }
89 
91  if (!container.isValid()) {
92  ATH_MSG_WARNING(" Cannot retrieve RPC Digit Container with key " << m_colKeyIn );
93  return StatusCode::SUCCESS;
94  }
95 
96  Muon::RpcPrepDataContainer::const_iterator rpcCollection=container->begin();
97  Muon::RpcPrepDataContainer::const_iterator lastCollection=container->end();
98 
99  // sc = evtStore()->retrieve(rpcCollection, lastCollection);
100  // if (sc.isFailure()) {
101  // ATH_MSG_ERROR(" Cannot retrieve RPC Digit collections ");
102  // return StatusCode::SUCCESS;
103  // }
104 
105  // const MuonDetElemHash& hashF = container->hashFunc();
106  // int n = hashF.max();
107 
108  for ( ; rpcCollection!=lastCollection; ++rpcCollection ){
109 
110  const Muon::RpcPrepDataCollection * theCollection= *rpcCollection;
111 
112  if(!theCollection->empty()){
113 
114 
115  // create temp collection for clusters
116  Identifier elementId = m_idHelperSvc->rpcIdHelper().elementID(theCollection->identify());
117  IdContext rpcContext = m_idHelperSvc->rpcIdHelper().module_context();
118  IdentifierHash rpcHashId;
119 
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 ");
125  elementId.show();
126  }
127 
128  m_temp_coll = new Muon::RpcPrepDataCollection(rpcHashId);
129  m_temp_coll->setIdentifier(elementId);
130  m_coll_vect.push_back(m_temp_coll);
131 
132  // build the patterns
133 
134  if(buildPatterns(theCollection)) buildClusters(elementId, MuonDetMgr);
135 
136  }
137  //clear map at each collection
138  m_digits.clear();
139  }
140 
141  //before returning, store collections into container:
142 
143  for(unsigned int k=0;k<m_coll_vect.size();k++){
144 
146  if (sc.isFailure())
147  ATH_MSG_ERROR("Couldn't record RpcPrepDataCollection with key=" << m_colKey
148  << " in StoreGate!");
149 
150  }
151 
152 // for(;coll_begin!=coll_end;++coll_begin){
153 
154 // sc = m_rpcClusterContainer->addCollection(*coll_begin, (*coll_begin)->identifyHash());
155 // if (sc.isFailure())
156 // ATH_MSG_ERROR("Couldn't record RpcPrepDataCollection with key=" << m_colKey
157 // << " in StoreGate!");
158 
159 // }
160 
161  m_coll_vect.clear();
162 
163  return StatusCode::SUCCESS;
164 }

◆ finalize()

StatusCode RpcClusterBuilderPRD::finalize ( )

Definition at line 73 of file RpcClusterBuilderPRD.cxx.

73  {
74 
75  //delete m_digit_position;
76 
77  return StatusCode::SUCCESS;
78 
79 }

◆ initialize()

StatusCode RpcClusterBuilderPRD::initialize ( )

Definition at line 36 of file RpcClusterBuilderPRD.cxx.

36  {
37 
39 
40  ATH_CHECK(m_idHelperSvc.retrieve());
41 
42  ATH_CHECK(m_colKeyIn.initialize());
43  ATH_CHECK(m_colKey.initialize());
44 
45  // Create an empty cluster container
46  // m_rpcClusterContainer = new Muon::RpcPrepDataContainer(m_idHelperSvc->rpcIdHelper().module_hash_max());
47  // m_rpcClusterContainer->addRef();
48 
49  return StatusCode::SUCCESS;
50 
51 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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()

void RpcClusterBuilderPRD::push_back ( Muon::RpcPrepData *&  newCluster)
private

Definition at line 412 of file RpcClusterBuilderPRD.cxx.

412  {
413 
414  // StatusCode status = StatusCode::SUCCESS;
415 
416  m_temp_coll->push_back(newCluster);
417 
418 
419  // Identifier elementId = m_idHelperSvc->rpcIdHelper().elementID(newCluster->identify());
420  // IdContext rpcContext = m_idHelperSvc->rpcIdHelper().module_context();
421  // Muon::RpcPrepDataContainer::KEY key = m_rpcClusterContainer->key(elementId);
422 
423 // if (!evtStore()->contains<Muon::RpcPrepDataCollection>(key)) {
424 // IdentifierHash rpcHashId;
425 // if (m_idHelperSvc->rpcIdHelper().get_hash(elementId, rpcHashId, &rpcContext)) {
426 // ATH_MSG_ERROR("Unable to get RPC hash id from RPC PreDataCollection collection id"
427 // << "context begin_index = " << rpcContext.begin_index()
428 // << " context end_index = " << rpcContext.end_index()
429 // << " the identifier is ");
430 // elementId.show();
431 // }
432 // Muon::RpcPrepDataCollection * newCollection = new Muon::RpcPrepDataCollection(rpcHashId);
433 // newCollection->setIdentifier(elementId);
434 // newCollection->push_back(newCluster);
435 // status = m_rpcClusterContainer->addCollection(newCollection, newCollection->identify());
436 // if (status.isFailure())
437 // ATH_MSG_ERROR("Couldn't record RpcPrepdataCollection with key=" << key
438 // << " in StoreGate!");
439 // } else {
440 // Muon::RpcPrepDataCollection * oldCollection;
441 // status = evtStore()->retrieve(oldCollection, key);
442 // if (status.isFailure())
443 // ATH_MSG_ERROR("Couldn't retrieve RpcDigitCollection with key="
444 // << key << " from StoreGate!");
445 // oldCollection->push_back(newCluster);
446 // }
447 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_colKey

SG::WriteHandleKey<Muon::RpcPrepDataContainer> RpcClusterBuilderPRD::m_colKey {this, "CollectionName", "rpcClusters"}
protected

Definition at line 66 of file RpcClusterBuilderPRD.h.

◆ m_colKeyIn

SG::ReadHandleKey<Muon::RpcPrepDataContainer> RpcClusterBuilderPRD::m_colKeyIn {this, "InputCollectionName", "RPC_Measurements"}
protected

Definition at line 65 of file RpcClusterBuilderPRD.h.

◆ m_coll_vect

std::vector<Muon::RpcPrepDataCollection*> RpcClusterBuilderPRD::m_coll_vect
private

Definition at line 48 of file RpcClusterBuilderPRD.h.

◆ m_DetectorManagerKey

SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> RpcClusterBuilderPRD::m_DetectorManagerKey
protected
Initial value:
{this, "DetectorManagerKey",
"MuonDetectorManager",
"Key of input MuonDetectorManager condition data"}

Definition at line 60 of file RpcClusterBuilderPRD.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_digits

std::map<Identifier,pattern> RpcClusterBuilderPRD::m_digits
private

Definition at line 52 of file RpcClusterBuilderPRD.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> RpcClusterBuilderPRD::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
protected

Definition at line 64 of file RpcClusterBuilderPRD.h.

◆ m_rpcClusterContainer

Muon::RpcPrepDataContainer* RpcClusterBuilderPRD::m_rpcClusterContainer
protected

Definition at line 58 of file RpcClusterBuilderPRD.h.

◆ m_temp_coll

Muon::RpcPrepDataCollection* RpcClusterBuilderPRD::m_temp_coll
private

Definition at line 49 of file RpcClusterBuilderPRD.h.

◆ m_timeSpread

float RpcClusterBuilderPRD::m_timeSpread
private

Definition at line 54 of file RpcClusterBuilderPRD.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
MuonGM::MuonDetectorManager::getRpcReadoutElement
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx:168
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
dumpTgcDigiDeadChambers.gasGap
list gasGap
Definition: dumpTgcDigiDeadChambers.py:33
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
RpcClusterBuilderPRD::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: RpcClusterBuilderPRD.h:60
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
IdentifiableContainerMT::addCollection
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,...
Definition: IdentifiableContainerMT.h:300
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Muon::RpcPrepDataCollection
MuonPrepDataCollection< RpcPrepData > RpcPrepDataCollection
Definition: MuonPrepDataCollection.h:107
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:54
IdContext::end_index
size_type end_index(void) const
Definition: IdContext.h:106
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MuonPrepDataCollection::setIdentifier
virtual void setIdentifier(Identifier id)
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:52
RpcClusterBuilderPRD::pattern
std::map< int, Muon::RpcPrepData * > pattern
Definition: RpcClusterBuilderPRD.h:51
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
SCT_CalibAlgs::lastStrip
@ lastStrip
Definition: SCT_CalibNumbers.h:10
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Muon::RpcPrepData::time
float time() const
Returns the time.
Definition: RpcPrepData.h:197
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:193
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Muon::RpcPrepData
Class to represent RPC measurements.
Definition: RpcPrepData.h:35
RpcClusterBuilderPRD::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcClusterBuilderPRD.h:64
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Muon::MuonPrepDataCollection::identify
virtual Identifier identify() const override final
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:82
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
RpcClusterBuilderPRD::m_colKey
SG::WriteHandleKey< Muon::RpcPrepDataContainer > m_colKey
Definition: RpcClusterBuilderPRD.h:66
Muon::MuonPrepDataCollection
Template to hold collections of MuonPrepRawData objects.
Definition: MuonPrepDataCollection.h:46
Muon::RpcPrepData::triggerInfo
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
Definition: RpcPrepData.h:207
Identifier::show
void show() const
Print out in hex form.
Definition: Identifier.cxx:36
RpcClusterBuilderPRD::m_colKeyIn
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_colKeyIn
Definition: RpcClusterBuilderPRD.h:65
RpcClusterBuilderPRD::buildClusters
void buildClusters(Identifier elementId, const MuonGM::MuonDetectorManager *MuonDetMgr)
Definition: RpcClusterBuilderPRD.cxx:222
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
RpcClusterBuilderPRD::m_coll_vect
std::vector< Muon::RpcPrepDataCollection * > m_coll_vect
Definition: RpcClusterBuilderPRD.h:48
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
MuonGM::RpcReadoutElement::localStripPos
Amg::Vector3D localStripPos(int doubletPhi, int gasGap, bool measphi, int strip) const
Returns the local strip position in the AMDB frame.
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:117
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
IdContext::begin_index
size_type begin_index(void) const
Definition: IdContext.h:100
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonGM::RpcReadoutElement::stripPos
Amg::Vector3D stripPos(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:177
RpcClusterBuilderPRD::buildPatterns
int buildPatterns(const Muon::RpcPrepDataCollection *rpcCollection)
Definition: RpcClusterBuilderPRD.cxx:166
RpcClusterBuilderPRD::m_temp_coll
Muon::RpcPrepDataCollection * m_temp_coll
Definition: RpcClusterBuilderPRD.h:49
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
RpcClusterBuilderPRD::fill_rpcClusterContainer
StatusCode fill_rpcClusterContainer()
Definition: RpcClusterBuilderPRD.cxx:81
RpcClusterBuilderPRD::m_rpcClusterContainer
Muon::RpcPrepDataContainer * m_rpcClusterContainer
Definition: RpcClusterBuilderPRD.h:58
DataVector::stdcont
const PtrVector & stdcont() const
Return the underlying std::vector of the container.
MuonGM::RpcReadoutElement::StripWidth
double StripWidth(bool measphi) const
returns the strip width for the phi or eta plane
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
VKalVrtAthena::varHolder_detail::clear
void clear(T &var)
Definition: NtupleVars.h:48
h
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
RpcClusterBuilderPRD::push_back
void push_back(Muon::RpcPrepData *&newCluster)
Definition: RpcClusterBuilderPRD.cxx:412
DeMoScan.first
bool first
Definition: DeMoScan.py:534
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
createCablingJSON.doubletPhi
int doubletPhi
Definition: createCablingJSON.py:11
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
RpcClusterBuilderPRD::m_timeSpread
float m_timeSpread
Definition: RpcClusterBuilderPRD.h:54
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
IdentifierHash
Definition: IdentifierHash.h:38
IdContext
class IdContext
Definition: IdContext.h:34
NSWL1::globalToLocal
Polygon globalToLocal(const Polygon &pol, float z, const Trk::PlaneSurface &surf)
Definition: GeoUtils.cxx:103
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
fitman.k
k
Definition: fitman.py:528
RpcClusterBuilderPRD::m_digits
std::map< Identifier, pattern > m_digits
Definition: RpcClusterBuilderPRD.h:52
ServiceHandle< ICondSvc >