ATLAS Offline Software
Loading...
Searching...
No Matches
LArCond2NtupleBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 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
34
35 public:
36 LArCond2NtupleBase(const std::string & name, ISvcLocator * pSvcLocator);
38
39 //Standard algo methods
40 StatusCode initialize();
41 StatusCode execute() {return StatusCode::SUCCESS;}
42 //Finalize needs to be implemented by the deriving class
43
44
45 //StatusCode initializeBase(const std::string& path, const std::string& name);
46 bool fillFromIdentifier(const HWIdentifier& id); //returns true if connected
47
49
50 private:
52
53 protected:
54 Gaudi::Property< bool > m_addBC{this, "AddBadChannelInfo", true, "dump BadChan info ?"};
55 Gaudi::Property< bool > m_addFEBTemp{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};
56 Gaudi::Property< bool > m_isSC{this, "isSC", false, "are we working with SC?"};
57 Gaudi::Property< bool > m_isFlat{this, "isFlat", false, "are we working with Flat conditions ?"};
58 Gaudi::Property< bool > m_OffId{this, "OffId", false, "dump also offline ID ?"};
59 Gaudi::Property< bool > m_addHash{this, "AddHash", false, "add also ID hash info ?"};
60 Gaudi::Property< bool > m_addCalib{this, "AddCalib", false, "add also calib line info info ?"};
61 Gaudi::Property< bool > m_realgeom{this, "RealGeometry", false, "add real geometry values ?"};
62 Gaudi::Property< bool > m_expandId{this,"ExpandId", true ,"add online Id decoded fields ?"};
63 Gaudi::Property< int > m_NGains{this,"nGains", CaloGain::LARNGAIN,"Number of gains"};
64
65 enum {NOT_VALID = -999};
66
67 std::string m_ntpath, m_ntTitle;
68
69 //Ntuple pointer
70 NTuple::Tuple* m_nt;
71
72 //Ntuple variables:
74 NTuple::Item<long> m_pos_neg, m_barrel_ec, m_FT, m_slot, m_channel;
75 NTuple::Item<long> m_calibLine,m_badChanWord;
76 NTuple::Item<long> m_isConnected;
77 NTuple::Item<long> m_chanHash, m_febHash, m_oflHash;
78
79 NTuple::Item<float> m_reta, m_rphi;
80 NTuple::Item<float> m_FEBTemp1, m_FEBTemp2;
81
82
89 ToolHandle<ILArFEBTempTool> m_FEBTempTool;
90
91 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
92 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingSCKey{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};
93
94 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
95 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};
96 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapSCKey{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};
97
98 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};
99 SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> m_caloSuperCellMgrKey{this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" };
100
101};
102#endif
Definition of CaloDetDescrManager.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
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
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