![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
13 m_histTool(
"TrigT1CaloLWHistogramTool"),
14 m_currentDatabaseMapsFilled(false),
20 m_l1CaloTTIdTools(
"LVL1::L1CaloTTIdTools/L1CaloTTIdTools"),
23 m_ttOnlineIdHelper(0),
102 return StatusCode::SUCCESS;
109 const EventContext& ctx = Gaudi::Hive::currentContext();
118 uint64_t eventNum = ctx.eventID().event_number();
140 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
161 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
183 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
201 ATH_MSG_INFO(
" Could not determine Tile or LAr so all channels will be processed." );
222 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
224 const unsigned int coolId = attrListCollItr->first;
233 ATH_MSG_INFO(
"Failed to set FullDelayData from database to channel 0x" << std::hex << coolId << std::dec );
236 unsigned int tempPedValue = (*attrList)[
m_pedValueName].data<
unsigned int>();
241 ATH_MSG_INFO(
"Failed to set PedValue from database to channel 0x" << std::hex << coolId << std::dec );
248 ATH_MSG_INFO(
"Failed to set L1aFadcSlice from database to channel 0x" << std::hex << coolId << std::dec );
257 ATH_MSG_INFO(
"Failed to set ValidChannel from database to channel 0x" << std::hex << coolId << std::dec );
272 for(;attrListCollItr !=
m_attrList->
end();++attrListCollItr){
273 const unsigned int coolId = attrListCollItr->first;
277 unsigned int tempErrorCode = (*attrList)[
m_errorCodeName].data<
unsigned int>();
279 if(tempErrorCode & 0xf) enabled =
false;
283 ATH_MSG_INFO(
"Failed to set ChannelEnabled from database to channel 0x" << std::hex << coolId << std::dec );
297 return StatusCode::SUCCESS;
303 ATH_MSG_FATAL(
"Failed to get the trigger tower collection so stopping." );
304 return StatusCode::FAILURE;
309 ATH_MSG_FATAL(
"Failed to get the ROD Header so stopping." );
310 return StatusCode::FAILURE;
321 for(;towerItr != towerEnd;++towerItr){
326 const unsigned int scanStepNumber = (
unsigned int)(*rodItr)->stepNumber();
330 const unsigned int phos4step = scanStepNumber % 25;
334 double eta = (*towerItr)->eta();
335 double phi = (*towerItr)->phi();
340 unsigned int layer = 0;
343 const std::vector<int> adcs = (*towerItr)->emADC();
356 for(
unsigned int j=0;j<adcs.size();++j)
357 itr->second->Fill(phos4step+j*25,adcs[j]);
367 ATH_MSG_WARNING(
"Failed to set L1aFadcSlice from Em data to channel 0x" << std::hex << coolId << std::dec );
370 ATH_MSG_WARNING(
"Failed to set ChannelEtaPhiLayer from Em data to channel 0x" << std::hex << coolId << std::dec );
379 unsigned int layer = 1;
382 const std::vector<int> adcs = (*towerItr)->hadADC();
396 for(
unsigned int j=0;j<adcs.size();++j){
397 itr->second->Fill(phos4step+j*25,adcs[j]);
409 ATH_MSG_WARNING(
"Failed to set L1aFadcSlice from HAD data to channel 0x" << std::hex << coolId << std::dec );
412 ATH_MSG_WARNING(
"Failed to set ChannelEtaPhiLayer from HAD data to channel 0x" << std::hex << coolId << std::dec );
424 return StatusCode::SUCCESS;
440 if(m_selectedCoolIds.size() > 0){
442 std::string
filename =
"selectedCoodIds";
443 if(m_runNumber != 0){
444 sprintf(temp,
"%08u",m_runNumber);
453 for(
unsigned int i=0;
i<m_selectedCoolIds.size();++
i){
455 if(itr == m_histosForSelectedCoolIds.end())
continue;
457 itr->second->Write();
465 return StatusCode::SUCCESS;
473 if (
sc.isFailure()) {
474 ATH_MSG_ERROR(
"Unable to retrieve CaloIdManager from DetectorStore");
475 return StatusCode::FAILURE;
478 ATH_MSG_INFO(
"CaloIdManager retrieved successfully." );
483 return StatusCode::FAILURE;
491 return StatusCode::FAILURE;
497 if (
sc.isFailure()) {
498 ATH_MSG_ERROR(
"Could not retrieve TrigT1CaloLWHistogramTool" );
499 return StatusCode::FAILURE;
502 ATH_MSG_INFO(
"TrigT1CaloLWHistogramTool retrieved successfully." );
511 sc = service(
"ToolSvc",toolSvc );
522 sc = toolSvc->retrieveTool(
"CaloTriggerTowerService",
m_ttSvc);
531 return StatusCode::SUCCESS;
540 return StatusCode::FAILURE;
543 return StatusCode::SUCCESS;
551 return StatusCode::FAILURE;
553 return StatusCode::SUCCESS;
562 return StatusCode::FAILURE;
564 return StatusCode::SUCCESS;
582 const unsigned int crate = coolId.
crate();
583 const unsigned int moduleSlot = coolId.
module() + 5;
584 const unsigned int subModule = coolId.
subModule();
598 if(regime !=
"Physics" && regime !=
"Calib1" && regime !=
"Calib2"){
599 ATH_MSG_WARNING(
"Timing Regime is expected to be Physics, Calib1, or Calib2, but is actually: " << regime <<
", using Calib1 as default." );
618 TStyle*
atlasStyle =
new TStyle(
"atlasStyle",
"ATLAS Style");
JetConstituentVector::iterator iterator
void SetTileRun(bool value=true)
StatusCode SetPedValue(const L1CaloCoolChannelId &coolId, unsigned int value)
const_iterator end() const
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
std::map< unsigned int, unsigned int > m_currentFullDelayDataMap
std::string m_outputDirectory
Const iterator class for DataVector/DataList.
bool SetChannelEtaPhiLayer(const L1CaloCoolChannelId &coolId, const float eta, const float phi, const L1CaloPprPhos4Shape::CaloLayer layer)
const CaloIdManager * m_caloMgr
Scalar phi() const
phi method
Exception class for Calo Identifiers.
StatusCode GetRODHeader()
std::string m_l1aFadcSliceName
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
void SetTimingRegime(const std::string ®ime)
ToolHandle< LVL1::IL1CaloTTIdTools > m_l1CaloTTIdTools
std::string m_timingRegime
StatusCode GetDatabaseHandle(const std::string &folderName)
L1CaloPprPhos4ShapeCollection * m_signalShapes
void SetMinimumSignalHeight(const unsigned int min)
StatusCode L1CaloPprPhos4ShapeMaker::finalize ATLAS_NOT_THREAD_SAFE()
Install fatal handler with default options.
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
void SetHistogramTool(ToolHandle< LVL1::TrigT1CaloLWHistogramTool > &histTool)
unsigned int crate() const
StatusCode SetChannelEnabled(const L1CaloCoolChannelId &coolId, bool enabled)
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
bool IsCoolIdValid(const L1CaloCoolChannelId coolId)
std::string m_timingRegimeName
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
HWIdentifier createTTChannelID(const Identifier &id, bool bQuiet=false) const
create a TT HWIdentifier from a TT Identifier
std::string m_ppmDeadChannelsFolderName
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
unsigned int m_l1aFadcSlice
StatusCode SetL1aFadcSlice(const L1CaloCoolChannelId &coolId, unsigned int slice)
const DataVector< LVL1::RODHeader > * m_rodHeader
unsigned int m_minSignalHeight
unsigned int channel() const
void SetTimingRegime(const std::string ®ime)
virtual StatusCode execute() override
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode SetValidChannel(const L1CaloCoolChannelId &coolId, bool validity)
const CondAttrListCollection * m_attrList
L1CaloCoolChannelId GetCoolId(const double eta, const double phi, const unsigned int layer)
std::map< unsigned int, unsigned int > m_currentPedValueMap
const CaloLVL1_ID * getLVL1_ID(void) const
bool m_currentDatabaseMapsFilled
std::string m_pprChanCalibFolderName
void SetLArRun(bool value=true)
CaloTriggerTowerService * m_ttSvc
std::string m_errorCodeName
std::vector< unsigned int > m_selectedCoolIds
StatusCode loadAthenaObjects()
StatusCode SetCurrentFullDelayData(const L1CaloCoolChannelId &coolId, unsigned int delay)
std::string m_l1caloRunParametersFolderName
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
void SetOutputDirectoryName(const std::string &name)
std::string m_readoutConfigFolderName
ToolHandle< LVL1::TrigT1CaloLWHistogramTool > m_histTool
void SetRunNumber(const unsigned int runNumber)
#define ATH_MSG_WARNING(x)
ChanAttrListMap::const_iterator const_iterator
StatusCode Fill(const L1CaloCoolChannelId &coolId, const unsigned int ns_step, const unsigned int adc)
L1CaloCoolChannelId createL1CoolChannelId(const HWIdentifier &id) const
create a CoolChannelId (used by TDAQ framework) from a HWIdentifier
virtual StatusCode initialize() override
HWIdentifier channelId(int crate, int module, int submodule, int channel) const
(1) create towerId from fields
const TriggerTowerCollection * m_triggerTowers
const TTOnlineID * getTTOnlineID(void) const
std::string m_ttcConfigurationName
const CaloLVL1_ID * m_lvl1Helper
std::string m_fullDataDelayName
std::string m_ttcConfiguration
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
size_type size() const noexcept
Returns the number of elements in the collection.
std::string m_l1caloDerivedRunParsFolderName
const TTOnlineID * m_ttOnlineIdHelper
std::map< unsigned int, TH2F * > m_histosForSelectedCoolIds
unsigned int subModule() const
StatusCode GetTriggerTowers()
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static const unsigned short int m_maxSelectedCoolIds
std::string m_pedValueName
unsigned int module(bool logical=true) const
L1CaloPprPhos4ShapeMaker()