39 return StatusCode::SUCCESS;
48 unsigned int maskcopy;
52 while ( ( maskcopy & 0x00000001 ) == 0 ) {
53 maskcopy = maskcopy >> 1;
68 if (readHandleKey.
empty()) {
70 return StatusCode::SUCCESS;
84 ATH_MSG_DEBUG(
"====== (late-muon) RoI debug info for out-of-time RoI =====");
85 ATH_MSG_DEBUG(
"out-of-time bunch crossing shift : " << bc_shift);
87 ATH_MSG_DEBUG(
"RoI pT threshold : name: " << roi->thrName() <<
", number: "<< roi->getThrNumber() <<
", value: " << roi->thrValue());
90 ATH_MSG_DEBUG(
"RoI word : 0x" << MSG::hex << roi->roiWord() << MSG::dec);
92 ATH_MSG_DEBUG(
"Sector address : 0x" << MSG::hex << roi->getSectorAddress() << MSG::dec);
93 ATH_MSG_DEBUG(
"==========================================================");
96 RoIEta.push_back(roi->eta());
97 RoIPhi.push_back(roi->phi());
101 unsigned int sysID = 0;
102 if( temp_sysID & 0x2 ) sysID = 1;
103 else if( temp_sysID & 0x1 ) sysID = 2;
106 if ( sysID == 0 ) RpcBCShift.push_back(bc_shift);
107 else TgcBCShift.push_back(bc_shift);
110 roiColl->
push_back(std::make_unique<TrigRoiDescriptor>(
111 roi->roiWord(), 0u,
roi_id,
121 return StatusCode::SUCCESS;
132 std::vector<int> RpcBCShift, TgcBCShift;
133 std::vector<float> RoIEta, RoIPhi;
142 ATH_CHECK(wh_roiCollection.
record(std::make_unique<TrigRoiDescriptorCollection>()));
155 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define CHECK(...)
Evaluate an expression and check for errors.
std::vector< QString > roi_id
An algorithm that can be simultaneously executed in multiple threads.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Group of local monitoring quantities and retain correlation when filling histograms
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool isPresent() const
Is the referenced object present in SG?
bool empty() const
Test if the key is blank.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_L1OutOfTimeRoIBCp2Key
ToolHandle< GenericMonitoringTool > m_monTool
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_roisWriteHandleKey
virtual StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< float > m_roiHalfWidthPhi
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_L1OutOfTimeRoIBCp1Key
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_L1OutOfTimeRoIBCm2Key
unsigned int getBitMaskValue(const unsigned int uintValue, const unsigned int mask) const
StatusCode readAndAppendTrigRoiDescriptors(const EventContext &ctx, TrigRoiDescriptorCollection *roiColl, const SG::ReadHandleKey< xAOD::MuonRoIContainer > &readHandleKey, int bc_shift, unsigned int &roi_id, std::vector< int > &RpcBCShift, std::vector< int > &TgcBCShift, std::vector< float > &RoIEta, std::vector< float > &RoIPhi) const
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_L1OutOfTimeRoIBCm1Key
TrigmuRoI(const std::string &name, ISvcLocator *pSvcLocator)
std Gaudi algorthm constructor
Gaudi::Property< float > m_roiHalfWidthEta
T wrapToPi(T phi)
Wrap angle in radians to [-pi, pi].
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
Helper for azimuthal angle calculations.