|
ATLAS Offline Software
|
Go to the documentation of this file.
47 return StatusCode::FAILURE;
50 std::vector<std::string>
partitionName = {
"LBA",
"LBC",
"EBA",
"EBC"};
62 return StatusCode::SUCCESS;
70 std::vector<int> drawers[Tile::MAX_ROS - 1];
71 std::vector<int>
channels[Tile::MAX_ROS - 1];
72 std::vector<float> amplitudes[Tile::MAX_ROS - 1];
74 std::vector<int> timeDrawers[Tile::MAX_ROS - 1];
75 std::vector<int> timeChannels[Tile::MAX_ROS - 1];
76 std::vector<float>
times[Tile::MAX_ROS - 1];
78 static constexpr
int TMDB_MAX_CHANNEL = 8;
79 std::vector<float> cellAmplitudes[Tile::MAX_ROS - 1][TMDB_MAX_CHANNEL];
80 std::vector<float> cellTimes[Tile::MAX_ROS - 1][TMDB_MAX_CHANNEL];
82 static constexpr
int TMDB_EB_NUMBER_CELLS = 2;
83 static constexpr
int TMDB_EB_NUMBER_PARTITIONS = 2;
84 std::vector<float> tgcSectors[2];
87 auto coinThrModules = std::make_unique<std::vector<float>[][TMDB_EB_NUMBER_PARTITIONS][TMDB_EB_NUMBER_CELLS]>(
m_numberOfThresholds);
89 float TMDB_D6_amplitude[TMDB_EB_NUMBER_PARTITIONS][64] = {{0}};
90 float TMDB_D56_amplitude[TMDB_EB_NUMBER_PARTITIONS][64] = {{0}};
95 if (rawChannelCollection->
empty())
continue;
96 int fragId = rawChannelCollection->
identify();
97 unsigned int drawer = (fragId & 0x3F);
98 unsigned int ros = fragId >> 8;
102 HWIdentifier adc_id = rawChannel->adc_HWID();
104 float amplitude = rawChannel->amplitude();
120 amplitudes[
partition].push_back(amplitude);
126 float time = rawChannel->time();
174 float eta = roi_mu->eta();
175 float phi = roi_mu->phi();
176 int pt_thr = roi_mu->getThrNumber();
177 int sector = (roi_mu->getSectorAddress()>>1) & (0x3F);
180 if( fabs(eta) < 1.0 || 1.3 < fabs(eta) ) {
continue; }
185 float muon_eta =
mu->eta();
186 float muon_phi =
mu->phi();
187 float muon_pt =
mu->pt();
188 float dR =
calc_dR(eta-muon_eta, phi-muon_phi);
190 if(dR > 0.1) {
continue;}
191 if(muon_pt < 15000) {
continue;}
194 unsigned int partition = (muon_eta > 0.0) ? 0 : 1;
197 unsigned int drawerIdx;
230 for(
unsigned int cell = 0;
cell < TMDB_EB_NUMBER_CELLS; ++
cell){
240 return StatusCode::SUCCESS;
xAOD::MuonContainer * muonContainer
def retrieve(aClass, aKey=None)
@ Endcap
The muon candidate was detected in the endcap region.
std::vector< int > m_timeGroups
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
const TileHWID * m_tileHWID
std::vector< std::vector< std::vector< int > > > m_coinThrDGroup
int tilemodule_to_check(int sector) const
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Gaudi::Property< bool > m_numberOfThresholds
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
Gaudi::Property< std::vector< int > > m_nChannels
Gaudi::Property< bool > m_fillRawChannelHistograms
std::vector< std::vector< int > > m_timeCell
virtual std::vector< IdentifierHash > GetAllCurrentHashes() const override final
Returns a collection of all hashes availiable in this IDC.
Gaudi::Property< float > m_amplitudeThreshold
Generic monitoring tool for athena components.
Gaudi::Property< bool > m_isDSP
::StatusCode StatusCode
StatusCode definition for legacy code.
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Gaudi::Property< bool > m_fillEfficiencyHistograms
std::vector< std::vector< int > > m_ampCell
Class describing a LVL1 muon region of interest.
std::vector< int > m_ampGroups
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ToolHandle< ITileCondToolTMDB > m_tileCondToolTMDB
ToolHandleArray< GenericMonitoringTool > m_tools
Array of Generic Monitoring Tools.
virtual StatusCode initialize() override
initialize
virtual StatusCode initialize() override
initialize
virtual const T * indexFindPtr(IdentifierHash hashId) const override final
return pointer on the found entry or null if out of range using hashed index - fast version,...
float calc_dR(float dEta, float dPhi) const
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_muonRoIsContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Handle class for reading from StoreGate.
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
bool empty() const noexcept
Returns true if the collection is empty.
std::vector< int > m_tgcSectorGroup