ATLAS Offline Software
Loading...
Searching...
No Matches
LArCond2NtupleBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs, this is -*-c++-*-
6#ifndef LARCALIBTOOLS_LARCOND2NTUPLEBASE_H
7#define LARCALIBTOOLS_LARCOND2NTUPLEBASE_H
8
9//#include "GaudiKernel/Algorithm.h"
11#include "GaudiKernel/NTuple.h"
12#include "GaudiKernel/ToolHandle.h"
13
15
22
23class HWIdentifier;
26class StoreGateSvc;
27class LArEM_Base_ID;
28class LArHEC_Base_ID;
29class LArFCAL_Base_ID;
30class MsgStream;
32
33// Not reentrant --- derived classes fill tuples in execute().
35
36 public:
37 LArCond2NtupleBase(const std::string & name, ISvcLocator * pSvcLocator);
39
40 //Standard algo methods
41 StatusCode initialize();
42 StatusCode execute(const EventContext&) {return StatusCode::SUCCESS;}
43 //Finalize needs to be implemented by the deriving class
44
45
46 //StatusCode initializeBase(const std::string& path, const std::string& name);
47 bool fillFromIdentifier(const HWIdentifier& id); //returns true if connected
48
50
51 private:
53
54 protected:
55 Gaudi::Property< bool > m_addBC{this, "AddBadChannelInfo", true, "dump BadChan info ?"};
56 Gaudi::Property< bool > m_addFEBTemp{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};
57 Gaudi::Property< bool > m_isSC{this, "isSC", false, "are we working with SC?"};
58 Gaudi::Property< bool > m_isFlat{this, "isFlat", false, "are we working with Flat conditions ?"};
59 Gaudi::Property< bool > m_OffId{this, "OffId", false, "dump also offline ID ?"};
60 Gaudi::Property< bool > m_addHash{this, "AddHash", false, "add also ID hash info ?"};
61 Gaudi::Property< bool > m_addCalib{this, "AddCalib", false, "add also calib line info info ?"};
62 Gaudi::Property< bool > m_realgeom{this, "RealGeometry", false, "add real geometry values ?"};
63 Gaudi::Property< bool > m_expandId{this,"ExpandId", true ,"add online Id decoded fields ?"};
64 Gaudi::Property< int > m_NGains{this,"nGains", CaloGain::LARNGAIN,"Number of gains"};
65
66 enum {NOT_VALID = -999};
67
68 std::string m_ntpath, m_ntTitle;
69
70 //Ntuple pointer
71 NTuple::Tuple* m_nt;
72
73 //Ntuple variables:
75 NTuple::Item<long> m_pos_neg, m_barrel_ec, m_FT, m_slot, m_channel;
76 NTuple::Item<long> m_calibLine,m_badChanWord;
77 NTuple::Item<long> m_isConnected;
78 NTuple::Item<long> m_chanHash, m_febHash, m_oflHash;
79
80 NTuple::Item<float> m_reta, m_rphi;
81 NTuple::Item<float> m_FEBTemp1, m_FEBTemp2;
82
83
90 ToolHandle<ILArFEBTempTool> m_FEBTempTool;
91
92 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
93 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingSCKey{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};
94
95 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
96 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};
97 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapSCKey{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};
98
99 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};
100 SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> m_caloSuperCellMgrKey{this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" };
101
102};
103#endif
Definition of CaloDetDescrManager.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Helper base class for offline cell identifiers.
NTuple::Item< long > m_isConnected
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
Gaudi::Property< bool > m_isFlat
Gaudi::Property< bool > m_isSC
StoreGateSvc * m_detStore
const CaloCell_Base_ID * m_caloId
NTuple::Item< long > m_calibLine
NTuple::Item< long > m_region
NTuple::Item< long > m_layer
NTuple::Item< long > m_chanHash
Gaudi::Property< bool > m_addCalib
NTuple::Item< float > m_reta
const LArEM_Base_ID * m_emId
NTuple::Item< long > m_onlChanId
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
Gaudi::Property< bool > m_addHash
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey() const
NTuple::Item< long > m_eta
ToolHandle< ILArFEBTempTool > m_FEBTempTool
NTuple::Item< long > m_barrel_ec
NTuple::Item< long > m_FT
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const LArHEC_Base_ID * m_hecId
NTuple::Item< long > m_oflHash
NTuple::Item< float > m_rphi
Gaudi::Property< int > m_NGains
Gaudi::Property< bool > m_realgeom
NTuple::Item< long > m_slot
NTuple::Item< long > m_febHash
NTuple::Item< long > m_detector
NTuple::Item< float > m_FEBTemp1
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
NTuple::Item< long > m_oflChanId
NTuple::Item< float > m_FEBTemp2
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
NTuple::Item< long > m_phi
NTuple::Item< long > m_badChanWord
const LArOnlineID_Base * m_onlineId
Gaudi::Property< bool > m_addBC
StatusCode execute(const EventContext &)
Execute method.
NTuple::Item< long > m_channel
const LArFCAL_Base_ID * m_fcalId
NTuple::Item< long > m_pos_neg
bool fillFromIdentifier(const HWIdentifier &id)
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Gaudi::Property< bool > m_expandId
Gaudi::Property< bool > m_addFEBTemp
Gaudi::Property< bool > m_OffId
LArCond2NtupleBase(const std::string &name, ISvcLocator *pSvcLocator)
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
Helper for the Liquid Argon Calorimeter cell identifiers.
The Athena Transient Store API.
@ LARNGAIN
Definition CaloGain.h:19