17#include "GaudiKernel/ISvcLocator.h"
18#include "GaudiKernel/StatusCode.h"
19#include "GaudiKernel/MsgStream.h"
28 const std::string& name,
29 const IInterface* parent):
38 declareProperty(
"SaveCellDetails", m_saveCellDetails =
true);
39 declareProperty(
"SavePositionInfo", m_savePosition =
true );
40 declareProperty(
"TileBadChanTool", m_tileBadChanTool);
42 TileCellDetailsFillerTool::book().ignore();
58 for (
int ros = 3; ros < 5; ++ros) {
59 for (
int drawer = 0; drawer < 64; ++drawer) {
60 int drawer2 =
m_cabling->E1_merged_with_run2plus(ros, drawer);
66 return StatusCode::SUCCESS;
100 return StatusCode::SUCCESS;
104 MsgStream log( msgSvc(), name() );
105 log << MSG::DEBUG <<
" in TileCellDetailsFillerTool::fill()" <<
endmsg;
110 if ( log.level() < MSG::DEBUG ) log << MSG::VERBOSE <<
" cell_id " <<
m_tileid->to_string(
id,-2) <<
endmsg;
112 uint32_t bad1(0),bad2(0);
113 long chan1(-1),chan2(-1),pmt1(-1),pmt2(-1);
114 long gain1 = tilecell->
gain1();
115 long gain2 = tilecell->
gain2();
116 long qual1 = tilecell->
qual1();
117 long qual2 = tilecell->
qual2();
133 if ( log.level() < MSG::DEBUG ) log << MSG::VERBOSE <<
" adc_id1 " <<
m_tilehwid->to_string(adc_id) <<
" hash " << hash1 <<
" " << gain1 <<
endmsg;
137 pmt1 =
m_cabling->channel2hole(partition,chan1);
142 if ( log.level() < MSG::DEBUG ) log << MSG::VERBOSE <<
" adc_id2 " <<
m_tilehwid->to_string(adc_id) <<
" hash " << hash2 <<
" " << gain2 <<
endmsg;
145 pmt2 =
m_cabling->channel2hole(partition,chan2);
158 qual1!=qual2 && (qual1!=255 || qual2!=255))
161 qual1!=qual2 && (qual1!=255 || qual2!=255))
181 else log << MSG::WARNING <<
" Cell of id "<< cell->ID()
182 <<
" : TileHelper is_tile, but TileCell pointer is 0 "
186 return StatusCode::SUCCESS;
190 MsgStream log( msgSvc(), name() );
191 log << MSG::INFO <<
"Dumping Cell info:" <<
endmsg;
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
Data object for each calorimeter readout cell.
float time() const
get time (data member)
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
float y() const
get y (through CaloDetDescrElement)
float z() const
get z (through CaloDetDescrElement)
float x() const
get x (through CaloDetDescrElement)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
This class groups all DetDescr information related to a CaloCell.
IdentifierHash onl2() const
cell online identifier 2
IdentifierHash onl1() const
cell online identifier 1
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
This is a "hash" representation of an Identifier.
static const TileCablingService * getInstance()
get pointer to service instance
uint8_t qual1(void) const
get quality of first PMT (data member)
float eneDiff(void) const
all get methods
int gain2(void) const
get gain of second PMT
bool badch1(void) const
check if first PMT is in bad channel list and masked
uint8_t qbit2(void) const
get quality bits of second PMT (data member)
int gain1(void) const
get gain of first PMT
uint8_t qual2(void) const
get quality of second PMT (data member)
bool badch2(void) const
check if second PMT is in bad channel list and masked
float timeDiff(void) const
get time diff for two PMTs (data member)
uint8_t qbit1(void) const
get quality bits of first PMT (data member)
Block filler tool for noisy FEB information.