|
ATLAS Offline Software
|
Go to the documentation of this file.
10 const std::string&
name,
23 return StatusCode::SUCCESS;
30 const EventContext& ctx)
const {
41 if (!electronicNoiseHdl.isValid()) {
return StatusCode::FAILURE;}
42 const CaloNoise* electronicNoiseCDO = *electronicNoiseHdl;
45 if (!totalNoiseHdl.isValid()) {
return StatusCode::FAILURE;}
46 const CaloNoise* totalNoiseCDO = *totalNoiseHdl;
53 caloCell.
e =
cell->energy();
54 caloCell.
et =
cell->energy() * 1.0/TMath::CosH(
cell->eta());
59 float electronicNoise = electronicNoiseCDO->
getNoise(
cell->ID(),
cell->gain());
64 caloCell.
sigma = caloCell.
e / totalNoise;
74 caloCell.
x =
cell->x();
75 caloCell.
y =
cell->y();
76 caloCell.
z =
cell->z();
81 bool IsEM_Barrel=
false;
82 bool IsEM_EndCap=
false;
83 bool IsEM_BarrelPos=
false;
84 bool IsEM_BarrelNeg=
false;
106 caloCell.
id = (
cell->ID().get_identifier32()).get_compact();
109 caloCell.
layer =
cell->caloDDE()->getLayer();
111 float deta = elt->
deta();
112 float dphi = elt->
dphi();
114 float etamin = caloCell.
eta - (0.5*deta);
115 float etamax = caloCell.
eta + (0.5*deta);
117 float phimin = caloCell.
phi - (0.5*dphi);
118 float phimax = caloCell.
phi + (0.5*dphi);
130 gepCellsMap->insert(std::pair<unsigned int, Gep::CustomCaloCell>(caloCell.
id, caloCell));
135 return StatusCode::SUCCESS;
141 std::vector<unsigned int>
144 const EventContext&)
const {
147 std::vector<IdentifierHash> cellNeighbours;
152 std::vector<unsigned int> neighbour_ids;
153 for (
unsigned int iNeighbour = 0;
154 iNeighbour < cellNeighbours.size();
166 return neighbour_ids;
def retrieve(aClass, aKey=None)
@ IsEM
cut-based identification for egamma objects (cluster and track-based)
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
int pos_neg(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
double dphi() const
delta phi
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
bool is_em(const Identifier id) const
test if the id belongs to LArEM
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
::StatusCode StatusCode
StatusCode definition for legacy code.
#define CHECK(...)
Evaluate an expression and check for errors.
double deta() const
delta eta
const CaloCell * findCell(const IdentifierHash theHash) const
fast find method given identifier hash.
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
int get_neighbours(const IdentifierHash caloHash, const LArNeighbours::neighbourOption &option, std::vector< IdentifierHash > &neighbourList) const
access to hashes for neighbours return == 0 for neighbours found
StatusCode initialize(bool used=true)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
Container class for CaloCell.
Data object for each calorimeter readout cell.
This is a base class for LAr and Tile Descriptors The primary goal is to speed up loops over all the ...
static std::string getSamplingName(CaloSample theSample)
Returns a string (name) for each CaloSampling.
std::vector< unsigned int > neighbours
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...