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

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
 
ServiceHandle< MuonTGC_CablingSvcm_cabling {this, "TGCCablingSvc", "MuonTGC_CablingSvc", ""}
 
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 66 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 49 of file LVL1TGCTrigger.cxx.

50 : AthAlgorithm(name,pSvcLocator),
51  m_db(0),
54  m_debuglevel(false)
55 {}

◆ ~LVL1TGCTrigger()

LVL1TGCTrigger::LVL1TGCTrigger::~LVL1TGCTrigger ( )
virtual

Definition at line 58 of file LVL1TGCTrigger.cxx.

59 {
60  ATH_MSG_DEBUG("LVL1TGCTrigger destructor called");
61  if (m_db) {
62  delete m_db;
63  m_db =0;
64  }
65 }

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 1221 of file LVL1TGCTrigger.cxx.

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

◆ 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 397 of file LVL1TGCTrigger.cxx.

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

◆ 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 139 of file LVL1TGCTrigger.cxx.

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

◆ extractFromString()

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

Definition at line 1172 of file LVL1TGCTrigger.cxx.

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

◆ 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 516 of file LVL1TGCTrigger.cxx.

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

◆ fillTGCEvent()

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

Definition at line 431 of file LVL1TGCTrigger.cxx.

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

◆ finalize()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::finalize ( )
overridevirtual

Definition at line 128 of file LVL1TGCTrigger.cxx.

129 {
130  ATH_MSG_DEBUG("LVL1TGCTrigger::finalize() called" << " m_nEventInSector = " << m_nEventInSector);
131 
132  if (m_db) delete m_db;
133  m_db = 0 ;
134 
135  return StatusCode::SUCCESS;
136 }

◆ getCabling()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getCabling ( )
private

Definition at line 1241 of file LVL1TGCTrigger.cxx.

1242 {
1243  ATH_MSG_DEBUG("LVL1TGCTrigger::getCabling()");
1244 
1245  // get Cabling service
1246  ATH_CHECK(m_cabling.retrieve());
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  ATH_MSG_DEBUG("finished LVL1TGCTrigger::getCabling()");
1258 
1259  return StatusCode::SUCCESS;
1260 }

◆ getCharge()

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

Definition at line 1191 of file LVL1TGCTrigger.cxx.

1191  {
1192  // old scheme
1193  // if (dR==0) return (Zdir>0 ? -1 : 1);
1194  // return (dR*Zdir>0 ? 1 : -1);
1195  return (dR >=0 ? 1 : -1 );
1196 }

◆ getLPTTypeInRawData()

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

Definition at line 1200 of file LVL1TGCTrigger.cxx.

1201 {
1202  switch(type) {
1203  case WTSB :
1205  case WDSB :
1207  case STSB :
1209  case SDSB :
1211  case WISB :
1213  case SISB :
1215  default :
1216  return -1;
1217  }
1218 }

◆ getMaskedChannel()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getMaskedChannel ( )
private

Definition at line 1043 of file LVL1TGCTrigger.cxx.

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

◆ initialize()

StatusCode LVL1TGCTrigger::LVL1TGCTrigger::initialize ( )
overridevirtual

Definition at line 68 of file LVL1TGCTrigger.cxx.

69 {
70  ATH_MSG_DEBUG("LVL1TGCTrigger::initialize()");
71 
72  m_debuglevel = (msgLevel() <= MSG::DEBUG); // save if threshold for debug
73 
74  m_tgcArgs.set_MSGLEVEL(msgLevel());
78  m_tgcArgs.set_TILE_MU( m_TILEMU.value() );
79  m_tgcArgs.set_USE_NSW( m_USENSW.value() );
82 
85 
87 
90 
91  // CondDB is not available for Run3 config. set USE_CONDDB to false to avoid errors.
92  // will be removed the below part.
93  if(m_useRun3Config.value()){
95  }
96 
97  // initialize TGCDataBase
98  m_db = new TGCDatabaseManager(&m_tgcArgs, m_readCondKey, m_readLUTs_CondKey);
99 
100  // initialize the TGCcabling
102 
103  // create TGCElectronicsSystem
104  m_system = std::make_unique<TGCElectronicsSystem>(&m_tgcArgs,m_db);
105 
106  m_TimingManager = std::make_unique<TGCTimingManager>(m_readCondKey);
107  m_TimingManager->setBunchCounter(0);
108 
109  m_nEventInSector = 0;
110 
111  // read and write handle key
114  ATH_CHECK(m_keyTileMu.initialize());
115  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)
116  ATH_CHECK(m_keyBIS78TrigOut.initialize(tgcArgs()->USE_BIS78())); // to be updated as well
117  ATH_CHECK(m_muctpiPhase1Key.initialize(tgcArgs()->useRun3Config()));
118  ATH_CHECK(m_keyTgcRdo.initialize(tgcArgs()->useRun3Config()));
120 
121  // clear mask channel map
122  m_MaskedChannel.clear();
123 
124  return StatusCode::SUCCESS;
125 }

◆ 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 255 of file LVL1TGCTrigger.cxx.

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

◆ recordRdoHPT()

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

Definition at line 670 of file LVL1TGCTrigger.cxx.

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

◆ recordRdoInner()

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

Definition at line 803 of file LVL1TGCTrigger.cxx.

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

◆ recordRdoSL()

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

Definition at line 940 of file LVL1TGCTrigger.cxx.

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

◆ recordRdoSLB()

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

Definition at line 546 of file LVL1TGCTrigger.cxx.

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

◆ 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 1147 of file LVL1TGCTrigger.cxx.

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

◆ 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 180 of file LVL1TGCTrigger.h.

180  {
181  return &m_tgcArgs;
182 }

◆ 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 139 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 173 of file LVL1TGCTrigger.h.

◆ m_cabling

ServiceHandle<MuonTGC_CablingSvc> LVL1TGCTrigger::LVL1TGCTrigger::m_cabling {this, "TGCCablingSvc", "MuonTGC_CablingSvc", ""}
private

Definition at line 160 of file LVL1TGCTrigger.h.

◆ m_CurrentBunchTag

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

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 120 of file LVL1TGCTrigger.h.

◆ m_db

TGCDatabaseManager* LVL1TGCTrigger::LVL1TGCTrigger::m_db
private

Definition at line 141 of file LVL1TGCTrigger.h.

◆ m_debuglevel

bool LVL1TGCTrigger::LVL1TGCTrigger::m_debuglevel
private

Definition at line 154 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 138 of file LVL1TGCTrigger.h.

◆ m_FORCENSWCOIN

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

Definition at line 132 of file LVL1TGCTrigger.h.

◆ m_FULLCW

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

Definition at line 129 of file LVL1TGCTrigger.h.

◆ m_innerTrackletSlotHolder

TGCInnerTrackletSlotHolder LVL1TGCTrigger::LVL1TGCTrigger::m_innerTrackletSlotHolder
private

Definition at line 148 of file LVL1TGCTrigger.h.

◆ m_INNERVETO

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

Definition at line 128 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 167 of file LVL1TGCTrigger.h.

◆ m_keyMuCTPIInput_TGC

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

Definition at line 117 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 166 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 164 of file LVL1TGCTrigger.h.

◆ m_keyTgcRdo

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

Definition at line 162 of file LVL1TGCTrigger.h.

◆ m_keyTgcRdoIn

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

Definition at line 163 of file LVL1TGCTrigger.h.

◆ m_keyTileMu

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

Definition at line 165 of file LVL1TGCTrigger.h.

◆ m_MaskedChannel

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

mask channel map

Definition at line 176 of file LVL1TGCTrigger.h.

◆ m_MaskFileName12

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

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 119 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 170 of file LVL1TGCTrigger.h.

◆ m_nEventInSector

int LVL1TGCTrigger::LVL1TGCTrigger::m_nEventInSector
private

Definition at line 145 of file LVL1TGCTrigger.h.

◆ m_NSWSideInfo

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

Definition at line 136 of file LVL1TGCTrigger.h.

◆ m_OutputTgcRDO

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

property, see LVL1TGCTrigger::LVL1TGCTrigger

Definition at line 122 of file LVL1TGCTrigger.h.

◆ m_ProcessAllBunches

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

Definition at line 121 of file LVL1TGCTrigger.h.

◆ m_readCondKey

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

Definition at line 168 of file LVL1TGCTrigger.h.

◆ m_readLUTs_CondKey

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

Definition at line 169 of file LVL1TGCTrigger.h.

◆ m_SHPTORED

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

Definition at line 126 of file LVL1TGCTrigger.h.

◆ m_system

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

Definition at line 143 of file LVL1TGCTrigger.h.

◆ m_tgcArgs

TGCArguments LVL1TGCTrigger::LVL1TGCTrigger::m_tgcArgs
private

Definition at line 156 of file LVL1TGCTrigger.h.

◆ m_TILEMU

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

Definition at line 130 of file LVL1TGCTrigger.h.

◆ m_TimingManager

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

Definition at line 142 of file LVL1TGCTrigger.h.

◆ m_USE_CONDDB

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

Definition at line 125 of file LVL1TGCTrigger.h.

◆ m_USEBIS78

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

Definition at line 133 of file LVL1TGCTrigger.h.

◆ m_USEINNER

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

Definition at line 127 of file LVL1TGCTrigger.h.

◆ m_USENSW

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

Definition at line 131 of file LVL1TGCTrigger.h.

◆ m_useRun3Config

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

Definition at line 134 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:69
LVL1TGCTrigger::LVL1TGCTrigger::m_readCondKey
SG::ReadCondHandleKey< TGCTriggerData > m_readCondKey
Definition: LVL1TGCTrigger.h:168
LVL1TGCTrigger::LVL1TGCTrigger::m_NSWSideInfo
StringProperty m_NSWSideInfo
Definition: LVL1TGCTrigger.h:136
LVL1TGCTrigger::PtHigh
const int PtHigh
Definition: TGCHighPtBoard.h:17
LVL1TGCTrigger::LVL1TGCTrigger::m_USENSW
BooleanProperty m_USENSW
Definition: LVL1TGCTrigger.h:131
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTileMu
SG::ReadHandleKey< TileMuonReceiverContainer > m_keyTileMu
Definition: LVL1TGCTrigger.h:165
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:139
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
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:1241
LVL1TGCTrigger::TGCArguments::set_USE_CONDDB
void set_USE_CONDDB(bool v)
Definition: TGCArguments.cxx:33
LVL1TGCTrigger::SISB
@ SISB
Definition: TGCNumbering.h:57
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
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
LVL1TGCTrigger::LVL1TGCTrigger::fillTGCEvent
void fillTGCEvent(const std::map< Identifier, int > &, TGCEvent &)
Definition: LVL1TGCTrigger.cxx:431
LVL1TGCTrigger::LVL1TGCTrigger::m_keyBIS78TrigOut
SG::ReadHandleKey< Muon::RpcBis78_TrigRawDataContainer > m_keyBIS78TrigOut
Definition: LVL1TGCTrigger.h:167
LVL1TGCTrigger::LVL1TGCTrigger::getLPTTypeInRawData
int getLPTTypeInRawData(int type)
Definition: LVL1TGCTrigger.cxx:1200
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:128
WriteCellNoiseToCool.fullName
fullName
Definition: WriteCellNoiseToCool.py:461
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::nsw
int nsw() const
Definition: Lvl1MuSectorLogicDataPhase1.h:49
TGCTriggerData::CW_TILE
@ CW_TILE
Definition: TGCTriggerData.h:160
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:34
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:125
LVL1TGCTrigger::SDSB
@ SDSB
Definition: TGCNumbering.h:57
TgcDigit::BC_CURRENT
@ BC_CURRENT
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:156
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:130
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:1043
LVL1TGCTrigger::LVL1TGCTrigger::m_ProcessAllBunches
BooleanProperty m_ProcessAllBunches
Definition: LVL1TGCTrigger.h:121
LVL1TGCTrigger::LVL1TGCTrigger::m_nEventInSector
int m_nEventInSector
Definition: LVL1TGCTrigger.h:145
LVL1TGCTrigger::LVL1TGCTrigger::m_db
TGCDatabaseManager * m_db
Definition: LVL1TGCTrigger.h:141
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
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:180
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
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:270
LVL1TGC::NSWTrigOut::getNSWeta
const std::vector< uint8_t > & getNSWeta() const
Definition: NSWTrigOut.h:66
LVL1TGCTrigger::LVL1TGCTrigger::m_USEINNER
BooleanProperty m_USEINNER
Definition: LVL1TGCTrigger.h:127
python.PyAthena.module
module
Definition: PyAthena.py:131
LVL1TGCTrigger::TGCArguments::set_USE_BIS78
void set_USE_BIS78(bool v)
Definition: TGCArguments.cxx:38
Cut::signal
@ signal
Definition: SUSYToolsAlg.cxx:67
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoInner
void recordRdoInner(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:803
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:122
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LVL1TGC::NSWTrigOut::getNSWmonitor
const std::vector< bool > & getNSWmonitor() const
Definition: NSWTrigOut.h:71
AthCommonDataStore
Definition: AthCommonDataStore.h:52
LVL1TGCTrigger::LVL1TGCTrigger::m_MaskFileName12
StringProperty m_MaskFileName12
property, see LVL1TGCTrigger::LVL1TGCTrigger
Definition: LVL1TGCTrigger.h:119
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:169
LVL1TGCTrigger::LVL1TGCTrigger::m_MaskedChannel
std::map< Identifier, int > m_MaskedChannel
mask channel map
Definition: LVL1TGCTrigger.h:176
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
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:255
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:138
lumiFormat.i
int i
Definition: lumiFormat.py:85
LVL1TGCTrigger::LVL1TGCTrigger::m_keyTgcDigit
SG::ReadHandleKey< TgcDigitContainer > m_keyTgcDigit
Definition: LVL1TGCTrigger.h:164
LVL1TGCTrigger::LVL1TGCTrigger::getCharge
int getCharge(int dR, int Zdir)
Definition: LVL1TGCTrigger.cxx:1191
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
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
TgcDigit::BC_NEXTNEXT
@ BC_NEXTNEXT
Definition: TgcDigit.h:37
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:134
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:1221
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:79
LVL1TGCTrigger::LVL1TGCTrigger::m_bsMetaDataContRHKey
SG::ReadHandleKey< ByteStreamMetadataContainer > m_bsMetaDataContRHKey
Definition: LVL1TGCTrigger.h:173
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:170
LVL1TGCTrigger::LVL1TGCTrigger::recordRdoSL
void recordRdoSL(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
Definition: LVL1TGCTrigger.cxx:940
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:120
TGCTriggerData::isActive
bool isActive(int cwtype) const
Definition: TGCTriggerData.cxx:19
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
LVL1TGCTrigger::TGCInnerTrackletSlot::WIRE
@ WIRE
Definition: TGCInnerTrackletSlot.h:36
LVL1TGC::NSWTrigOut::getNSWTriggerProcessor
const std::vector< int > & getNSWTriggerProcessor() const
Definition: NSWTrigOut.h:65
LVL1TGCTrigger::TGCInnerTrackletSlotHolder::NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
@ NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
Definition: TGCInnerTrackletSlotHolder.h:35
RPDUtils::sideA
unsigned constexpr int sideA
Definition: RPDUtils.h:16
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
LVL1MUONIF::Lvl1MuCTPIInput::idSideC
static size_t idSideC()
Definition: Lvl1MuCTPIInput.h:67
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
LVL1TGCTrigger::LVL1TGCTrigger::m_cabling
ServiceHandle< MuonTGC_CablingSvc > m_cabling
Definition: LVL1TGCTrigger.h:160
dumpTgcDigiThreshold.isStrip
list isStrip
Definition: dumpTgcDigiThreshold.py:33
bcId
uint16_t bcId(uint32_t data)
Definition: TgcByteStreamData.h:326
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:546
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:227
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:139
LVL1TGCTrigger::TGCInnerTrackletSlot::FI
@ FI
Definition: TGCInnerTrackletSlot.h:33
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:397
LVL1TGCTrigger::TGCInnerTrackletSlot::EI
@ EI
Definition: TGCInnerTrackletSlot.h:34
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:137
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:154
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:132
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
DeMoScan.index
string index
Definition: DeMoScan.py:364
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:163
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:670
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:1172
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:359
LVL1TGCTrigger::TGCArguments::set_INNER_VETO
void set_INNER_VETO(bool v)
Definition: TGCArguments.cxx:31
RPDUtils::sideC
unsigned constexpr int sideC
Definition: RPDUtils.h:15
TgcRawData::SLB_TYPE_INNER_STRIP
@ SLB_TYPE_INNER_STRIP
Definition: TgcRawData.h:37
LVL1TGCTrigger::LVL1TGCTrigger::m_TimingManager
std::unique_ptr< TGCTimingManager > m_TimingManager
Definition: LVL1TGCTrigger.h:142
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
LVL1TGCTrigger::LVL1TGCTrigger::m_debuglevel
bool m_debuglevel
Definition: LVL1TGCTrigger.h:154
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::TGCArguments::set_NSWSideInfo
void set_NSWSideInfo(const std::string &v)
Definition: TGCArguments.cxx:37
TGCTriggerData
Definition: TGCTriggerData.h:102
compute_lumi.fin
fin
Definition: compute_lumi.py:19
LVL1TGCTrigger::LVL1TGCTrigger::FillSectorLogicData
void FillSectorLogicData(LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 *sldata, const TGCTrackSelectorOut *trackSelectorOut)
Definition: LVL1TGCTrigger.cxx:516
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:798
LVL1TGCTrigger::TGCInnerTrackletSlot::STRIP
@ STRIP
Definition: TGCInnerTrackletSlot.h:37
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
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
LVL1TGCTrigger::LVL1TGCTrigger::m_innerTrackletSlotHolder
TGCInnerTrackletSlotHolder m_innerTrackletSlotHolder
Definition: LVL1TGCTrigger.h:148
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:66
LVL1TGCTrigger::LVL1TGCTrigger::m_keyNSWTrigOut
SG::ReadHandleKey< Muon::NSW_TrigRawDataContainer > m_keyNSWTrigOut
Definition: LVL1TGCTrigger.h:166
value_type
Definition: EDM_MasterSearch.h:11
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:30
L1TopoSimulationConfig.subsystem
subsystem
Definition: L1TopoSimulationConfig.py:263
LVL1TGCTrigger::TGCTrackSelectorOut::NCandidateInTrackSelector
@ NCandidateInTrackSelector
Definition: TGCTrackSelectorOut.h:39
LVL1TGCTrigger::LVL1TGCTrigger::m_USEBIS78
BooleanProperty m_USEBIS78
Definition: LVL1TGCTrigger.h:133
TgcRawData::SLB_TYPE_TRIPLET_STRIP
@ SLB_TYPE_TRIPLET_STRIP
Definition: TgcRawData.h:35
LVL1TGCTrigger::LVL1TGCTrigger::m_SHPTORED
BooleanProperty m_SHPTORED
Definition: LVL1TGCTrigger.h:126
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:143
TgcDigit::BC_PREVIOUS
@ BC_PREVIOUS
Definition: TgcDigit.h:37
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:162
Identifier
Definition: IdentifierFieldParser.cxx:14