ATLAS Offline Software
Loading...
Searching...
No Matches
LArCond2NtupleBaseEB.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs, this is -*-c++-*-
6#ifndef LARCALIBTOOLS_LARCOND2NTUPLEBASEEB_H
7#define LARCALIBTOOLS_LARCOND2NTUPLEBASEEB_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 LArCond2NtupleBaseEB(const std::string & name, ISvcLocator * pSvcLocator);
37
38 //Standard algo methods
39 StatusCode initialize();
40 StatusCode execute() {return StatusCode::SUCCESS;}
41
42 bool fillFromIdentifier(const HWIdentifier& id, int C); //returns true if connected
43
45
46 private:
48
49
50 protected:
51 Gaudi::Property< bool > m_addBC{this, "AddBadChannelInfo", true, "dump BadChan info ?"};
52 Gaudi::Property< bool > m_addFEBTemp{this, "AddFEBTempInfo", false, "dump FEB temperature info ?"};
53 Gaudi::Property< bool > m_isSC{this, "isSC", false, "are we working with SC?"};
54 Gaudi::Property< bool > m_isFlat{this, "isFlat", false, "are we working with Flat conditions ?"};
55 Gaudi::Property< bool > m_OffId{this, "OffId", false, "dump also offline ID ?"};
56 Gaudi::Property< bool > m_addHash{this, "AddHash", false, "add also ID hash info ?"};
57 Gaudi::Property< bool > m_addCalib{this, "AddCalib", false, "add also calib line info info ?"};
58 Gaudi::Property< bool > m_realgeom{this, "RealGeometry", false, "add real geometry values ?"};
59 Gaudi::Property< bool > m_expandId{this,"ExpandId", true ,"add online Id decoded fields ?"};
60
61 enum {NOT_VALID = -999};
62
63 std::string m_ntpath, m_ntTitle;
64
65 //Ntuple pointer
66 NTuple::Tuple* m_nt;
67
68 //Ntuple variables:
70 NTuple::Array<double> m_pos_neg, m_barrel_ec, m_FT, m_slot, m_channel;
71 NTuple::Array<double> m_calibLine,m_badChanWord;
72 NTuple::Array<double> m_isConnected;
73 NTuple::Array<double> m_chanHash, m_febHash, m_oflHash;
74
75 NTuple::Array<float> m_reta, m_rphi;
76 NTuple::Array<float> m_FEBTemp1, m_FEBTemp2;
77
78
79
80 const int m_SC= 34048;
81
88 ToolHandle<ILArFEBTempTool> m_FEBTempTool;
89
90 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
91 SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingSCKey{this,"CablingSCKey","LArOnOffIdMapSC","SG Key of LArOnOffIdMapping object"};
92
93 SG::ReadCondHandleKey<LArBadChannelCont> m_BCKey{this, "BadChanKey", "LArBadChannel", "SG bad channels key"};
94 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapKey{this,"CalibMapKey","LArCalibLineMap","SG Key of calib line mapping object"};
95 SG::ReadCondHandleKey<LArCalibLineMapping> m_calibMapSCKey{this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"};
96
97 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this, "CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store"};
99 , "CaloSuperCellDetDescrManager"
100 , "CaloSuperCellDetDescrManager"
101 , "SG key of the resulting CaloSuperCellDetDescrManager" };
102
103};
104#endif
Definition of CaloDetDescrManager.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Helper base class for offline cell identifiers.
NTuple::Array< double > m_oflHash
NTuple::Array< double > m_phi
Gaudi::Property< bool > m_isSC
const LArOnlineID_Base * m_onlineId
const SG::ReadCondHandleKey< LArOnOffIdMapping > & cablingKey() const
Gaudi::Property< bool > m_isFlat
NTuple::Array< double > m_calibLine
NTuple::Array< double > m_chanHash
NTuple::Array< double > m_oflChanId
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Gaudi::Property< bool > m_addHash
NTuple::Array< double > m_pos_neg
Gaudi::Property< bool > m_OffId
NTuple::Array< double > m_febHash
bool fillFromIdentifier(const HWIdentifier &id, int C)
NTuple::Array< double > m_eta
NTuple::Array< double > m_layer
Gaudi::Property< bool > m_addBC
Gaudi::Property< bool > m_addCalib
const LArFCAL_Base_ID * m_fcalId
NTuple::Array< float > m_rphi
~LArCond2NtupleBaseEB()=default
SG::ReadCondHandleKey< LArBadChannelCont > m_BCKey
const CaloCell_Base_ID * m_caloId
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
NTuple::Array< double > m_barrel_ec
LArCond2NtupleBaseEB(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_expandId
Gaudi::Property< bool > m_addFEBTemp
NTuple::Array< double > m_FT
NTuple::Array< double > m_onlChanId
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
NTuple::Array< double > m_region
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSuperCellMgrKey
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
NTuple::Array< float > m_reta
NTuple::Array< double > m_isConnected
NTuple::Array< double > m_channel
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
NTuple::Array< double > m_slot
const LArHEC_Base_ID * m_hecId
NTuple::Array< double > m_badChanWord
NTuple::Array< float > m_FEBTemp2
ToolHandle< ILArFEBTempTool > m_FEBTempTool
NTuple::Array< float > m_FEBTemp1
Gaudi::Property< bool > m_realgeom
const LArEM_Base_ID * m_emId
NTuple::Array< double > m_detector
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.
struct color C