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

#include <LVL1TGCTrigger.h>

Inheritance diagram for LVL1TGCTrigger::LVL1TGCTrigger:
Collaboration diagram for LVL1TGCTrigger::LVL1TGCTrigger:

Public Member Functions

 LVL1TGCTrigger (const std::string &name, ISvcLocator *pSvcLocator)
 standard constructor and destructor for algorithms More...
 
virtual ~LVL1TGCTrigger ()
 
virtual StatusCode initialize () override
 
virtual StatusCode start () override
 
virtual StatusCode execute () override
 
virtual StatusCode finalize () 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 ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode processOneBunch (const TgcDigitContainer *, LVL1MUONIF::Lvl1MuCTPIInputPhase1 *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
 
void doMaskOperation (const TgcDigitContainer *, std::map< Identifier, int > &)
 
void fillTGCEvent (const std::map< Identifier, int > &, TGCEvent &)
 
void recordRdoSLB (TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
 
void recordRdoHPT (TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
 
void recordRdoInner (TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
 
void recordRdoSL (TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
 
StatusCode getMaskedChannel ()
 
int getCharge (int dR, int Zdir)
 
void extractFromString (const std::string &, std::vector< int > &)
 
bool addRawData (std::unique_ptr< TgcRawData > rawdata, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &tgcrdo)
 
int getLPTTypeInRawData (int type)
 
void FillSectorLogicData (LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 *sldata, const TGCTrackSelectorOut *trackSelectorOut)
 
StatusCode getCabling ()
 
TGCArgumentstgcArgs ()
 
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

const ITGCcablingSvcm_cabling
 
StringProperty m_keyMuCTPIInput_TGC {this,"MuCTPIInput_TGC","L1MuctpiStoreTGC"}
 
StringProperty m_MaskFileName12 {this,"MaskFileName12",""}
 property, see LVL1TGCTrigger::LVL1TGCTrigger More...
 
ShortProperty m_CurrentBunchTag {this,"CurrentBunchTag",TgcDigit::BC_CURRENT}
 property, see LVL1TGCTrigger::LVL1TGCTrigger More...
 
BooleanProperty m_ProcessAllBunches {this,"ProcessAllBunhes",true}
 
BooleanProperty m_OutputTgcRDO {this,"OutputTgcRDO",true}
 property, see LVL1TGCTrigger::LVL1TGCTrigger More...
 
BooleanProperty m_USE_CONDDB {this, "USE_CONDDB", true}
 
BooleanProperty m_SHPTORED {this, "SHPTORED", true}
 
BooleanProperty m_USEINNER {this, "USEINNER", true}
 
BooleanProperty m_INNERVETO {this,"INNERVETO",true}
 
BooleanProperty m_FULLCW {this,"FULLCW",false}
 
BooleanProperty m_TILEMU {this,"TILEMU",true}
 
BooleanProperty m_USENSW {this,"USENSW",false}
 
BooleanProperty m_FORCENSWCOIN {this,"FORCENSWCOIN",true}
 
BooleanProperty m_USEBIS78 {this,"USEBIS78",false}
 
BooleanProperty m_useRun3Config {this,"useRun3Config",false}
 
StringProperty m_NSWSideInfo {this,"NSWSideInfo",""}
 
bool m_firstTime {true}
 
uint16_t m_bctagInProcess {TgcDigit::BC_UNDEFINED}
 
TGCDatabaseManagerm_db
 
std::unique_ptr< TGCTimingManagerm_TimingManager
 
std::unique_ptr< TGCElectronicsSystemm_system
 
int m_nEventInSector
 
TGCInnerTrackletSlotHolder m_innerTrackletSlotHolder
 
bool m_debuglevel
 
TGCArguments m_tgcArgs
 
SG::WriteHandleKey< TgcRdoContainerm_keyTgcRdo {this,"TgcRdo","TGCRDO2","Location of TgcRdoContainer"}
 
SG::ReadHandleKey< TgcRdoContainerm_keyTgcRdoIn {this,"InputRDO","TGCRDO","Location of input TgcRdoContainer"}
 
SG::ReadHandleKey< TgcDigitContainerm_keyTgcDigit {this,"InputData_perEvent","TGC_DIGITS","Location of TgcDigitContainer"}
 
SG::ReadHandleKey< TileMuonReceiverContainerm_keyTileMu {this,"TileMuRcv_Input","TileMuRcvCnt","Location of TileMuonReceiverContainer"}
 
SG::ReadHandleKey< Muon::NSW_TrigRawDataContainerm_keyNSWTrigOut {this,"NSWTrigger_Input","L1_NSWTrigContainer","Location of NSW_TrigRawDataContainer"}
 
SG::ReadHandleKey< Muon::RpcBis78_TrigRawDataContainerm_keyBIS78TrigOut {this,"BIS78Trig_Input","BIS78TrigContainer","Location of RpcBis78_TrigRawDataContainer"}
 
SG::ReadCondHandleKey< TGCTriggerDatam_readCondKey {this,"ReadCondKey","TGCTriggerData"}
 
SG::ReadCondHandleKey< TGCTriggerLUTsm_readLUTs_CondKey {this,"ReadLUTCondKey","TGCTriggerLUTs"}
 
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1m_muctpiPhase1Key {this, "MuctpiPhase1LocationTGC", "L1MuctpiStoreTGC", "Location of muctpiPhase1 for Tgc"}
 
SG::ReadHandleKey< ByteStreamMetadataContainerm_bsMetaDataContRHKey {this, "ByteStreamMetadataRHKey", "ByteStreamMetadata", "Location to retrieve the detector mask"}
 
std::map< Identifier, int > m_MaskedChannel
 mask channel map More...
 
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 67 of file LVL1TGCTrigger.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LVL1TGCTrigger()

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

standard constructor and destructor for algorithms

Definition at line 51 of file LVL1TGCTrigger.cxx.

52 : AthAlgorithm(name,pSvcLocator),
53  m_cabling(0),
54  m_db(0),
57  m_debuglevel(false)
58 {}

◆ ~LVL1TGCTrigger()

LVL1TGCTrigger::LVL1TGCTrigger::~LVL1TGCTrigger ( )
virtual

Definition at line 61 of file LVL1TGCTrigger.cxx.

62 {
63  ATH_MSG_DEBUG("LVL1TGCTrigger destructor called");
64  if (m_db) {
65  delete m_db;
66  m_db =0;
67  }
68 }

Member Function Documentation

◆ addRawData()

bool LVL1TGCTrigger::LVL1TGCTrigger::addRawData ( std::unique_ptr< TgcRawData rawdata,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 1216 of file LVL1TGCTrigger.cxx.

1218 {
1219  ATH_MSG_DEBUG("addRawData() is called.");
1220  std::pair<int, int> subDetectorRod(rawdata->subDetectorId(), rawdata->rodId());
1221  std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>>::iterator itRdo = tgcrdo.find(subDetectorRod);
1222 
1223  if (itRdo==tgcrdo.end()) {
1224  // in case TgcRdo with the given subDetectorId and rodId is
1225  // not registered yet, create new TgcRdo and add rawdata to it
1226  std::unique_ptr<TgcRdo> thisRdo(new TgcRdo(rawdata->subDetectorId(), rawdata->rodId(), rawdata->bcId(), rawdata->l1Id()));
1227  thisRdo->push_back(std::move(rawdata));
1228  tgcrdo.insert(std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>>::value_type(subDetectorRod, std::move(thisRdo)));
1229  } else {
1230  itRdo->second->push_back(std::move(rawdata));
1231  }
1232  return true;
1233 }

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

◆ doMaskOperation()

void LVL1TGCTrigger::LVL1TGCTrigger::doMaskOperation ( const TgcDigitContainer tgc_container,
std::map< Identifier, int > &  TgcDigitIDs 
)
private

Definition at line 392 of file LVL1TGCTrigger.cxx.

394 {
395  // (1) skip masked channels
396  for (const TgcDigitCollection* c : *tgc_container) {
397  for (const TgcDigit* h : *c) {
398 
399  // check BCID
400  if (h->bcTag()!=m_bctagInProcess) continue;
401 
402  Identifier channelId = h->identify();
403  const auto itCh = m_MaskedChannel.find(channelId);
404  if (itCh!=m_MaskedChannel.end() && itCh->second==0) {
405  ATH_MSG_DEBUG("This channel is masked! offlineID=" << channelId);
406  continue;
407  }
408  TgcDigitIDs.emplace(channelId, 1);
409  }
410  }
411 
412  // (2) add fired channels by force
413  for(const auto& [Id, OnOff] : m_MaskedChannel) {
414  if (OnOff==1) {
415  ATH_MSG_VERBOSE("This channel is fired by force! offlineID=" << Id);
416  TgcDigitIDs.emplace(Id, 1);
417  }
418  }
419 
420  ATH_MSG_DEBUG("# of total hits " << TgcDigitIDs.size());
421 
422  return;
423 }

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

Definition at line 134 of file LVL1TGCTrigger.cxx.

135 {
136  ATH_MSG_DEBUG("execute() called");
137  const EventContext& ctx = getContext();
138 
139  if(!m_cabling) {
140  // get cabling svc
141  if(getCabling().isFailure()) return StatusCode::FAILURE;
142  }
143 
144  // doMaskOperation is performed at the first event
145  // It is better to implement callback against
146  // MuonTGC_CablingSvc::updateCableASDToPP (Susumu Oda, 2010/10/27)
147  if(m_firstTime) {
148  // do mask operation
149  if(getMaskedChannel().isFailure()) return StatusCode::FAILURE;
150  m_firstTime = false;
151  }
152 
153  // Tile-Muon data
154  bool doTileMu = m_tgcArgs.TILE_MU();
155 
156  if (doTileMu && !m_tgcArgs.useRun3Config()) { // for Run-2
158  const TGCTriggerData* readCdo{*readHandle};
159  doTileMu = readCdo->isActive(TGCTriggerData::CW_TILE);
160  }
161 
162  // NSW data
163  bool doNSW = m_tgcArgs.USE_NSW();
164 
165  // BIS78 data
166  bool doBIS78 = m_tgcArgs.USE_BIS78();
167 
168  // TgcRdo
169  std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>> tgcrdo;
170 
171 
172 
173  SG::ReadHandle<TgcDigitContainer> readTgcDigitContainer(m_keyTgcDigit, ctx);
174  if(!readTgcDigitContainer.isValid()){
175  ATH_MSG_ERROR("Cannot retrieve TgcDigitContainer");
176  return StatusCode::FAILURE;
177  }
178  const TgcDigitContainer* tgc_container = readTgcDigitContainer.cptr();
179 
181  ATH_CHECK(wh_muctpiTgc.record(std::make_unique<LVL1MUONIF::Lvl1MuCTPIInputPhase1>()));
182  LVL1MUONIF::Lvl1MuCTPIInputPhase1* muctpiinputPhase1 = wh_muctpiTgc.ptr();
183 
184  // process one by one
185  StatusCode sc = StatusCode::SUCCESS;
186  for (int bc=TgcDigit::BC_PREVIOUS; bc<=TgcDigit::BC_NEXTNEXT; bc++){
187  sc = StatusCode::SUCCESS;
188 
189  // Use TileMu only if BC_CURRENT
190  if (doTileMu && bc == m_CurrentBunchTag) {
191  ATH_CHECK(m_system->getTMDB()->retrieve(m_keyTileMu));
192  }
193 
194  // Use NSW trigger output
195  if(doNSW && bc==m_CurrentBunchTag){ // To implement BC-calculation
196  ATH_CHECK(m_system->getNSW()->retrieve(m_keyNSWTrigOut));
197  }
198 
199  // Use RPC BIS78 trigger output
200  if(doBIS78 && bc == m_CurrentBunchTag){ // Todo: implement BC-calculation
201  ATH_CHECK(m_system->getBIS78()->retrieve(m_keyBIS78TrigOut));
202  }
203 
204  if (m_ProcessAllBunches || bc == m_CurrentBunchTag) {
205  m_bctagInProcess = bc;
206  sc = processOneBunch(tgc_container, muctpiinputPhase1, tgcrdo);
207  }
208  if (sc.isFailure()) {
209  ATH_MSG_FATAL("Fail to process the bunch " << m_bctagInProcess);
210  return sc;
211  }
212  }
213 
214 
215  // before writing the output TgcRdo container,
216  // read input TgcRdo and copy the tracklet etc.
218  if(!rdoContIn.isValid()){
219  ATH_MSG_WARNING("Cannot retrieve TgcRdoContainer with key=" << m_keyTgcRdoIn.key());
220  return sc;
221  }else if(rdoContIn->size()>0) {
222  TgcRdoContainer::const_iterator itR = rdoContIn->begin();
223  for(; itR!=rdoContIn->end(); ++itR){
224  const TgcRdo* rdoIn = (*itR);
225  std::pair<int, int> subDetectorRod(rdoIn->subDetectorId(), rdoIn->rodId());
226  std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>>::iterator itRdo = tgcrdo.find(subDetectorRod);
227  if (itRdo!=tgcrdo.end()) {
228  // if subDetectorId and rodId for input and output RDOs are the same,
229  // copy the tracklet info etc. from input to the output TgcRdo
230  for ( const TgcRawData* rd : *rdoIn ) {
231  itRdo->second->push_back(std::make_unique<TgcRawData>(*rd));
232  }
233  }
234  }
235  }
236 
237  // write tgcL1rdo container
238  SG::WriteHandle<TgcRdoContainer> tgcL1rdoHandle (m_keyTgcRdo, ctx);
239  auto trgContainer=std::make_unique<TgcRdoContainer>();
240  for(const auto& tgcRdoMap : tgcrdo){
241  for(const auto rawData : *tgcRdoMap.second){
242  trgContainer->push_back(rawData);
243  }
244  }
245  ATH_CHECK(tgcL1rdoHandle.record(std::move(trgContainer)));
246 
247  return sc;
248 }

◆ extractFromString()

void LVL1TGCTrigger::LVL1TGCTrigger::extractFromString ( const std::string &  str,
std::vector< int > &  v 
)
private

Definition at line 1167 of file LVL1TGCTrigger.cxx.

1167  {
1168  v.clear();
1169  if (str.empty()) return;
1170  std::string line=str;
1171  while(1) {
1172  if (line.empty()) break;
1173  int i = line.find(' ');
1174  if (i==(int)std::string::npos && !line.empty()) {
1175  v.push_back(atoi(line.c_str()));
1176  break;
1177  }
1178  std::string temp = line;
1179  temp.erase(i,line.size());
1180  v.push_back(atoi(temp.c_str()));
1181  line.erase(0,i+1);
1182  }
1183 }

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

◆ FillSectorLogicData()

void LVL1TGCTrigger::LVL1TGCTrigger::FillSectorLogicData ( LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 sldata,
const TGCTrackSelectorOut trackSelectorOut 
)
private

Definition at line 511 of file LVL1TGCTrigger.cxx.

513 {
514  // M.Aoki (26/10/2019)
515  // this function will be updated for Run3-specific configuration such as quality flags, 15 thresholds
516  if(trackSelectorOut ==0) return;
517 
518  sldata->clear2candidatesInSector();// for temporary
519 
520  const int muctpiBcId_offset = TgcDigit::BC_CURRENT;
521  sldata->bcid(m_bctagInProcess - muctpiBcId_offset);
522 
523  for(int trackNumber=0;trackNumber!=trackSelectorOut->getNCandidate();trackNumber++){
524 
525  sldata->roi(trackNumber,((trackSelectorOut->getR(trackNumber))<<2)+(trackSelectorOut->getPhi(trackNumber)));
526  sldata->pt(trackNumber,trackSelectorOut->getPtLevel(trackNumber));
527  if (trackSelectorOut->getInnerVeto(trackNumber)) sldata->ovl(trackNumber,1);
528  else sldata->ovl(trackNumber,0);
529  sldata->charge(trackNumber, trackSelectorOut->getCharge(trackNumber));
530  sldata->bw2or3(trackNumber, trackSelectorOut->getCoincidenceType(trackNumber));
531  sldata->goodmf(trackNumber, trackSelectorOut->getGoodMFFlag(trackNumber));
532  sldata->innercoin(trackNumber, trackSelectorOut->getInnerCoincidenceFlag(trackNumber));
533  }
535  sldata->set2candidates(trackNumber);// not used for TGC
536  sldata->clear2candidates(trackNumber);// not used for TGC
537  }
538 }

◆ fillTGCEvent()

void LVL1TGCTrigger::LVL1TGCTrigger::fillTGCEvent ( const std::map< Identifier, int > &  tgcDigitIDs,
TGCEvent event 
)
private

Definition at line 426 of file LVL1TGCTrigger.cxx.

427 {
428  // Loop on TGC detectors (collections)
429  for(const auto& itCh : tgcDigitIDs) {
430  const Identifier channelId = itCh.first;
431  int subsystemNumber;
432  int octantNumber;
433  int moduleNumber;
434  int layerNumber;
435  int rNumber;
436  int wireOrStrip;
437  int channelNumber;
439  subsystemNumber,
440  octantNumber,
441  moduleNumber,
442  layerNumber,
443  rNumber,
444  wireOrStrip,
445  channelNumber);
446 
447  if(!status) {
448  ATH_MSG_INFO("Fail to getOnlineIDfromOfflineID for " << channelId);
449  } else {
450  bool fstatus;
451  int subDetectorID, srodID, sswID, sbLoc, channelID;
452  int phi=0;
453  int moduleType=0;
454  int slbID=0;
455  bool isAside=true;
456  bool isEndcap=true;
457 
459  subDetectorID,
460  srodID,sswID,
461  sbLoc,channelID);
462 
463  if (fstatus) {
464  fstatus = m_cabling->getSLBIDfromReadoutID(phi, isAside, isEndcap,
465  moduleType, slbID,
466  subDetectorID,
467  srodID, sswID,sbLoc);
468  }
469  if (fstatus) {
470  ATH_MSG_VERBOSE("hit : subsys#=" << subsystemNumber
471  << " octant#=" << octantNumber
472  << " mod#=" << moduleNumber
473  << " layer#=" << layerNumber << " r#=" << rNumber
474  << " isStrip=" << wireOrStrip
475  << " ch#=" << channelNumber << endmsg
476  << " --> readoutID: sudetID=" << subDetectorID
477  << " srodID=" << srodID << " sswID=" << sswID
478  << " slbID=" << slbID << " chID=" << channelID);
479 
480  TGCZDirection zdire = (subsystemNumber==1)? kZ_FORWARD : kZ_BACKWARD;
481  TGCReadoutIndex index(zdire,octantNumber,moduleNumber,rNumber,layerNumber);
482  TGCSignalType signal = (wireOrStrip==1)? STRIP : WIRE;
483  event.NewASDOut(index,
484  signal,
485  channelNumber,
486  0);
487  } else {
488  ATH_MSG_INFO("Fail to getSLBIDfromOfflineID for " << channelId);
489  }
490  }
491  } // End Loop on TGC detectors (collections)
492  if (m_debuglevel) {
493  ATH_MSG_DEBUG("Could make TGCEvent with TgcDigitContainer."
494  << " vector size : " << event.GetNASDOut() );
495  for(int iout=1; iout<= event.GetNASDOut(); iout++){
496  TGCASDOut* asdout = (event.GetASDOutVector()[iout-1]);
497  ATH_MSG_DEBUG( " Z:" << asdout->GetTGCReadoutIndex().GetZDirection() <<
498  " O:" << asdout->GetTGCReadoutIndex().GetOctantNumber() <<
499  " M:" << asdout->GetTGCReadoutIndex().GetModuleNumber() <<
500  " R:" << asdout->GetTGCReadoutIndex().GetRNumber() <<
501  " L:" << asdout->GetTGCReadoutIndex().GetLayerNumber() <<
502  " S:" << asdout->GetSignalType() <<
503  " I:" << asdout->GetHitID() <<
504  " T:" << asdout->GetHitToF() );
505  }
506  }
507 }

◆ finalize()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::finalize ( )
overridevirtual

Definition at line 123 of file LVL1TGCTrigger.cxx.

124 {
125  ATH_MSG_DEBUG("LVL1TGCTrigger::finalize() called" << " m_nEventInSector = " << m_nEventInSector);
126 
127  if (m_db) delete m_db;
128  m_db = 0 ;
129 
130  return StatusCode::SUCCESS;
131 }

◆ getCabling()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getCabling ( )
private

Definition at line 1236 of file LVL1TGCTrigger.cxx.

1237 {
1238  ATH_MSG_DEBUG("LVL1TGCTrigger::getCabling()");
1239 
1240  // TGCcablingSvc
1241  // get Cabling Server Service
1242  const ITGCcablingServerSvc* TgcCabGet = 0;
1243  ATH_CHECK(service("Muon::TGCCablingServerSvc", TgcCabGet));
1244 
1245  // get Cabling Service
1246  ATH_CHECK(TgcCabGet->giveCabling(m_cabling));
1247 
1248  int maxRodId, maxSRodId, maxSswId, maxSbloc,minChannelId, maxChannelId;
1249  m_cabling->getReadoutIDRanges( maxRodId, maxSRodId, maxSswId, maxSbloc,minChannelId, maxChannelId);
1250  if (maxRodId ==12) {
1251  ATH_MSG_INFO(m_cabling->name() << " is OK");
1252  } else {
1253  ATH_MSG_FATAL("Old TGCcablingSvc(octant segmentation) can not be used !");
1254  return StatusCode::FAILURE;
1255  }
1256 
1257  // create TGCElectronicsSystem
1258  m_system = std::make_unique<TGCElectronicsSystem>(&m_tgcArgs,m_db);
1259 
1260  m_TimingManager = std::make_unique<TGCTimingManager>(m_readCondKey);
1261  m_TimingManager->setBunchCounter(0);
1262  m_nEventInSector = 0;
1263 
1264  ATH_MSG_DEBUG("finished LVL1TGCTrigger::getCabling()");
1265 
1266  return StatusCode::SUCCESS;
1267 }

◆ getCharge()

int LVL1TGCTrigger::LVL1TGCTrigger::getCharge ( int  dR,
int  Zdir 
)
private

Definition at line 1186 of file LVL1TGCTrigger.cxx.

1186  {
1187  // old scheme
1188  // if (dR==0) return (Zdir>0 ? -1 : 1);
1189  // return (dR*Zdir>0 ? 1 : -1);
1190  return (dR >=0 ? 1 : -1 );
1191 }

◆ getLPTTypeInRawData()

int LVL1TGCTrigger::LVL1TGCTrigger::getLPTTypeInRawData ( int  type)
private

Definition at line 1195 of file LVL1TGCTrigger.cxx.

1196 {
1197  switch(type) {
1198  case WTSB :
1200  case WDSB :
1202  case STSB :
1204  case SDSB :
1206  case WISB :
1208  case SISB :
1210  default :
1211  return -1;
1212  }
1213 }

◆ getMaskedChannel()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getMaskedChannel ( )
private

Definition at line 1038 of file LVL1TGCTrigger.cxx.

1039 {
1040  std::string fname=m_MaskFileName12.value();
1041  if (fname.empty()) return StatusCode::SUCCESS;
1042 
1043  std::string fullName = PathResolver::find_file (fname, "PWD");
1044  if( fullName.empty())
1045  fullName = PathResolver::find_file (fname, "DATAPATH");
1046 
1047  std::ifstream fin(fullName.c_str());
1048  if (!fin) {
1049  ATH_MSG_FATAL("Cannot open file " << fullName);
1050  return StatusCode::FAILURE;
1051  } else {
1052  ATH_MSG_INFO("Use mask file : " << fullName);
1053  }
1054  // read database ------------------------------------------------------------------------------
1055  std::vector<std::string> mask;
1056  std::string aLine;
1057  while(getline(fin,aLine)) {
1058  if (aLine.compare(0,3,"///")!=0) break;
1059  }
1060  int id_type = atoi(aLine.c_str());
1061  while(getline(fin,aLine)) {
1062  if (!aLine.empty()) mask.push_back(aLine);
1063  }
1064  fin.close();
1065 
1066  //
1067  std::vector<int> ids;
1068  Identifier ID;
1069  int nmasked=0, nfired=0;
1070  for(int ich=0; ich<(int)mask.size(); ich++) {
1071  std::string ch = mask[ich];
1073  int OnOff=ids[0]; // 0=off(masked) 1=on(fired)
1074  //
1075  if (id_type==1 && ids.size()==8) { // online
1076  int sysno1 = (ids[1]==-99 ? -1 : ids[1]); int sysno2=(ids[1]==-99 ? 1 : ids[1]);// -1(B) 1(F)
1077  int octno1 = (ids[2]==-99 ? 0 : ids[2]); int octno2=(ids[2]==-99 ? 7 : ids[2]);
1078  for(int sysno=sysno1; sysno<=sysno2; sysno+=2) {
1079  for(int octno=octno1; octno<=octno2; octno++) {
1080  bool status = m_cabling->getOfflineIDfromOnlineID(ID,sysno,octno,
1081  ids[3],ids[4],ids[5],ids[6],ids[7]);
1082  ATH_MSG_VERBOSE( (OnOff==0 ? "Mask" : "Fire") << " : offlineID=" << ID
1083  << " sys=" << sysno << " oct=" << octno << " modno=" << ids[3]
1084  << " layerno=" << ids[4] << " rNumber=" << ids[5]
1085  << " strip=" << ids[6] << " chno=" << ids[7] );
1086 
1087  if (!status) {
1088  ATH_MSG_WARNING("This onlineID is not valid and cannot be converted to offline ID." );
1089  ATH_MSG_WARNING("sys=" << sysno << " oct=" << octno << " modno=" << ids[3]
1090  << " layerno=" << ids[4] << " rNumber=" << ids[5]
1091  << " strip=" << ids[6] << " chno=" << ids[7] );
1092  } else {
1093  m_MaskedChannel.insert(std::map<Identifier, int>::value_type(ID, OnOff));
1094  if (OnOff==0) nmasked+=1;
1095  else if (OnOff==1) nfired+=1;
1096  }
1097  }
1098  }
1099 
1100  } else if (id_type==2 && ids.size()==6) { // readout id
1101  int sysno1 = (ids[1]==-99 ? 103 : ids[1]); int sysno2=(ids[1]==-99 ? 104 : ids[1]);// 103(F), 104(B)
1102  int octno1 = (ids[2]==-99 ? 0 : ids[2]); int octno2=(ids[2]==-99 ? 7 : ids[2]);
1103  for(int sysno=sysno1; sysno<=sysno2; sysno+=1) {
1104  for(int octno=octno1; octno<=octno2; octno++) {
1105  bool status = m_cabling->getOfflineIDfromReadoutID(ID, sysno,octno,ids[3],ids[4],ids[5]);
1106  ATH_MSG_VERBOSE( (OnOff==0 ? "Mask" : "Fire") << " : offlineID=" << ID
1107  << " subdetectorID=" << sysno << " rodId=" << octno << " sswID=" << ids[3]
1108  << " SBLoc=" << ids[4] << " channelId=" << ids[5] );
1109  if (!status) {
1110  ATH_MSG_WARNING("This readoutID is not valid and cannot be converted to offline ID " );
1111  ATH_MSG_WARNING("subdetectorID=" << sysno << " rodId=" << octno << " sswID=" << ids[3]
1112  << " SBLoc=" << ids[4] << " channelId=" << ids[5] );
1113  } else {
1114  m_MaskedChannel.insert(std::map<Identifier, int>::value_type(ID, OnOff));
1115  if (OnOff==0) nmasked+=1;
1116  else if (OnOff==1) nfired+=1;
1117  }
1118  }
1119  }
1120 
1121  } else if (id_type==3 && ids.size()==2) { // offline id
1122  ID = Identifier((unsigned int)ids[1]);
1123  ATH_MSG_DEBUG((OnOff==0 ? "Mask" : "Fire") << " : offlineID=" << ID);
1124  m_MaskedChannel.insert(std::map<Identifier, int>::value_type(ID, OnOff));
1125  if (OnOff==0) nmasked+=1;
1126  else if (OnOff==1) nfired+=1;
1127 
1128  } else {
1129  ATH_MSG_INFO("Invalid input. Idtype or number of parameters are invalid: idtype=" << id_type
1130  << " number of elements = " << ids.size() );
1131  return StatusCode::FAILURE;
1132  }
1133  }
1134  //
1135  ATH_MSG_INFO("Total number of masked channels ... " << nmasked);
1136  ATH_MSG_INFO("Total number of fired channels ... " << nfired);
1137  //
1138  return StatusCode::SUCCESS;
1139 }

◆ initialize()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::initialize ( )
overridevirtual

Definition at line 71 of file LVL1TGCTrigger.cxx.

72 {
73  ATH_MSG_DEBUG("LVL1TGCTrigger::initialize()");
74 
75  m_debuglevel = (msgLevel() <= MSG::DEBUG); // save if threshold for debug
76 
77  m_tgcArgs.set_MSGLEVEL(msgLevel());
81  m_tgcArgs.set_TILE_MU( m_TILEMU.value() );
82  m_tgcArgs.set_USE_NSW( m_USENSW.value() );
85 
88 
90 
93 
94  // CondDB is not available for Run3 config. set USE_CONDDB to false to avoid errors.
95  // will be removed the below part.
96  if(m_useRun3Config.value()){
98  }
99 
100  // initialize TGCDataBase
101  m_db = new TGCDatabaseManager(&m_tgcArgs, m_readCondKey, m_readLUTs_CondKey);
102 
103  // initialize the TGCcabling
105 
106  // read and write handle key
109  ATH_CHECK(m_keyTileMu.initialize());
110  ATH_CHECK(m_keyNSWTrigOut.initialize(tgcArgs()->USE_NSW())); // to be updated once the Run 3 CondDb becomes available (should be automatically configured by db info)
111  ATH_CHECK(m_keyBIS78TrigOut.initialize(tgcArgs()->USE_BIS78())); // to be updated as well
112  ATH_CHECK(m_muctpiPhase1Key.initialize(tgcArgs()->useRun3Config()));
113  ATH_CHECK(m_keyTgcRdo.initialize(tgcArgs()->useRun3Config()));
115 
116  // clear mask channel map
117  m_MaskedChannel.clear();
118 
119  return StatusCode::SUCCESS;
120 }

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

◆ processOneBunch()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::processOneBunch ( const TgcDigitContainer tgc_container,
LVL1MUONIF::Lvl1MuCTPIInputPhase1 muctpiinputPhase1,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 250 of file LVL1TGCTrigger.cxx.

253 {
254  ATH_MSG_DEBUG("start processOneBunch: for BC=" << m_bctagInProcess);
255 
256  std::map<Identifier, int> tgcDigitIDs;
258 
259  // doMaskOperation (masked & fired)
260  doMaskOperation(tgc_container, tgcDigitIDs);
261 
262  // fill ASDOut to this event
263  TGCEvent event;
264  fillTGCEvent(tgcDigitIDs, event);
265  tgcDigitIDs.clear();
266 
267  // process trigger electronics emulation...
268  m_TimingManager->increaseBunchCounter();
269  m_system->distributeSignal(&event);
270 
271  // EIFI trigger bits for SL are cleared.
273 
274  // PatchPanel, SlaveBoard
276  for( int j=0; j<m_system->getNumberOfOctant(); j+=1){
277  for( int k=0; k<m_system->getNumberOfModule(); k+=1){
278  TGCSector* sector = m_system->getSector(i,j,k);
279  if((sector!=0)&&(sector->hasHit())){
281  m_TimingManager->startPatchPanel(sector, m_db);
282  m_TimingManager->startSlaveBoard(sector);
283  if (m_OutputTgcRDO.value()) recordRdoSLB(sector, tgcrdo);
284  // EIFI trigger bits for SL are filled in this method.
285  }
286  }
287  }
288  }
289 
290  // HighPtBoard, SectorLogic
291  const int muctpiBcId_offset = TgcDigit::BC_CURRENT;
292  int muctpiBcId = m_bctagInProcess - muctpiBcId_offset;
293  for(int i=0; i< LVL1TGC::kNSide; i++) {
294  int sectoraddr_endcap = 0;
295  int sectoraddr_forward = 0;
296  for(int j=0; j<m_system->getNumberOfOctant(); j+=1){
297  for(int k=0; k<m_system->getNumberOfModule(); k+=1){
298  if(k>=9) continue;// skip Inner TGC
299  TGCSector* sector = m_system->getSector(i,j,k);
300  if(sector==0) continue;
301 
302  m_TimingManager->startHighPtBoard(sector);
303  if (m_OutputTgcRDO.value()) recordRdoHPT(sector, tgcrdo);
304 
305  // EIFI trigger bits are checked if Endcap
306  if(sector->getRegionType() == TGCRegionType::ENDCAP && sector->getSL()) {
307  if((sector->hasHit())){
308  // Pointers to store EIFI trigger bits for Endcap SL
309  const TGCInnerTrackletSlot* innerTrackletSlots[TGCInnerTrackletSlotHolder::NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR]
310  = {0, 0, 0, 0};
311  m_innerTrackletSlotHolder.getInnerTrackletSlots(i, j, k, innerTrackletSlots);
312  sector->getSL()->setInnerTrackletSlots(innerTrackletSlots);
313  }
314  }
315  m_TimingManager->startSectorLogic(sector);
316  if(sector->hasHit()) sector->clearNumberOfHit();
317 
318  // Fill inner (EIFI/Tile) words
319  if (m_OutputTgcRDO.value() && m_tgcArgs.USE_INNER()) recordRdoInner(sector, tgcrdo);
320 
321  // Fill Lvl1MuCTPInput
322  if (m_OutputTgcRDO.value()) recordRdoSL(sector, tgcrdo);
323 
324  size_t tgcsystem=0,subsystem=0;
327 
328  std::shared_ptr<TGCTrackSelectorOut> trackSelectorOut;
329  sector->getSL()->getTrackSelectorOutput(trackSelectorOut);
330 
331  std::shared_ptr<LVL1TGC::TGCNSW> nsw = m_system->getNSW();
332  int module = sector->getModuleId();
333  int sectorId;
334  if(sector->getRegionType() == TGCRegionType::ENDCAP) {
337  if(trackSelectorOut != 0) FillSectorLogicData(&sldata,trackSelectorOut.get());
338 
339  if ( m_tgcArgs.USE_NSW() ){
340  sectorId = ((module/3)*2+module%3) + sector->getOctantId()*6;
341  std::shared_ptr<const LVL1TGC::NSWTrigOut> pNSWOut = nsw->getOutput(sector->getRegionType(),
342  sector->getSideId(),
343  sectorId);
344  if ( pNSWOut ){
345  // set monitoring flag
346  for(bool NSWmonitor : pNSWOut->getNSWmonitor() ){
347  if ( NSWmonitor ) {
348  sldata.nsw(true);
349  break;
350  }
351  }
352  }
353  }
354  muctpiinputPhase1->setSectorLogicData(sldata,tgcsystem,subsystem,sectoraddr_endcap++,muctpiBcId);
355  } else if(sector->getRegionType() == TGCRegionType::FORWARD) {
358  if(trackSelectorOut != 0) FillSectorLogicData(&sldata,trackSelectorOut.get());
359 
360  if ( m_tgcArgs.USE_NSW() ) {
361  sectorId = (module/3) + sector->getOctantId()*3;
362  std::shared_ptr<const LVL1TGC::NSWTrigOut> pNSWOut = nsw->getOutput(sector->getRegionType(),
363  sector->getSideId(),
364  sectorId);
365  if ( pNSWOut ){
366  // set monitoring flag
367  for(bool NSWmonitor : pNSWOut->getNSWmonitor() ){
368  if ( NSWmonitor ) {
369  sldata.nsw(true);
370  break;
371  }
372  }
373  }
374  }
375  muctpiinputPhase1->setSectorLogicData(sldata,tgcsystem,subsystem,sectoraddr_forward++,muctpiBcId);
376  }
377 
378  trackSelectorOut.get()->reset();
379 
380 
381  } // k Module
382  } // j Octant
383  } // i Side
384 
385  event.Clear();
386 
387  return StatusCode::SUCCESS;
388 }

◆ recordRdoHPT()

void LVL1TGCTrigger::LVL1TGCTrigger::recordRdoHPT ( TGCSector sector,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 665 of file LVL1TGCTrigger.cxx.

667 {
668  if(sector->hasHit() == false) return;
669 
670  // readoutID
671  int subDetectorId, rodId, sswId, sbLoc, secId;
672 
673  // get numbering scheme info from cabling svc
674  int startEndcapSector, coverageOfEndcapSector;
675  int startForwardSector, coverageOfForwardSector;
676  rodId = 1;
678  startEndcapSector,
679  coverageOfEndcapSector,
680  startForwardSector,
681  coverageOfForwardSector
682  ) ;
683 
685 
686  // HPTID
687  bool isAside, isEndcap, isStrip; int phi;
688  isAside = (sector->getSideId()==0);
689  isEndcap = (sector->getRegionType() == TGCRegionType::ENDCAP);
690  int module = sector->getModuleId();
691  // sector Id = 0..47 (Endcap) 0..23 (forward)
692  int sectorId;
693  if (isEndcap){
694  sectorId = ((module/3)*2+module%3) + sector->getOctantId()*6;
695  } else {
696  sectorId = (module/3) + sector->getOctantId()*3;
697  }
698  // secId for TgcRawData
699  // 0-3(EC), 0-1(FWD) for new TGCcabling (1/12sector)
700  // 0-5(EC), 0-2(FWD) for new TGCcabling (octant)
701  if (isEndcap){
702  secId = sectorId % coverageOfEndcapSector;
703  } else {
704  secId = sectorId % coverageOfForwardSector;
705  }
706  // phi=1-48(EC), 1-24(FWD) in detector ID scheme
707  phi = (isEndcap ? (sectorId+46)%48+1 : (sectorId+23)%24+1);
708 
709  for(int itype=0; itype<2; itype++) { // loop over HPB type(wire/strip)
710  isStrip = (itype==0 ? 0 : 1); // 0=wire 1=strip
711  for(unsigned int ihpb=0; ihpb<sector->getNumberOfHPB(itype); ihpb++) { // loop over # of HPB per sector
712  TGCHighPtBoard * hpb = sector->getHPB(itype, ihpb);
713  if (0==hpb) continue;
714  TGCHighPtChipOut * out = hpb->getOutput();
715  if (0==out) continue;
716 
717  // get ReadoutID
718  bool status = m_cabling->getReadoutIDfromHPTID(phi, isAside, isEndcap, isStrip, hpb->getId(),
719  subDetectorId, rodId, sswId, sbLoc);
720  if (!status) {
721  ATH_MSG_WARNING("TGCcablignSvc::getReadoutIDfromHPTID fails");
722  continue;
723  }
724 
725  // loop over chip and candidate
726  for(int ichip=0; ichip<NumberOfChip; ichip++) { // NumberOfChip=2
727  for(int icand=0; icand<TGCHighPtChipOut::s_NHitInTrackSelector; icand++) {
728  if (!out->getSel(ichip, icand)) continue; // should be 1 or 2
729  int chip = ichip;
730  int index = ihpb;
731  int hitId = out->getHitID(ichip, icand);
733  index, chip, hitId);
734  bool isHPT = out->getPt(ichip,icand)==PtHigh ? 1 : 0;
735  std::unique_ptr<TgcRawData> rawdata(new TgcRawData(bcTag,
736  static_cast<uint16_t>(subDetectorId),
737  static_cast<uint16_t>(rodId),
738  l1Id,
739  bcId,
740  isStrip, (!isEndcap), secId, chip, icand,
741  isHPT, hitId,
742  out->getPos(ichip, icand),
743  out->getDev(ichip, icand),
744  0));
745  addRawData(std::move(rawdata), tgcrdo);
746 
747  // Print
748  ATH_MSG_DEBUG( "recordRdoHPT : bdTag =" << bcTag
749  << " side=" << ( (isAside)? "A" : "C")
750  << (isEndcap ? "EC" : "FWD")
751  << " w/s=" << ( (isStrip)? "s" : "w")
752  << " id=" << hpb->getId()
753  << " ecId=" << secId
754  << " chip=" << ichip
755  << " cand=" << icand
756  << " block=" << out->getHitID(ichip, icand)
757  << " subMatrix=" << out->getPos(ichip, icand)
758  << " dev=" << out->getDev(ichip, icand)
759  << " srod=" << rodId << " sswId=" << sswId << " SBLoc=" << sbLoc );
760 
761  // Strip HPT hit may be duplicated
762  if ( m_tgcArgs.SHPT_ORED() &&
763  isEndcap && isStrip &&
764  (chip==1) ) {
765  int oredId = -1;
766  if (hitId == 1) oredId = 5;
767  else if (hitId == 2) oredId = 6;
768  else if (hitId == 5) oredId = 1;
769  else if (hitId == 6) oredId = 2;
770  if (oredId >=0) {
771  std::unique_ptr<TgcRawData> rawdata2(
772  new TgcRawData(bcTag,
773  static_cast<uint16_t>(subDetectorId),
774  static_cast<uint16_t>(rodId),
775  l1Id,
776  bcId,
777  isStrip, (!isEndcap), secId, chip, icand,
778  isHPT, oredId,
779  out->getPos(ichip, icand),
780  out->getDev(ichip, icand),
781  0));
782  addRawData(std::move(rawdata2), tgcrdo);
783  }
785 
786  }
787 
788  }
789  }
790  // end loop of candidate and chip
791 
792  } // end loop for # of HPB per sector
793  } // end loop for HPB type
794 }

◆ recordRdoInner()

void LVL1TGCTrigger::LVL1TGCTrigger::recordRdoInner ( TGCSector sector,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 798 of file LVL1TGCTrigger.cxx.

800 {
801  bool isAside = sector->getSideId()==0;
802  bool isEndcap = (sector->getRegionType() == TGCRegionType::ENDCAP);
803  if (!isEndcap) return;
804 
805  // sector Id = 0..47, phi = 1..48
806  int module = sector->getModuleId();
807  int octant = sector->getOctantId();
808  int sectorId = ((module/3)*2+module%3) + octant*6;
809  int phi = (sectorId+46)%48+1;
810 
811  // get readout ID
812  int subDetectorId=0, rodId=0, sswId=0, sbLoc=0;
813 
814  bool status = m_cabling->getSReadoutIDfromSLID(phi, isAside, isEndcap,
815  subDetectorId, rodId, sswId, sbLoc);
816  if (!status) {
817  ATH_MSG_WARNING("TGCcablingSvc::ReadoutIDfromSLID fails in recordRdoInner()" );
818  return;
819  }
820 
821  // secID for TGCRawData
822  // 0-3(EC), 0-1(FWD) for 1/12 sector
823  // 0-15(EC), 0-7(FWD) for 1/3 sector covered by SROD in RUn3
824  int startEndcapSector, coverageOfEndcapSector;
825  int startForwardSector, coverageOfForwardSector;
826  if (!m_cabling->getCoveragefromSRodID(rodId,
827  startEndcapSector,
828  coverageOfEndcapSector,
829  startForwardSector,
830  coverageOfForwardSector
831  ) )
832  {
833  ATH_MSG_WARNING("LVL1TGCTrigger::recordRdoInner --- bad rodId " << rodId );
834  return;
835  }
836 
837  int secId = 0;
838  if (isEndcap){
839  secId = sectorId % coverageOfEndcapSector;
840  } else {
841  secId = sectorId % coverageOfForwardSector;
842  }
843 
844  uint16_t bcTag = m_CurrentBunchTag, l1Id = 0, bcId = 0;
845 
846  // EIFI
848 
849  const TGCInnerTrackletSlot* innerTrackletSlots[n_slots] = {0, 0, 0, 0};
851  octant, module, innerTrackletSlots);
852 
853  std::array<int, n_slots>inner_eifi;
854  m_innerTrackletSlotHolder.getInnerTrackletBits(innerTrackletSlots, inner_eifi);
855 
856  for (int i_slot = 0; i_slot < n_slots; i_slot++) {
857  if (inner_eifi[i_slot] > 0) {
858  std::unique_ptr<TgcRawData> rawdata_eifi(new TgcRawData(bcTag,
859  static_cast<uint16_t>(subDetectorId),
860  static_cast<uint16_t>(rodId),
861  l1Id,
862  bcId,
863  (!isEndcap),
864  secId, /*to be checked*/
865  static_cast<uint16_t>(inner_eifi[i_slot]),
866  0, /*fi*/
867  static_cast<uint16_t>(i_slot) /*chamber Id*/));
868  addRawData(std::move(rawdata_eifi), tgcrdo);
869  }
870  }
871 
872  // Tile
873  int inner_tile = m_system->getTMDB()->getInnerTileBits(sector->getSideId(), sectorId);
874 
875  if (inner_tile > 0) {
876  //TgcRawData * rawdata_tile = new TgcRawData(bcTag,
877  //std::shared_ptr<TgcRawData> rawdata_tile (
878  std::unique_ptr<TgcRawData> rawdata_tile (new TgcRawData(bcTag,
879  static_cast<uint16_t>(subDetectorId),
880  static_cast<uint16_t>(rodId),
881  l1Id,
882  bcId,
883  (!isEndcap),
884  secId,
885  inner_tile,
886  0 /*bcid*/ ));
887  addRawData(std::move(rawdata_tile), tgcrdo);
888  }
889 
890  // NSW
891  TGCRegionType region = sector->getRegionType();
892  if ( m_USENSW ) {
893  std::shared_ptr<const LVL1TGC::NSWTrigOut> nsw_trigout = m_system->getNSW()->getOutput(region, !isAside, sectorId);
894  for ( int icand=0; icand<(int)nsw_trigout->getNSWeta().size(); icand++ ){
895  std::unique_ptr<TgcRawData> rawdata_nsw (new TgcRawData(bcTag,
896  static_cast<uint16_t>(subDetectorId),
897  static_cast<uint16_t>(rodId),
898  l1Id,
899  bcId,
900  (!isEndcap),
901  static_cast<uint16_t>(secId), /*?*/
902  static_cast<uint16_t>(nsw_trigout->getNSWeta().at(icand)),
903  static_cast<uint16_t>(nsw_trigout->getNSWphi().at(icand)),
904  static_cast<uint16_t>(icand), //nswcand
905  static_cast<uint16_t>(nsw_trigout->getNSWDtheta().at(icand)),
906  0, //nswphires
907  0, //nswlowres
908  static_cast<uint16_t>(nsw_trigout->getNSWTriggerProcessor().at(icand))));
909  addRawData(std::move(rawdata_nsw), tgcrdo);
910  }
911  }
912 
913  // RPC BIS78
914  if ( m_USEBIS78 ) {
915  std::shared_ptr<const LVL1TGC::BIS78TrigOut> bis78_trigout = m_system->getBIS78()->getOutput(sectorId);
916  for ( int icand=0; icand<(int)bis78_trigout->getBIS78eta().size(); icand++ ){
917  std::unique_ptr<TgcRawData> rawdata_bis78 (new TgcRawData(bcTag,
918  static_cast<uint16_t>(subDetectorId),
919  static_cast<uint16_t>(rodId),
920  l1Id,
921  bcId,
922  (!isEndcap),
923  static_cast<uint16_t>(secId), /*?*/
924  static_cast<uint16_t>(bis78_trigout->getBIS78eta().at(icand)),
925  static_cast<uint16_t>(bis78_trigout->getBIS78phi().at(icand)),
926  static_cast<uint16_t>(icand),
927  static_cast<uint16_t>(bis78_trigout->getBIS78Deta().at(icand)),
928  static_cast<uint16_t>(bis78_trigout->getBIS78Dphi().at(icand))));
929  addRawData(std::move(rawdata_bis78), tgcrdo);
930  }
931  }
932 }

◆ recordRdoSL()

void LVL1TGCTrigger::LVL1TGCTrigger::recordRdoSL ( TGCSector sector,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 935 of file LVL1TGCTrigger.cxx.

937 {
938  // check if whether trigger output exists or not
939  std::shared_ptr<TGCTrackSelectorOut> selectorOut;
940  sector->getSL()->getTrackSelectorOutput(selectorOut);
941 
942  if (selectorOut == nullptr) return;
943  if (selectorOut->getNCandidate() == 0) return;
944 
945  // trigger info
946  // bool cand3plus = 0;
947  bool isEndcap = (sector->getRegionType() == TGCRegionType::ENDCAP);
948  bool isAside = (sector->getSideId()==0);
949  bool veto=0;
950  int phi=0, index=0, threshold=0, roi=0;
951  int Zdir= (isAside) ? 1 : -1;
952 
953  // sector Id = 0..47 (Endcap) 0..23 (forward)
954  int module = sector->getModuleId();
955  int sectorId;
956  if (isEndcap){
957  sectorId = ((module/3)*2+module%3) + sector->getOctantId()*6;
958  } else {
959  sectorId = (module/3) + sector->getOctantId()*3;
960  }
961 
962  // secID for TGCRawData
963  // 0-3(EC), 0-1(FWD) for new TGCcabling (1/12sector)
964  // 0-5(EC), 0-2(FWD) for new TGCcabling (octant)
965  int startEndcapSector, coverageOfEndcapSector;
966  int startForwardSector, coverageOfForwardSector;
967  int rodId = 1;
969  startEndcapSector,
970  coverageOfEndcapSector,
971  startForwardSector,
972  coverageOfForwardSector
973  ) ;
974  int secId = 0;
975  if (isEndcap){
976  secId = sectorId % coverageOfEndcapSector;
977  } else {
978  secId = sectorId % coverageOfForwardSector;
979  }
980 
981  // phi=1-48(EC), 1-24(FWD) in detector ID scheme
982  phi = (isEndcap ? (sectorId+46)%48+1 : (sectorId+23)%24+1);
983 
984  // get readout ID
985  int subDetectorId = 0, sswId = 0, sbLoc = 0;
986  bool status = m_cabling->getSReadoutIDfromSLID(phi, isAside, isEndcap,
987  subDetectorId, rodId, sswId, sbLoc);
988  if (!status) {
989  ATH_MSG_WARNING("TGCcablignSvc::ReadoutIDfromSLID fails"
990  << (isEndcap ? " Endcap-" : " Forward-")
991  << (isAside ? "A " : "C ")
992  << " phi=" << phi );
993  return;
994  }
995 
996  // bool overlap = 0;
997  int inner=0, coinFlag=0;
999  for (unsigned int icand=0; icand < (unsigned int)selectorOut->getNCandidate(); ++icand) {
1000  index=icand;
1001  bool muplus = getCharge(selectorOut->getDR(icand), Zdir)==1 ? 1 : 0;
1002  threshold = selectorOut->getPtLevel(icand);
1003  roi = ((selectorOut->getR(icand))<<2)+(selectorOut->getPhi(icand));
1004  if (selectorOut->getInnerVeto(icand)) veto = 1;
1005  else veto = 0;
1006 
1007  inner = selectorOut->getInnerCoincidenceFlag(icand);
1008  coinFlag = selectorOut->getCoincidenceType(icand);
1009 
1010  // create TgcRawData
1011  std::unique_ptr<TgcRawData> rawdata(new TgcRawData(bcTag,
1012  static_cast<uint16_t>(subDetectorId),
1013  static_cast<uint16_t>(rodId),
1014  l1Id,
1015  bcId,
1016  (!isEndcap), secId,
1017  inner,
1018  coinFlag,
1019  muplus, threshold, roi));
1020  addRawData(std::move(rawdata), tgcrdo);
1021 
1022  ATH_MSG_DEBUG("recordRdoSL : bcTag =" << bcTag
1023  << " side=" << (isAside ? "A " : "C ")
1024  << " reg=" << (isEndcap ? "EC" : "FWD")
1025  << " phi=" << phi
1026  << " cand=" << index
1027  << " charge=" << (muplus ? "mu+" : "mu-")
1028  << " thre=" << threshold
1029  << " veto=" << veto
1030  << " roi=" << roi
1031  << " srod=" << rodId << " sswId=" << sswId << " SBLoc=" << sbLoc
1032  << " inner=" << inner << " coinFlag=" << coinFlag );
1033  }
1034  }

◆ recordRdoSLB()

void LVL1TGCTrigger::LVL1TGCTrigger::recordRdoSLB ( TGCSector sector,
std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &  tgcrdo 
)
private

Definition at line 541 of file LVL1TGCTrigger.cxx.

543 {
545  // readoutID
546  int subDetectorId, rodId, sswId, sbLoc, secId, secIdEIFI;
547  // SLBID
548  bool isAside, isEndcap; int phi, moduleType, id, phiEIFI;
549  isAside = (sector->getSideId()==0 ? 1 : 0);
550  isEndcap = (sector->getRegionType() == TGCRegionType::ENDCAP ? 1 : 0);
551  int module = sector->getModuleId();
552  // OnlineID moduleNumber
553  // <---- phi ----
554  // EC: 7 6 4 3 1 0 11 10 9
555  // FWD: 8 5 2 14 13 12
556  // [M1, M2, M3] [EI/FI]
557  // secId=0-5(EC), 0-2(FWD) for TgcRawData
558  secId = (isEndcap ? (module/3)*2+module%3 : module/3);
559  // phi=1-48(EC), 1-24(FWD) in detector ID scheme
560  phi = (isEndcap ? (secId+46+sector->getOctantId()*6)%48+1 : (secId+23+sector->getOctantId()*3)%24+1);
561  // secIdEIFI=0-2
562  secIdEIFI = module%3;
563  // phiEIFI=1-24
564  phiEIFI = (secIdEIFI+23+sector->getOctantId()*3)%24+1;
565 
566  // SLB
567  const int NumberOfSLBType = 6;
568  // 0: WT, 1: WD, 2: ST, 3: SD, 4: WI 5:SI
569  for(int itype=0; itype<NumberOfSLBType; itype++) {
570  moduleType = getLPTTypeInRawData(itype);
571 
572  // loop over all SB of each type
573  for(unsigned int index=0; index<sector->getNumberOfSB(itype); index++) {
574  TGCSlaveBoard * slb = sector->getSB(itype, index);
575  if (0==slb) continue;
576  id = slb->getId();
577  const TGCSlaveBoardOut * out = slb->getOutput();
578  if (0==out) continue;
579 
580  bool isEIFI = (moduleType==TgcRawData::SLB_TYPE_INNER_WIRE ||
582 
583  // get ReadoutID
584  bool status =
585  m_cabling->getReadoutIDfromSLBID((isEIFI ? phiEIFI : phi),
586  isAside, isEndcap,
587  moduleType, id,
588  subDetectorId, rodId,
589  sswId, sbLoc);
590  if (!status) {
591  ATH_MSG_DEBUG("TGCcablignSvc::getReadoutIDfromSLBID fails");
592  ATH_MSG_DEBUG( "phi=" << phi
593  << " side=" << ((isAside) ? "A": "C")
594  << " region=" << ((isEndcap) ? "Endcap" : "Forward")
595  << " type=" << moduleType
596  << " id=" << id
597  << " subDetectorId=" << subDetectorId
598  << " rodId=" << rodId
599  << " sswId=" << sswId
600  << " sbLoc=" << sbLoc);
601  continue;
602  }
603 
604  // fill TgcRawData
605  for(int iData=0; iData<out->getNumberOfData(); iData++) { // max 8
606  if (!out->getHit(iData)) continue;
607 
608  // see TGCcabling/TGCId.h (WD=0,SD,WT,ST,SI,WI). Same as TgcRawData
610  int subMat = iData % 4;
611  int seg = 0;
613  if (iData<4) seg= 1;
614  // 13.Jan.2011 reversed by Hisaya
615  // because Layer swap in TGCStripTripletSB::doCoincidence()
616  } else if ( (type==TgcRawData::SLB_TYPE_INNER_WIRE ) ||
618  seg= iData/4;
619  }
620  std::unique_ptr<TgcRawData> rawdata(new TgcRawData(bcTag,
621  static_cast<uint16_t>(subDetectorId),
622  static_cast<uint16_t>(rodId),
623  static_cast<uint16_t>(sswId),
624  static_cast<uint16_t>(sbLoc),
625  l1Id, bcId,
626  type, out->getDev(iData), seg, subMat,
627  out->getPos(iData)));
628  addRawData(std::move(rawdata), tgcrdo);
629 
630  // EIFI trigger bits for SL are filled.
631  if(isEIFI) {
632  bool setEIFITriggerBit =
633  m_innerTrackletSlotHolder.setTriggerBit(sector->getSideId(),
634  phiEIFI,
635  (isEndcap ?
639  static_cast<unsigned int>(subMat),
640  true);
641 
642  if(!setEIFITriggerBit) {
643  ATH_MSG_INFO("Fail to set Inner trigger bit of"
644  << " sideId= " << sector->getSideId()
645  << " slotId= " << phiEIFI
646  << " region= " << (isEndcap ? "EI" : "FI")
647  << " readout= " << (type==TgcRawData::SLB_TYPE_INNER_WIRE ? "WIRE" : "STRIP")
648  << " subMat(iBit)= " << static_cast<unsigned int>(subMat) );
649  }
650  }
651 
652  ATH_MSG_DEBUG(" recordRdoSLB : reg=" << (isEndcap ? "EC" : "FWD")
653  << " srod=" << rodId << " sswId=" << sswId
654  << " SBLoc=" << sbLoc << " type=" << itype
655  << " iData(subMat:seg)=" << iData << " pos="
656  << out->getPos(iData) << " dev=" << out->getDev(iData) );
657  }
658  // end of filling TgcRawData
659 
660  } // end of loop over SB
661  } // end loop for SLB type
662 }

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

◆ start()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::start ( )
overridevirtual

Definition at line 1142 of file LVL1TGCTrigger.cxx.

1142  {
1143  if (m_bsMetaDataContRHKey.key().empty()) return StatusCode::SUCCESS;
1144 
1145  ATH_MSG_DEBUG("Retrieving Detector Mask from ByteStream metadata container");
1146  auto bsmdc = SG::makeHandle(m_bsMetaDataContRHKey);
1147  if (bsmdc.isValid() && !bsmdc->empty()) {
1148  const ByteStreamMetadata* metadata = bsmdc->front();
1149  uint64_t detMaskLeast = metadata->getDetectorMask();
1150  uint64_t detMaskMost = metadata->getDetectorMask2();
1151 
1152  std::vector<eformat::SubDetector> subDetOff;
1153  eformat::helper::DetectorMask(~detMaskLeast, ~detMaskMost).sub_detectors(subDetOff);
1154  auto sideA = std::find_if(subDetOff.begin(), subDetOff.end(), [](const eformat::SubDetector &s) {
1155  return (s == eformat::MUON_MMEGA_ENDCAP_A_SIDE || s == eformat::MUON_STGC_ENDCAP_A_SIDE); });
1156  auto sideC = std::find_if(subDetOff.begin(), subDetOff.end(), [](const eformat::SubDetector &s) {
1157  return (s == eformat::MUON_MMEGA_ENDCAP_C_SIDE || s == eformat::MUON_STGC_ENDCAP_C_SIDE); });
1158 
1159  if (sideA != std::end(subDetOff)) tgcArgs()->set_NSWSideInfo(m_NSWSideInfo.value().erase(0,1));
1160  else if (sideC != std::end(subDetOff)) tgcArgs()->set_NSWSideInfo(m_NSWSideInfo.value().erase(1,1));
1161  else if (sideA != std::end(subDetOff) && sideC != std::end(subDetOff)) tgcArgs()->set_NSWSideInfo("");
1162  }
1163  return StatusCode::SUCCESS;
1164 }

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

◆ tgcArgs()

TGCArguments * LVL1TGCTrigger::LVL1TGCTrigger::tgcArgs ( )
inlineprivate

Definition at line 182 of file LVL1TGCTrigger.h.

182  {
183  return &m_tgcArgs;
184 }

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

uint16_t LVL1TGCTrigger::LVL1TGCTrigger::m_bctagInProcess {TgcDigit::BC_UNDEFINED}
private

Definition at line 144 of file LVL1TGCTrigger.h.

◆ m_bsMetaDataContRHKey

SG::ReadHandleKey<ByteStreamMetadataContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_bsMetaDataContRHKey {this, "ByteStreamMetadataRHKey", "ByteStreamMetadata", "Location to retrieve the detector mask"}
private

Definition at line 175 of file LVL1TGCTrigger.h.

◆ m_cabling

const ITGCcablingSvc* LVL1TGCTrigger::LVL1TGCTrigger::m_cabling
private

Definition at line 105 of file LVL1TGCTrigger.h.

◆ m_CurrentBunchTag

ShortProperty LVL1TGCTrigger::LVL1TGCTrigger::m_CurrentBunchTag {this,"CurrentBunchTag",TgcDigit::BC_CURRENT}
private

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 124 of file LVL1TGCTrigger.h.

◆ m_db

TGCDatabaseManager* LVL1TGCTrigger::LVL1TGCTrigger::m_db
private

Definition at line 146 of file LVL1TGCTrigger.h.

◆ m_debuglevel

bool LVL1TGCTrigger::LVL1TGCTrigger::m_debuglevel
private

Definition at line 159 of file LVL1TGCTrigger.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_firstTime

bool LVL1TGCTrigger::LVL1TGCTrigger::m_firstTime {true}
private

Definition at line 143 of file LVL1TGCTrigger.h.

◆ m_FORCENSWCOIN

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_FORCENSWCOIN {this,"FORCENSWCOIN",true}
private

Definition at line 136 of file LVL1TGCTrigger.h.

◆ m_FULLCW

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_FULLCW {this,"FULLCW",false}
private

Definition at line 133 of file LVL1TGCTrigger.h.

◆ m_innerTrackletSlotHolder

TGCInnerTrackletSlotHolder LVL1TGCTrigger::LVL1TGCTrigger::m_innerTrackletSlotHolder
private

Definition at line 153 of file LVL1TGCTrigger.h.

◆ m_INNERVETO

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_INNERVETO {this,"INNERVETO",true}
private

Definition at line 132 of file LVL1TGCTrigger.h.

◆ m_keyBIS78TrigOut

SG::ReadHandleKey<Muon::RpcBis78_TrigRawDataContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyBIS78TrigOut {this,"BIS78Trig_Input","BIS78TrigContainer","Location of RpcBis78_TrigRawDataContainer"}
private

Definition at line 169 of file LVL1TGCTrigger.h.

◆ m_keyMuCTPIInput_TGC

StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_keyMuCTPIInput_TGC {this,"MuCTPIInput_TGC","L1MuctpiStoreTGC"}
private

Definition at line 121 of file LVL1TGCTrigger.h.

◆ m_keyNSWTrigOut

SG::ReadHandleKey<Muon::NSW_TrigRawDataContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyNSWTrigOut {this,"NSWTrigger_Input","L1_NSWTrigContainer","Location of NSW_TrigRawDataContainer"}
private

Definition at line 168 of file LVL1TGCTrigger.h.

◆ m_keyTgcDigit

SG::ReadHandleKey<TgcDigitContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcDigit {this,"InputData_perEvent","TGC_DIGITS","Location of TgcDigitContainer"}
private

Definition at line 166 of file LVL1TGCTrigger.h.

◆ m_keyTgcRdo

SG::WriteHandleKey<TgcRdoContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcRdo {this,"TgcRdo","TGCRDO2","Location of TgcRdoContainer"}
private

Definition at line 164 of file LVL1TGCTrigger.h.

◆ m_keyTgcRdoIn

SG::ReadHandleKey<TgcRdoContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcRdoIn {this,"InputRDO","TGCRDO","Location of input TgcRdoContainer"}
private

Definition at line 165 of file LVL1TGCTrigger.h.

◆ m_keyTileMu

SG::ReadHandleKey<TileMuonReceiverContainer> LVL1TGCTrigger::LVL1TGCTrigger::m_keyTileMu {this,"TileMuRcv_Input","TileMuRcvCnt","Location of TileMuonReceiverContainer"}
private

Definition at line 167 of file LVL1TGCTrigger.h.

◆ m_MaskedChannel

std::map<Identifier, int> LVL1TGCTrigger::LVL1TGCTrigger::m_MaskedChannel
private

mask channel map

Definition at line 178 of file LVL1TGCTrigger.h.

◆ m_MaskFileName12

StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_MaskFileName12 {this,"MaskFileName12",""}
private

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 123 of file LVL1TGCTrigger.h.

◆ m_muctpiPhase1Key

SG::WriteHandleKey<LVL1MUONIF::Lvl1MuCTPIInputPhase1> LVL1TGCTrigger::LVL1TGCTrigger::m_muctpiPhase1Key {this, "MuctpiPhase1LocationTGC", "L1MuctpiStoreTGC", "Location of muctpiPhase1 for Tgc"}
private

Definition at line 172 of file LVL1TGCTrigger.h.

◆ m_nEventInSector

int LVL1TGCTrigger::LVL1TGCTrigger::m_nEventInSector
private

Definition at line 150 of file LVL1TGCTrigger.h.

◆ m_NSWSideInfo

StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_NSWSideInfo {this,"NSWSideInfo",""}
private

Definition at line 140 of file LVL1TGCTrigger.h.

◆ m_OutputTgcRDO

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_OutputTgcRDO {this,"OutputTgcRDO",true}
private

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 126 of file LVL1TGCTrigger.h.

◆ m_ProcessAllBunches

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_ProcessAllBunches {this,"ProcessAllBunhes",true}
private

Definition at line 125 of file LVL1TGCTrigger.h.

◆ m_readCondKey

SG::ReadCondHandleKey<TGCTriggerData> LVL1TGCTrigger::LVL1TGCTrigger::m_readCondKey {this,"ReadCondKey","TGCTriggerData"}
private

Definition at line 170 of file LVL1TGCTrigger.h.

◆ m_readLUTs_CondKey

SG::ReadCondHandleKey<TGCTriggerLUTs> LVL1TGCTrigger::LVL1TGCTrigger::m_readLUTs_CondKey {this,"ReadLUTCondKey","TGCTriggerLUTs"}
private

Definition at line 171 of file LVL1TGCTrigger.h.

◆ m_SHPTORED

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_SHPTORED {this, "SHPTORED", true}
private

Definition at line 130 of file LVL1TGCTrigger.h.

◆ m_system

std::unique_ptr<TGCElectronicsSystem> LVL1TGCTrigger::LVL1TGCTrigger::m_system
private

Definition at line 148 of file LVL1TGCTrigger.h.

◆ m_tgcArgs

TGCArguments LVL1TGCTrigger::LVL1TGCTrigger::m_tgcArgs
private

Definition at line 161 of file LVL1TGCTrigger.h.

◆ m_TILEMU

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_TILEMU {this,"TILEMU",true}
private

Definition at line 134 of file LVL1TGCTrigger.h.

◆ m_TimingManager

std::unique_ptr<TGCTimingManager> LVL1TGCTrigger::LVL1TGCTrigger::m_TimingManager
private

Definition at line 147 of file LVL1TGCTrigger.h.

◆ m_USE_CONDDB

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USE_CONDDB {this, "USE_CONDDB", true}
private

Definition at line 129 of file LVL1TGCTrigger.h.

◆ m_USEBIS78

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USEBIS78 {this,"USEBIS78",false}
private

Definition at line 137 of file LVL1TGCTrigger.h.

◆ m_USEINNER

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USEINNER {this, "USEINNER", true}
private

Definition at line 131 of file LVL1TGCTrigger.h.

◆ m_USENSW

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USENSW {this,"USENSW",false}
private

Definition at line 135 of file LVL1TGCTrigger.h.

◆ m_useRun3Config

BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_useRun3Config {this,"useRun3Config",false}
private

Definition at line 138 of file LVL1TGCTrigger.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
TgcRawData::SLB_TYPE_DOUBLET_STRIP
@ SLB_TYPE_DOUBLET_STRIP
Definition: TgcRawData.h:33
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
LVL1MUONIF::Lvl1MuCTPIInputPhase1::setSectorLogicData
void setSectorLogicData(const Lvl1MuSectorLogicDataPhase1 &data, size_t systemAddress, size_t subSystemAddress, size_t sectorAddress, int bcid=0)
Definition: Lvl1MuCTPIInputPhase1.cxx:74
LVL1TGCTrigger::LVL1TGCTrigger::m_readCondKey
SG::ReadCondHandleKey< TGCTriggerData > m_readCondKey
Definition: LVL1TGCTrigger.h:170
LVL1TGCTrigger::LVL1TGCTrigger::m_NSWSideInfo
StringProperty m_NSWSideInfo
Definition: LVL1TGCTrigger.h:140
LVL1TGCTrigger::PtHigh
const int PtHigh
Definition: TGCHighPtBoard.h:17
LVL1TGCTrigger::LVL1TGCTrigger::m_USENSW
BooleanProperty m_USENSW
Definition: LVL1TGCTrigger.h:135
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTileMu
SG::ReadHandleKey< TileMuonReceiverContainer > m_keyTileMu
Definition: LVL1TGCTrigger.h:167
LVL1TGC::CSIDE
@ CSIDE
Definition: TGCNumbering.h:15
LVL1TGCTrigger::TGCArguments::TILE_MU
bool TILE_MU() const
Definition: TGCArguments.cxx:44
LVL1MUONIF::Lvl1MuCTPIInputPhase1::idForwardSystem
static size_t idForwardSystem()
Definition: Lvl1MuCTPIInputPhase1.h:138
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
checkFileSG.line
line
Definition: checkFileSG.py:75
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
TGCTriggerData::CW_TILE
@ CW_TILE
Definition: TGCTriggerData.h:160
ITGCcablingSvc::getReadoutIDRanges
virtual void getReadoutIDRanges(int &maxRodId, int &maxSRodId, int &maxSswId, int &maxSbloc, int &minChannelId, int &maxChannelId) const =0
TgcRdo
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old TgcRdo
Definition: MuonEventAthenaPoolTPCnv.cxx:188
LVL1TGC::BIS78TrigOut::getBIS78Deta
const std::vector< uint8_t > & getBIS78Deta() const
Definition: BIS78TrigOut.h:64
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
LVL1TGCTrigger::LVL1TGCTrigger::getCabling
StatusCode getCabling()
Definition: LVL1TGCTrigger.cxx:1236
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
LVL1TGCTrigger::TGCArguments::set_USE_CONDDB
void set_USE_CONDDB(bool v)
Definition: TGCArguments.cxx:33
TgcDigit::BC_CURRENT
@ BC_CURRENT
Definition: TgcDigit.h:37
LVL1TGCTrigger::SISB
@ SISB
Definition: TGCNumbering.h:57
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
LVL1TGCTrigger::TGCArguments::set_FORCE_NSW_COIN
void set_FORCE_NSW_COIN(bool v)
Definition: TGCArguments.cxx:36
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
PathResolver::find_file
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
Definition: PathResolver.cxx:251
ITGCcablingSvc::getOfflineIDfromOnlineID
virtual bool getOfflineIDfromOnlineID(Identifier &offlineID, const int subsystemNumber, const int octantNumber, const int moduleNumber, const int layerNumber, const int rNumber, const int wireOrStrip, const int channelNumber) const =0
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
ZDC::sideC
BySideTypeMod sideC(-1)
LVL1TGCTrigger::LVL1TGCTrigger::fillTGCEvent
void fillTGCEvent(const std::map< Identifier, int > &, TGCEvent &)
Definition: LVL1TGCTrigger.cxx:426
LVL1TGCTrigger::LVL1TGCTrigger::m_keyBIS78TrigOut
SG::ReadHandleKey< Muon::RpcBis78_TrigRawDataContainer > m_keyBIS78TrigOut
Definition: LVL1TGCTrigger.h:169
LVL1TGCTrigger::LVL1TGCTrigger::getLPTTypeInRawData
int getLPTTypeInRawData(int type)
Definition: LVL1TGCTrigger.cxx:1195
LVL1TGCTrigger::TGCHighPtChipOut::s_NHitInTrackSelector
static constexpr int s_NHitInTrackSelector
Definition: TGCHighPtChipOut.h:18
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
index
Definition: index.py:1
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::innercoin
int innercoin(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:56
LVL1TGCTrigger::LVL1TGCTrigger::m_INNERVETO
BooleanProperty m_INNERVETO
Definition: LVL1TGCTrigger.h:132
WriteCellNoiseToCool.fullName
fullName
Definition: WriteCellNoiseToCool.py:461
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::nsw
int nsw() const
Definition: Lvl1MuSectorLogicDataPhase1.h:49
LVL1TGC::BIS78TrigOut::getBIS78eta
const std::vector< uint8_t > & getBIS78eta() const
Definition: BIS78TrigOut.h:62
LVL1TGCTrigger::kZ_BACKWARD
@ kZ_BACKWARD
Definition: TGCNumbering.h:45
LVL1MUONIF::Lvl1MuCTPIInputPhase1
Class representing (part of) the input data to the MuCTPI for Phase 1.
Definition: Lvl1MuCTPIInputPhase1.h:33
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
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
LVL1TGCTrigger::LVL1TGCTrigger::m_USE_CONDDB
BooleanProperty m_USE_CONDDB
Definition: LVL1TGCTrigger.h:129
LVL1TGCTrigger::SDSB
@ SDSB
Definition: TGCNumbering.h:57
TgcDigit::BC_PREVIOUS
@ BC_PREVIOUS
Definition: TgcDigit.h:37
ByteStreamMetadata
This class is the StoreGate data object for bytestream metadata.
Definition: ByteStreamMetadata.h:25
TgcRawData::subDetectorId
uint16_t subDetectorId() const
Definition: TgcRawData.h:264
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bw2or3
int bw2or3(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:57
LVL1TGCTrigger::TGCArguments::USE_INNER
bool USE_INNER() const
Definition: TGCArguments.cxx:42
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::LVL1TGCTrigger::m_tgcArgs
TGCArguments m_tgcArgs
Definition: LVL1TGCTrigger.h:161
TgcRawData::bcId
uint16_t bcId() const
Definition: TgcRawData.h:259
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LVL1TGCTrigger::LVL1TGCTrigger::m_TILEMU
BooleanProperty m_TILEMU
Definition: LVL1TGCTrigger.h:134
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
LVL1MUONIF::Lvl1MuEndcapSectorLogicDataPhase1
Class representing data from an endcap SL board.
Definition: Lvl1MuEndcapSectorLogicDataPhase1.h:26
LVL1TGCTrigger::LVL1TGCTrigger::getMaskedChannel
StatusCode getMaskedChannel()
Definition: LVL1TGCTrigger.cxx:1038
LVL1TGCTrigger::LVL1TGCTrigger::m_ProcessAllBunches
BooleanProperty m_ProcessAllBunches
Definition: LVL1TGCTrigger.h:125
LVL1TGCTrigger::LVL1TGCTrigger::m_nEventInSector
int m_nEventInSector
Definition: LVL1TGCTrigger.h:150
LVL1TGCTrigger::LVL1TGCTrigger::m_db
TGCDatabaseManager * m_db
Definition: LVL1TGCTrigger.h:146
LVL1TGCTrigger::TGCInnerTrackletSlot::WIRE
@ WIRE
Definition: TGCInnerTrackletSlot.h:36
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::ovl
int ovl(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:51
TgcRawData::SLB_TYPE_TRIPLET_WIRE
@ SLB_TYPE_TRIPLET_WIRE
Definition: TgcRawData.h:34
LVL1TGCTrigger::TGCInnerTrackletSlot::EI
@ EI
Definition: TGCInnerTrackletSlot.h:34
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
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
TgcRawData::rodId
uint16_t rodId() const
Definition: TgcRawData.h:268
LVL1TGCTrigger::LVL1TGCTrigger::tgcArgs
TGCArguments * tgcArgs()
Definition: LVL1TGCTrigger.h:182
python.checkMetadata.metadata
metadata
Definition: checkMetadata.py:175
LVL1TGCTrigger::NumberOfChip
const int NumberOfChip
Definition: TGCHighPtBoard.h:20
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:269
ITGCcablingSvc::getOfflineIDfromReadoutID
virtual bool getOfflineIDfromReadoutID(Identifier &offlineID, const int subDetectorID, const int rodID, const int sswID, const int sbLoc, const int channelID, bool orChannel=false) const =0
LVL1TGC::NSWTrigOut::getNSWeta
const std::vector< uint8_t > & getNSWeta() const
Definition: NSWTrigOut.h:66
LVL1TGCTrigger::LVL1TGCTrigger::m_USEINNER
BooleanProperty m_USEINNER
Definition: LVL1TGCTrigger.h:131
python.PyAthena.module
module
Definition: PyAthena.py:134
LVL1TGCTrigger::TGCArguments::set_USE_BIS78
void set_USE_BIS78(bool v)
Definition: TGCArguments.cxx:38
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoInner
void recordRdoInner(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:798
LVL1TGC::BIS78TrigOut::getBIS78Dphi
const std::vector< uint8_t > & getBIS78Dphi() const
Definition: BIS78TrigOut.h:65
LVL1TGCTrigger::LVL1TGCTrigger::m_OutputTgcRDO
BooleanProperty m_OutputTgcRDO
property, see LVL1TGCTrigger::LVL1TGCTrigger
Definition: LVL1TGCTrigger.h:126
LVL1TGC::NSWTrigOut::getNSWmonitor
const std::vector< bool > & getNSWmonitor() const
Definition: NSWTrigOut.h:71
LVL1TGCTrigger::LVL1TGCTrigger::m_cabling
const ITGCcablingSvc * m_cabling
Definition: LVL1TGCTrigger.h:105
AthCommonDataStore
Definition: AthCommonDataStore.h:52
LVL1TGCTrigger::LVL1TGCTrigger::m_MaskFileName12
StringProperty m_MaskFileName12
property, see LVL1TGCTrigger::LVL1TGCTrigger
Definition: LVL1TGCTrigger.h:123
TgcRdo::subDetectorId
uint16_t subDetectorId() const
Definition: TgcRdo.h:134
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
LVL1TGCTrigger::WDSB
@ WDSB
Definition: TGCNumbering.h:57
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LVL1TGCTrigger::LVL1TGCTrigger::m_readLUTs_CondKey
SG::ReadCondHandleKey< TGCTriggerLUTs > m_readLUTs_CondKey
Definition: LVL1TGCTrigger.h:171
LVL1TGCTrigger::LVL1TGCTrigger::m_MaskedChannel
std::map< Identifier, int > m_MaskedChannel
mask channel map
Definition: LVL1TGCTrigger.h:178
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
LVL1TGCTrigger::LVL1TGCTrigger::processOneBunch
StatusCode processOneBunch(const TgcDigitContainer *, LVL1MUONIF::Lvl1MuCTPIInputPhase1 *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:250
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
LVL1TGCTrigger::LVL1TGCTrigger::m_firstTime
bool m_firstTime
Definition: LVL1TGCTrigger.h:143
lumiFormat.i
int i
Definition: lumiFormat.py:92
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcDigit
SG::ReadHandleKey< TgcDigitContainer > m_keyTgcDigit
Definition: LVL1TGCTrigger.h:166
LVL1TGCTrigger::LVL1TGCTrigger::getCharge
int getCharge(int dR, int Zdir)
Definition: LVL1TGCTrigger.cxx:1186
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
LVL1TGCTrigger::WTSB
@ WTSB
Definition: TGCNumbering.h:57
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
LVL1TGCTrigger::TGCArguments::set_MSGLEVEL
void set_MSGLEVEL(const MSG::Level v)
Definition: TGCArguments.cxx:28
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
TgcDigitCollection
Definition: TgcDigitCollection.h:17
ITGCcablingSvc::getRDOHighPtIDfromSimHighPtID
virtual bool getRDOHighPtIDfromSimHighPtID(const bool isForward, const bool isStrip, int &index, int &chip, int &hitId) const =0
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidates
void clear2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:69
LVL1TGC::NSWTrigOut::getNSWDtheta
const std::vector< uint8_t > & getNSWDtheta() const
Definition: NSWTrigOut.h:68
LVL1TGCTrigger::WIRE
@ WIRE
Definition: TGCNumbering.h:52
LVL1TGCTrigger::TGCArguments::set_SHPT_ORED
void set_SHPT_ORED(bool v)
Definition: TGCArguments.cxx:29
LVL1TGCTrigger::LVL1TGCTrigger::m_useRun3Config
BooleanProperty m_useRun3Config
Definition: LVL1TGCTrigger.h:138
LVL1TGCTrigger::TGCArguments::useRun3Config
bool useRun3Config() const
Definition: TGCArguments.cxx:46
LVL1TGCTrigger::STSB
@ STSB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::WISB
@ WISB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::LVL1TGCTrigger::addRawData
bool addRawData(std::unique_ptr< TgcRawData > rawdata, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &tgcrdo)
Definition: LVL1TGCTrigger.cxx:1216
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::charge
int charge(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:53
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:82
LVL1TGCTrigger::LVL1TGCTrigger::m_bsMetaDataContRHKey
SG::ReadHandleKey< ByteStreamMetadataContainer > m_bsMetaDataContRHKey
Definition: LVL1TGCTrigger.h:175
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
LVL1TGCTrigger::LVL1TGCTrigger::m_muctpiPhase1Key
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_muctpiPhase1Key
Definition: LVL1TGCTrigger.h:172
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoSL
void recordRdoSL(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:935
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TgcRawData::l1Id
uint16_t l1Id() const
Definition: TgcRawData.h:255
LVL1TGCTrigger::LVL1TGCTrigger::m_CurrentBunchTag
ShortProperty m_CurrentBunchTag
property, see LVL1TGCTrigger::LVL1TGCTrigger
Definition: LVL1TGCTrigger.h:124
TGCTriggerData::isActive
bool isActive(int cwtype) const
Definition: TGCTriggerData.cxx:19
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
LVL1TGCTrigger::TGCInnerTrackletSlot::STRIP
@ STRIP
Definition: TGCInnerTrackletSlot.h:37
LVL1TGC::NSWTrigOut::getNSWTriggerProcessor
const std::vector< int > & getNSWTriggerProcessor() const
Definition: NSWTrigOut.h:65
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
LVL1MUONIF::Lvl1MuCTPIInput::idSideC
static size_t idSideC()
Definition: Lvl1MuCTPIInput.h:66
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
TgcDigit
Definition: TgcDigit.h:21
LVL1TGCTrigger::TGCArguments::set_USE_NSW
void set_USE_NSW(bool v)
Definition: TGCArguments.cxx:35
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::set2candidates
void set2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:68
ITGCcablingSvc::getSLBIDfromReadoutID
virtual bool getSLBIDfromReadoutID(int &phi, bool &isAside, bool &isEndcap, int &moduleType, int &id, const int subsectorID, const int rodID, const int sswID, const int sbLoc) const =0
dumpTgcDigiThreshold.isStrip
list isStrip
Definition: dumpTgcDigiThreshold.py:33
bcId
uint16_t bcId(uint32_t data)
Definition: TgcByteStreamData.h:329
Cut::signal
@ signal
Definition: SUSYToolsAlg.cxx:64
LVL1TGCTrigger::TGCArguments::USE_BIS78
bool USE_BIS78() const
Definition: TGCArguments.cxx:50
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoSLB
void recordRdoSLB(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:541
TgcDigit::BC_NEXTNEXT
@ BC_NEXTNEXT
Definition: TgcDigit.h:37
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
threshold
Definition: chainparser.cxx:74
LVL1TGCTrigger::LVL1TGCTrigger::m_bctagInProcess
uint16_t m_bctagInProcess
Definition: LVL1TGCTrigger.h:144
LVL1MUONIF::Lvl1MuForwardSectorLogicDataPhase1
Class representing data from an forward SL board.
Definition: Lvl1MuForwardSectorLogicDataPhase1.h:26
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LVL1TGC::BIS78TrigOut::getBIS78phi
const std::vector< uint8_t > & getBIS78phi() const
Definition: BIS78TrigOut.h:63
LVL1TGCTrigger::LVL1TGCTrigger::doMaskOperation
void doMaskOperation(const TgcDigitContainer *, std::map< Identifier, int > &)
Definition: LVL1TGCTrigger.cxx:392
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::goodmf
int goodmf(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:55
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::getInnerTrackletBits
void getInnerTrackletBits(const TGCInnerTrackletSlot *innerTrackletSlots[], std::array< int, NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR > &eifi_bits) const
Definition: TGCInnerTrackletSlotHolder.cxx:80
LVL1TGCTrigger::TGCArguments::set_useRun3Config
void set_useRun3Config(bool v)
Definition: TGCArguments.cxx:34
LVL1TGC::ASIDE
@ ASIDE
Definition: TGCNumbering.h:14
LVL1MUONIF::Lvl1MuCTPIInputPhase1::idEndcapSystem
static size_t idEndcapSystem()
Definition: Lvl1MuCTPIInputPhase1.h:136
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
LVL1TGCTrigger::TGCArguments::USE_NSW
bool USE_NSW() const
Definition: TGCArguments.cxx:47
python.PyAthena.v
v
Definition: PyAthena.py:157
LVL1TGCTrigger::TGCSignalType
TGCSignalType
Definition: TGCNumbering.h:51
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
LVL1TGCTrigger::LVL1TGCTrigger::m_FORCENSWCOIN
BooleanProperty m_FORCENSWCOIN
Definition: LVL1TGCTrigger.h:136
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
ZDC::sideA
BySideTypeMod sideA(1)
ITGCcablingSvc::getReadoutIDfromOfflineID
virtual bool getReadoutIDfromOfflineID(const Identifier &offlineID, int &subDetectorID, int &rodID, int &sswID, int &sbLoc, int &channelID, bool adChannel=false) const =0
ITGCcablingSvc::getSReadoutIDfromSLID
virtual bool getSReadoutIDfromSLID(const int phi, const bool isAside, const bool isEndcap, int &subsectorID, int &srodID, int &sswID, int &sbLoc) const =0
DeMoScan.index
string index
Definition: DeMoScan.py:362
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::setTriggerBit
bool setTriggerBit(const int sideId, const int slotId, const unsigned int region, const unsigned int readout, const unsigned int iBit, const bool triggerBit)
Definition: TGCInnerTrackletSlotHolder.cxx:30
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::getInnerTrackletSlots
void getInnerTrackletSlots(const int sideId, const int octId, const int moduleId, const TGCInnerTrackletSlot *innerTrackletSlots[]) const
Definition: TGCInnerTrackletSlotHolder.cxx:44
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcRdoIn
SG::ReadHandleKey< TgcRdoContainer > m_keyTgcRdoIn
Definition: LVL1TGCTrigger.h:165
a
TList * a
Definition: liststreamerinfos.cxx:10
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::pt
int pt(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:52
h
LVL1TGCTrigger::TGCArguments::set_TILE_MU
void set_TILE_MU(bool v)
Definition: TGCArguments.cxx:32
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
LVL1TGCTrigger::TGCRegionType
TGCRegionType
Definition: TGCNumbering.h:49
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoHPT
void recordRdoHPT(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:665
TRT::Track::trackNumber
@ trackNumber
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:75
LVL1TGCTrigger::LVL1TGCTrigger::extractFromString
void extractFromString(const std::string &, std::vector< int > &)
Definition: LVL1TGCTrigger.cxx:1167
LVL1TGCTrigger::TGCArguments::set_USE_INNER
void set_USE_INNER(bool v)
Definition: TGCArguments.cxx:30
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TgcRawData
An unit object of TGC ROD output.
Definition: TgcRawData.h:23
LVL1TGCTrigger::STRIP
@ STRIP
Definition: TGCNumbering.h:52
DEBUG
#define DEBUG
Definition: page_access.h:11
bcTag
unsigned bcTag(unsigned bcBitMap)
Definition: TgcByteStreamData.h:367
LVL1TGCTrigger::TGCArguments::set_INNER_VETO
void set_INNER_VETO(bool v)
Definition: TGCArguments.cxx:31
TgcRawData::SLB_TYPE_INNER_STRIP
@ SLB_TYPE_INNER_STRIP
Definition: TgcRawData.h:37
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
@ NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
Definition: TGCInnerTrackletSlotHolder.h:35
ITGCcablingSvc::getOnlineIDfromOfflineID
virtual bool getOnlineIDfromOfflineID(const Identifier &offlineID, int &subsystemNumber, int &octantNumber, int &moduleNumber, int &layerNumber, int &rNumber, int &wireOrStrip, int &channelNumber) const =0
LVL1TGCTrigger::LVL1TGCTrigger::m_TimingManager
std::unique_ptr< TGCTimingManager > m_TimingManager
Definition: LVL1TGCTrigger.h:147
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
LVL1TGCTrigger::LVL1TGCTrigger::m_debuglevel
bool m_debuglevel
Definition: LVL1TGCTrigger.h:159
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::roi
int roi(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:50
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bcid
int bcid() const
Definition: Lvl1MuSectorLogicDataPhase1.h:48
LVL1TGC::NSWTrigOut::getNSWphi
const std::vector< uint8_t > & getNSWphi() const
Definition: NSWTrigOut.h:67
LVL1TGC::kNSide
@ kNSide
Definition: TGCNumbering.h:16
LVL1TGCTrigger::TGCInnerTrackletSlot::FI
@ FI
Definition: TGCInnerTrackletSlot.h:33
LVL1TGCTrigger::TGCArguments::set_NSWSideInfo
void set_NSWSideInfo(const std::string &v)
Definition: TGCArguments.cxx:37
TGCTriggerData
Definition: TGCTriggerData.h:102
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
compute_lumi.fin
fin
Definition: compute_lumi.py:19
LVL1TGCTrigger::LVL1TGCTrigger::FillSectorLogicData
void FillSectorLogicData(LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 *sldata, const TGCTrackSelectorOut *trackSelectorOut)
Definition: LVL1TGCTrigger.cxx:511
ITGCcablingServerSvc::giveCabling
virtual StatusCode giveCabling(const ITGCcablingSvc *&) const =0
CxxUtils::atoi
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
Definition: Control/CxxUtils/Root/StringUtils.cxx:85
LVL1TGC::TGCSide
TGCSide
The sides of TGC (A- or C-side)
Definition: TGCNumbering.h:13
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
TgcRawData::SLB_TYPE_INNER_WIRE
@ SLB_TYPE_INNER_WIRE
Definition: TgcRawData.h:36
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
merge.status
status
Definition: merge.py:17
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidatesInSector
void clear2candidatesInSector()
Definition: Lvl1MuSectorLogicDataPhase1.h:61
TgcRdo
Definition: TgcRdo.h:22
TgcDigitContainer
Use IdentifiableContainer with TgcDigitCollection.
Definition: TgcDigitContainer.h:53
veto
std::vector< std::string > veto
these patterns are anded
Definition: listroot.cxx:191
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
ITGCcablingSvc::getReadoutIDfromHPTID
virtual bool getReadoutIDfromHPTID(const int phi, const bool isAside, const bool isEndcap, const bool isStrip, const int id, int &subsectorID, int &rodID, int &sswID, int &sbLoc) const =0
TgcRawData
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current TgcRawData
Definition: MuonEventAthenaPoolTPCnv.cxx:168
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
ITGCcablingSvc::getReadoutIDfromSLBID
virtual bool getReadoutIDfromSLBID(const int phi, const bool isAside, const bool isEndcap, const int moduleType, const int id, int &subsectorID, int &rodID, int &sswID, int &sbLoc) const =0
ITGCcablingServerSvc
Definition: ITGCcablingServerSvc.h:16
LVL1TGCTrigger::LVL1TGCTrigger::m_innerTrackletSlotHolder
TGCInnerTrackletSlotHolder m_innerTrackletSlotHolder
Definition: LVL1TGCTrigger.h:153
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::clearTriggerBits
void clearTriggerBits()
Definition: TGCInnerTrackletSlotHolder.cxx:22
LVL1TGCTrigger::TGCZDirection
TGCZDirection
Definition: TGCNumbering.h:43
LVL1MUONIF::Lvl1MuCTPIInput::idSideA
static size_t idSideA()
Definition: Lvl1MuCTPIInput.h:65
LVL1TGCTrigger::LVL1TGCTrigger::m_keyNSWTrigOut
SG::ReadHandleKey< Muon::NSW_TrigRawDataContainer > m_keyNSWTrigOut
Definition: LVL1TGCTrigger.h:168
value_type
Definition: EDM_MasterSearch.h:11
ITGCcablingSvc::getCoveragefromSRodID
virtual bool getCoveragefromSRodID(const int srodID, double &startPhi, double &endPhi) const =0
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:30
LVL1TGCTrigger::TGCTrackSelectorOut::NCandidateInTrackSelector
@ NCandidateInTrackSelector
Definition: TGCTrackSelectorOut.h:39
L1TopoSimulationConfig.subsystem
subsystem
Definition: L1TopoSimulationConfig.py:242
LVL1TGCTrigger::LVL1TGCTrigger::m_USEBIS78
BooleanProperty m_USEBIS78
Definition: LVL1TGCTrigger.h:137
TgcRawData::SLB_TYPE_TRIPLET_STRIP
@ SLB_TYPE_TRIPLET_STRIP
Definition: TgcRawData.h:35
LVL1TGCTrigger::LVL1TGCTrigger::m_SHPTORED
BooleanProperty m_SHPTORED
Definition: LVL1TGCTrigger.h:130
python.compressB64.c
def c
Definition: compressB64.py:93
LVL1TGCTrigger::TGCArguments::SHPT_ORED
bool SHPT_ORED() const
Definition: TGCArguments.cxx:41
LVL1TGC::TGCNSW::getOutput
std::shared_ptr< const NSWTrigOut > getOutput(LVL1TGCTrigger::TGCRegionType region, int side, int TGC_TriggerSector) const
Definition: TGCNSW.cxx:53
TgcRdo::rodId
uint16_t rodId() const
Definition: TgcRdo.h:138
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
LVL1TGCTrigger::LVL1TGCTrigger::m_system
std::unique_ptr< TGCElectronicsSystem > m_system
Definition: LVL1TGCTrigger.h:148
LVL1TGCTrigger::kZ_FORWARD
@ kZ_FORWARD
Definition: TGCNumbering.h:44
TgcRawData::SLB_TYPE_DOUBLET_WIRE
@ SLB_TYPE_DOUBLET_WIRE
Definition: TgcRawData.h:32
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
TgcRawData::SlbType
SlbType
Definition: TgcRawData.h:31
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcRdo
SG::WriteHandleKey< TgcRdoContainer > m_keyTgcRdo
Definition: LVL1TGCTrigger.h:164