![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
30 const std::string&
name,
39 ATH_MSG_INFO(
"In initializing 'RpcLv1RawDataEfficiency'");
67 ATH_MSG_DEBUG(
"Found the MuonDetectorManager from detector store.");
72 return StatusCode::SUCCESS;
87 double x_atlas, y_atlas, z_atlas, phi_atlas, eta_atlas;
94 DetectorManagerHandle.cptr();
95 if (MuonDetMgr ==
nullptr) {
97 "Null pointer to the read MuonDetectorManager conditions object");
98 return StatusCode::FAILURE;
101 for (it_container = rpc_coin_container->
begin();
102 it_container != rpc_coin_container->
end(); ++it_container) {
104 (*it_container)->begin();
105 it_collection != (*it_container)->end();
108 << (*it_collection)->threshold()
109 <<
int((*it_collection)->isLowPtCoin())
110 <<
int((*it_collection)->isHighPtCoin()));
111 if (
int((*it_collection)->threshold()) < 1 ||
112 (*it_collection)->threshold() > 3 ||
113 (
int((*it_collection)->isLowPtCoin()) +
114 int((*it_collection)->isHighPtCoin()) !=
119 int((*it_collection)->threshold()),
120 int((*it_collection)->isLowPtCoin()),
121 int((*it_collection)->isHighPtCoin()));
122 prdcoll_id = (*it_collection)->identify();
126 x_atlas = descriptor_Atl->
stripPos(prdcoll_id).x();
127 y_atlas = descriptor_Atl->
stripPos(prdcoll_id).y();
128 z_atlas = descriptor_Atl->
stripPos(prdcoll_id).z();
131 phi_atlas =
std::atan(y_atlas / x_atlas);
132 }
else if (x_atlas == 0) {
146 0.5 *
std::atan(std::hypot(x_atlas, y_atlas) / z_atlas))));
149 if (irpcstationEta < 0)
150 eta_atlas = -eta_atlas;
151 coindata->
SetEtaPhi(eta_atlas, phi_atlas);
156 ATH_MSG_DEBUG(
"Finished with reading the RpcCoinDataContainer... ");
157 return StatusCode::SUCCESS;
166 ATH_MSG_DEBUG(
"RpcLv1RawDataEfficiency::retrieved eventInfo");
177 return StatusCode::SUCCESS;
185 "Booking Sector Hits histograms for RPCLV1RawDataEfficiency... ");
191 std::string generic_path_rpclv1monitoring =
192 "Muon/MuonRawDataMonitoring/RPCLV1Efficiency";
194 generic_path_rpclv1monitoring +
"/SectorHits",
198 for (
unsigned int iMuThreshold = 0; iMuThreshold < 6;
203 <<
"PT" << iMuThreshold + 1 <<
"_C";
205 m_ss.str().c_str(), (
m_ss.str() +
";LB;Sector").c_str(), 500,
206 0., 1500., 32, 0., 32.);
212 <<
"PT" << iMuThreshold + 1 <<
"_A";
214 m_ss.str().c_str(), (
m_ss.str() +
";LB;Sector").c_str(), 500,
215 0., 1500., 32, 32., 64.);
221 <<
"PT" << iMuThreshold + 1 <<
"_all";
223 m_ss.str().c_str(), (
m_ss.str() +
";LB;Sector").c_str(), 500,
224 0., 1500., 64, 0., 64.);
230 return StatusCode::SUCCESS;
237 ATH_MSG_DEBUG(
"Filling histograms for RPCLv1RawDataEfficiency... ");
251 sectorLogicContainer->
begin();
253 for (;
it != sectorLogicContainer->
end(); ++
it) {
254 int i_sectorid = (*it)->sectorId();
257 for (; ithit != (*it)->end(); ++ithit) {
258 bool b_isInput = (*ithit)->isInput();
259 int i_ptid = (*ithit)->ptId();
263 for (
int iThresholdIndex = 0; iThresholdIndex < 6;
265 if (i_ptid == (iThresholdIndex + 1)) {
278 return StatusCode::SUCCESS;
const RpcReadoutElement * getRpcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
StatusCode StoreTriggerType()
Const iterator class for DataVector/DataList.
uint64_t eventNumber() const
The current event's event number.
void SetEtaPhi(float eta, float phi)
RpcLv1RawDataEfficiency(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::array< TH2I *, 6 > m_rpclv1_sectorhits_A
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
std::vector< CoincidenceData * > m_CoincidenceData
StatusCode readRpcCoinDataContainer()
std::array< TH2I *, 6 > m_rpclv1_sectorhits_all
::StatusCode StatusCode
StatusCode definition for legacy code.
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
uint32_t lumiBlock() const
The current event's luminosity block number.
SG::ReadHandleKey< Muon::RpcCoinDataContainer > m_rpcCoinKey
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
void SetThresholdLowHigh(int threshold, int low_pt, int high_pt)
std::array< TH2I *, 6 > m_rpclv1_sectorhits_C
Amg::Vector3D stripPos(const Identifier &id) const
StatusCode initialize(bool used=true)
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
uint16_t level1TriggerType() const
The Level-1 trigger type.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
uint32_t bcid() const
The bunch crossing ID of the event.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadHandleKey< RpcSectorLogicContainer > m_sectorLogicContainerKey