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
21
22class HWIdentifier;
25class StoreGateSvc;
26class LArEM_Base_ID;
27class LArHEC_Base_ID;
28class LArFCAL_Base_ID;
29class MsgStream;
31
33
34 public:
35 LArCond2NtupleBase(const std::string & name, ISvcLocator * pSvcLocator);
37
38 //Standard algo methods
39 StatusCode initialize();
40 StatusCode execute() {return StatusCode::SUCCESS;}
41 //Finalize needs to be implemented by the deriving class
42
43
44 //StatusCode initializeBase(const std::string& path, const std::string& name);
45 bool fillFromIdentifier(const HWIdentifier& id); //returns true if connected
46
48
49 private:
51
52 protected:
53 Gaudi::Property< bool > m_addBC{this, "AddBadChannelInfo", true, "dump BadChan info ?"};
54 Gaudi::Property< bool > m_addFEBTemp{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};
55 Gaudi::Property< bool > m_isSC{this, "isSC", false, "are we working with SC?"};
56 Gaudi::Property< bool > m_isFlat{this, "isFlat", false, "are we working with Flat conditions ?"};
57 Gaudi::Property< bool > m_OffId{this, "OffId", false, "dump also offline ID ?"};
58 Gaudi::Property< bool > m_addHash{this, "AddHash", false, "add also ID hash info ?"};
59 Gaudi::Property< bool > m_addCalib{this, "AddCalib", false, "add also calib line info info ?"};
60 Gaudi::Property< bool > m_realgeom{this, "RealGeometry", false, "add real geometry values ?"};
61 Gaudi::Property< bool > m_expandId{this,"ExpandId", true ,"add online Id decoded fields ?"};
62
63 enum {NOT_VALID = -999};
64
65 std::string m_ntpath, m_ntTitle;
66
67 //Ntuple pointer
68 NTuple::Tuple* m_nt;
69
70 //Ntuple variables:
72 NTuple::Item<long> m_pos_neg, m_barrel_ec, m_FT, m_slot, m_channel;
73 NTuple::Item<long> m_calibLine,m_badChanWord;
74 NTuple::Item<long> m_isConnected;
75 NTuple::Item<long> m_chanHash, m_febHash, m_oflHash;
76
77 NTuple::Item<float> m_reta, m_rphi;
78 NTuple::Item<float> m_FEBTemp1, m_FEBTemp2;
79
80
87 ToolHandle<ILArFEBTempTool> m_FEBTempTool;
88
89 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
90 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingSCKey{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};
91
92 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
93 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};
94 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapSCKey{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};
95
96 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};
97 SG::ReadCondHandleKey<CaloSuperCellDetDescrManager> m_caloSuperCellMgrKey{this, "CaloSuperCellDetDescrManager", "CaloSuperCellDetDescrManager", "SG key of the resulting CaloSuperCellDetDescrManager" };
98
99};
100#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< 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.