|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "Gaudi/Property.h"
7 #include "GaudiKernel/MsgStream.h"
8 #include "GaudiKernel/NTuple.h"
29 #include "GaudiKernel/ThreadLocalContext.h"
46 m_barrelec(0), m_posneg(0), m_FT(0),m_slot(0),m_channel(0),
47 m_caloId(nullptr), m_onlId(nullptr)
67 m_tree =
new TTree(
"mytree",
"Calo Noise ntuple");
90 return StatusCode::SUCCESS;
96 const EventContext& ctx = Gaudi::Hive::currentContext();
102 std::vector<const CondAttrListCollection*> attrLists;
106 attrLists.push_back (*attrList);
137 return StatusCode::FAILURE;
145 for(;cell_b!=cell_e; ++cell_b) {
148 std::vector<int> hvlines =
GetHVLines (hvdata_EMB,
157 for(
unsigned i=0;
i<hvlines.size(); ++
i ) {
159 std::vector<HWIdentifier>
vec;
160 vec.push_back(onlid);
175 for (
unsigned int ielec=0;ielec<32;ielec++) {
177 for (
unsigned int iGap=0;iGap<2;iGap++) {
178 float hv = hvdata_EMB.
voltage (electrode, iGap);
214 for (
int iGap=0;iGap<2;iGap++) {
215 float hv = hvdata_EMBPS.
voltage (hvMod, iGap);
249 for (
int iGap=0;iGap<2;iGap++) {
250 float hv = hvdata_EMECPS.
voltage (hvMod, iGap);
290 for (
unsigned int iGap=0;iGap<2;iGap++) {
291 float hv = hvdata_EMEC_OUT.
voltage (electrode, iGap);
331 for (
unsigned int iGap=0;iGap<2;iGap++) {
332 float hv = hvdata_EMEC_IN.
voltage (electrode, iGap);
364 float etamax_layer[4]={3.3,3.1,3.1,3.3};
365 float etamin_layer[4]={1.5,1.5,1.6,1.7};
371 float eta_min,eta_max;
373 eta_min = etamin_layer[iSampling];
374 eta_max = etamax_layer[iSampling];
376 eta_min = -1.*etamax_layer[iSampling];
377 eta_max = -1.*etamin_layer[iSampling];
379 float eta = 0.5*(eta_min+eta_max);
385 float hv = hvdata_HEC.
voltage (subgap);
387 m_bec = 10+iSampling;
412 float eta_min=3.1,eta_max=4.9;
413 if (iSide==0) { eta_min=-4.9; eta_max=-3.1; }
415 float eta = 0.5*(eta_min+eta_max);
424 float phi_min = ((
float)(iSector))*dphi;
427 float phi = 0.5*(phi_min+phi_max);
433 m_bec = 14+iSampling;
457 return StatusCode::SUCCESS;
476 if (!embElement) std::abort();
478 unsigned int nelec =
cell->getNumElectrodes();
479 for (
unsigned int i=0;
i<nelec;
i++) {
481 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMB.
hvLineNo(electrode, igap));
485 if (!emecElement) std::abort();
487 unsigned int nelec =
cell->getNumElectrodes();
488 for (
unsigned int i=0;
i<nelec;
i++) {
495 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.
hvLineNo (electrode, igap));
500 if (!hecElement) std::abort();
502 unsigned int nsubgaps =
cell->getNumSubgaps();
503 for (
unsigned int igap=0;igap<nsubgaps;igap++) {
505 hv.insert(hvdata_HEC.
hvLineNo (subgap));
509 if (!fcalElement) std::abort();
512 for (
unsigned int i=0;
i<nlines;
i++) {
519 if (!embElement) std::abort();
522 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMBPS.
hvLineNo (hvmodule, igap));
525 if (!emecElement) std::abort();
528 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMECPS.
hvLineNo (hvmodule, igap));
532 std::vector<int> hvlines;
FCALHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
int hvLineNo(const FCALHVLine &line) const
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
This class provides direct access to information on the HV electrodes within the EMEC....
unsigned int beginEtaIndex() const
SG::ReadCondHandleKey< LArHVIdMapping > m_hvCablingKey
static unsigned int endSideIndex()
const CaloCell_ID * m_caloId
Describes one HV Module within the HEC.
static unsigned int beginSideIndex()
GeoIntrusivePtr< const HECCell > HECCellConstLink
@Class: HECCellConstLink
const EMECHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
LAr EMEC Detector Element.
Smart Pointer to EMEC Cells. This reference counted link allocates on demand. It audits the total poi...
Scalar phi() const
phi method
static unsigned int beginSideIndex()
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
double current(const EMECPresamplerHVModule &module, const int &iGap) const
double voltage(const EMECPresamplerHVModule &module, const int &iGap) const
const LArEM_ID * em_idHelper() const
access to EM idHelper
static unsigned int endSideIndex()
unsigned int endPhiIndex() const
static unsigned int beginPhiIndex()
static unsigned int beginSideIndex()
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
const EMECHVElectrode & getElectrode(unsigned int iElectrode) const
EMECPresamplerHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
HECHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
EMECHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
double voltage(const FCALHVLine &line) const
double voltage(const EMECHVElectrode &electrode, const int &iGap) const
unsigned int endSectorIndex() const
unsigned int endEtaIndex() const
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...
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_DCSFolderKeys
id_iterator cell_end(void) const
end iterator over full set of Identifiers (LAr + Tiles)
unsigned int endPhiIndex() const
unsigned int endPhiIndex() const
std::vector< size_t > vec
int hvLineNo(const HECHVSubgap &subgap) const
static unsigned int beginSectorIndex()
double current(const EMBHVElectrode &electrode, const int &iGap) const
const FCALHVModule & getHVModule(unsigned int iSide, unsigned int iSector, unsigned int iSampling) const
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
const FCALTile * getFCALTile() const
FCAL Tile description from LArReadoutGeometry.
EMECCellConstLink getEMECCell() const
EMEC Cell description from LArReadoutGeometry.
LAr EMB Detector Element.
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
unsigned int beginPhiIndex() const
int hvLineNo(const EMBHVElectrode &electrode, const int &iGap) const
const EMECPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iPhi) const
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
static unsigned int beginSideIndex()
unsigned int endEtaIndex() const
GeoIntrusivePtr< const EMBCell > EMBCellConstLink
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
LArHV2Ntuple(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
LAr HEC Detector Element.
const EMBHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
unsigned int beginEtaIndex() const
This class provides direct access to information on the HV electrodes within the barrels....
unsigned int beginPhiIndex() const
A tile of the forward calorimeter readout geometry.
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
int hvLineNo(const EMECHVElectrode &electrode, const int &iGap) const
bool is_em(const Identifier id) const
test if the id belongs to LArEM
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
static unsigned int endSideIndex()
double current(const EMBPresamplerHVModule &module, const int &iGap) const
static unsigned int getNumHVLines()
double voltage(const EMBHVElectrode &electrode, const int &iGap) const
const HECHVSubgap & getSubgap(unsigned int iElectrode) const
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
int sampling(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
standard Athena-Algorithm method
double current(const EMECHVElectrode &electrode, const int &iGap) const
LAr FCAL Detector Element.
double voltage(const HECHVSubgap &subgap) const
static unsigned int endSamplingIndex()
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...
CaloPhiRange class declaration.
double current(const HECHVSubgap &subgap) const
unsigned int endEtaIndex() const
double current(const FCALHVLine &line) const
static double fix(double phi)
EMBPresamplerHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
id_iterator cell_begin(void) const
begin iterator over full set of Identifiers (LAr + Tiles)
static unsigned int getNumHVLines()
Get num hvlines.
static unsigned int getNumSubgaps()
unsigned int beginPhiIndex() const
unsigned int getNumElectrodes() const
double voltage(const EMBPresamplerHVModule &module, const int &iGap) const
virtual StatusCode execute() override
standard Athena-Algorithm method
int barrel_ec(const Identifier id) const
return barrel_ec according to :
StatusCode initialize(bool used=true)
This class provides direct access to information on the HV electrodes within the barrels....
static unsigned int endSideIndex()
int hvLineNo(const EMECPresamplerHVModule &module, const int &iGap) const
const EMECHVModule & getModule() const
EMBCellConstLink getEMBCell() const
EMB Cell description from LArReadoutGeometry.
int hvLineNo(const EMBPresamplerHVModule &module, const int &iGap) const
unsigned int beginEtaIndex() const
const FCALHVLine & getHVLine(unsigned int iLine) const
static unsigned int beginSideIndex()
static unsigned int endSamplingIndex()
This class provides direct access to information on the HV electrodes within the barrels....
static unsigned int beginSectorIndex(unsigned int iSampling)
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
This class provides access to the High Voltage throughout the LAr. High voltage conditions can also b...
This class provides the client interface for accessing the detector description information common to...
const LArOnlineID * m_onlId
static unsigned int endPhiIndex()
unsigned int beginPhiIndex() const
static unsigned int endSectorIndex(unsigned int iSampling)
Describes one HV Module within the EMEc Presampler.
virtual ~LArHV2Ntuple()
Default Destructor.
const EMBHVElectrode & getElectrode(unsigned int iElectrode) const
Describes one HV Module within the FCAL.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
unsigned int beginSectorIndex() const
static unsigned int beginSideIndex()
std::vector< int > GetHVLines(const EMBHVManager::EMBHVData &hvdata_EMB, const EMBPresamplerHVManager::EMBPresamplerHVData &hvdata_EMBPS, const EMECHVManager::EMECHVData &hvdata_EMEC_OUT, const EMECHVManager::EMECHVData &hvdata_EMEC_IN, const EMECPresamplerHVManager::EMECPresamplerHVData &hvdata_EMECPS, const HECHVManager::HECHVData &hvdata_HEC, const FCALHVManager::FCALHVData &hvdata_FCAL, const Identifier &id, const CaloDetDescrManager *calodetdescrmgr)
static unsigned int beginSamplingIndex()
EMBHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
static unsigned int endSectorIndex()
unsigned int endPhiIndex() const
HECCellConstLink getHECCell() const
HEC Cell description from LArReadoutGeometry.
This class provides direct access to information on the HV electrodes within the EMEC....
Describes one HV Module within the EMB.
static unsigned int endSideIndex()
const EMBPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi) const
setScale setgFexType iEta
This class provides direct access to information on the HV electrodes within the barrels....
std::map< int, std::vector< HWIdentifier > > m_hvonlId_map
const HECHVModule & getHVModule(unsigned int iSide, unsigned int iPhi, unsigned int iSampling) const
Describes one HV Module within the EMB Presampler.
static unsigned int beginSamplingIndex()
Calo Subsystem specific Detector Elements + Dummy element for testing.
static unsigned int endSideIndex()