ATLAS Offline Software
Loading...
Searching...
No Matches
LArRodDecoder.cxx File Reference

Go to the source code of this file.

Functions

static const InterfaceID IID_ILArRodDecoder ("LArRodDecoder", 1, 0)
StatusCode LArRodDecoder::initialize ATLAS_NOT_THREAD_SAFE ()
 Install fatal handler with default options.

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode LArRodDecoder::initialize ATLAS_NOT_THREAD_SAFE ( void )
inline

Install fatal handler with default options.

This is meant to be easy to call from python via ctypes.

Install fatal handler with default options.

getLorentzAngle() Read LorentzAngle from HIST and write out into local DB

getBSErrors() Read BSErrors from Monitoring HIST and write out into local DB

getEfficiency() Read Efficiency from Monitoring HIST and write out into local DB

getRawOccupancy() Read RawOccupancy from Monitoring HIST and write out into local DB

getNoiseOccupancy() Read NoiseOccupancy from HIST and write out into local DB

getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats

beginning of the loop of channels

bad bit newly found

known bad bit

for low noisy cells

for high noisy cells

0.01 is used to scale "PER" to the same order of magnitude to "SIG"

smaller deviation: distorted

checking TmaxAmp, Not mixed with MaxAmp and Width

channel information output

Only dead or distorted, or short known BCs are considered below.

index of bc

Definition at line 75 of file LArRodDecoder.cxx.

76{
77 // Before anything, access message service
78 m_StatusNMask = !m_StatusMask;
79
80
81 StatusCode sc = detStore()->retrieve(m_onlineHelper, "LArOnlineID");
82 if (sc.isFailure()) {
83 msg(MSG::ERROR) << "Could not get LArOnlineID helper !" << endmsg;
84 return sc;
85 }
86
87 ATH_CHECK( m_evt.initialize() );
88
89 std::vector<std::string>::const_iterator it = m_LArCellCorrNames.begin();
90 std::vector<std::string>::const_iterator it_end = m_LArCellCorrNames.end();
91 for(; it!=it_end;++it)
92 {IAlgTool* tool;
93 CaloCellCorrection* corr;
94 Gaudi::Utils::TypeNameString li(*it);
95 if((toolSvc()->retrieveTool(li.type(), li.name(), tool)).isFailure() )
96 {msg(MSG::ERROR) << " Can't get AlgTool for CaloCellCorrection " << endmsg;
97 return StatusCode::FAILURE;
98 }
99
100 corr = dynamic_cast<CaloCellCorrection*> (tool);
101 if(!corr )
102 {msg(MSG::ERROR) << " Can't d-cast to CaloCellCorrection* " << endmsg;
103 return StatusCode::FAILURE;
104 }
105 m_LArCellCorrTools.push_back(corr);
106 }
107
108 //Build list of preselected Feedthroughs
109 if (m_vBEPreselection.size() && m_vPosNegPreselection.size() && m_vFTPreselection.size()) {
110 ATH_MSG_INFO("Building list of selected feedthroughs");
111 for (const unsigned BE : m_vBEPreselection) {
112 for (const unsigned PN : m_vPosNegPreselection) {
113 for (const unsigned FT : m_vFTPreselection) {
114 HWIdentifier finalFTId=m_onlineHelper->feedthrough_Id(BE,PN,FT);
115 unsigned int finalFTId32 = finalFTId.get_identifier32().get_compact();
116 ATH_MSG_INFO("Adding feedthrough Barrel/Endcap=" << BE << " pos/neg=" << PN << " FT=" << FT
117 << " (0x" << std::hex << finalFTId32 << std::dec << ")");
118 m_vFinalPreselection.push_back(finalFTId32);
119 }
120 }
121 }
122 std::sort(m_vFinalPreselection.begin(),m_vFinalPreselection.end());
123 }//end if something set
124 else {
125 if (m_vBEPreselection.size() || m_vPosNegPreselection.size() || m_vFTPreselection.size()) {
126 msg(MSG::ERROR) << "Feedthrough preselection: jobOption inconsistency! "<< endmsg;
127 msg(MSG::ERROR) << "Need to set all three jobOptions BEPreselection PNPreselecton and FTPreselection" << endmsg;
128 return StatusCode::FAILURE;
129 }
130 ATH_MSG_DEBUG("No feedthrough preselection by jobOptions.");
131 }
132 return sc;
133}
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
#define ATH_MSG_DEBUG(x)
static Double_t sc
value_type get_compact() const
Get the compact id.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
MsgStream & msg
Definition testRead.cxx:32

◆ IID_ILArRodDecoder()

const InterfaceID IID_ILArRodDecoder ( "LArRodDecoder" ,
1 ,
0  )
static