|
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"
45 m_barrelec(0), m_posneg(0), m_FT(0),m_slot(0),m_channel(0),
46 m_caloId(nullptr), m_onlId(nullptr)
66 m_tree =
new TTree(
"mytree",
"Calo Noise ntuple");
89 return StatusCode::SUCCESS;
95 const EventContext& ctx = Gaudi::Hive::currentContext();
101 std::vector<const CondAttrListCollection*> attrLists;
105 attrLists.push_back (*attrList);
136 return StatusCode::FAILURE;
144 for(;cell_b!=cell_e; ++cell_b) {
147 std::vector<int> hvlines =
GetHVLines (hvdata_EMB,
156 for(
unsigned i=0;
i<hvlines.size(); ++
i ) {
158 std::vector<HWIdentifier>
vec;
159 vec.push_back(onlid);
174 for (
unsigned int ielec=0;ielec<32;ielec++) {
176 for (
unsigned int iGap=0;iGap<2;iGap++) {
177 float hv = hvdata_EMB.
voltage (electrode, iGap);
179 float phi = electrode.
getPhi();
213 for (
int iGap=0;iGap<2;iGap++) {
214 float hv = hvdata_EMBPS.
voltage (hvMod, iGap);
248 for (
int iGap=0;iGap<2;iGap++) {
249 float hv = hvdata_EMECPS.
voltage (hvMod, iGap);
289 for (
unsigned int iGap=0;iGap<2;iGap++) {
290 float hv = hvdata_EMEC_OUT.
voltage (electrode, iGap);
292 float phi = electrode.
getPhi();
330 for (
unsigned int iGap=0;iGap<2;iGap++) {
331 float hv = hvdata_EMEC_IN.
voltage (electrode, iGap);
333 float phi = electrode.
getPhi();
363 float etamax_layer[4]={3.3,3.1,3.1,3.3};
364 float etamin_layer[4]={1.5,1.5,1.6,1.7};
370 float eta_min,eta_max;
372 eta_min = etamin_layer[iSampling];
373 eta_max = etamax_layer[iSampling];
375 eta_min = -1.*etamax_layer[iSampling];
376 eta_max = -1.*etamin_layer[iSampling];
378 float eta = 0.5*(eta_min+eta_max);
384 float hv = hvdata_HEC.
voltage (subgap);
386 m_bec = 10+iSampling;
411 float eta_min=3.1,eta_max=4.9;
412 if (iSide==0) { eta_min=-4.9; eta_max=-3.1; }
414 float eta = 0.5*(eta_min+eta_max);
423 float phi_min = ((
float)(iSector))*dphi;
426 float phi = 0.5*(phi_min+phi_max);
432 m_bec = 14+iSampling;
456 return StatusCode::SUCCESS;
475 if (!embElement) std::abort();
477 unsigned int nelec =
cell->getNumElectrodes();
478 for (
unsigned int i=0;
i<nelec;
i++) {
480 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMB.
hvLineNo(electrode, igap));
484 if (!emecElement) std::abort();
486 unsigned int nelec =
cell->getNumElectrodes();
487 for (
unsigned int i=0;
i<nelec;
i++) {
494 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.
hvLineNo (electrode, igap));
499 if (!hecElement) std::abort();
501 unsigned int nsubgaps =
cell->getNumSubgaps();
502 for (
unsigned int igap=0;igap<nsubgaps;igap++) {
504 hv.insert(hvdata_HEC.
hvLineNo (subgap));
508 if (!fcalElement) std::abort();
511 for (
unsigned int i=0;
i<nlines;
i++) {
518 if (!embElement) std::abort();
521 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMBPS.
hvLineNo (hvmodule, igap));
524 if (!emecElement) std::abort();
527 for (
unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMECPS.
hvLineNo (hvmodule, igap));
531 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...
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()
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ServiceHandle< ITHistSvc > m_thistSvc
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()