|
ATLAS Offline Software
|
#include <LVL1TGCTrigger.h>
|
| 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 |
|
|
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 () |
|
TGCArguments * | tgcArgs () |
|
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...
|
|
|
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} |
|
TGCDatabaseManager * | m_db |
|
std::unique_ptr< TGCTimingManager > | m_TimingManager |
|
std::unique_ptr< TGCElectronicsSystem > | m_system |
|
int | m_nEventInSector |
|
TGCInnerTrackletSlotHolder | m_innerTrackletSlotHolder |
|
bool | m_debuglevel |
|
TGCArguments | m_tgcArgs |
|
ServiceHandle< MuonTGC_CablingSvc > | m_cabling {this, "TGCCablingSvc", "MuonTGC_CablingSvc", ""} |
|
SG::WriteHandleKey< TgcRdoContainer > | m_keyTgcRdo {this,"TgcRdo","TGCRDO2","Location of TgcRdoContainer"} |
|
SG::ReadHandleKey< TgcRdoContainer > | m_keyTgcRdoIn {this,"InputRDO","TGCRDO","Location of input TgcRdoContainer"} |
|
SG::ReadHandleKey< TgcDigitContainer > | m_keyTgcDigit {this,"InputData_perEvent","TGC_DIGITS","Location of TgcDigitContainer"} |
|
SG::ReadHandleKey< TileMuonReceiverContainer > | m_keyTileMu {this,"TileMuRcv_Input","TileMuRcvCnt","Location of TileMuonReceiverContainer"} |
|
SG::ReadHandleKey< Muon::NSW_TrigRawDataContainer > | m_keyNSWTrigOut {this,"NSWTrigger_Input","L1_NSWTrigContainer","Location of NSW_TrigRawDataContainer"} |
|
SG::ReadHandleKey< Muon::RpcBis78_TrigRawDataContainer > | m_keyBIS78TrigOut {this,"BIS78Trig_Input","BIS78TrigContainer","Location of RpcBis78_TrigRawDataContainer"} |
|
SG::ReadCondHandleKey< TGCTriggerData > | m_readCondKey {this,"ReadCondKey","TGCTriggerData"} |
|
SG::ReadCondHandleKey< TGCTriggerLUTs > | m_readLUTs_CondKey {this,"ReadLUTCondKey","TGCTriggerLUTs"} |
|
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > | m_muctpiPhase1Key {this, "MuctpiPhase1LocationTGC", "L1MuctpiStoreTGC", "Location of muctpiPhase1 for Tgc"} |
|
SG::ReadHandleKey< ByteStreamMetadataContainer > | m_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 |
|
Definition at line 66 of file LVL1TGCTrigger.h.
◆ StoreGateSvc_t
◆ LVL1TGCTrigger()
LVL1TGCTrigger::LVL1TGCTrigger::LVL1TGCTrigger |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
standard constructor and destructor for algorithms
Definition at line 49 of file LVL1TGCTrigger.cxx.
◆ ~LVL1TGCTrigger()
LVL1TGCTrigger::LVL1TGCTrigger::~LVL1TGCTrigger |
( |
| ) |
|
|
virtual |
◆ 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.
1226 std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>>
::iterator itRdo = tgcrdo.find(subDetectorRod);
1228 if (itRdo==tgcrdo.end()) {
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)));
1235 itRdo->second->push_back(std::move(rawdata));
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ doMaskOperation()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 139 of file LVL1TGCTrigger.cxx.
142 const EventContext& ctx = getContext();
146 if(
getCabling().isFailure())
return StatusCode::FAILURE;
174 std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>> tgcrdo;
179 if(!readTgcDigitContainer.isValid()){
181 return StatusCode::FAILURE;
186 ATH_CHECK(wh_muctpiTgc.record(std::make_unique<LVL1MUONIF::Lvl1MuCTPIInputPhase1>()));
192 sc = StatusCode::SUCCESS;
213 if (
sc.isFailure()) {
223 if(!rdoContIn.isValid()){
226 }
else if(rdoContIn->size()>0) {
228 for(; itR!=rdoContIn->end(); ++itR){
229 const TgcRdo* rdoIn = (*itR);
231 std::map<std::pair<int, int>, std::unique_ptr<TgcRdo>>
::iterator itRdo = tgcrdo.find(subDetectorRod);
232 if (itRdo!=tgcrdo.end()) {
236 itRdo->second->push_back(std::make_unique<TgcRawData>(*rd));
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);
250 ATH_CHECK(tgcL1rdoHandle.record(std::move(trgContainer)));
◆ extractFromString()
void LVL1TGCTrigger::LVL1TGCTrigger::extractFromString |
( |
const std::string & |
str, |
|
|
std::vector< int > & |
v |
|
) |
| |
|
private |
Definition at line 1172 of file LVL1TGCTrigger.cxx.
1174 if (
str.empty())
return;
1177 if (
line.empty())
break;
1178 int i =
line.find(
' ');
1179 if (
i==(
int)std::string::npos && !
line.empty()) {
1183 std::string temp =
line;
1184 temp.erase(
i,
line.size());
1185 v.push_back(
atoi(temp.c_str()));
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ FillSectorLogicData()
◆ fillTGCEvent()
void LVL1TGCTrigger::LVL1TGCTrigger::fillTGCEvent |
( |
const std::map< Identifier, int > & |
tgcDigitIDs, |
|
|
TGCEvent & |
event |
|
) |
| |
|
private |
Definition at line 431 of file LVL1TGCTrigger.cxx.
434 for(
const auto& itCh : tgcDigitIDs) {
456 int subDetectorID, srodID, sswID, sbLoc, channelID;
469 fstatus =
m_cabling->getSLBIDfromReadoutID(phi, isAside, isEndcap,
472 srodID, sswID,sbLoc);
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);
486 TGCReadoutIndex
index(zdire,octantNumber,moduleNumber,rNumber,layerNumber);
488 event.NewASDOut(
index,
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() );
◆ finalize()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::finalize |
( |
| ) |
|
|
overridevirtual |
◆ getCabling()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getCabling |
( |
| ) |
|
|
private |
Definition at line 1241 of file LVL1TGCTrigger.cxx.
1248 int maxRodId, maxSRodId, maxSswId, maxSbloc,minChannelId, maxChannelId;
1249 m_cabling->getReadoutIDRanges( maxRodId, maxSRodId, maxSswId, maxSbloc,minChannelId, maxChannelId);
1250 if (maxRodId ==12) {
1253 ATH_MSG_FATAL(
"Old TGCcablingSvc(octant segmentation) can not be used !");
1254 return StatusCode::FAILURE;
1259 return StatusCode::SUCCESS;
◆ getCharge()
int LVL1TGCTrigger::LVL1TGCTrigger::getCharge |
( |
int |
dR, |
|
|
int |
Zdir |
|
) |
| |
|
private |
◆ getLPTTypeInRawData()
int LVL1TGCTrigger::LVL1TGCTrigger::getLPTTypeInRawData |
( |
int |
type | ) |
|
|
private |
◆ getMaskedChannel()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::getMaskedChannel |
( |
| ) |
|
|
private |
Definition at line 1043 of file LVL1TGCTrigger.cxx.
1046 if (
fname.empty())
return StatusCode::SUCCESS;
1055 return StatusCode::FAILURE;
1060 std::vector<std::string>
mask;
1062 while(getline(
fin,aLine)) {
1063 if (aLine.compare(0,3,
"///")!=0)
break;
1065 int id_type =
atoi(aLine.c_str());
1066 while(getline(
fin,aLine)) {
1067 if (!aLine.empty())
mask.push_back(aLine);
1072 std::vector<int>
ids;
1074 int nmasked=0, nfired=0;
1075 for(
int ich=0; ich<(
int)
mask.size(); ich++) {
1076 std::string
ch =
mask[ich];
1080 if (id_type==1 &&
ids.size()==8) {
1081 int sysno1 = (
ids[1]==-99 ? -1 :
ids[1]);
int sysno2=(
ids[1]==-99 ? 1 :
ids[1]);
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++) {
1088 <<
" sys=" << sysno <<
" oct=" << octno <<
" modno=" <<
ids[3]
1089 <<
" layerno=" <<
ids[4] <<
" rNumber=" <<
ids[5]
1090 <<
" strip=" <<
ids[6] <<
" chno=" <<
ids[7] );
1093 ATH_MSG_WARNING(
"This onlineID is not valid and cannot be converted to offline ID." );
1095 <<
" layerno=" <<
ids[4] <<
" rNumber=" <<
ids[5]
1096 <<
" strip=" <<
ids[6] <<
" chno=" <<
ids[7] );
1099 if (OnOff==0) nmasked+=1;
1100 else if (OnOff==1) nfired+=1;
1105 }
else if (id_type==2 &&
ids.size()==6) {
1106 int sysno1 = (
ids[1]==-99 ? 103 :
ids[1]);
int sysno2=(
ids[1]==-99 ? 104 :
ids[1]);
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++) {
1112 <<
" subdetectorID=" << sysno <<
" rodId=" << octno <<
" sswID=" <<
ids[3]
1113 <<
" SBLoc=" <<
ids[4] <<
" channelId=" <<
ids[5] );
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] );
1120 if (OnOff==0) nmasked+=1;
1121 else if (OnOff==1) nfired+=1;
1126 }
else if (id_type==3 &&
ids.size()==2) {
1130 if (OnOff==0) nmasked+=1;
1131 else if (OnOff==1) nfired+=1;
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;
1140 ATH_MSG_INFO(
"Total number of masked channels ... " << nmasked);
1141 ATH_MSG_INFO(
"Total number of fired channels ... " << nfired);
1143 return StatusCode::SUCCESS;
◆ initialize()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ processOneBunch()
Definition at line 255 of file LVL1TGCTrigger.cxx.
261 std::map<Identifier, int> tgcDigitIDs;
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())){
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){
304 TGCSector* sector =
m_system->getSector(
i,j,
k);
305 if(sector==0)
continue;
312 if((sector->hasHit())){
317 sector->getSL()->setInnerTrackletSlots(innerTrackletSlots);
321 if(sector->hasHit()) sector->clearNumberOfHit();
333 std::shared_ptr<TGCTrackSelectorOut> trackSelectorOut;
334 sector->getSL()->getTrackSelectorOutput(trackSelectorOut);
336 std::shared_ptr<LVL1TGC::TGCNSW> nsw =
m_system->getNSW();
337 int module = sector->getModuleId();
345 sectorId = ((
module/3)*2+
module%3) + sector->getOctantId()*6;
346 std::shared_ptr<const LVL1TGC::NSWTrigOut> pNSWOut = nsw->
getOutput(sector->getRegionType(),
366 sectorId = (
module/3) + sector->getOctantId()*3;
367 std::shared_ptr<const LVL1TGC::NSWTrigOut> pNSWOut = nsw->
getOutput(sector->getRegionType(),
383 trackSelectorOut.get()->reset();
392 return StatusCode::SUCCESS;
◆ 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.
673 if(sector->hasHit() ==
false)
return;
676 int subDetectorId, rodId, sswId, sbLoc, secId;
679 int startEndcapSector, coverageOfEndcapSector;
680 int startForwardSector, coverageOfForwardSector;
684 coverageOfEndcapSector,
686 coverageOfForwardSector
693 isAside = (sector->getSideId()==0);
695 int module = sector->getModuleId();
699 sectorId = ((
module/3)*2+
module%3) + sector->getOctantId()*6;
701 sectorId = (
module/3) + sector->getOctantId()*3;
707 secId = sectorId % coverageOfEndcapSector;
709 secId = sectorId % coverageOfForwardSector;
712 phi = (isEndcap ? (sectorId+46)%48+1 : (sectorId+23)%24+1);
714 for(
int itype=0; itype<2; itype++) {
716 for(
unsigned int ihpb=0; ihpb<sector->getNumberOfHPB(itype); ihpb++) {
717 TGCHighPtBoard * hpb = sector->getHPB(itype, ihpb);
718 if (0==hpb)
continue;
719 TGCHighPtChipOut *
out = hpb->getOutput();
720 if (0==
out)
continue;
724 subDetectorId, rodId, sswId, sbLoc);
733 if (!
out->getSel(ichip, icand))
continue;
736 int hitId =
out->getHitID(ichip, icand);
739 bool isHPT =
out->getPt(ichip,icand)==
PtHigh ? 1 : 0;
741 static_cast<uint16_t>(subDetectorId),
745 isStrip, (!isEndcap), secId, chip, icand,
747 out->getPos(ichip, icand),
748 out->getDev(ichip, icand),
754 <<
" side=" << ( (isAside)?
"A" :
"C")
755 << (isEndcap ?
"EC" :
"FWD")
756 <<
" w/s=" << ( (
isStrip)?
"s" :
"w")
757 <<
" id=" << hpb->getId()
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 );
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;
776 std::unique_ptr<TgcRawData> rawdata2(
778 static_cast<uint16_t>(subDetectorId),
782 isStrip, (!isEndcap), secId, chip, icand,
784 out->getPos(ichip, icand),
785 out->getDev(ichip, icand),
◆ 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.
806 bool isAside = sector->getSideId()==0;
808 if (!isEndcap)
return;
811 int module = sector->getModuleId();
812 int octant = sector->getOctantId();
814 int phi = (sectorId+46)%48+1;
817 int subDetectorId=0, rodId=0, sswId=0, sbLoc=0;
820 subDetectorId, rodId, sswId, sbLoc);
822 ATH_MSG_WARNING(
"TGCcablingSvc::ReadoutIDfromSLID fails in recordRdoInner()" );
829 int startEndcapSector, coverageOfEndcapSector;
830 int startForwardSector, coverageOfForwardSector;
831 if (!
m_cabling->getCoveragefromSRodID(rodId,
833 coverageOfEndcapSector,
835 coverageOfForwardSector
838 ATH_MSG_WARNING(
"LVL1TGCTrigger::recordRdoInner --- bad rodId " << rodId );
844 secId = sectorId % coverageOfEndcapSector;
846 secId = sectorId % coverageOfForwardSector;
854 const TGCInnerTrackletSlot* innerTrackletSlots[n_slots] = {0, 0, 0, 0};
856 octant,
module, innerTrackletSlots);
858 std::array<int, n_slots>inner_eifi;
861 for (
int i_slot = 0; i_slot < n_slots; i_slot++) {
862 if (inner_eifi[i_slot] > 0) {
864 static_cast<uint16_t>(subDetectorId),
870 static_cast<uint16_t>(inner_eifi[i_slot]),
878 int inner_tile =
m_system->getTMDB()->getInnerTileBits(sector->getSideId(), sectorId);
880 if (inner_tile > 0) {
884 static_cast<uint16_t>(subDetectorId),
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++ ){
901 static_cast<uint16_t>(subDetectorId),
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++ ){
923 static_cast<uint16_t>(subDetectorId),
◆ 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.
944 std::shared_ptr<TGCTrackSelectorOut> selectorOut;
945 sector->getSL()->getTrackSelectorOutput(selectorOut);
947 if (selectorOut ==
nullptr)
return;
948 if (selectorOut->getNCandidate() == 0)
return;
953 bool isAside = (sector->getSideId()==0);
956 int Zdir= (isAside) ? 1 : -1;
959 int module = sector->getModuleId();
962 sectorId = ((
module/3)*2+
module%3) + sector->getOctantId()*6;
964 sectorId = (
module/3) + sector->getOctantId()*3;
970 int startEndcapSector, coverageOfEndcapSector;
971 int startForwardSector, coverageOfForwardSector;
975 coverageOfEndcapSector,
977 coverageOfForwardSector
981 secId = sectorId % coverageOfEndcapSector;
983 secId = sectorId % coverageOfForwardSector;
987 phi = (isEndcap ? (sectorId+46)%48+1 : (sectorId+23)%24+1);
990 int subDetectorId = 0, sswId = 0, sbLoc = 0;
992 subDetectorId, rodId, sswId, sbLoc);
995 << (isEndcap ?
" Endcap-" :
" Forward-")
996 << (isAside ?
"A " :
"C ")
1002 int inner=0, coinFlag=0;
1004 for (
unsigned int icand=0; icand < (
unsigned int)selectorOut->getNCandidate(); ++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;
1012 inner = selectorOut->getInnerCoincidenceFlag(icand);
1013 coinFlag = selectorOut->getCoincidenceType(icand);
1017 static_cast<uint16_t>(subDetectorId),
1028 <<
" side=" << (isAside ?
"A " :
"C ")
1029 <<
" reg=" << (isEndcap ?
"EC" :
"FWD")
1031 <<
" cand=" <<
index
1032 <<
" charge=" << (muplus ?
"mu+" :
"mu-")
1036 <<
" srod=" << rodId <<
" sswId=" << sswId <<
" SBLoc=" << sbLoc
1037 <<
" inner=" << inner <<
" coinFlag=" << coinFlag );
◆ 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.
551 int subDetectorId, rodId, sswId, sbLoc, secId, secIdEIFI;
553 bool isAside, isEndcap;
int phi, moduleType,
id, phiEIFI;
554 isAside = (sector->getSideId()==0 ? 1 : 0);
556 int module = sector->getModuleId();
565 phi = (isEndcap ? (secId+46+sector->getOctantId()*6)%48+1 : (secId+23+sector->getOctantId()*3)%24+1);
569 phiEIFI = (secIdEIFI+23+sector->getOctantId()*3)%24+1;
572 const int NumberOfSLBType = 6;
574 for(
int itype=0; itype<NumberOfSLBType; itype++) {
578 for(
unsigned int index=0;
index<sector->getNumberOfSB(itype);
index++) {
579 TGCSlaveBoard * slb = sector->getSB(itype,
index);
580 if (0==slb)
continue;
582 const TGCSlaveBoardOut *
out = slb->getOutput();
583 if (0==
out)
continue;
590 m_cabling->getReadoutIDfromSLBID((isEIFI ? phiEIFI : phi),
593 subDetectorId, rodId,
598 <<
" side=" << ((isAside) ?
"A":
"C")
599 <<
" region=" << ((isEndcap) ?
"Endcap" :
"Forward")
600 <<
" type=" << moduleType
602 <<
" subDetectorId=" << subDetectorId
603 <<
" rodId=" << rodId
604 <<
" sswId=" << sswId
605 <<
" sbLoc=" << sbLoc);
610 for(
int iData=0; iData<
out->getNumberOfData(); iData++) {
611 if (!
out->getHit(iData))
continue;
615 int subMat = iData % 4;
626 static_cast<uint16_t>(subDetectorId),
631 type,
out->getDev(iData), seg, subMat,
632 out->getPos(iData)));
637 bool setEIFITriggerBit =
644 static_cast<unsigned int>(subMat),
647 if(!setEIFITriggerBit) {
649 <<
" sideId= " << sector->getSideId()
650 <<
" slotId= " << phiEIFI
651 <<
" region= " << (isEndcap ?
"EI" :
"FI")
653 <<
" subMat(iBit)= " <<
static_cast<unsigned int>(subMat) );
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) );
◆ renounce()
◆ renounceArray()
◆ start()
StatusCode LVL1TGCTrigger::LVL1TGCTrigger::start |
( |
| ) |
|
|
overridevirtual |
Definition at line 1147 of file LVL1TGCTrigger.cxx.
1150 ATH_MSG_DEBUG(
"Retrieving Detector Mask from ByteStream metadata container");
1152 if (bsmdc.isValid() && !bsmdc->empty()) {
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); });
1168 return StatusCode::SUCCESS;
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ tgcArgs()
◆ updateVHKA()
◆ m_bctagInProcess
◆ m_bsMetaDataContRHKey
◆ m_cabling
◆ m_CurrentBunchTag
ShortProperty LVL1TGCTrigger::LVL1TGCTrigger::m_CurrentBunchTag {this,"CurrentBunchTag",TgcDigit::BC_CURRENT} |
|
private |
◆ m_db
◆ m_debuglevel
bool LVL1TGCTrigger::LVL1TGCTrigger::m_debuglevel |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_firstTime
bool LVL1TGCTrigger::LVL1TGCTrigger::m_firstTime {true} |
|
private |
◆ m_FORCENSWCOIN
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_FORCENSWCOIN {this,"FORCENSWCOIN",true} |
|
private |
◆ m_FULLCW
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_FULLCW {this,"FULLCW",false} |
|
private |
◆ m_innerTrackletSlotHolder
◆ m_INNERVETO
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_INNERVETO {this,"INNERVETO",true} |
|
private |
◆ m_keyBIS78TrigOut
◆ m_keyMuCTPIInput_TGC
StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_keyMuCTPIInput_TGC {this,"MuCTPIInput_TGC","L1MuctpiStoreTGC"} |
|
private |
◆ m_keyNSWTrigOut
◆ m_keyTgcDigit
◆ m_keyTgcRdo
◆ m_keyTgcRdoIn
◆ m_keyTileMu
◆ m_MaskedChannel
std::map<Identifier, int> LVL1TGCTrigger::LVL1TGCTrigger::m_MaskedChannel |
|
private |
◆ m_MaskFileName12
StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_MaskFileName12 {this,"MaskFileName12",""} |
|
private |
◆ m_muctpiPhase1Key
◆ m_nEventInSector
int LVL1TGCTrigger::LVL1TGCTrigger::m_nEventInSector |
|
private |
◆ m_NSWSideInfo
StringProperty LVL1TGCTrigger::LVL1TGCTrigger::m_NSWSideInfo {this,"NSWSideInfo",""} |
|
private |
◆ m_OutputTgcRDO
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_OutputTgcRDO {this,"OutputTgcRDO",true} |
|
private |
◆ m_ProcessAllBunches
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_ProcessAllBunches {this,"ProcessAllBunhes",true} |
|
private |
◆ m_readCondKey
◆ m_readLUTs_CondKey
◆ m_SHPTORED
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_SHPTORED {this, "SHPTORED", true} |
|
private |
◆ m_system
◆ m_tgcArgs
◆ m_TILEMU
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_TILEMU {this,"TILEMU",true} |
|
private |
◆ m_TimingManager
std::unique_ptr<TGCTimingManager> LVL1TGCTrigger::LVL1TGCTrigger::m_TimingManager |
|
private |
◆ m_USE_CONDDB
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USE_CONDDB {this, "USE_CONDDB", true} |
|
private |
◆ m_USEBIS78
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USEBIS78 {this,"USEBIS78",false} |
|
private |
◆ m_USEINNER
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USEINNER {this, "USEINNER", true} |
|
private |
◆ m_USENSW
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_USENSW {this,"USENSW",false} |
|
private |
◆ m_useRun3Config
BooleanProperty LVL1TGCTrigger::LVL1TGCTrigger::m_useRun3Config {this,"useRun3Config",false} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
SG::ReadCondHandleKey< TGCTriggerData > m_readCondKey
StringProperty m_NSWSideInfo
SG::ReadHandleKey< TileMuonReceiverContainer > m_keyTileMu
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
const std::vector< uint8_t > & getBIS78Deta() const
void set_USE_CONDDB(bool v)
void set_FORCE_NSW_COIN(bool v)
std::vector< Identifier > ID
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
void fillTGCEvent(const std::map< Identifier, int > &, TGCEvent &)
SG::ReadHandleKey< Muon::RpcBis78_TrigRawDataContainer > m_keyBIS78TrigOut
int getLPTTypeInRawData(int type)
static constexpr int s_NHitInTrackSelector
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
int innercoin(size_t id) const
BooleanProperty m_INNERVETO
const std::vector< uint8_t > & getBIS78eta() const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
BooleanProperty m_USE_CONDDB
uint16_t subDetectorId() const
int bw2or3(size_t id) const
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
Class representing data from an endcap SL board.
StatusCode getMaskedChannel()
BooleanProperty m_ProcessAllBunches
TGCDatabaseManager * m_db
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
const std::vector< uint8_t > & getNSWeta() const
BooleanProperty m_USEINNER
void set_USE_BIS78(bool v)
void recordRdoInner(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
const std::vector< uint8_t > & getBIS78Dphi() const
BooleanProperty m_OutputTgcRDO
property, see LVL1TGCTrigger::LVL1TGCTrigger
const std::vector< bool > & getNSWmonitor() const
StringProperty m_MaskFileName12
property, see LVL1TGCTrigger::LVL1TGCTrigger
uint16_t subDetectorId() const
virtual StatusCode sysInitialize() override
Override sysInitialize.
SG::ReadCondHandleKey< TGCTriggerLUTs > m_readLUTs_CondKey
std::map< Identifier, int > m_MaskedChannel
mask channel map
POOL::TEvent event(POOL::TEvent::kClassAccess)
StatusCode processOneBunch(const TgcDigitContainer *, LVL1MUONIF::Lvl1MuCTPIInputPhase1 *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
SG::ReadHandleKey< TgcDigitContainer > m_keyTgcDigit
int getCharge(int dR, int Zdir)
void set_MSGLEVEL(const MSG::Level v)
::StatusCode StatusCode
StatusCode definition for legacy code.
void clear2candidates(size_t id)
const std::vector< uint8_t > & getNSWDtheta() const
void set_SHPT_ORED(bool v)
BooleanProperty m_useRun3Config
bool useRun3Config() const
bool addRawData(std::unique_ptr< TgcRawData > rawdata, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &tgcrdo)
int charge(size_t id) const
SG::ReadHandleKey< ByteStreamMetadataContainer > m_bsMetaDataContRHKey
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_muctpiPhase1Key
void recordRdoSL(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
ShortProperty m_CurrentBunchTag
property, see LVL1TGCTrigger::LVL1TGCTrigger
bool isActive(int cwtype) const
const std::vector< int > & getNSWTriggerProcessor() const
@ NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR
unsigned constexpr int sideA
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void set2candidates(size_t id)
ServiceHandle< MuonTGC_CablingSvc > m_cabling
uint16_t bcId(uint32_t data)
void recordRdoSLB(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
uint16_t m_bctagInProcess
Class representing data from an forward SL board.
StatusCode initialize(bool used=true)
const std::vector< uint8_t > & getBIS78phi() const
void doMaskOperation(const TgcDigitContainer *, std::map< Identifier, int > &)
int goodmf(size_t id) const
void getInnerTrackletBits(const TGCInnerTrackletSlot *innerTrackletSlots[], std::array< int, NUMBER_OF_SLOTS_PER_TRIGGER_SECTOR > &eifi_bits) const
void set_useRun3Config(bool v)
BooleanProperty m_FORCENSWCOIN
DataObjIDColl m_extendedExtraObjects
bool setTriggerBit(const int sideId, const int slotId, const unsigned int region, const unsigned int readout, const unsigned int iBit, const bool triggerBit)
void getInnerTrackletSlots(const int sideId, const int octId, const int moduleId, const TGCInnerTrackletSlot *innerTrackletSlots[]) const
SG::ReadHandleKey< TgcRdoContainer > m_keyTgcRdoIn
#define ATH_MSG_WARNING(x)
void recordRdoHPT(TGCSector *, std::map< std::pair< int, int >, std::unique_ptr< TgcRdo >> &)
void extractFromString(const std::string &, std::vector< int > &)
void set_USE_INNER(bool v)
An unit object of TGC ROD output.
unsigned bcTag(unsigned bcBitMap)
void set_INNER_VETO(bool v)
unsigned constexpr int sideC
std::unique_ptr< TGCTimingManager > m_TimingManager
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const std::vector< uint8_t > & getNSWphi() const
void set_NSWSideInfo(const std::string &v)
void FillSectorLogicData(LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 *sldata, const TGCTrackSelectorOut *trackSelectorOut)
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
TGCSide
The sides of TGC (A- or C-side)
AthAlgorithm()
Default constructor:
void clear2candidatesInSector()
Use IdentifiableContainer with TgcDigitCollection.
std::vector< std::string > veto
these patterns are anded
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
TGCInnerTrackletSlotHolder m_innerTrackletSlotHolder
SG::ReadHandleKey< Muon::NSW_TrigRawDataContainer > m_keyNSWTrigOut
@ NCandidateInTrackSelector
BooleanProperty m_USEBIS78
BooleanProperty m_SHPTORED
std::shared_ptr< const NSWTrigOut > getOutput(LVL1TGCTrigger::TGCRegionType region, int side, int TGC_TriggerSector) const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
std::unique_ptr< TGCElectronicsSystem > m_system
SG::WriteHandleKey< TgcRdoContainer > m_keyTgcRdo