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

#include <RpcCablingCondAlg.h>

Inheritance diagram for RpcCablingCondAlg:
Collaboration diagram for RpcCablingCondAlg:

Public Member Functions

 RpcCablingCondAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~RpcCablingCondAlg ()=default
 
virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
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...
 

Private Types

typedef std::array< int, 64 > sectorMap_t
 
typedef std::map< int, RPC_CondCabling::SectorLogicSetup *, std::less< int > > SLmap_t
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode setup (const CondAttrListCollection *readCdoMap, const CondAttrListCollection *readCdoCorr, const CondAttrListCollection *readCdoEta, const CondAttrListCollection *readCdoPhi, RpcCablingCondData *writeCdo) const
 
std::list< Identifiergive_strip_id (const unsigned short int SubsystemId, const unsigned short int SectorId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short ijk, const unsigned short int Channel, const sectorMap_t &smap, const RpcCablingCondData::STvec &sType) const
 
bool BoardParamCheck (const unsigned short int SubId, const unsigned short int SecId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short int inputType, const unsigned int layer, const unsigned int type, const unsigned short int Channel1, const unsigned short int Channel2, const short int Number) const
 
bool CableParamCheck (const unsigned short int SubId, const unsigned short int SecId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short int ijk, const unsigned int type, const unsigned short int Channel1, const unsigned short int Channel2, const short int Number) const
 
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...
 

Static Private Member Functions

static bool correct (const unsigned short int SubsystemId, const unsigned short int SectorId, const unsigned short int PADId, const unsigned short int CMAId, const CMAinput it, const unsigned int layer, const unsigned short int Channel1, const unsigned short int Channel2, const short int number, const L1RPCcabCorrection type, const sectorMap_t &smap, const RpcCablingCondData::STvec &sType)
 

Private Attributes

ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
SG::ReadCondHandleKey< CondAttrListCollectionm_readKey_map_schema
 
SG::ReadCondHandleKey< CondAttrListCollectionm_readKey_map_schema_corr
 
SG::ReadCondHandleKey< CondAttrListCollectionm_readKey_cm_thr_eta
 
SG::ReadCondHandleKey< CondAttrListCollectionm_readKey_cm_thr_phi
 
SG::WriteCondHandleKey< RpcCablingCondDatam_writeKey
 
Gaudi::Property< std::string > m_database_repository {this, "DatabaseRepository", "MuonRPC_Cabling/ATLAS.data"}
 
Gaudi::Property< bool > m_cosmic_configuration {this, "CosmicConfiguration", false}
 
Gaudi::Property< bool > m_ApplyFeetPadThresholds
 
Gaudi::Property< bool > m_ForceFeetPadThresholdsFromJO {this, "ForceFeetPadThresholdsFromJO", false, "JO override db setting"}
 
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 20 of file RpcCablingCondAlg.h.

Member Typedef Documentation

◆ sectorMap_t

typedef std::array<int, 64> RpcCablingCondAlg::sectorMap_t
private

Definition at line 29 of file RpcCablingCondAlg.h.

◆ SLmap_t

typedef std::map<int, RPC_CondCabling::SectorLogicSetup*, std::less<int> > RpcCablingCondAlg::SLmap_t
private

Definition at line 30 of file RpcCablingCondAlg.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ RpcCablingCondAlg()

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

Definition at line 11 of file RpcCablingCondAlg.cxx.

11 : AthAlgorithm(name, pSvcLocator) {}

◆ ~RpcCablingCondAlg()

virtual RpcCablingCondAlg::~RpcCablingCondAlg ( )
virtualdefault

Member Function Documentation

◆ BoardParamCheck()

bool RpcCablingCondAlg::BoardParamCheck ( const unsigned short int  SubId,
const unsigned short int  SecId,
const unsigned short int  PADId,
const unsigned short int  CMAId,
const unsigned short int  inputType,
const unsigned int  layer,
const unsigned int  type,
const unsigned short int  Channel1,
const unsigned short int  Channel2,
const short int  Number 
) const
private

Definition at line 784 of file RpcCablingCondAlg.cxx.

787  {
788  if (SubId != 0x65 && SubId != 0x66) {
789  ATH_MSG_ERROR("Subsystem Id out of range: " << SubId << " not in [0x65,0x66].");
790  return false;
791  }
792  if (SecId > 31) {
793  ATH_MSG_ERROR("Sector Id out of range [0/31].");
794  return false;
795  }
796  if (PADId > 8) {
797  ATH_MSG_ERROR("Pad Id out of range [0/8].");
798  return false;
799  }
800  if (CMAId > 7) {
801  ATH_MSG_ERROR("CMA Id out of range [0/7].");
802  return false;
803  }
804  if (inputType > 2) {
805  ATH_MSG_ERROR("Board input out of range [0/2].");
806  return false;
807  }
808  if (layer > 1) {
809  ATH_MSG_ERROR("Board layer out of range [0/1].");
810  return false;
811  }
812  if (type > 3) {
813  ATH_MSG_ERROR("correction type out of range [0/3].");
814  return false;
815  }
816  if (Channel1 > 63) {
817  ATH_MSG_ERROR("ijk Channel 1 out of range [0/31].");
818  return false;
819  }
820  if (Channel2 > 63) {
821  ATH_MSG_ERROR("ijk Channel 2 out of range [0/31].");
822  return false;
823  }
824  if (Number > 64) {
825  ATH_MSG_ERROR("Number out of range [0/64].");
826  return false;
827  }
828  return true;
829 }

◆ CableParamCheck()

bool RpcCablingCondAlg::CableParamCheck ( const unsigned short int  SubId,
const unsigned short int  SecId,
const unsigned short int  PADId,
const unsigned short int  CMAId,
const unsigned short int  ijk,
const unsigned int  type,
const unsigned short int  Channel1,
const unsigned short int  Channel2,
const short int  Number 
) const
private

Definition at line 831 of file RpcCablingCondAlg.cxx.

834  {
835  if (SubId != 0x65 && SubId != 0x66) {
836  ATH_MSG_ERROR("Subsystem Id out of range [0x65,0x66].");
837  return false;
838  }
839  if (SecId > 31) {
840  ATH_MSG_ERROR("Sector Id out of range [0/31].");
841  return false;
842  }
843  if (PADId > 8) {
844  ATH_MSG_ERROR("Pad Id out of range [0/8].");
845  return false;
846  }
847  if (CMAId > 7) {
848  ATH_MSG_ERROR("CMA Id out of range [0/7].");
849  return false;
850  }
851  if (ijk > 5) {
852  ATH_MSG_ERROR("ijk out of range [0/5].");
853  return false;
854  }
855  if (type > 3) {
856  ATH_MSG_ERROR("correction type out of range [0/3].");
857  return false;
858  }
859  if (Channel1 > 31) {
860  ATH_MSG_ERROR("ijk Channel 1 out of range [0/31].");
861  return false;
862  }
863  if (Channel2 > 31) {
864  ATH_MSG_ERROR("ijk Channel 2 out of range [0/31].");
865  return false;
866  }
867  if (Number > 32) {
868  ATH_MSG_ERROR("Number out of range [0/32].");
869  return false;
870  }
871  return true;
872 }

◆ correct()

bool RpcCablingCondAlg::correct ( const unsigned short int  SubsystemId,
const unsigned short int  SectorId,
const unsigned short int  PADId,
const unsigned short int  CMAId,
const CMAinput  it,
const unsigned int  layer,
const unsigned short int  Channel1,
const unsigned short int  Channel2,
const short int  number,
const L1RPCcabCorrection  type,
const sectorMap_t smap,
const RpcCablingCondData::STvec sType 
)
staticprivate

Definition at line 759 of file RpcCablingCondAlg.cxx.

762  {
763  int logic_sector = (SubsystemId == 0x65) ? SectorId + 32 : SectorId;
764  unsigned short int Ixx = CMAId & 1;
765  unsigned short int ep = (CMAId >> 1) & 1;
766 
767  ep = (ep == 1) ? 0 : 1;
768 
769  // retrieve the Sector Logic setup
770  const RPC_CondCabling::SectorLogicSetup& s = sType[smap[logic_sector] - 1];
771 
772  // retrieve the CMAparameters associated to the identifiers
773  if (ep) {
774  CMAcoverage PhiCov = (logic_sector % 2) ? OddSectors : EvenSectors;
775  CMAidentity PHI(Phi, PhiCov, PADId, Ixx);
776  return s.correct(PHI, type, it, layer, Channel1, Channel2, number);
777  } else {
778  CMAidentity ETA(Eta, AllSectors, PADId, Ixx);
779  return s.correct(ETA, type, it, layer, Channel1, Channel2, number);
780  }
781  return false;
782 }

◆ 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 RpcCablingCondAlg::execute ( )
overridevirtual

Definition at line 24 of file RpcCablingCondAlg.cxx.

24  {
25 
26  const EventContext& ctx = Gaudi::Hive::currentContext();
27  ATH_MSG_DEBUG("executing" << name());
28 
30  if (writeHandle.isValid()) {
31  ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
32  << ". In theory this should not be called, but may happen"
33  << " if multiple concurrent events are being processed out of order.");
34  return StatusCode::SUCCESS;
35  }
36 
37  // read in the 4 different cond objects:
38  // map
40  const CondAttrListCollection* readCdoMap{*readHandle_map_schema};
41  if (!readCdoMap) {
42  ATH_MSG_FATAL("Null pointer to the read conditions object");
43  return StatusCode::FAILURE;
44  }
45  writeHandle.addDependency(readHandle_map_schema);
46  ATH_MSG_DEBUG("Size of CondAttrListCollection readCdoMap->size()= " << readCdoMap->size());
47 
48  // corr
50  const CondAttrListCollection* readCdoCorr{*readHandle_map_schema_corr};
51  if (!readCdoCorr) {
52  ATH_MSG_FATAL("Null pointer to the read conditions object");
53  return StatusCode::FAILURE;
54  }
55  ATH_MSG_DEBUG("Size of CondAttrListCollection readCdoMap_corr->size()= " << readCdoCorr->size());
56  writeHandle.addDependency(readHandle_map_schema_corr);
57 
58  // EtaTable
60  const CondAttrListCollection* readCdoEta{*readHandle_cm_thr_eta};
61  if (!readCdoEta) {
62  ATH_MSG_FATAL("Null pointer to the read conditions object");
63  return StatusCode::FAILURE;
64  }
65  ATH_MSG_DEBUG("Size of CondAttrListCollection readCdo_cm_thr_eta->size()= " << readCdoEta->size());
66  writeHandle.addDependency(readHandle_cm_thr_eta);
67 
68  // phiTable
70  const CondAttrListCollection* readCdoPhi{*readHandle_cm_thr_phi};
71  if (!readCdoPhi) {
72  ATH_MSG_FATAL("Null pointer to the read conditions object");
73  return StatusCode::FAILURE;
74  }
75  ATH_MSG_DEBUG("Size of CondAttrListCollection readCdo_cm_thr_phi->size()= " << readCdoPhi->size());
76  writeHandle.addDependency(readHandle_cm_thr_phi);
77 
78  std::unique_ptr<RpcCablingCondData> writeCdo{std::make_unique<RpcCablingCondData>()};
79  ATH_CHECK(setup(readCdoMap, readCdoCorr, readCdoEta, readCdoPhi, writeCdo.get()));
80 
81  if (writeHandle.record(std::move(writeCdo)).isFailure()) {
82  ATH_MSG_FATAL("Could not record RpcCondCablingData " << writeHandle.key() << " with EventRange " << writeHandle.getRange()
83  << " into Conditions Store");
84  return StatusCode::SUCCESS;
85  }
86 
87  ATH_MSG_INFO("recorded new " << writeHandle.key() << " with range " << writeHandle.getRange());
88  return StatusCode::SUCCESS;
89 }

◆ 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 }

◆ give_strip_id()

std::list< Identifier > RpcCablingCondAlg::give_strip_id ( const unsigned short int  SubsystemId,
const unsigned short int  SectorId,
const unsigned short int  PADId,
const unsigned short int  CMAId,
const unsigned short  ijk,
const unsigned short int  Channel,
const sectorMap_t smap,
const RpcCablingCondData::STvec sType 
) const
private

Definition at line 688 of file RpcCablingCondAlg.cxx.

691  {
692  std::list<unsigned int> CodeList;
693 
694  int logic_sector = SectorId + SubsystemId * 32;
695  unsigned short int Ixx = CMAId & 1;
696  unsigned short int ep = (CMAId >> 1) & 1;
697  unsigned short int lh = (CMAId >> 2) & 1;
698 
699  ep = (ep == 1) ? 0 : 1;
700 
701  // retrieve the Sector Logic setup
702  const RPC_CondCabling::SectorLogicSetup& s = sType[smap[logic_sector] - 1];
703 
704  // retrieve the CMAparameters associated to the identifiers
705  if (ep) {
706  CMAcoverage PhiCov = (logic_sector % 2) ? OddSectors : EvenSectors;
707  CMAidentity PHI(ViewType::Phi, PhiCov, PADId, Ixx);
708  CodeList = s.give_strip_code(PHI, logic_sector, lh, ijk, Channel);
709  } else {
711  CodeList = s.give_strip_code(ETA, logic_sector, lh, ijk, Channel);
712  }
713 
714  std::list<RPCofflineId> offlineIdList;
715  std::list<unsigned int>::const_iterator it = CodeList.begin();
716  while (it != CodeList.end()) {
717  RPCdecoder decode(*it);
718  if (!decode)
719  throw std::runtime_error("RpcCablingCondAlg::give_strip_id() - cannot decode LVL1 Id at " +
720  std::string(__FILE__) + ":" + std::to_string(__LINE__));
721  RPCofflineId rpcId;
722 
723  int RPC_strip = decode.strip_number();
724  int RPC_chamber = decode.rpc_z_index();
725  int RPC_layer = decode.rpc_layer();
726  int RPC_station = decode.lvl1_station();
727  int sector = (decode.logic_sector()) % 32;
728 
729  const RPC_CondCabling::RPCchamber* rpc = s.find_chamber(RPC_station, RPC_chamber);
730 
731  rpcId.stationName = rpc->stationName();
732  rpcId.stationEta = (decode.half_barrel() == Positive) ? rpc->stationEta() : -rpc->stationEta();
733  rpcId.stationPhi = (sector == 31) ? 1 : (sector + 1) / 4 + 1;
734  rpcId.doubletR = rpc->doubletR();
735  rpcId.doubletZ = rpc->doubletZ();
736  rpcId.doubletPhi = (rpc->phiReadoutPannels() == 2) ? (sector + 1) % 2 + 1 : 1;
737  rpcId.gasGap = RPC_layer + 1;
738  rpcId.measuresPhi = static_cast<int>(decode.view());
739  rpcId.strip = RPC_strip + 1;
740 
741  offlineIdList.push_back(rpcId);
742 
743  ++it;
744  }
745 
746  std::list<Identifier> id;
747  std::list<RPCofflineId>::const_iterator iterator = offlineIdList.begin();
748  while (iterator != offlineIdList.end()) {
749  Identifier rpcId = m_idHelperSvc->rpcIdHelper().channelID((*iterator).stationName, (*iterator).stationEta, (*iterator).stationPhi,
750  (*iterator).doubletR, (*iterator).doubletZ, (*iterator).doubletPhi,
751  (*iterator).gasGap, (*iterator).measuresPhi, (*iterator).strip);
752  id.push_back(rpcId);
753  ++iterator;
754  }
755 
756  return id;
757 }

◆ initialize()

StatusCode RpcCablingCondAlg::initialize ( )
overridevirtual

Definition at line 13 of file RpcCablingCondAlg.cxx.

13  {
14  ATH_MSG_DEBUG("initializing" << name());
20  ATH_CHECK(m_idHelperSvc.retrieve());
21  return StatusCode::SUCCESS;
22 }

◆ 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.

◆ 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  }

◆ setup()

StatusCode RpcCablingCondAlg::setup ( const CondAttrListCollection readCdoMap,
const CondAttrListCollection readCdoCorr,
const CondAttrListCollection readCdoEta,
const CondAttrListCollection readCdoPhi,
RpcCablingCondData writeCdo 
) const
private

Definition at line 91 of file RpcCablingCondAlg.cxx.

93  {
94  ATH_MSG_DEBUG("starting setup()");
95 
96  int maxType = 0;
97  sectorMap_t sectorMap;
98  RpcCablingCondData::STvec sectorType;
99  std::vector<unsigned short int> feedPadThresholds;
100  std::map<std::string, std::string> trigroads;
101  SLmap_t sectorLogic;
102 
103  // ------------------------------
104  // readCdoMap
105  // ------------------------------
106  ATH_MSG_INFO("setup() - Reading " << m_readKey_map_schema.key());
107  const coral::AttributeList& atr_map = readCdoMap->attributeList(1); // All data sits in cool channel 1
108  std::stringstream MAP(atr_map["Map"].data<std::string>());
109 
110  // ------------------------------
111  // readCdoCorr
112  // ------------------------------
113  ATH_MSG_INFO("setup() - Reading " << m_readKey_map_schema_corr.key());
114  const coral::AttributeList& atr_map_corr = readCdoCorr->attributeList(1); // All data sits in cool channel 1
115  std::stringstream MAP_corr(atr_map_corr["Map"].data<std::string>());
116 
117  // ------------------------------
118  // readCdoEta
119  // ------------------------------
120  ATH_MSG_INFO("setup() - Reading " << m_readKey_cm_thr_eta.key());
121  std::string etaCM_File;
122  std::string etaTh0;
124  for (itr_eta = readCdoEta->begin(); itr_eta != readCdoEta->end(); ++itr_eta) {
125  const coral::AttributeList& atr = itr_eta->second;
126  etaCM_File = *(static_cast<const std::string*>((atr["CM_File"]).addressOfData()));
127  etaTh0 = *(static_cast<const std::string*>((atr["Th0"]).addressOfData()));
128  trigroads[etaCM_File] = etaTh0;
129  }
130 
131  // ------------------------------
132  // readCdoPhi
133  // ------------------------------
134  ATH_MSG_INFO("setup() - Reading " << m_readKey_cm_thr_phi.key());
135  std::string phiCM_File;
136  std::string phiTh0;
138  for (itr = readCdoPhi->begin(); itr != readCdoPhi->end(); ++itr) {
139  const coral::AttributeList& atr = itr->second;
140  phiCM_File = *(static_cast<const std::string*>((atr["CM_File"]).addressOfData()));
141  phiTh0 = *(static_cast<const std::string*>((atr["Th0"]).addressOfData()));
142  trigroads[phiCM_File] = phiTh0;
143  }
144  // ------------------------------
145 
146  DBline data(MAP);
147  // store the setup environment
148  std::string version, setup, layout;
149 
150  // Start reading routine
151  unsigned int nlines = 0;
152 
153  std::string dataName = PathResolver::find_directory(m_database_repository, "DATAPATH");
154 
155  // Start reading routine
156  while (++data) {
157  ATH_MSG_DEBUG("setup() - Reading routine. nlines = " << nlines);
158  ++nlines;
159  data("Version") >> version >> setup >> layout;
160 
161  // Read the Sector Type enumeration
162  int start = 0;
163  int stop = 0;
164  if (data("SECTOR TYPES (") >> start >> "-" >> stop >> "):") {
165  for (int i = start; i <= stop; ++i) { data >> sectorMap[i]; }
166  }
167 
168  // Set the maxType variable and the type of SectorMap objects
169  if (stop == 63 || stop == 8) {
170  for (int i = 0; i < 64; ++i) { maxType = std::max(sectorMap[i], maxType); }
171  sectorType.clear();
172  //sectorType.reserve(maxType); // this would require a copy-constructor
173  ATH_MSG_DEBUG("setup() - Loop over " << maxType << " sector-types");
174 
175  for (int i = 1; i <= maxType; ++i) {
176  sectorType.emplace_back(i, dataName, layout, m_cosmic_configuration);
177  RPC_CondCabling::SectorLogicSetup& sec = sectorType[i - 1];
178  sec.SetPtoTrigRoads(&trigroads);
179  for (int j = 0; j < 64; ++j) {
180  if (sectorMap[j] == i) {
181  sec << j;
182  sectorLogic.insert(SLmap_t::value_type(j, &sec));
183  ATH_MSG_DEBUG("setup() - filling sectorLogicSetup Map for type " << i << " sector " << j);
184  }
185  }
186  }
187  }
188 
189  // Loop on GEOMETRY TYPES
190  for (int i = 1; i <= maxType; ++i) {
191  // Read the RPC geometry
192  if (data("RPC GEOM # :", i)) {
194  if (!(sectorType[i - 1] += RPCdata)) return StatusCode::FAILURE;
195  }
196  // Read the Wired OR geometry
197  if (data("WIRED OR # :", i)) {
199  if (!(sectorType[i - 1] += WORdata)) return StatusCode::FAILURE;
200  }
201  // Read the CMAs segmentation
202  if (data("CMAs # : pivot segmentation", i)) {
204  if (!(sectorType[i - 1] += CMAdata)) return StatusCode::FAILURE;
205  }
206  // Read the CMAs cabling
207  if (data("CMAs # : eta cabling", i)) {
209  if (!(sectorType[i - 1] += CMAdata)) return StatusCode::FAILURE;
210  }
211  }
212  }
213  ATH_MSG_DEBUG("setup() - map n. of lines read is " << nlines);
214  ATH_MSG_INFO("setup() - version is " << version << " " << setup << " " << layout << " (cosmic=" << (int)m_cosmic_configuration << ")");
215 
216  for (int i = 1; i <= maxType; ++i) {
217  if (!sectorType[i - 1].setup(msg())) return StatusCode::FAILURE;
218  if (!sectorType[i - 1].check()) return StatusCode::FAILURE;
219  if (msgLvl(MSG::DEBUG)) {
220  ATH_MSG_DEBUG("calling get_cabling for i=" << i);
221  const RPC_CondCabling::SectorLogicSetup::EtaCMAmap& CMAs = sectorType[i - 1].giveEtaCMA();
222  for (const auto& cma : CMAs) {
223  unsigned int cabling = UINT_MAX;
224  if (cma.second.get_cabling(CMAinput::Pivot, 0, 0, 0, cabling)) {
225  ATH_MSG_DEBUG("got pivot cabling=" << cabling);
226  } else {
227  ATH_MSG_DEBUG("failed to get cabling");
228  }
229  }
230  }
231  }
232 
233  ATH_MSG_DEBUG("setup() - " << m_readKey_map_schema.key() << " maps have been parsed");
234 
235  for (int sector = 0; sector < 64; ++sector) {
236  unsigned int nRDOentries = 0;
237  int side = (sector < 32) ? 0 : 1;
238  int logic_sector = sector % 32;
239 
240  if (sectorMap[sector]) {
241  // get the Sector Logic Setup
242  const RPC_CondCabling::SectorLogicSetup& Sector = sectorType[sectorMap[sector] - 1];
243 
244  // get the Eta CMA map from the Sector Logic Setup
246  RPC_CondCabling::SectorLogicSetup::EtaCMAmap::const_iterator it = CMAs.begin();
247 
248  bool isFirst = false;
249 
250  // loop over the whole set of Eta CMAs
251  while (it != CMAs.end()) {
252  // get the set of parameters for idenfying the first RPC strip
253  unsigned int ID = (*it).second.id().Ixx_index();
254  bool inversion = (*it).second.inversion();
255  isFirst = (ID == 1 && inversion) || (ID == 0 && !inversion);
256  unsigned int PADid = (*it).first.PAD_index();
257  unsigned int cabling = UINT_MAX;
258  if ((*it).second.get_cabling(CMAinput::Pivot, 0, 0, 0, cabling)) {
259  unsigned int RPC_strip = cabling % 100;
260  unsigned int RPC_chamber = (cabling / 100) % 100;
261  unsigned int RPC_layer = 0;
262  unsigned int RPC_station = (*it).second.whichCMAstation(CMAinput::Pivot);
263  unsigned int lvl1_sector = sector;
264 
265  const RPC_CondCabling::RPCchamber* rpc = Sector.find_chamber(RPC_station, RPC_chamber);
266  std::string name = rpc->stationName();
267  int sEta = (side) ? rpc->stationEta() : -rpc->stationEta();
268  int sPhi = (logic_sector == 31) ? 1 : (logic_sector + 1) / 4 + 1;
269  int dR = rpc->doubletR();
270  int dZ = rpc->doubletZ();
271  int dP = (rpc->phiReadoutPannels() == 2) ? (logic_sector + 1) % 2 + 1 : 1;
272 
273  // build the Level-1 code index
274  RPCdecoder decode(Eta, lvl1_sector, RPC_station, RPC_layer, RPC_chamber, RPC_strip);
275 
276  // instanciate the corresponding RDO index
277  RDOindex rdo(PADid, decode.code(), name, sEta, sPhi, dR, dZ, dP, m_idHelperSvc->rpcIdHelper());
278 
279  // compute the key for retrieving RDO into the map
280  int key = side * 10000 + logic_sector * 100 + PADid;
281  // insert the RDO into the map
282  std::pair<RpcCablingCondData::RDOmap::iterator, bool> ins =
283  writeCdo->m_RDOs.insert(RpcCablingCondData::RDOmap::value_type(key, rdo));
284 
285  if (!ins.second) {
286  ATH_MSG_ERROR("RpcCablingCondData::RDOmap is false for stationName="
287  << name << ", stationEta=" << sEta << ", stationPhi=" << sPhi << ", doubletR=" << dR
288  << ", doubletZ=" << dZ << ", doubletPhi=" << dP);
289  return StatusCode::FAILURE;
290  }
291 
292  ++nRDOentries;
293  }
294 
295  else if (!(*it).second.get_cabling(CMAinput::Pivot, 0, 0, 0, cabling) && isFirst) {
296  // try to catch configrm cabling
297  bool existLow = false;
298  bool existHigh = false;
299 
300  if (!(existLow = (*it).second.get_cabling(CMAinput::LowPt, 0, 0, 0, cabling)))
301  existHigh = (*it).second.get_cabling(CMAinput::HighPt, 0, 0, 0, cabling);
302 
303  if (!existLow && !existHigh) {
304  ATH_MSG_ERROR("Error while configuring the RDO map");
305  return StatusCode::FAILURE;
306  }
307 
308  unsigned int RPC_strip = cabling % 100;
309  unsigned int RPC_chamber = (cabling / 100) % 100;
310  unsigned int RPC_layer = 0;
311  unsigned int RPC_station = 0;
312  if (existLow)
313  RPC_station = (*it).second.whichCMAstation(CMAinput::LowPt);
314  else
315  RPC_station = (*it).second.whichCMAstation(CMAinput::HighPt);
316  unsigned int lvl1_sector = sector;
317 
318  const RPC_CondCabling::RPCchamber* rpc = Sector.find_chamber(RPC_station, RPC_chamber);
319  std::string name = rpc->stationName();
320  int sEta = (side) ? rpc->stationEta() : -rpc->stationEta();
321  int sPhi = (logic_sector == 31) ? 1 : (logic_sector + 1) / 4 + 1;
322  int dR = rpc->doubletR();
323  int dZ = rpc->doubletZ();
324  int dP = (rpc->phiReadoutPannels() == 2) ? (logic_sector + 1) % 2 + 1 : 1;
325 
326  // build the Level-1 code index
327  RPCdecoder decode(Eta, lvl1_sector, RPC_station, RPC_layer, RPC_chamber, RPC_strip);
328 
329  // instanciate the corresponding RDO index
330  RDOindex rdo(PADid, decode.code(), name, sEta, sPhi, dR, dZ, dP, m_idHelperSvc->rpcIdHelper());
331 
332  // compute the key for retrieving RDO into the map
333  int key = side * 10000 + logic_sector * 100 + PADid;
334 
335  // insert the RDO into the map
336  std::pair<RpcCablingCondData::RDOmap::iterator, bool> ins =
337  writeCdo->m_RDOs.insert(RpcCablingCondData::RDOmap::value_type(key, rdo));
338 
339  if (!ins.second) {
340  ATH_MSG_ERROR("RpcCablingCondData::RDOmap is false for stationName="
341  << name << ", stationEta=" << sEta << ", stationPhi=" << sPhi << ", doubletR=" << dR
342  << ", doubletZ=" << dZ << ", doubletPhi=" << dP);
343  return StatusCode::FAILURE;
344  }
345 
346  ++nRDOentries;
347  }
348 
349  // increase the iterator
350  while (it != CMAs.end() && (unsigned int)(*it).first.PAD_index() == PADid) { ++it; }
351  }
352  }
353  ATH_MSG_DEBUG("setup() - sector " << sector << ", number of associated RDO (i.e. Pads) = " << nRDOentries);
354  }
355 
356  DBline data_corr(MAP_corr);
357  nlines = 0;
358  while (++data_corr) {
359  ++nlines;
360  unsigned short int SubId;
361  unsigned short int SecId;
362  unsigned short int PADId;
363  unsigned short int CMAId;
364  unsigned short int ijk;
365  unsigned short int inputType;
366  unsigned int layer;
367  unsigned int type;
368  unsigned short int Channel1;
369  unsigned short int Channel2;
370  int Number;
371 
372  if (data_corr("CABLE") >> data_corr.dbhex() >> SubId >> SecId >> PADId >> CMAId >> ijk >> data_corr.dbdec() >> type >> Channel1 >>
373  Channel2 >> Number) {
374  bool ok = CableParamCheck(SubId, SecId, PADId, CMAId, ijk, type, Channel1, Channel2, Number);
375 
376  layer = (ijk == 0 || ijk == 2 || ijk == 3) ? 0 : 1;
377 
378  if (ijk > 1) {
379  Channel1 += 32 * (ijk % 2);
380  Channel2 += 32 * (ijk % 2);
381  }
382 
383  unsigned short int lh = (CMAId >> 2) & 1;
384 
385  if (ijk == 0 || ijk == 1)
386  inputType = 1;
387  else
388  inputType = (lh) ? 2 : 0;
389 
390  if (ijk > 5) inputType = 3;
391  if (type > 3) type = 4;
392 
393  if (ok && !correct(SubId, SecId, PADId, CMAId, static_cast<CMAinput>(inputType), layer, Channel1, Channel2, Number,
394  static_cast<L1RPCcabCorrection>(type), sectorMap, sectorType)) {
395  ATH_MSG_WARNING("Cannot apply correction: "
396  << std::hex << std::setw(4) << std::showbase << SubId << " " << std::setw(4) << std::showbase << SecId
397  << " " << std::setw(3) << std::showbase << PADId << " " << std::setw(3) << std::showbase << CMAId << " "
398  << std::setw(3) << std::showbase << ijk << " " << std::dec << std::setw(1) << std::showbase << type << " "
399  << std::setw(2) << std::showbase << Channel1 << " " << std::setw(2) << std::showbase << Channel2 << " "
400  << std::setw(2) << std::showbase << Number);
401  }
402  }
403  if (data_corr("BOARD") >> data_corr.dbhex() >> SubId >> SecId >> PADId >> CMAId >> data_corr.dbdec() >> inputType >> layer >>
404  type >> Channel1 >> Channel2 >> Number) {
405  bool ok = BoardParamCheck(SubId, SecId, PADId, CMAId, inputType, layer, type, Channel1, Channel2, Number);
406 
407  if (inputType > 2) inputType = 3;
408  if (type > 3) type = 4;
409 
410  if (ok && !correct(SubId, SecId, PADId, CMAId, static_cast<CMAinput>(inputType), layer, Channel1, Channel2, Number,
411  static_cast<L1RPCcabCorrection>(type), sectorMap, sectorType)) {
412  ATH_MSG_WARNING("Cannot apply correction: "
413  << std::hex << std::setw(4) << std::showbase << SubId << " " << std::setw(4) << std::showbase << SecId
414  << " " << std::setw(3) << std::showbase << PADId << " " << std::setw(3) << std::showbase << CMAId << " "
415  << std::dec << std::setw(1) << inputType << " " << std::setw(1) << layer << " " << std::dec << std::setw(1)
416  << std::showbase << type << " " << std::setw(2) << std::showbase << Channel1 << " " << std::setw(2)
417  << std::showbase << Channel2 << " " << std::setw(2) << std::showbase << Number);
418  }
419  }
420  }
421  ATH_MSG_DEBUG("setup() - corrected map n. of lines read is " << nlines);
422  ATH_MSG_DEBUG("setup() - " << m_readKey_map_schema_corr.key() << " maps have been parsed");
423 
424  for (int side = 0; side < 2; ++side) {
425  for (int rod = 0; rod < 16; ++rod) { (writeCdo->m_rod2hash[side][rod]).clear(); }
426  }
427 
428  int hashID = 0;
429  std::set<uint32_t> ROBid;
430  IdContext rpcModuleContext = m_idHelperSvc->rpcIdHelper().module_context();
431 
432  // reserve enough space in the hash-vector
433  writeCdo->m_HashVec.reserve(writeCdo->m_RDOs.size());
434 
435  ATH_MSG_INFO("setup() - start building OfflineOnlineMap for " << writeCdo->m_RDOs.size() << " RDOs");
436 
437  RpcCablingCondData::RDOmap::iterator pad_beg = writeCdo->m_RDOs.begin();
438  RpcCablingCondData::RDOmap::iterator pad_end = writeCdo->m_RDOs.end();
439  for (; pad_beg != pad_end; ++pad_beg) {
440  const RDOindex* pRDOindex = &((*pad_beg).second);
441  (*pad_beg).second.set_hash(hashID);
442 
443  // get pointer to RDOindex class
444  writeCdo->m_HashVec.push_back(pRDOindex);
445 
446  if (writeCdo->m_HashVec.size() != pRDOindex->hash() + 1) {
447  ATH_MSG_ERROR("Size of hash vector and RDO hash does not match");
448  return StatusCode::FAILURE;
449  }
450 
451  // calculate m_fullListOfRobIds
452  const unsigned short int rob_id = pRDOindex->ROBid();
453  const unsigned short int rod_id = pRDOindex->RODid();
454  const unsigned short int sub_id = pRDOindex->side();
455  const unsigned short int sec_id = pRDOindex->SLid();
456  const unsigned short int pad_id = pRDOindex->PADid();
457 
458  uint32_t ROD_ID = (sub_id << 16) | rod_id;
459  uint32_t ROB_ID = (sub_id << 16) | rob_id;
460 
461  ROBid.insert(ROB_ID);
462  unsigned short int sub_id_index = ((sub_id == 0x65) ? 1 : 0); // convert 0x65 -> 1 (side A) and 0x66 -> 0 (side C)
463 
464  Identifier id;
465  pRDOindex->pad_identifier(id);
466 
467  ATH_MSG_DEBUG(hashID << "-th entry has sub_id_index=" << sub_id_index << ", ROBid=" << rob_id << ", RODid=" << rod_id << ", side="
468  << sub_id << ", SLid=" << sec_id << ", PADid=" << pad_id << ", pad_identifier=" << id.get_compact());
469 
470  // build the offline_id vector
471  writeCdo->m_offline_id[sub_id_index][sec_id][pad_id] = id;
472 
473  // build the map
474  std::pair<RpcCablingCondData::OfflineOnlineMap::iterator, bool> ins =
475  writeCdo->m_RDOmap.insert(RpcCablingCondData::OfflineOnlineMap::value_type(id, pRDOindex));
476  ATH_MSG_DEBUG("OfflineOnlineMap new entry: Identifier with technology="
477  << m_idHelperSvc->rpcIdHelper().technology(id) << ", stationName=" << m_idHelperSvc->rpcIdHelper().stationName(id)
478  << ", stationEta=" << m_idHelperSvc->rpcIdHelper().stationEta(id) << ", stationPhi="
479  << m_idHelperSvc->rpcIdHelper().stationPhi(id) << ", doubletR=" << m_idHelperSvc->rpcIdHelper().doubletR(id)
480  << ", doubletZ=" << m_idHelperSvc->rpcIdHelper().doubletZ(id) << ", doubletPhi="
481  << m_idHelperSvc->rpcIdHelper().doubletPhi(id) << " and hash of the RDOindex(key)= " << pRDOindex->hash());
482  if (!ins.second) {
483  ATH_MSG_ERROR("RpcCablingCondData::OfflineOnlineMap is false for technology="
484  << m_idHelperSvc->rpcIdHelper().technology(id) << ", stationName=" << m_idHelperSvc->rpcIdHelper().stationName(id)
485  << ", stationEta=" << m_idHelperSvc->rpcIdHelper().stationEta(id) << ", stationPhi="
486  << m_idHelperSvc->rpcIdHelper().stationPhi(id) << ", doubletR=" << m_idHelperSvc->rpcIdHelper().doubletR(id)
487  << ", doubletZ=" << m_idHelperSvc->rpcIdHelper().doubletZ(id) << ", doubletPhi="
488  << m_idHelperSvc->rpcIdHelper().doubletPhi(id) << " and hash of the RDOindex(key)= " << pRDOindex->hash());
489  return StatusCode::FAILURE;
490  }
491 
492  // build the ROB->RDO map
493  std::pair<std::set<IdentifierHash>::iterator, bool> insert_ROB_RDO_returnVal =
494  writeCdo->m_ROB_RDO_map[ROB_ID].insert(IdentifierHash(pRDOindex->hash()));
495  if (insert_ROB_RDO_returnVal.second)
496  ATH_MSG_DEBUG("A new RDO HashId = " << pRDOindex->hash() << " registered for ROB Id = " << ROB_ID);
497  else
498  ATH_MSG_VERBOSE("The RDO HashId = " << pRDOindex->hash() << " was already registered for ROB Id = " << ROB_ID);
499 
500  // build the PRD->RDO and PRD->ROB maps
501  ATH_MSG_VERBOSE("Looking for PRDs corresponding to this RDO");
502  std::list<Identifier> strip_id_list;
503  IdentifierHash rdoHashId((IdentifierHash::value_type)pRDOindex->hash());
504  ATH_MSG_DEBUG("RDO HashId = " << (int)rdoHashId << " RDO Id = " << id.get_compact() << " ROB Id = " << MSG::hex << ROB_ID
505  << MSG::dec << " ROD Id = " << MSG::hex << ROD_ID << MSG::dec);
506 
507  for (unsigned short int CMAId : {2, 3, 6, 7}) { // loop over phi CMA IDs
508  for (unsigned short int ijk : {1, 2, 3}) { // loop over IJK identifiers
509  strip_id_list.clear();
510  for (unsigned short int channel : {0, 31}) { // check for the first and the last channel
511  strip_id_list.splice(strip_id_list.end(),
512  give_strip_id(sub_id_index, sec_id, pad_id, CMAId, ijk, channel, sectorMap, sectorType));
513  }
514  for (Identifier strip_id : strip_id_list) {
515  Identifier idp = m_idHelperSvc->rpcIdHelper().parentID(strip_id);
516  IdentifierHash prdHashId;
517  int gethash_code = m_idHelperSvc->rpcIdHelper().get_hash(idp, prdHashId, &rpcModuleContext);
518  if (gethash_code != 0) {
519  ATH_MSG_DEBUG("Unable to get the PRD HashId! parentID(strip_id)=" << idp.getString());
520  continue;
521  }
522 
523  // fill the PRD->RDO map
524  std::pair<std::set<IdentifierHash>::iterator, bool> insertRDO_returnVal =
525  writeCdo->m_PRD_RDO_map[prdHashId].insert(rdoHashId);
526  if (insertRDO_returnVal.second) {
527  ATH_MSG_DEBUG("A new RDO HashId = " << (int)rdoHashId << " registered for PRD HashId = " << (int)prdHashId);
528  } else {
529  ATH_MSG_VERBOSE("The RDO HashId = " << (int)rdoHashId
530  << " was already registered for PRD HashId = " << (int)prdHashId);
531  }
532 
533  // fill the PRD->ROB map
534  std::pair<std::set<uint32_t>::iterator, bool> insertROB_returnVal = writeCdo->m_PRD_ROB_map[prdHashId].insert(ROB_ID);
535  if (insertROB_returnVal.second) {
536  ATH_MSG_DEBUG("A new ROB Id = " << MSG::hex << ROB_ID << MSG::dec
537  << " registered for PRD HashId = " << (int)prdHashId);
538  } else {
539  ATH_MSG_VERBOSE("The ROB Id = " << MSG::hex << ROB_ID << MSG::dec
540  << " was already registered for PRD HashId = " << (int)prdHashId);
541  }
542  }
543  }
544  }
545 
546  // Trigger Roads Header
547  std::map<std::string, std::string>::const_iterator it;
548  it = trigroads.find("infos.txt");
549  if (it == trigroads.end()) {
550  ATH_MSG_WARNING("Missing HEADER FILE infos.txt");
551  } else {
552  ATH_MSG_VERBOSE("======== RPC Trigger Roads from COOL - Header infos ========");
553  ATH_MSG_VERBOSE("\n" + it->second + "\n");
554  // Read FeetPadThresholds from infos.txt
556  std::stringstream ss;
557  ss << it->second;
558  std::string word;
559  while (ss >> word) {
560  if (word == "FeetPadThresholds") {
561  feedPadThresholds.assign(3, 0);
562  ss >> feedPadThresholds.at(0);
563  ss >> feedPadThresholds.at(1);
564  ss >> feedPadThresholds.at(2);
565  ATH_MSG_VERBOSE("FeetPadThresholds set from COOL to: " << feedPadThresholds.at(0) << "," << feedPadThresholds.at(1)
566  << "," << feedPadThresholds.at(2));
567  }
568  }
569  }
570  }
571 
572  // ------ begin like PCcablingInterface::RpcPadIdHash::RpcPadIdHash()
573  RDOindex index = (*pad_beg).second;
574  index.pad_identifier(id);
575 
576  writeCdo->m_int2id.push_back(id);
577 
578  if (writeCdo->m_int2id.size() != index.hash() + 1) {
579  ATH_MSG_ERROR("Inconsistence between PAD hash and RpcPadIdHash");
581  ATH_MSG_ERROR("Position into RpcPadIdHash map is " << writeCdo->m_int2id.size() - 1);
582  return StatusCode::FAILURE;
583  }
584 
585  unsigned short int side = index.side();
586  unsigned short int rod = index.RODid();
587 
588  if (rod > 15) {
589  ATH_MSG_ERROR("RPC ROD greater than 15");
590  return StatusCode::FAILURE;
591  }
592 
593  IdentifierHash HashID = index.hash();
594 
595  (writeCdo->m_rod2hash[(side == 0x66) ? 0 : 1][rod]).push_back(HashID);
596 
597  writeCdo->m_lookup[id] = index.hash();
598 
599  ATH_MSG_DEBUG("RDO loop entry " << hashID << " done");
600  ++hashID;
601  }
602  ATH_MSG_DEBUG("setup() - start recording RpcCablingCondData");
603 
604  // this must be done both in case of source = COOL or ASCII
605  // ----- Initialization of Pad configuration ------ //
607  if (feedPadThresholds.size() != 3) {
608  // if thresholds vector empty, set it to default
609  feedPadThresholds.assign(3, 0);
610  feedPadThresholds.at(0) = 0;
611  feedPadThresholds.at(1) = 2;
612  feedPadThresholds.at(2) = 5;
613  }
614  ATH_MSG_INFO("Applying FeetPadThresholds : " << feedPadThresholds.at(0) << "," << feedPadThresholds.at(1) << ","
615  << feedPadThresholds.at(2));
616 
617  const unsigned int NumFeetSectors = 8;
618  unsigned int FeetSectors[NumFeetSectors] = {21, 22, 25, 26, 53, 54, 57, 58};
619  const unsigned int NumSpecialFeetPads = 4;
620  unsigned int SpecialFeetPads[NumSpecialFeetPads] = {2, 4, 5, 7};
621 
622  for (unsigned int is = 0; is < NumFeetSectors; is++) {
623  for (unsigned int it = 0; it < NumSpecialFeetPads; it++) {
624  writeCdo->m_RPCPadParameters_array[FeetSectors[is]][SpecialFeetPads[it]].set_feet_on(true);
625  for (unsigned int th = 0; th < 3; th++) {
626  writeCdo->m_RPCPadParameters_array[FeetSectors[is]][SpecialFeetPads[it]].set_feet_threshold(th,
627  feedPadThresholds.at(th));
628  }
629  }
630  }
631  }
632 
633  // reserve enough space
634  writeCdo->m_fullListOfRobIds.reserve(ROBid.size());
635  for (uint32_t robid : ROBid) writeCdo->m_fullListOfRobIds.push_back(robid);
636 
637  ATH_MSG_DEBUG("Number of valid RPC Pad IDs " << writeCdo->m_int2id.size());
638 
639  for (int i = 0; i < 64; i++) writeCdo->m_SectorMap[i] = sectorMap[i];
640  writeCdo->m_SectorType = std::move(sectorType);
641  writeCdo->m_MaxType = maxType;
642 
643  if (msgLvl(MSG::DEBUG)) {
644  std::stringstream ss1;
645  ss1 << "Level-1 configuration database " << std::endl;
646  ss1 << "Contains " << maxType << " Trigger Sector Types:" << std::endl;
647  ss1 << "negative sectors 0 - 15 ==> ";
648  for (int i = 0; i < 16; i++) ss1 << std::setw(2) << sectorMap[i] << " ";
649  ss1 << std::endl << "negative sectors 16 - 31 ==> ";
650  for (int i = 16; i < 32; i++) ss1 << std::setw(2) << sectorMap[i] << " ";
651  ss1 << std::endl << "positive sectors 32 - 47 ==> ";
652  for (int i = 32; i < 48; i++) ss1 << std::setw(2) << sectorMap[i] << " ";
653  ss1 << std::endl << "positive sectors 48 - 63 ==> ";
654  for (int i = 48; i < 64; i++) ss1 << std::setw(2) << sectorMap[i] << " ";
655  ss1 << std::endl;
656  ATH_MSG_DEBUG(ss1.str());
657  }
658 
659  // record
660  if (writeCdo->m_RDOs.empty()) {
661  ATH_MSG_ERROR("Could not read any map configuration");
662  return StatusCode::FAILURE;
663  }
664  if (writeCdo->m_HashVec.empty()) {
665  ATH_MSG_ERROR("Could not read any HashID");
666  return StatusCode::FAILURE;
667  }
668  if (writeCdo->m_SectorType.empty()) {
669  ATH_MSG_ERROR("Could not read any sectorMap");
670  return StatusCode::FAILURE;
671  }
672  if (writeCdo->m_int2id.empty()) {
673  ATH_MSG_ERROR("Could not read any HashID");
674  return StatusCode::FAILURE;
675  }
676  if (writeCdo->m_lookup.empty()) {
677  ATH_MSG_ERROR("Could not read any HashID");
678  return StatusCode::FAILURE;
679  }
680  if (writeCdo->m_fullListOfRobIds.empty()) {
681  ATH_MSG_ERROR("Could not read any HashID");
682  return StatusCode::FAILURE;
683  }
684  ATH_MSG_DEBUG("setup() - RpcCablingCondData recorded");
685  return StatusCode::SUCCESS;
686 }

◆ 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_ApplyFeetPadThresholds

Gaudi::Property<bool> RpcCablingCondAlg::m_ApplyFeetPadThresholds
private
Initial value:
{this, "ApplyFeetPadThresholds", true,
"map 3 low pt thresholds from special feet pads on standard 6 (3low+3high)"}

Definition at line 48 of file RpcCablingCondAlg.h.

◆ m_cosmic_configuration

Gaudi::Property<bool> RpcCablingCondAlg::m_cosmic_configuration {this, "CosmicConfiguration", false}
private

Definition at line 47 of file RpcCablingCondAlg.h.

◆ m_database_repository

Gaudi::Property<std::string> RpcCablingCondAlg::m_database_repository {this, "DatabaseRepository", "MuonRPC_Cabling/ATLAS.data"}
private

Definition at line 46 of file RpcCablingCondAlg.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_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_ForceFeetPadThresholdsFromJO

Gaudi::Property<bool> RpcCablingCondAlg::m_ForceFeetPadThresholdsFromJO {this, "ForceFeetPadThresholdsFromJO", false, "JO override db setting"}
private

Definition at line 50 of file RpcCablingCondAlg.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> RpcCablingCondAlg::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 32 of file RpcCablingCondAlg.h.

◆ m_readKey_cm_thr_eta

SG::ReadCondHandleKey<CondAttrListCollection> RpcCablingCondAlg::m_readKey_cm_thr_eta
private
Initial value:
{this, "ReadKeyThrEta", "/RPC/TRIGGER/CM_THR_ETA",
"Key of input muon rpc trigger eta condition data"}

Definition at line 38 of file RpcCablingCondAlg.h.

◆ m_readKey_cm_thr_phi

SG::ReadCondHandleKey<CondAttrListCollection> RpcCablingCondAlg::m_readKey_cm_thr_phi
private
Initial value:
{this, "ReadKeyThrPhi", "/RPC/TRIGGER/CM_THR_PHI",
"Key of input muon rpc trigger phi condition data"}

Definition at line 40 of file RpcCablingCondAlg.h.

◆ m_readKey_map_schema

SG::ReadCondHandleKey<CondAttrListCollection> RpcCablingCondAlg::m_readKey_map_schema
private
Initial value:
{this, "ReadKeySchema", "/RPC/CABLING/MAP_SCHEMA",
"Key of input muon rpc map schema condition data"}

Definition at line 34 of file RpcCablingCondAlg.h.

◆ m_readKey_map_schema_corr

SG::ReadCondHandleKey<CondAttrListCollection> RpcCablingCondAlg::m_readKey_map_schema_corr
private
Initial value:
{this, "ReadKeySchemaCorr", "/RPC/CABLING/MAP_SCHEMA_CORR",
"Key of input muon rpc map correction schema condition data"}

Definition at line 36 of file RpcCablingCondAlg.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.

◆ m_writeKey

SG::WriteCondHandleKey<RpcCablingCondData> RpcCablingCondAlg::m_writeKey
private
Initial value:
{this, "WriteKey", "RpcCablingCondData",
"Key of output RPC cabling condition data"}

Definition at line 43 of file RpcCablingCondAlg.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
RPCdecoder
Definition: RPCdecoder.h:13
RpcCablingCondData::STvec
std::vector< RPC_CondCabling::SectorLogicSetup > STvec
Definition: RpcCablingCondData.h:28
IdentifierHash::value_type
unsigned int value_type
Definition: IdentifierHash.h:48
OddSectors
@ OddSectors
Definition: CMAidentity.h:14
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
RpcCablingCondAlg::m_database_repository
Gaudi::Property< std::string > m_database_repository
Definition: RpcCablingCondAlg.h:46
CondAttrListCollection::end
const_iterator end() const
Definition: CondAttrListCollection.h:315
RPC_CondCabling::RPCchamber::doubletZ
int doubletZ() const
Definition: RPCchamber.cxx:37
DiTauMassTools::TauTypes::lh
@ lh
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
RpcCablingCondAlg::m_ForceFeetPadThresholdsFromJO
Gaudi::Property< bool > m_ForceFeetPadThresholdsFromJO
Definition: RpcCablingCondAlg.h:50
L1RPCcabCorrection
L1RPCcabCorrection
Definition: CMAparameters.h:19
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
RPC_CondCabling::SectorLogicSetup::giveEtaCMA
const EtaCMAmap & giveEtaCMA() const
Definition: SectorLogicSetup.h:88
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
RPCofflineId::doubletR
int doubletR
Definition: RPCofflineId.h:12
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
LArBadChanBlobUtils::Channel
Identifier32::value_type Channel
Definition: LArBadChanBlobUtils.h:24
RPCofflineId
Definition: RPCofflineId.h:8
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Pivot
@ Pivot
Definition: CMAparameters.h:18
index
Definition: index.py:1
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
HighPt
@ HighPt
Definition: CMAparameters.h:18
RpcCablingCondAlg::give_strip_id
std::list< Identifier > give_strip_id(const unsigned short int SubsystemId, const unsigned short int SectorId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short ijk, const unsigned short int Channel, const sectorMap_t &smap, const RpcCablingCondData::STvec &sType) const
Definition: RpcCablingCondAlg.cxx:688
RpcCablingCondAlg::m_writeKey
SG::WriteCondHandleKey< RpcCablingCondData > m_writeKey
Definition: RpcCablingCondAlg.h:43
RPC_CondCabling::CMApivotdata
Definition: CMApivotdata.h:20
RpcCablingCondData::m_RPCPadParameters_array
RPCPadParameters m_RPCPadParameters_array[MAX_LOGICSECTOR][MAX_PADID]
Definition: RpcCablingCondData.h:169
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
CMAcoverage
CMAcoverage
Definition: CMAidentity.h:14
skel.it
it
Definition: skel.GENtoEVGEN.py:423
RDOindex::PADid
unsigned short int PADid(void) const
Definition: RDOindex.h:131
LowPt
@ LowPt
Definition: CMAparameters.h:18
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
RDOindex::side
unsigned short int side(void) const
Definition: RDOindex.h:127
RpcCablingCondData::m_HashVec
OfflineOnlineHashMap m_HashVec
Definition: RpcCablingCondData.h:134
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
RpcCablingCondData::m_fullListOfRobIds
std::vector< uint32_t > m_fullListOfRobIds
Definition: RpcCablingCondData.h:155
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
PixelConvert::HashID
int HashID(const std::string &ID)
Definition: PixelConvert.cxx:282
CondAttrListCollection::begin
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
Definition: CondAttrListCollection.h:309
Phi
@ Phi
Definition: RPCdef.h:8
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
PathResolver::find_directory
static std::string find_directory(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
Definition: PathResolver.cxx:307
RDOindex::RODid
unsigned short int RODid(void) const
Definition: RDOindex.h:126
RpcCablingCondData::m_RDOs
RDOmap m_RDOs
Definition: RpcCablingCondData.h:132
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
RoiUtil::PHI
@ PHI
Definition: RoiSerialise.cxx:31
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
RpcCablingCondData::m_rod2hash
std::vector< IdentifierHash > m_rod2hash[2][16]
Definition: RpcCablingCondData.h:152
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
CMAdata
Definition: CMAdata.h:19
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
RDOindex::pad_identifier
void pad_identifier(Identifier &id) const
Definition: RDOindex.cxx:69
RPC_CondCabling::RPCchamberdata
Definition: RPCchamberdata.h:17
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
RpcCablingCondAlg::SLmap_t
std::map< int, RPC_CondCabling::SectorLogicSetup *, std::less< int > > SLmap_t
Definition: RpcCablingCondAlg.h:30
TRT::Hit::side
@ side
Definition: HitInfo.h:83
RpcCablingCondAlg::sectorMap_t
std::array< int, 64 > sectorMap_t
Definition: RpcCablingCondAlg.h:29
RPC_CondCabling::SectorLogicSetup::find_chamber
const RPCchamber * find_chamber(int, int) const
Definition: SectorLogicSetup.cxx:133
RPC_CondCabling::SectorLogicSetup::SetPtoTrigRoads
void SetPtoTrigRoads(const std::map< std::string, std::string > *)
Definition: SectorLogicSetup.cxx:847
RpcCablingCondData::m_lookup
std::map< Identifier, int > m_lookup
Definition: RpcCablingCondData.h:153
RpcCablingCondData::m_ROB_RDO_map
ROB_RDO_Map m_ROB_RDO_map
Definition: RpcCablingCondData.h:161
python.TriggerHandler.th
th
Definition: TriggerHandler.py:296
AthCommonDataStore
Definition: AthCommonDataStore.h:52
jobOptions_CavernBackground.inputType
inputType
Definition: jobOptions_CavernBackground.py:21
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
RpcCablingCondData::m_offline_id
Identifier m_offline_id[2][32][10]
Definition: RpcCablingCondData.h:171
RpcCablingCondData::m_SectorMap
int m_SectorMap[64]
Definition: RpcCablingCondData.h:156
RPCofflineId::stationPhi
int stationPhi
Definition: RPCofflineId.h:11
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
lumiFormat.i
int i
Definition: lumiFormat.py:92
RPC_CondCabling::RPCchamber::doubletR
int doubletR() const
Definition: RPCchamber.cxx:36
RPC_CondCabling::RPCchamber::stationEta
int stationEta() const
Definition: RPCchamber.cxx:35
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
RPC_CondCabling::CMAcablingdata
Definition: CMAcablingdata.h:20
EvenSectors
@ EvenSectors
Definition: CMAidentity.h:14
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
RpcCablingCondAlg::BoardParamCheck
bool BoardParamCheck(const unsigned short int SubId, const unsigned short int SecId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short int inputType, const unsigned int layer, const unsigned int type, const unsigned short int Channel1, const unsigned short int Channel2, const short int Number) const
Definition: RpcCablingCondAlg.cxx:784
RpcCablingCondAlg::m_readKey_map_schema_corr
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_map_schema_corr
Definition: RpcCablingCondAlg.h:36
RPCofflineId::strip
int strip
Definition: RPCofflineId.h:17
RPC_CondCabling::WiredORdata
Definition: WiredORdata.h:17
RpcCablingCondAlg::correct
static bool correct(const unsigned short int SubsystemId, const unsigned short int SectorId, const unsigned short int PADId, const unsigned short int CMAId, const CMAinput it, const unsigned int layer, const unsigned short int Channel1, const unsigned short int Channel2, const short int number, const L1RPCcabCorrection type, const sectorMap_t &smap, const RpcCablingCondData::STvec &sType)
Definition: RpcCablingCondAlg.cxx:759
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
RpcCablingCondAlg::m_readKey_map_schema
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_map_schema
Definition: RpcCablingCondAlg.h:34
AllSectors
@ AllSectors
Definition: CMAidentity.h:14
RpcCablingCondAlg::m_cosmic_configuration
Gaudi::Property< bool > m_cosmic_configuration
Definition: RpcCablingCondAlg.h:47
RPC_CondCabling::SectorLogicSetup
Definition: SectorLogicSetup.h:23
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CondAttrListCollection::attributeList
const AttributeList & attributeList(ChanNum chanNum) const
attribute list for a given channel number
Definition: CondAttrListCollection.h:401
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
RPCdata
Definition: RPCdata.h:19
CMAinput
CMAinput
Definition: CMAparameters.h:18
RPCofflineId::measuresPhi
int measuresPhi
Definition: RPCofflineId.h:16
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
RpcCablingCondData::m_PRD_ROB_map
PRD_ROB_Map m_PRD_ROB_map
Definition: RpcCablingCondData.h:160
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
RPCofflineId::gasGap
int gasGap
Definition: RPCofflineId.h:15
RPCofflineId::stationEta
int stationEta
Definition: RPCofflineId.h:10
RPCofflineId::stationName
std::string stationName
Definition: RPCofflineId.h:9
RDOindex::set_hash
void set_hash(unsigned int h)
Definition: RDOindex.cxx:49
Positive
@ Positive
Definition: RPCdef.h:9
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
python.selection.number
number
Definition: selection.py:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.PerfMonSerializer.decode
def decode(s)
Definition: PerfMonSerializer.py:388
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
RPC_CondCabling::RPCchamber
Definition: RPCchamber.h:23
LArNewCalib_Delay_OFC_Cali.check
check
Definition: LArNewCalib_Delay_OFC_Cali.py:208
RoiUtil::ETA
@ ETA
Definition: RoiSerialise.cxx:30
RPC_CondCabling::RPCchamber::stationName
std::string stationName() const
Definition: RPCchamber.cxx:34
RpcCablingCondAlg::m_readKey_cm_thr_eta
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_cm_thr_eta
Definition: RpcCablingCondAlg.h:38
RpcCablingCondData::m_MaxType
int m_MaxType
Definition: RpcCablingCondData.h:163
get_generator_info.version
version
Definition: get_generator_info.py:33
RPCofflineId::doubletZ
int doubletZ
Definition: RPCofflineId.h:13
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
Identifier::getString
std::string getString() const
Provide a string form of the identifier - hexadecimal.
Definition: Identifier.cxx:25
a
TList * a
Definition: liststreamerinfos.cxx:10
CMAidentity
Definition: CMAidentity.h:16
RpcCablingCondData::m_RDOmap
OfflineOnlineMap m_RDOmap
Definition: RpcCablingCondData.h:133
VKalVrtAthena::varHolder_detail::clear
void clear(T &var)
Definition: NtupleVars.h:48
h
RPCPadParameters::set_feet_threshold
bool set_feet_threshold(unsigned short int it, unsigned short int th)
Definition: RPCPadParameters.cxx:45
DBline
Definition: dbline.h:255
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
RpcCablingCondAlg::m_readKey_cm_thr_phi
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_cm_thr_phi
Definition: RpcCablingCondAlg.h:40
RDOindex::hash
unsigned int hash(void) const
Definition: RDOindex.h:142
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
RpcCablingCondAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: RpcCablingCondAlg.h:32
DEBUG
#define DEBUG
Definition: page_access.h:11
RpcCablingCondAlg::CableParamCheck
bool CableParamCheck(const unsigned short int SubId, const unsigned short int SecId, const unsigned short int PADId, const unsigned short int CMAId, const unsigned short int ijk, const unsigned int type, const unsigned short int Channel1, const unsigned short int Channel2, const short int Number) const
Definition: RpcCablingCondAlg.cxx:831
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
RPCPadParameters::set_feet_on
void set_feet_on(bool feet_on)
Definition: RPCPadParameters.h:37
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
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
RDOindex::ROBid
unsigned short int ROBid(void) const
Definition: RDOindex.h:125
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
IdentifierHash
Definition: IdentifierHash.h:38
RpcCablingCondData::m_SectorType
STvec m_SectorType
Definition: RpcCablingCondData.h:158
RpcCablingCondData::m_int2id
std::vector< Identifier > m_int2id
Definition: RpcCablingCondData.h:151
IdContext
class IdContext
Definition: IdContext.h:34
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
RpcCablingCondData::m_PRD_RDO_map
PRD_RDO_Map m_PRD_RDO_map
Definition: RpcCablingCondData.h:159
RpcCablingCondAlg::m_ApplyFeetPadThresholds
Gaudi::Property< bool > m_ApplyFeetPadThresholds
Definition: RpcCablingCondAlg.h:48
RpcCablingCondAlg::setup
StatusCode setup(const CondAttrListCollection *readCdoMap, const CondAttrListCollection *readCdoCorr, const CondAttrListCollection *readCdoEta, const CondAttrListCollection *readCdoPhi, RpcCablingCondData *writeCdo) const
Definition: RpcCablingCondAlg.cxx:91
Eta
@ Eta
Definition: RPCdef.h:8
RDOindex::SLid
unsigned short int SLid(void) const
Definition: RDOindex.h:129
fitman.k
k
Definition: fitman.py:528
RPC_CondCabling::RPCchamber::phiReadoutPannels
int phiReadoutPannels() const
Definition: RPCchamber.cxx:38
RPC_CondCabling::SectorLogicSetup::EtaCMAmap
std::map< CMAidentity, EtaCMA, std::less< CMAidentity > > EtaCMAmap
Definition: SectorLogicSetup.h:28
RPCofflineId::doubletPhi
int doubletPhi
Definition: RPCofflineId.h:14
ServiceHandle< ICondSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
RDOindex
Definition: RDOindex.h:85