ATLAS Offline Software
Loading...
Searching...
No Matches
LArHV2Ntuple Class Reference

#include <LArHV2Ntuple.h>

Inheritance diagram for LArHV2Ntuple:
Collaboration diagram for LArHV2Ntuple:

Public Member Functions

 LArHV2Ntuple (const std::string &name, ISvcLocator *pSvcLocator)
 Standard Athena-Algorithm Constructor.
virtual ~LArHV2Ntuple ()
 Default Destructor.
virtual StatusCode initialize () override
 standard Athena-Algorithm method
virtual StatusCode execute () override
 standard Athena-Algorithm method
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Public Attributes

 parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
 dest
 default
 help
 type
 None
 args = parser.parse_args()
 flags = initConfigFlags()
 RunNumbers
 AtlasVersion
 Files
 isMC
 doAlign
 Run
 DatabaseInstance
 GlobalTag
 cfg = MainServicesCfg(flags)
 rootfile = args.out

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

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)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"}
SG::ReadCondHandleKey< LArHVIdMappingm_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
SG::ReadCondHandleKeyArray< CondAttrListCollectionm_DCSFolderKeys { this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"}, "DCS folders with HV values"}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
ServiceHandle< ITHistSvc > m_thistSvc {this,"THistSvc","THistSvc"}
TTree * m_tree
bool m_addcells
int m_bec
int m_isPresampler
float m_eta
float m_phi
int m_electrode
int m_gap
int m_hvline
float m_hv
float m_current
int m_barrelec
int m_posneg
int m_FT
int m_slot
int m_channel
const CaloCell_IDm_caloId
const LArOnlineIDm_onlId
std::map< int, std::vector< HWIdentifier > > m_hvonlId_map
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 38 of file LArHV2Ntuple.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ LArHV2Ntuple()

LArHV2Ntuple::LArHV2Ntuple ( const std::string & name,
ISvcLocator * pSvcLocator )

Standard Athena-Algorithm Constructor.

Definition at line 32 of file LArHV2Ntuple.cxx.

32 :
33 AthAlgorithm(name,pSvcLocator),
34 m_tree(nullptr),
35 m_addcells(false),
36 m_bec(0),
37 m_isPresampler(0),
38 m_eta(0),
39 m_phi(0),
40 m_electrode(0),
41 m_gap(0),
42 m_hvline(0),
43 m_hv(0),
44 m_current(0),
45 m_barrelec(0), m_posneg(0), m_FT(0),m_slot(0),m_channel(0),
46 m_caloId(nullptr), m_onlId(nullptr)
47 {
48 declareProperty("AddCellID",m_addcells);
49 }
Base class from which all concrete Athena algorithm classes should be derived.

◆ ~LArHV2Ntuple()

LArHV2Ntuple::~LArHV2Ntuple ( )
virtual

Default Destructor.

Definition at line 53 of file LArHV2Ntuple.cxx.

54 {
55 ATH_MSG_DEBUG ( "LArHV2Ntuple destructor called" );
56 }
#define ATH_MSG_DEBUG(x)

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode LArHV2Ntuple::execute ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 93 of file LArHV2Ntuple.cxx.

94 {
95 const EventContext& ctx = Gaudi::Hive::currentContext();
96
97 //.............................................
98
99 // FIXME: Use LArHVData instead?
100 SG::ReadCondHandle<LArHVIdMapping> hvCabling (m_hvCablingKey, ctx);
101 std::vector<const CondAttrListCollection*> attrLists;
102 for (const SG::ReadCondHandleKey<CondAttrListCollection>& k : m_DCSFolderKeys)
103 {
105 attrLists.push_back (*attrList);
106 }
107 const LArHVManager *manager = nullptr;
108 ATH_CHECK( detStore()->retrieve(manager) );
109
110 const EMBHVManager& hvManager_EMB=manager->getEMBHVManager();
111 const EMBHVManager::EMBHVData hvdata_EMB = hvManager_EMB.getData (**hvCabling, attrLists);
112
113 const EMBPresamplerHVManager& hvManager_EMBPS=manager->getEMBPresamplerHVManager();
114 const EMBPresamplerHVManager::EMBPresamplerHVData hvdata_EMBPS = hvManager_EMBPS.getData (**hvCabling, attrLists);
115
116 const EMECPresamplerHVManager& hvManager_EMECPS=manager->getEMECPresamplerHVManager();
117 const EMECPresamplerHVManager::EMECPresamplerHVData hvdata_EMECPS = hvManager_EMECPS.getData (**hvCabling, attrLists);
118
119 const EMECHVManager& hvManager_EMEC_OUT=manager->getEMECHVManager(EMECHVModule::OUTER);
120 const EMECHVManager::EMECHVData hvdata_EMEC_OUT = hvManager_EMEC_OUT.getData (**hvCabling, attrLists);
121
122 const EMECHVManager& hvManager_EMEC_IN=manager->getEMECHVManager(EMECHVModule::INNER);
123 const EMECHVManager::EMECHVData hvdata_EMEC_IN = hvManager_EMEC_IN.getData (**hvCabling, attrLists);
124
125 const HECHVManager& hvManager_HEC=manager->getHECHVManager();
126 const HECHVManager::HECHVData hvdata_HEC = hvManager_HEC.getData (**hvCabling, attrLists);
127
128 const FCALHVManager& hvManager_FCAL=manager->getFCALHVManager();
129 const FCALHVManager::FCALHVData hvdata_FCAL = hvManager_FCAL.getData (**hvCabling, attrLists);
130
131 if(m_hvonlId_map.empty()) {
132 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl{m_cablingKey, ctx};
133 const LArOnOffIdMapping* cabling{*cablingHdl};
134 if(!cabling) {
135 ATH_MSG_ERROR("Do not have mapping object " << m_cablingKey.key());
136 return StatusCode::FAILURE;
137 }
138
139 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey, ctx};
140 ATH_CHECK(caloMgrHandle.isValid());
141 const CaloDetDescrManager* calodetdescrmgr=*caloMgrHandle;
142 std::vector<Identifier>::const_iterator cell_b=m_caloId->cell_begin();
143 std::vector<Identifier>::const_iterator cell_e=m_caloId->cell_end();
144 for(;cell_b!=cell_e; ++cell_b) {
145 if(m_caloId->is_tile(*cell_b)) continue;
146 HWIdentifier onlid = cabling->createSignalChannelID(*cell_b);
147 std::vector<int> hvlines = GetHVLines (hvdata_EMB,
148 hvdata_EMBPS,
149 hvdata_EMEC_OUT,
150 hvdata_EMEC_IN,
151 hvdata_EMECPS,
152 hvdata_HEC,
153 hvdata_FCAL,
154 *cell_b,
155 calodetdescrmgr);
156 for(unsigned i=0; i<hvlines.size(); ++i ) {
157 if(m_hvonlId_map.find(hvlines[i]) == m_hvonlId_map.end()) { // new key
158 std::vector<HWIdentifier> vec;
159 vec.push_back(onlid);
160 m_hvonlId_map[hvlines[i]] = vec;
161 } else { // existing key
162 m_hvonlId_map[hvlines[i]].push_back(onlid);
163 }
164 }
165 }// end map filling
166 }
167
168 for (unsigned int iSide=EMBHVManager::beginSideIndex();iSide<EMBHVManager::endSideIndex();iSide++) { // loop over HV modules
169 for (unsigned int iPhi=hvManager_EMB.beginPhiIndex();iPhi<hvManager_EMB.endPhiIndex();iPhi++) {
170 for (unsigned int iSector=EMBHVManager::beginSectorIndex();iSector<EMBHVManager::endSectorIndex();iSector++) {
171 for (unsigned int iEta=hvManager_EMB.beginEtaIndex();iEta<hvManager_EMB.endEtaIndex();iEta++) { //0 to 7
172 const EMBHVModule& hvMod = hvManager_EMB.getHVModule(iSide,iEta,iPhi,iSector);
173 float eta=0.5*(hvMod.getEtaMin()+hvMod.getEtaMax());
174 for (unsigned int ielec=0;ielec<32;ielec++) { //use hvMod->getNumElectrodes when bug is corrected
175 const EMBHVElectrode& electrode = hvMod.getElectrode(ielec);
176 for (unsigned int iGap=0;iGap<2;iGap++) { // EMB : 2, TRY TO FIND AUTOMATICALLY NB OF GAPS
177 float hv = hvdata_EMB.voltage (electrode, iGap);
178 float current = hvdata_EMB.current (electrode, iGap);
179 float phi = electrode.getPhi();
180
181 m_bec=0;
183 m_eta=eta;
184 m_phi=phi;
185 m_electrode = ielec;
186 m_gap = iGap;
187 m_hv = hv;
189 m_hvline = hvdata_EMB.hvLineNo (electrode, iGap);
190
191 if(m_addcells) {
192 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
193 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
194 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
195 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
196 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
197 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
198 m_tree->Fill();
199 }
200 } else m_tree->Fill();
201
202 } //end for iGap
203 }
204 }
205 }
206 }
207 } //EMBHVManager
208
209 for (unsigned int iSide=EMBPresamplerHVManager::beginSideIndex();iSide<EMBPresamplerHVManager::endSideIndex();iSide++) { // loop over HV modules
210 for (unsigned int iPhi=hvManager_EMBPS.beginPhiIndex();iPhi<hvManager_EMBPS.endPhiIndex();iPhi++) {
211 for (unsigned int iEta=hvManager_EMBPS.beginEtaIndex();iEta<hvManager_EMBPS.endEtaIndex();iEta++) { //0 to 7
212 const EMBPresamplerHVModule& hvMod = hvManager_EMBPS.getHVModule(iSide,iEta,iPhi);
213 for (int iGap=0;iGap<2;iGap++) {
214 float hv = hvdata_EMBPS.voltage (hvMod, iGap);
215 float current = hvdata_EMBPS.current (hvMod, iGap);
216 float eta = 0.5*(hvMod.getEtaMin()+hvMod.getEtaMax());
217 float phi= 0.5*(hvMod.getPhiMin()+hvMod.getPhiMax());
218
219 m_bec=0;
221 m_eta=eta;
222 m_phi=phi;
223 m_electrode = 0;
224 m_gap = iGap;
225 m_hv = hv;
227 m_hvline = hvdata_EMBPS.hvLineNo (hvMod, iGap);
228
229 if(m_addcells) {
230 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
231 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
232 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
233 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
234 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
235 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
236 m_tree->Fill();
237 }
238 } else m_tree->Fill();
239
240 } //end for iGap
241 }
242 }
243 } //EMBPresampler
244
245 for (unsigned int iSide=EMECPresamplerHVManager::beginSideIndex();iSide<EMECPresamplerHVManager::endSideIndex();iSide++) { // loop over HV modules
246 for (unsigned int iPhi=hvManager_EMECPS.beginPhiIndex();iPhi<hvManager_EMECPS.endPhiIndex();iPhi++) {
247 const EMECPresamplerHVModule& hvMod = hvManager_EMECPS.getHVModule(iSide,iPhi);
248 for (int iGap=0;iGap<2;iGap++) {
249 float hv = hvdata_EMECPS.voltage (hvMod, iGap);
250 float current = hvdata_EMECPS.current (hvMod, iGap);
251 float eta = 0.5*(hvMod.getEtaMin()+hvMod.getEtaMax());
252 float phi=0.5*(hvMod.getPhiMin()+hvMod.getPhiMax());
253
254 m_bec=1;
256 m_eta=eta;
257 m_phi=phi;
258 m_electrode = 0;
259 m_gap = iGap;
260 m_hv = hv;
262 m_hvline = hvdata_EMECPS.hvLineNo (hvMod, iGap);
263
264 if(m_addcells) {
265 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
266 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
267 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
268 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
269 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
270 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
271 m_tree->Fill();
272 }
273 } else m_tree->Fill();
274
275 } //end for iGap
276 }
277 }//EMECPresampler
278
279
280
281 for (unsigned int iSide=EMECHVManager::beginSideIndex();iSide<EMECHVManager::endSideIndex();iSide++) { // loop over HV modules
282 for (unsigned int iPhi=hvManager_EMEC_OUT.beginPhiIndex();iPhi<hvManager_EMEC_OUT.endPhiIndex();iPhi++) {
283 for (unsigned int iSector=hvManager_EMEC_OUT.beginSectorIndex();iSector<hvManager_EMEC_OUT.endSectorIndex();iSector++) {
284 for (unsigned int iEta=hvManager_EMEC_OUT.beginEtaIndex();iEta<hvManager_EMEC_OUT.endEtaIndex();iEta++) {
285 const EMECHVModule& hvMod=hvManager_EMEC_OUT.getHVModule(iSide,iEta,iPhi,iSector);
286 float eta=0.5*(hvMod.getEtaMin()+hvMod.getEtaMax());
287 for (unsigned int ielec=0;ielec<hvMod.getNumElectrodes();ielec++) { //use hvMod.getNumElectrodes when bug is corrected
288 const EMECHVElectrode& electrode = hvMod.getElectrode(ielec);
289 for (unsigned int iGap=0;iGap<2;iGap++) { //EMEC : 2 gaps, TRY TO FIND AUTOMATICALLY NB OF GAPS
290 float hv = hvdata_EMEC_OUT.voltage (electrode, iGap);
291 float current = hvdata_EMEC_OUT.current (electrode, iGap);
292 float phi = electrode.getPhi();
293
294 m_bec=1;
296 m_eta=eta;
297 m_phi=phi;
298 m_electrode = ielec;
299 m_gap = iGap;
300 m_hv = hv;
302 m_hvline = hvdata_EMEC_OUT.hvLineNo (electrode, iGap);
303
304 if(m_addcells) {
305 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
306 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
307 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
308 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
309 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
310 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
311 m_tree->Fill();
312 }
313 } else m_tree->Fill();
314
315 } //end for iGap
316 }
317 }
318 }
319 }
320 }//EMEC Outer
321
322 for (unsigned int iSide=EMECHVManager::beginSideIndex();iSide<EMECHVManager::endSideIndex();iSide++) { // loop over HV modules
323 for (unsigned int iPhi=hvManager_EMEC_IN.beginPhiIndex();iPhi<hvManager_EMEC_IN.endPhiIndex();iPhi++) {
324 for (unsigned int iSector=hvManager_EMEC_IN.beginSectorIndex();iSector<hvManager_EMEC_IN.endSectorIndex();iSector++) {
325 for (unsigned int iEta=hvManager_EMEC_IN.beginEtaIndex();iEta<hvManager_EMEC_IN.endEtaIndex();iEta++) {
326 const EMECHVModule& hvMod=hvManager_EMEC_IN.getHVModule(iSide,iEta,iPhi,iSector);
327 float eta=0.5*(hvMod.getEtaMin()+hvMod.getEtaMax());
328 for (unsigned int ielec=0;ielec<hvMod.getNumElectrodes();ielec++) { //use hvMod.getNumElectrodes when bug is corrected
329 const EMECHVElectrode& electrode = hvMod.getElectrode(ielec);
330 for (unsigned int iGap=0;iGap<2;iGap++) { //EMEC : 2 gaps, TRY TO FIND AUTOMATICALLY NB OF GAPS
331 float hv = hvdata_EMEC_IN.voltage (electrode, iGap);
332 float current = hvdata_EMEC_IN.current (electrode, iGap);
333 float phi = electrode.getPhi();
334
335 m_bec=2;
337 m_eta=eta;
338 m_phi=phi;
339 m_electrode = ielec;
340 m_gap = iGap;
341 m_hv = hv;
343 m_hvline = hvdata_EMEC_IN.hvLineNo (electrode, iGap);
344
345 if(m_addcells) {
346 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
347 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
348 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
349 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
350 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
351 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
352 m_tree->Fill();
353 }
354 } else m_tree->Fill();
355
356 } //end for iGap
357 }
358 }
359 }
360 }
361 }// EMEC Inner
362
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};
365
366
367 for (unsigned int iSide=HECHVManager::beginSideIndex();iSide<HECHVManager::endSideIndex();iSide++) { // loop over HV modules
368 for (unsigned int iPhi=HECHVManager::beginPhiIndex();iPhi<HECHVManager::endPhiIndex();iPhi++) {
369 for (unsigned int iSampling=HECHVManager::beginSamplingIndex();iSampling<HECHVManager::endSamplingIndex();iSampling++) {
370 float eta_min,eta_max;
371 if (iSide==1) {
372 eta_min = etamin_layer[iSampling];
373 eta_max = etamax_layer[iSampling];
374 } else {
375 eta_min = -1.*etamax_layer[iSampling];
376 eta_max = -1.*etamin_layer[iSampling];
377 }
378 float eta = 0.5*(eta_min+eta_max);
379 const HECHVModule& hvMod = hvManager_HEC.getHVModule(iSide,iPhi,iSampling);
380 float phi = 0.5*(hvMod.getPhiMin()+hvMod.getPhiMax());
381
382 for (unsigned int iGap=0;iGap<HECHVModule::getNumSubgaps();iGap++) {//HEC : 4 gaps, TRY TO FIND AUTOMATICALLY NB OF GAPS
383 const HECHVSubgap& subgap=hvMod.getSubgap(iGap);
384 float hv = hvdata_HEC.voltage (subgap);
385 float current = hvdata_HEC.current (subgap);
386 m_bec = 10+iSampling;
388 m_eta=eta;
389 m_phi=phi;
390 m_electrode = 0;
391 m_gap = iGap;
392 m_hv=hv;
394 m_hvline = hvdata_HEC.hvLineNo (subgap);
395 if(m_addcells) {
396 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
397 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
398 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
399 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
400 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
401 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
402 m_tree->Fill();
403 }
404 } else m_tree->Fill();
405 }// end for iGap
406 }
407 }
408 }//HECHVManager
409
410 for (unsigned int iSide=FCALHVManager::beginSideIndex();iSide<FCALHVManager::endSideIndex();iSide++) { // loop over HV modules
411 float eta_min=3.1,eta_max=4.9;
412 if (iSide==0) { eta_min=-4.9; eta_max=-3.1; }
413
414 float eta = 0.5*(eta_min+eta_max);
415 for (unsigned int iSampling=FCALHVManager::beginSamplingIndex();iSampling<FCALHVManager::endSamplingIndex();iSampling++) {
416 for (unsigned int iSector=FCALHVManager::beginSectorIndex(iSampling);iSector<FCALHVManager::endSectorIndex(iSampling);iSector++) {
417
418 const FCALHVModule& hvMod = hvManager_FCAL.getHVModule(iSide,iSector,iSampling);
419
420 float dphi=CaloPhiRange::twopi()/16;
421 if (iSampling==1) dphi=CaloPhiRange::twopi()/8.;
422 if (iSampling==2) dphi=CaloPhiRange::twopi()/4.;
423 float phi_min = ((float)(iSector))*dphi;
424 phi_min = CaloPhiRange::fix(phi_min);
425 float phi_max = CaloPhiRange::fix(dphi+phi_min);
426 float phi = 0.5*(phi_min+phi_max);
427
428 for (unsigned int iLine=0;iLine<FCALHVModule::getNumHVLines();iLine++) {
429 const FCALHVLine& hvline = hvMod.getHVLine(iLine);
430 float hv = hvdata_FCAL.voltage (hvline);
431 float current = hvdata_FCAL.current (hvline);
432 m_bec = 14+iSampling;
434 m_eta=eta;
435 m_phi=phi;
436 m_electrode = iSector;
437 m_gap = iLine;
438 m_hv=hv;
440 m_hvline = hvdata_FCAL.hvLineNo (hvline);
441 if(m_addcells) {
442 for(unsigned i=0; i<m_hvonlId_map[m_hvline].size(); ++i) {
443 m_barrelec=m_onlId->barrel_ec(m_hvonlId_map[m_hvline][i]);
444 m_posneg=m_onlId->pos_neg(m_hvonlId_map[m_hvline][i]);
445 m_FT=m_onlId->feedthrough(m_hvonlId_map[m_hvline][i]);
446 m_slot=m_onlId->slot(m_hvonlId_map[m_hvline][i]);
447 m_channel=m_onlId->channel(m_hvonlId_map[m_hvline][i]);
448 m_tree->Fill();
449 }
450 } else m_tree->Fill();
451 }
452 } //iSector
453 }//iSampling
454 }//iSide
455
456 return StatusCode::SUCCESS;
457 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
std::vector< size_t > vec
id_iterator cell_begin() const
begin iterator over full set of Identifiers (LAr + Tiles)
id_iterator cell_end() const
end iterator over full set of Identifiers (LAr + Tiles)
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
static double twopi()
static double fix(double phi)
double getPhi() const
int hvLineNo(const EMBHVElectrode &electrode, const int &iGap) const
double voltage(const EMBHVElectrode &electrode, const int &iGap) const
double current(const EMBHVElectrode &electrode, const int &iGap) const
This class provides direct access to information on the HV electrodes within the barrels.
unsigned int beginPhiIndex() const
unsigned int endEtaIndex() const
static unsigned int endSectorIndex()
unsigned int beginEtaIndex() const
static unsigned int beginSectorIndex()
const EMBHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
EMBHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
unsigned int endPhiIndex() const
static unsigned int beginSideIndex()
static unsigned int endSideIndex()
const EMBHVElectrode & getElectrode(unsigned int iElectrode) const
double getEtaMin() const
double getEtaMax() const
double voltage(const EMBPresamplerHVModule &module, const int &iGap) const
double current(const EMBPresamplerHVModule &module, const int &iGap) const
int hvLineNo(const EMBPresamplerHVModule &module, const int &iGap) const
This class provides direct access to information on the HV electrodes within the barrels.
const EMBPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi) const
EMBPresamplerHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
static unsigned int beginSideIndex()
unsigned int beginPhiIndex() const
static unsigned int endSideIndex()
unsigned int beginEtaIndex() const
double getPhi() const
double current(const EMECHVElectrode &electrode, const int &iGap) const
double voltage(const EMECHVElectrode &electrode, const int &iGap) const
int hvLineNo(const EMECHVElectrode &electrode, const int &iGap) const
This class provides direct access to information on the HV electrodes within the EMEC.
unsigned int beginEtaIndex() const
const EMECHVModule & getHVModule(unsigned int iSide, unsigned int iEta, unsigned int iPhi, unsigned int iSector) const
unsigned int beginSectorIndex() const
unsigned int endPhiIndex() const
static unsigned int beginSideIndex()
static unsigned int endSideIndex()
unsigned int endEtaIndex() const
unsigned int endSectorIndex() const
unsigned int beginPhiIndex() const
EMECHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
double getEtaMax() const
const EMECHVElectrode & getElectrode(unsigned int iElectrode) const
unsigned int getNumElectrodes() const
double getEtaMin() const
double voltage(const EMECPresamplerHVModule &module, const int &iGap) const
double current(const EMECPresamplerHVModule &module, const int &iGap) const
int hvLineNo(const EMECPresamplerHVModule &module, const int &iGap) const
This class provides direct access to information on the HV electrodes within the EMEC.
EMECPresamplerHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
const EMECPresamplerHVModule & getHVModule(unsigned int iSide, unsigned int iPhi) const
static unsigned int beginSideIndex()
double current(const FCALHVLine &line) const
double voltage(const FCALHVLine &line) const
int hvLineNo(const FCALHVLine &line) const
This class provides direct access to information on the HV electrodes within the barrels.
static unsigned int beginSideIndex()
static unsigned int endSamplingIndex()
static unsigned int endSideIndex()
static unsigned int beginSectorIndex(unsigned int iSampling)
static unsigned int beginSamplingIndex()
const FCALHVModule & getHVModule(unsigned int iSide, unsigned int iSector, unsigned int iSampling) const
static unsigned int endSectorIndex(unsigned int iSampling)
FCALHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
const FCALHVLine & getHVLine(unsigned int iLine) const
static unsigned int getNumHVLines()
double current(const HECHVSubgap &subgap) const
int hvLineNo(const HECHVSubgap &subgap) const
double voltage(const HECHVSubgap &subgap) const
This class provides direct access to information on the HV electrodes within the barrels.
static unsigned int beginPhiIndex()
static unsigned int endSamplingIndex()
const HECHVModule & getHVModule(unsigned int iSide, unsigned int iPhi, unsigned int iSampling) const
static unsigned int endSideIndex()
HECHVData getData(const LArHVIdMapping &hvIdMapping, const std::vector< const CondAttrListCollection * > &attrLists) const
static unsigned int beginSideIndex()
static unsigned int beginSamplingIndex()
static unsigned int endPhiIndex()
const HECHVSubgap & getSubgap(unsigned int iElectrode) const
double getPhiMin() const
static unsigned int getNumSubgaps()
double getPhiMax() const
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)
TTree * m_tree
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::map< int, std::vector< HWIdentifier > > m_hvonlId_map
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
const CaloCell_ID * m_caloId
const LArOnlineID * m_onlId
This class provides access to the High Voltage throughout the LAr.
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
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...
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
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...
const std::string & key() const
Return the StoreGate ID for the referenced object.
@ iPhi
Definition ParamDefs.h:47

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ GetHVLines()

std::vector< int > LArHV2Ntuple::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 )
private

Definition at line 459 of file LArHV2Ntuple.cxx.

467 {
468
469 std::set<int> hv;
470
471 // LAr EMB
472 if (m_caloId->is_em(id) && m_caloId->sampling(id)>0) {
473 if (abs(m_caloId->em_idHelper()->barrel_ec(id))==1) {
474 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id));
475 if (!embElement) std::abort();
476 const EMBCellConstLink cell = embElement->getEMBCell();
477 unsigned int nelec = cell->getNumElectrodes();
478 for (unsigned int i=0;i<nelec;i++) {
479 const EMBHVElectrode& electrode = cell->getElectrode(i);
480 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMB.hvLineNo(electrode, igap));
481 }
482 } else { // LAr EMEC
483 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id));
484 if (!emecElement) std::abort();
485 const EMECCellConstLink cell = emecElement->getEMECCell();
486 unsigned int nelec = cell->getNumElectrodes();
487 for (unsigned int i=0;i<nelec;i++) {
488 const EMECHVElectrode& electrode = cell->getElectrode(i);
489 const EMECHVModule& module = electrode.getModule();
490 const EMECHVManager::EMECHVData& hvdata =
491 module.getWheelIndex() == EMECHVModule::INNER ?
492 hvdata_EMEC_IN :
493 hvdata_EMEC_OUT;
494 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.hvLineNo (electrode, igap));
495 }
496 }
497 } else if (m_caloId->is_hec(id)) { // LAr HEC
498 const HECDetectorElement* hecElement = dynamic_cast<const HECDetectorElement*>(calodetdescrmgr->get_element(id));
499 if (!hecElement) std::abort();
500 const HECCellConstLink cell = hecElement->getHECCell();
501 unsigned int nsubgaps = cell->getNumSubgaps();
502 for (unsigned int igap=0;igap<nsubgaps;igap++) {
503 const HECHVSubgap& subgap = cell->getSubgap(igap);
504 hv.insert(hvdata_HEC.hvLineNo (subgap));
505 }
506 } else if (m_caloId->is_fcal(id)) { // LAr FCAL
507 const FCALDetectorElement* fcalElement = dynamic_cast<const FCALDetectorElement*>(calodetdescrmgr->get_element(id));
508 if (!fcalElement) std::abort();
509 const FCALTile* tile = fcalElement->getFCALTile();
510 unsigned int nlines = FCALTile::getNumHVLines();
511 for (unsigned int i=0;i<nlines;i++) {
512 const FCALHVLine* line = tile->getHVLine(i);
513 if (line) hv.insert(hvdata_FCAL.hvLineNo (*line));
514 }
515 } else if (m_caloId->is_em(id) && m_caloId->sampling(id)==0) { // Presamplers
516 if (abs(m_caloId->em_idHelper()->barrel_ec(id))==1) {
517 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(calodetdescrmgr->get_element(id));
518 if (!embElement) std::abort();
519 const EMBCellConstLink cell = embElement->getEMBCell();
520 const EMBPresamplerHVModule& hvmodule = cell->getPresamplerHVModule();
521 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMBPS.hvLineNo (hvmodule, igap));
522 } else {
523 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(calodetdescrmgr->get_element(id));
524 if (!emecElement) std::abort();
525 const EMECCellConstLink cell = emecElement->getEMECCell();
526 const EMECPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
527 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata_EMECPS.hvLineNo (hvmodule, igap));
528 }
529 }
530
531 std::vector<int> hvlines;
532 for (std::set<int>::iterator i=hv.begin();i!=hv.end();++i) hvlines.push_back(*i);
533 return hvlines;
534 }
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)
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
bool is_em(const Identifier id) const
test if the id belongs to LArEM
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition CaloCell_ID.h:63
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
LAr EMB Detector Element.
EMBCellConstLink getEMBCell() const
EMB Cell description from LArReadoutGeometry.
EMECCellConstLink getEMECCell() const
EMEC Cell description from LArReadoutGeometry.
const EMECHVModule & getModule() const
const FCALTile * getFCALTile() const
FCAL Tile description from LArReadoutGeometry.
static unsigned int getNumHVLines()
Get num hvlines.
Definition FCALTile.cxx:81
HECCellConstLink getHECCell() const
HEC Cell description from LArReadoutGeometry.
int barrel_ec(const Identifier id) const
return barrel_ec according to :

◆ initialize()

StatusCode LArHV2Ntuple::initialize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 58 of file LArHV2Ntuple.cxx.

59 {
60 ATH_CHECK( m_thistSvc.retrieve() );
61
62 ATH_CHECK( m_cablingKey.initialize() );
63 ATH_CHECK( m_caloMgrKey.initialize() );
64 ATH_CHECK( detStore()->retrieve(m_caloId, "CaloCell_ID") );
65
66 m_tree = new TTree("mytree","Calo Noise ntuple");
67 m_tree->Branch("bec",&m_bec,"bec/I");
68 m_tree->Branch("isPresampler",&m_isPresampler,"isPresampler/I");
69 m_tree->Branch("eta",&m_eta,"eta/F");
70 m_tree->Branch("phi",&m_phi,"phi/F");
71 m_tree->Branch("HVline",&m_hvline,"HVline/I");
72 m_tree->Branch("electrode",&m_electrode,"electrode/I");
73 m_tree->Branch("gap",&m_gap,"gap/I");
74 m_tree->Branch("hv",&m_hv,"hv/F");
75 m_tree->Branch("current",&m_current,"current/F");
76 if(m_addcells) {
77 m_tree->Branch("barrel_ec",&m_barrelec,"barrel_ec/I");
78 m_tree->Branch("side",&m_posneg,"side/I");
79 m_tree->Branch("FT",&m_FT,"FT/I");
80 m_tree->Branch("slot",&m_slot,"slot/I");
81 m_tree->Branch("channel",&m_channel,"channel/I");
82 ATH_CHECK( detStore()->retrieve(m_onlId, "LArOnlineID") );
83 }
84
85 ATH_CHECK( m_hvCablingKey.initialize() );
86 ATH_CHECK( m_DCSFolderKeys.initialize() );
87
88 ATH_CHECK( m_thistSvc->regTree("/file1/hv/mytree",m_tree) );
89 return StatusCode::SUCCESS;
90
91 }
StatusCode initialize(bool used=true)

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_WARNING(x)
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ args

LArHV2Ntuple.args = parser.parse_args()

Definition at line 19 of file LArHV2Ntuple.py.

◆ AtlasVersion

LArHV2Ntuple.AtlasVersion

Definition at line 30 of file LArHV2Ntuple.py.

◆ cfg

LArHV2Ntuple.cfg = MainServicesCfg(flags)

Definition at line 58 of file LArHV2Ntuple.py.

◆ DatabaseInstance

LArHV2Ntuple.DatabaseInstance

Definition at line 42 of file LArHV2Ntuple.py.

◆ default

LArHV2Ntuple.default

Definition at line 14 of file LArHV2Ntuple.py.

◆ dest

LArHV2Ntuple.dest

Definition at line 14 of file LArHV2Ntuple.py.

◆ doAlign

LArHV2Ntuple.doAlign

Definition at line 36 of file LArHV2Ntuple.py.

◆ Files

LArHV2Ntuple.Files

Definition at line 32 of file LArHV2Ntuple.py.

◆ flags

LArHV2Ntuple.flags = initConfigFlags()

Definition at line 26 of file LArHV2Ntuple.py.

◆ GlobalTag

LArHV2Ntuple.GlobalTag

Definition at line 48 of file LArHV2Ntuple.py.

◆ help

LArHV2Ntuple.help

Definition at line 14 of file LArHV2Ntuple.py.

◆ isMC

LArHV2Ntuple.isMC

Definition at line 34 of file LArHV2Ntuple.py.

◆ m_addcells

bool LArHV2Ntuple::m_addcells
private

Definition at line 70 of file LArHV2Ntuple.h.

◆ m_barrelec

int LArHV2Ntuple::m_barrelec
private

Definition at line 83 of file LArHV2Ntuple.h.

◆ m_bec

int LArHV2Ntuple::m_bec
private

Definition at line 73 of file LArHV2Ntuple.h.

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArHV2Ntuple::m_cablingKey {this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"}
private

Definition at line 53 of file LArHV2Ntuple.h.

53{this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"};

◆ m_caloId

const CaloCell_ID* LArHV2Ntuple::m_caloId
private

Definition at line 90 of file LArHV2Ntuple.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArHV2Ntuple::m_caloMgrKey
private
Initial value:
{ this
, "CaloDetDescrManager"
, "CaloDetDescrManager"
, "SG Key for CaloDetDescrManager in the Condition Store" }

Definition at line 58 of file LArHV2Ntuple.h.

58 { this
59 , "CaloDetDescrManager"
60 , "CaloDetDescrManager"
61 , "SG Key for CaloDetDescrManager in the Condition Store" };

◆ m_channel

int LArHV2Ntuple::m_channel
private

Definition at line 87 of file LArHV2Ntuple.h.

◆ m_current

float LArHV2Ntuple::m_current
private

Definition at line 81 of file LArHV2Ntuple.h.

◆ m_DCSFolderKeys

SG::ReadCondHandleKeyArray<CondAttrListCollection> LArHV2Ntuple::m_DCSFolderKeys { this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"}, "DCS folders with HV values"}
private

Definition at line 56 of file LArHV2Ntuple.h.

57{ this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"}, "DCS folders with HV values"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_electrode

int LArHV2Ntuple::m_electrode
private

Definition at line 77 of file LArHV2Ntuple.h.

◆ m_eta

float LArHV2Ntuple::m_eta
private

Definition at line 75 of file LArHV2Ntuple.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_FT

int LArHV2Ntuple::m_FT
private

Definition at line 85 of file LArHV2Ntuple.h.

◆ m_gap

int LArHV2Ntuple::m_gap
private

Definition at line 78 of file LArHV2Ntuple.h.

◆ m_hv

float LArHV2Ntuple::m_hv
private

Definition at line 80 of file LArHV2Ntuple.h.

◆ m_hvCablingKey

SG::ReadCondHandleKey<LArHVIdMapping> LArHV2Ntuple::m_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
private

Definition at line 54 of file LArHV2Ntuple.h.

55{this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"};

◆ m_hvline

int LArHV2Ntuple::m_hvline
private

Definition at line 79 of file LArHV2Ntuple.h.

◆ m_hvonlId_map

std::map<int, std::vector<HWIdentifier> > LArHV2Ntuple::m_hvonlId_map
private

Definition at line 92 of file LArHV2Ntuple.h.

◆ m_isPresampler

int LArHV2Ntuple::m_isPresampler
private

Definition at line 74 of file LArHV2Ntuple.h.

◆ m_onlId

const LArOnlineID* LArHV2Ntuple::m_onlId
private

Definition at line 91 of file LArHV2Ntuple.h.

◆ m_phi

float LArHV2Ntuple::m_phi
private

Definition at line 76 of file LArHV2Ntuple.h.

◆ m_posneg

int LArHV2Ntuple::m_posneg
private

Definition at line 84 of file LArHV2Ntuple.h.

◆ m_slot

int LArHV2Ntuple::m_slot
private

Definition at line 86 of file LArHV2Ntuple.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> LArHV2Ntuple::m_thistSvc {this,"THistSvc","THistSvc"}
private

Definition at line 67 of file LArHV2Ntuple.h.

67{this,"THistSvc","THistSvc"};

◆ m_tree

TTree* LArHV2Ntuple::m_tree
private

Definition at line 68 of file LArHV2Ntuple.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ None

LArHV2Ntuple.None

Definition at line 16 of file LArHV2Ntuple.py.

◆ parser

LArHV2Ntuple.parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)

Definition at line 13 of file LArHV2Ntuple.py.

◆ rootfile

LArHV2Ntuple.rootfile = args.out

Definition at line 77 of file LArHV2Ntuple.py.

◆ Run

LArHV2Ntuple.Run

Definition at line 41 of file LArHV2Ntuple.py.

◆ RunNumbers

LArHV2Ntuple.RunNumbers

Definition at line 28 of file LArHV2Ntuple.py.

◆ type

LArHV2Ntuple.type

Definition at line 14 of file LArHV2Ntuple.py.


The documentation for this class was generated from the following files: