|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #include "Identifier/Identifier.h"
14 #include "CaloGeoHelpers/CaloSampling.h"
22 #include "GaudiKernel/ITHistSvc.h"
23 #include "GaudiKernel/ServiceHandle.h"
40 m_ADC.reserve(250000);
52 m_tree =
new TTree(
"myTree",
"myTree");
72 m_tree->Branch(
"ADC",
m_ADC.data(),
"ADC[ncells][32]/F");
84 return StatusCode::SUCCESS;
90 return StatusCode::SUCCESS;
99 ATH_MSG_ERROR(
"Do not have cabling object LArOnOffIdMapping" );
100 return StatusCode::FAILURE;
122 std::vector<const LArDigit*> IndexDigit;
124 IndexDigit.resize(nCell,
nullptr);
127 if (
evtStore()->contains<LArDigitContainer>(
"FREE")) {
131 for (; first_digit != end_digit; ++first_digit)
144 std::vector<int> iflag_cell;
145 iflag_cell.resize(nCell,0);
150 for (; first_cell != end_cell; ++first_cell)
154 double et = (*first_cell)->et();
163 myList.
select((*first_cell)->eta(),(*first_cell)->phi(),0.10);
173 first_cell = cell_container->
begin();
174 for (; first_cell != end_cell; ++first_cell) {
179 if (iflag_cell[
index]==1 ){
199 if (barrel_ec<2 && pos_neg<2 &&
FT<32 && slot<16 &&
channel<128)
200 myid = (
channel) | (slot << 7) | (
FT<<11) | (pos_neg << 16) | (barrel_ec << 17);
207 pedestal = larPedestal->
pedestal(hwid,(*first_cell)->gain());
213 if (IndexDigit[
index]) {
214 const std::vector<short>& vSamples=(IndexDigit[
index])->samples();
229 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
virtual float pedestal(const HWIdentifier &id, int gain) const =0
Extra patterns decribing particle interation process.
Const iterator class for DataVector/DataList.
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
Gaudi::Property< double > m_etcut
void select(double eta, double phi, double deta, double dphi)
uint64_t eventNumber() const
The current event's event number.
std::vector< int > m_GainCell
const LArOnlineID * m_lar_online_id
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
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.
SG::ReadCondHandleKey< ILArPedestal > m_pedestalKey
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
@ LAr
The LAr calorimeter.
value_type get_compact() const
Get the compact id.
uint32_t runNumber() const
The current event's run number.
std::vector< std::array< float,32 > > m_ADC
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode execute()
@ Error
The sub-detector issued an error.
LArReadCells(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_outStream
std::vector< int > m_ProvCell
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
std::vector< float > m_ECell
This class initializes the Calo (LAr and Tile) offline identifiers.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > m_LayerCell
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
#define CHECK(...)
Evaluate an expression and check for errors.
uint32_t lumiBlock() const
The current event's luminosity block number.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::vector< int > m_ChidCell
const CaloCell_ID * m_calo_id
const CaloCell_ID * getCaloCell_ID(void) const
Access to IdHelper.
virtual StatusCode finalize()
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
StatusCode initialize(bool used=true)
std::vector< float > m_EtaCell
Container class for CaloCell.
virtual StatusCode initialize()
Class describing the basic event information.
std::vector< float > m_TCell
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
This class provides the client interface for accessing the detector description information common to...
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
std::vector< int > m_HwidCell
EventFlagErrorState errorState(EventFlagSubDet subDet) const
Get the error state for a particular sub-detector.
Container class for LArDigit.
std::vector< int > m_QuaCell
std::vector< float > m_PhiCell
uint32_t bcid() const
The bunch crossing ID of the event.
Gaudi::Property< double > m_etcut2
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type calo_cell_hash_max(void) const
cell 'global' hash table max size