|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GaudiKernel/Service.h"
7 #include "Gaudi/Property.h"
21 #include <CLHEP/Units/SystemOfUnits.h>
26 ,
const std::string&
name,
const IInterface*
parent)
31 declareInterface<ICaloCellMakerTool>(
this );
56 return StatusCode::SUCCESS;
68 std::stringstream dris;
75 std::stringstream dris;
82 std::stringstream dris;
89 std::stringstream dris;
96 std::stringstream dris;
102 return StatusCode::SUCCESS;
111 if (component ==
"drawer") {
114 }
else if (component ==
"mb") {
117 }
else if (component ==
"dig") {
120 }
else if (component ==
"dmu") {
128 if (ros < 1 || ros > 4) {
129 ATH_MSG_WARNING(
" wrong selection of ros = " <<
ros <<
" in TileCellMaskingTool::killer ");
130 }
else if (drw < 0 || drw > 63) {
131 ATH_MSG_WARNING(
" wrong selection of drawer = " << drw <<
" in TileCellMaskingTool::killer ");
132 }
else if (begin < 0 || end > 48) {
134 <<
" = " <<
index <<
" in TileCellMaskingTool::killer ");
136 msg(MSG::INFO) <<
" killing ros " <<
ros <<
" drawer " << drw;
137 if (component !=
"drawer") {
148 <<
" hash " <<
hash );
156 const EventContext& )
const
158 int n_cells = 0, n_masked_1 = 0, n_masked_2 = 0, n_masked_12 = 0;
159 double ene_before = 0.0, ene_after = 0.0;
164 for (
size_t iCell = firstCell; iCell <= lastCell; ++iCell) {
166 CaloCell* aCell = (*theCont)[iCell];
173 ene_before += aCell->
energy();
194 <<
", hash2: " << hash2
195 <<
" before " << pCell->
ene1()
196 <<
" + " << pCell->
ene2()
197 <<
" = " << pCell->
energy();
201 float ene1 = pCell->
ene1();
208 <<
" + " << pCell -> ene2()
220 <<
", hash1: " << hash1
221 <<
" before " << pCell->
ene1()
222 <<
" + " << pCell->
ene2()
223 <<
" = " << pCell->
energy();
238 <<
" + " << pCell->
ene2()
248 <<
", hash1: " << hash1
249 <<
" before " << pCell->
ene1()
250 <<
" + " << pCell->
ene2()
251 <<
" = " << pCell->
energy();
255 float ene2 = pCell->
ene2();
262 <<
" + " << pCell->
ene2()
271 <<
", hash1: " << hash1
272 <<
", hash2: " << hash2
273 <<
" before " << pCell->
ene1()
274 <<
" + " << pCell->
ene2()
275 <<
" = " << pCell->
energy();
292 <<
" + " << pCell->
ene2()
297 ene_after += aCell->
energy();
302 <<
" N masked gap/normal/half-masked: " << n_masked_1 <<
" " << n_masked_2 <<
" " << n_masked_12
303 <<
" Ene before/after/delta: " << ene_before <<
" " << ene_after <<
" " << ene_after-ene_before );
305 return StatusCode::SUCCESS;
312 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
IdentifierHash onl2() const
cell online identifier 2
float time1(void) const
get time of first PMT
int indexLastCellCalo(const CaloCell_ID::SUBCALO caloNum) const
index of last cell of given calorimeter (-2 if none) Note that it is normally more efficient to use i...
virtual void setTime(float t) override final
set cell time, reset timeDiff
float time2(void) const
get time of second PMT
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
float ene1(void) const
get energy of first PMT
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
bool msgLvl(const MSG::Level lvl) const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
double energy() const
get energy (data member)
IdentifierHash onl1() const
cell online identifier 1
uint8_t qual2(void) const
get quality of second PMT (data member)
int indexFirstCellCalo(const CaloCell_ID::SUBCALO caloNum) const
index of first cell of given calorimeter (-1 if none).
::StatusCode StatusCode
StatusCode definition for legacy code.
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
virtual IdentifierHash get_channel_hash(const HWIdentifier &id) const
create hash id from compact Channel id
#define CHECK(...)
Evaluate an expression and check for errors.
uint8_t qbit1(void) const
get quality bits of first PMT (data member)
int gain1(void) const
get gain of first PMT
bool is_tile() const
cell belongs to Tile
void setQuality(unsigned char qual, unsigned char qbit, int pmt)
set quality value and quality bits for one PMT
HWIdentifier channel_id(int ros, int drawer, int channel) const
channel HWIdentifer
Helpers for checking error return status codes and reporting errors.
Container class for CaloCell.
virtual void setEnergy(float ene) override final
set total energy, reset eneDiff to zero
uint8_t qbit2(void) const
get quality bits of second PMT (data member)
int gain2(void) const
get gain of second PMT
float ene2(void) const
get energy of second PMT
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
const double mb
1mb to cm2
uint8_t qual1(void) const
get quality of first PMT (data member)
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...