ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TileInfoDump Class Reference

Algorithm to dump out calibration constants from the TileInfoSvc. More...

#include <TileInfoDump.h>

Inheritance diagram for TileInfoDump:
Collaboration diagram for TileInfoDump:

Public Member Functions

 TileInfoDump (const std::string &name, ISvcLocator *pSvcLocator)
 
 ~TileInfoDump ()
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void printEmscale ()
 
void printEmscaleOnl ()
 
void printLaser ()
 
void printIntegrator ()
 
void printPedestals ()
 
void printTimingCorrections ()
 
void printPulseShapes ()
 
void printBadChannels ()
 
void printBadCells ()
 
void printOfcs ()
 
void printMuID ()
 
void print1gNoise ()
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

bool m_isOnline
 
bool m_printEmscale
 
bool m_printEmscaleOnl
 
bool m_printLaser
 
bool m_printIntegrator
 
bool m_printPedestals
 
bool m_printTimingCorrections
 
bool m_printPulseShapes
 
float m_printPulseShapesStep
 
bool m_printBadChannels
 
bool m_printBadCells
 
bool m_printOfcsCool
 
bool m_printMuID
 
bool m_print1gNoise
 
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey
 
ToolHandle< ITileBadChanToolm_tileBadChanTool
 
ToolHandle< TileCondToolEmscalem_tileToolEmscale
 
ToolHandle< TileCondToolIntegratorm_tileToolIntegrator
 
ToolHandle< TileCondToolTimingm_tileToolTiming
 
ToolHandle< TileCondToolPulseShapem_tileToolPulseShape
 
ToolHandle< TileCondToolNoiseSamplem_tileToolNoiseSample
 
ToolHandle< TileCondToolAutoCrm_tileToolAutoCr
 
ToolHandle< TileCondToolNoiseRawChnm_tileToolNoiseRawChn
 
ToolHandle< TileCondToolOfcCoolm_tileToolOfcCool
 
ToolHandle< TileCondToolMuIDm_tileToolMuID
 
ServiceHandle< ITHistSvc > m_thistSvc
 
const TileHWIDm_tileHWID
 
const TileIDm_tileID
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
 
TH2F * m_h_badCellA
 
TH2F * m_h_badCellBC
 
TH2F * m_h_badCellD
 
TH2F * m_h_badCellGap
 
TH2F * m_h_badCell
 
unsigned int m_printOfcRos
 
unsigned int m_printOfcDrawer
 
unsigned int m_printOfcChannel
 
std::string m_infoName
 
const TileInfom_tileInfo
 
int m_i_ADCmax = 0
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Algorithm to dump out calibration constants from the TileInfoSvc.

Definition at line 48 of file TileInfoDump.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

◆ TileInfoDump()

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

Definition at line 32 of file TileInfoDump.cxx.

33  : AthAlgorithm(name, pSvcLocator)
34  , m_thistSvc("THistSvc", name)
35  , m_tileHWID(nullptr)
36  , m_tileID(nullptr)
37  , m_h_badCellA(nullptr)
38  , m_h_badCellBC(nullptr)
39  , m_h_badCellD(nullptr)
40  , m_h_badCellGap(nullptr)
41  , m_h_badCell(nullptr)
42  , m_tileInfo(nullptr)
43 
44 {
45  declareProperty("AthenaIsOnline", m_isOnline = false, "Availability of COOL folders depends on Athena mode");
46  declareProperty("PrintEmscale", m_printEmscale = false, "Switch on calibration chain printout");
47  declareProperty("PrintEmscaleOnl", m_printEmscaleOnl = false, "Switch on online calibration chain printout");
48  declareProperty("PrintLaser", m_printLaser = false, "Switch on all laser constants printout");
49  declareProperty("PrintIntegrator", m_printIntegrator = false, "Switch on integrator printout");
50  declareProperty("PrintPedestals", m_printPedestals = false, "Switch on Pedstals print out");
51  declareProperty("PrintTimingCorrections", m_printTimingCorrections = false, "Switch on Timing Corrections print out");
52  declareProperty("PrintPulseShapes", m_printPulseShapes = false, "Switch on Pulse Shape print out");
53  declareProperty("PrintOfcsCool", m_printOfcsCool = false, "Switch on OFC print out");
54  declareProperty("PrintPulseShapesStep", m_printPulseShapesStep = 0.5, "Time step (ns) of PulseShapes print out");
55  declareProperty("PrintBadChannels", m_printBadChannels = false, "Switch on Bad Channels print out");
56  declareProperty("PrintBadCells", m_printBadCells = false, "Switch on Bad Cells print out");
57  declareProperty("PrintMuID", m_printMuID = false, "Switch on MuID threshold print out");
58  declareProperty("Print1gNoise", m_print1gNoise = false, "Switch on 1g noise print out");
59  declareProperty("PrintOfcRos", m_printOfcRos = 0, "Print OFC for this ros (0 by default)");
60  declareProperty("PrintOfcDrawer", m_printOfcDrawer = 0, "Print OFC for this drawer (0 by default)");
61  declareProperty("PrintOfcChannel", m_printOfcChannel = 0, "Print OFC for this channel (0 by default)");
62  declareProperty("TileInfoName", m_infoName = "TileInfo");
63 }

◆ ~TileInfoDump()

TileInfoDump::~TileInfoDump ( )

Definition at line 67 of file TileInfoDump.cxx.

67  {
68 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode TileInfoDump::execute ( )

Definition at line 144 of file TileInfoDump.cxx.

144  {
145 
146  ATH_MSG_DEBUG( " in execute()" );
147 
149  ATH_CHECK( eventInfo.isValid() );
150 
151  ATH_MSG_DEBUG( "Event: ["
152  << eventInfo->runNumber() << ", "
153  << eventInfo->eventNumber() << ", "
154  << eventInfo->lumiBlock() << ": "
155  << eventInfo->timeStamp() << "]" );
156 
157 
158 
159 
160  m_h_badCell->Fill(1., 1.5, 1.);
161 
162  //=== Print out stuff
165  if (m_printLaser) printLaser();
170  if (m_printOfcsCool) printOfcs();
171  if (m_printMuID) printMuID();
173 
174  //=== Print Bad Channels
177 
178  return StatusCode::SUCCESS;
179 }

◆ 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 }

◆ finalize()

StatusCode TileInfoDump::finalize ( )

Definition at line 929 of file TileInfoDump.cxx.

929  {
930 
931  ATH_MSG_DEBUG( "in finalize()" );
932 
933  return StatusCode::SUCCESS;
934 }

◆ initialize()

StatusCode TileInfoDump::initialize ( )

Definition at line 71 of file TileInfoDump.cxx.

71  {
72 
73  ATH_MSG_DEBUG( "in initialize()" );
74 
75  //=== EventInfo key
77 
78  //=== Get TileHWID
79  CHECK( detStore()->retrieve(m_tileHWID, "TileHWID") );
80 
81  //=== CaloDetDescrManager
83 
84  //=== Get TileBadChanTool
85  CHECK( m_tileBadChanTool.retrieve() );
86 
87  //=== Get TileCondToolEmscale
88  CHECK( m_tileToolEmscale.retrieve() );
89 
90  //=== Get TileCondToolIntegrator
91  CHECK( m_tileToolIntegrator.retrieve() );
92 
93  //=== Get TileCondToolTiming
94  CHECK( m_tileToolTiming.retrieve() );
95 
96  //=== Get TileCondToolPulseShape
97  CHECK( m_tileToolPulseShape.retrieve() );
98 
99  //=== Get TileCondToolOfcCool
100  CHECK( m_tileToolOfcCool.retrieve() );
101 
102  //=== Get TileCondToolNoiseSample
103  CHECK( m_tileToolNoiseSample.retrieve() );
104 
105  //=== Get TileCondToolAutoCr
106  CHECK( m_tileToolAutoCr.retrieve() );
107 
108  //=== Get TileCondToolMuID
109  CHECK( m_tileToolMuID.retrieve() );
110 
111  //=== Get TileCondToolNoiseRawChn
113  CHECK( m_tileToolNoiseRawChn.retrieve() );
114  }
115 
116  //=== Retrieve TileID helpers from det store
117  CHECK( detStore()->retrieve(m_tileID, "TileID") );
118 
119  //--- Get a handle on the NTuple and histogramming service
120  CHECK( m_thistSvc.retrieve() );
121 
122  //=== Get TileInfo and set max ADC counts
125 
126  //--- Histogram initialization
127  m_h_badCellA = new TH2F("m_h_badCellA", "Etaphi_maskedCell A", 34, -1.7, 1.7, 64, -3.2, 3.2);
128  m_h_badCellBC = new TH2F("m_h_badCellBC", "Etaphi_maskedCell BC", 34, -1.7, 1.7, 64, -3.2, 3.2);
129  m_h_badCellD = new TH2F("m_h_badCellD", "Etaphi_maskedCell D", 34, -1.7, 1.7, 64, -3.2, 3.2);
130  m_h_badCellGap = new TH2F("m_h_badCellGap", "Etaphi_maskedCell Gap", 34, -1.7, 1.7, 64, -3.2, 3.2);
131  m_h_badCell = new TH2F("m_h_badCell", "Etaphi_maskedCell All", 34, -1.7, 1.7, 64, -3.2, 3.2);
132 
133  CHECK( m_thistSvc->regHist("/AANT/m_h_badCellA", m_h_badCellA) );
134  CHECK( m_thistSvc->regHist("/AANT/m_h_badCellBC", m_h_badCellBC) );
135  CHECK( m_thistSvc->regHist("/AANT/m_h_badCellD", m_h_badCellD) );
136  CHECK( m_thistSvc->regHist("/AANT/m_h_badCellGap", m_h_badCellGap) );
137  CHECK( m_thistSvc->regHist("/AANT/m_h_badCell", m_h_badCell) );
138 
139  return StatusCode::SUCCESS;
140 
141 }

◆ 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() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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.

◆ print1gNoise()

void TileInfoDump::print1gNoise ( )
private

Definition at line 392 of file TileInfoDump.cxx.

392  {
393 
394  const EventContext &ctx = Gaudi::Hive::currentContext();
395 
396  std::vector<float> vecAutoCr;
397 
398  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
399  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
400  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
401  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
402  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
403  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
404 
405  //=== Output from the tool
406  ATH_MSG_INFO( "1g Noise (ros/dr/ch/gain) "
407  << ros << "/"
408  << drawer << "/"
409  << channel << "/"
410  << adc << " : "
411  << "Electronic (ADC counts) " << m_tileToolNoiseRawChn->getElectronicNoise(drawerIdx, channel, adc, TileRawChannelUnit::ADCcounts, ctx) << "\t"
412  << "PileUp (MeV) " << m_tileToolNoiseRawChn->getPileUpNoise(drawerIdx, channel, adc, ctx) );
413 
414  } //end adc
415  } //end channel
416  } //end drawer
417  } //end ros
418 
419 }

◆ printBadCells()

void TileInfoDump::printBadCells ( )
private

Definition at line 640 of file TileInfoDump.cxx.

640  {
641 
642  ATH_MSG_DEBUG( "in printBadCells()" );
643 
644  Identifier cell_id;
645  IdContext cell_context = m_tileID->cell_context();
646  int ncells = m_tileID->cell_hash_max();
647 
649  bool run2 = cabling->isRun2PlusCabling();
650 
651  std::ostringstream sSum;
652  std::ostringstream sDet;
653 
654  sDet << std::endl;
655  sDet << ">>>>>>>>>>>>>>> Detailed list of BAD Cells <<<<<<<<<<<<<<<<" << std::endl;
656  sDet << "tower 0-15: numbered by pseudorapidity from 0 with 0.1 increment in eta" << std::endl;
657 
658  int badcell_N = (run2) ? 0 : 4;
659  int badcell_EBA = 0;
660  int badcell_EBC = 0;
661  int badcell_LBA = 0;
662  int badcell_LBC = 0;
663  int badcell_GapA = 0;
664  int badcell_GapC = (run2) ? 0 : 4;
665 
666  HWIdentifier ch1_id, ch2_id;
667  TileBchStatus ch1_status, ch2_status;
668 
669  const EventContext &ctx = Gaudi::Hive::currentContext();
671  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
672 
673  for (int i = 0; i < ncells; ++i) {
674  m_tileID->get_id((IdentifierHash) i, cell_id, &cell_context);
675 
676  //=== get calo detector description to obtain cell coordinates
677  const CaloDetDescrElement* elem = caloMgr->get_element(cell_id);
678  if (!elem) {
679  //=== this should never happen
680  ATH_MSG_ERROR( "CaloMgr returns NULL CaloDetDescrElement" );
681  std::abort();
682  }
683 
684  ch1_id = cabling->s2h_channel_id(m_tileID->pmt_id(cell_id, 0));
685  ch1_status = m_tileBadChanTool->getChannelStatus(ch1_id);
686 
687  if (m_tileID->is_tile_gapscin(cell_id)) ch2_id = ch1_id;
688  else ch2_id = cabling->s2h_channel_id(m_tileID->pmt_id(cell_id, 1));
689 
690  ch2_status = m_tileBadChanTool->getChannelStatus(ch2_id);
691 
692  //--- get channel
693  int ich1 = m_tileHWID->channel(ch1_id);
694  int ich2 = m_tileHWID->channel(ch2_id);
695 
696  if (ch1_status.isBad() && ch2_status.isBad()) {
697  badcell_N++;
698  if (m_tileID->section(cell_id) == 1) {
699  if (m_tileID->is_positive(cell_id) || m_tileID->is_twosides(cell_id)) {
700  badcell_LBA++;
701  sDet << "LBA";
702  }
703 
704  if (m_tileID->is_negative(cell_id)) {
705  badcell_LBC++;
706  sDet << "LBC";
707  }
708  }
709  if (m_tileID->section(cell_id) == 2) {
710  if (m_tileID->is_positive(cell_id)) {
711  badcell_EBA++;
712  sDet << "EBA";
713  }
714 
715  if (m_tileID->is_negative(cell_id)) {
716  badcell_EBC++;
717  sDet << "EBC";
718  }
719  }
720  if (m_tileID->section(cell_id) == 3) {
721  if (m_tileID->is_positive(cell_id)) {
722  badcell_GapA++;
723  sDet << "GapA";
724  }
725 
726  if (m_tileID->is_negative(cell_id)) {
727  badcell_GapC++;
728  sDet << "GapC";
729  }
730  }
731 
732  if (m_tileID->module(cell_id) < 9)
733  sDet << "0" << m_tileID->module(cell_id) + 1;
734  else
735  sDet << m_tileID->module(cell_id) + 1;
736 
737  sDet << ", tower " << m_tileID->tower(cell_id) << ", ";
738 
739  switch (m_tileID->sample(cell_id)) {
740  case 0: {
741  sDet << "sampling A";
742  FillCell(m_h_badCellA, elem);
743  };
744  break;
745  case 1: {
746  if (m_tileID->section(cell_id) == 1)
747  sDet << "sampling BC";
748  else
749  sDet << "sampling B";
750  FillCell(m_h_badCellBC, elem);
751  };
752  break;
753  case 2: {
754  sDet << "sampling D";
755  FillCell(m_h_badCellD, elem);
756  };
757  break;
758  case 3: {
759  sDet << "gap and crack scintillators";
760  FillCell(m_h_badCellGap, elem);
761  };
762  break;
763  default:
764  sDet << "individual tiles, used for Cesium calibration";
765  break;
766  }
767 
768  FillCell(m_h_badCell, elem);
769 
770  sDet << ", eta x phi = " << elem->eta()
771  << " x " << elem->phi()
772  << ", channels: " << ich1 << ", " << ich2 << std::endl;
773 
774  } // bad cell
775 
776  } // i, ncells
777 
778  if (!run2)
779  sDet << "!!! Four cells in GapC are also bad but not listed above: EBC04 ch 1, EBC35 ch 0, EBC54 ch 1, and EBC61 ch 1 " << std::endl;
780 
781  ATH_MSG_INFO( sDet.str() );
782 
783  //=== bad cells summary
784  float fncells = static_cast<float>(ncells);
785  if (run2)
786  fncells += 16 - 2; // adding 16 MBTS connected to PMT5 of special C10 and removing D4 in EBA15/EBC18
787  else
788  fncells = fncells - 2; // removing D4 in EBA15/EBC18
789 
790  sSum << std::endl;
791 
792  sSum << ">>>>>>>>>>>>>>> Tilecal BAD Cells Summary <<<<<<<<<<<<<<<<" << std::endl;
793  sSum << "Total number of cells including MBTS: " << fncells << std::endl;
794  sSum << "Total number of bad cells: " << badcell_N
795  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_N) / fncells << " %)" << std::endl;
796 
797  sSum << "Bad cells in LBA(+cell D0): " << badcell_LBA
798  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_LBA) / fncells << " %)" << std::endl;
799 
800  sSum << "Bad cells in LBC: " << badcell_LBC
801  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_LBC) / fncells << " %)" << std::endl;
802 
803  sSum << "Bad cells in EBA: " << badcell_EBA
804  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_EBA) / fncells << " %)" << std::endl;
805 
806  sSum << "Bad cells in EBC: " << badcell_EBC
807  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_EBC) / fncells << " %)" << std::endl;
808 
809  sSum << "Bad cells in Gap A(ITC+E1-4): " << badcell_GapA
810  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_GapA) / fncells << " %)" << std::endl;
811 
812  sSum << "Bad cells in Gap C(ITC+E1-4): " << badcell_GapC
813  << " (" << std::setprecision(4) << 100 * static_cast<float>(badcell_GapC) / fncells << " %)" << std::endl;
814 
815  ATH_MSG_INFO( sSum.str() );
816 
817  //--- Output file: dump first the summary, then the details
818  std::ofstream fcout("tileBadCells.txt");
819  fcout << sSum.str() << std::endl;
820  fcout << sDet.str() << std::endl;
821  fcout.close();
822 
823 }

◆ printBadChannels()

void TileInfoDump::printBadChannels ( )
private

Definition at line 514 of file TileInfoDump.cxx.

514  {
515 
516  ATH_MSG_DEBUG( "in printBadChannels()" );
517 
518  std::vector<std::string> vmod;
519 
520  std::ostringstream sSum;
521  std::ostringstream sDet;
522 
523  //=== Tile partitions counters
524  const unsigned int npar = 4;
525  unsigned int bchn[npar];
526  unsigned int badc[npar];
527  for (unsigned int ros = 0; ros < npar; ++ros) {
528  bchn[ros] = 0;
529  badc[ros] = 0;
530  }
531 
532  sDet << std::endl;
533  sDet << ">>>>>>>>>>>>>>> Detailed list of BAD Channels/ADCs <<<<<<<<<<<<<<<<" << std::endl;
534  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
535  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
536  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
537  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
538 
539  unsigned int badadc = 0; //... counter of bad ADCs per drawer
540  unsigned int badchn = 0; //... counter of bad channels per drawer
541 
542  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
543 
544  //=== check channel status
545  TileBchStatus status = m_tileBadChanTool->getChannelStatus(drawerIdx, channel);
546  if (status.isAffected()) {
547  if (status.isBad()) {
549  << "/ch" << channel << " :B: "
550  << "has at least one problem: " << status.getString() << std::endl;
551 
552  if (ros > 0) {
553  badchn++;
554  bchn[ros - 1]++;
555  }
556  } else
558  << "/ch" << channel << " :-: "
559  << "has at least one problem: " << status.getString() << std::endl;
560 
561  //==== check connected adc status
562  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
563  status = m_tileBadChanTool->getAdcStatus(drawerIdx, channel, adc);
564  if (status.isBad()) {
565  sDet << "-B-> " << TileCalibUtils::getDrawerString(ros, drawer)
566  << "/ch" << channel << "/" << adc << " : " << status.getString() << std::endl;
567 
568  if (ros > 0) {
569  badadc++;
570  badc[ros - 1]++;
571  }
572  } else
573  sDet << "---> " << TileCalibUtils::getDrawerString(ros, drawer)
574  << "/ch" << channel << "/" << adc << " : " << status.getString() << std::endl;
575 
576  } //end adc
577  } //end status!=0
578 
579  } //end channel
580 
581  if (badadc) {
582  std::ostringstream myStream;
583  myStream << TileCalibUtils::getDrawerString(ros, drawer) << ": " << badchn << "/" << badadc;
584  vmod.push_back(myStream.str());
585  }
586 
587  } //end drawer
588  } //end ros
589 
590  ATH_MSG_INFO( sDet.str() );
591 
592  //=== Print summary
593  sSum << std::endl;
594  sSum << ">>> Summary of BAD channels/ADCs per drawer (in LBA, LBC, EBA, EBC) <<<<" << std::endl;
595  if (vmod.empty())
596  sSum << "There are no bad ADCs in LBA, LBC, EBA and EBC" << std::endl;
597  else {
598  unsigned int totchn = 0;
599  unsigned int totadc = 0;
600 
601  for (unsigned int ros = 0; ros < npar; ++ros) {
602  totchn += bchn[ros];
603  totadc += badc[ros];
604  }
605 
606  sSum << "Total number of bad channels/ADC: " << totchn << "/" << totadc << std::endl;
607  sSum << "Bad channels/ADC in LBA : " << bchn[0] << "/" << badc[0] << std::endl;
608  sSum << "Bad channels/ADC in LBC : " << bchn[1] << "/" << badc[1] << std::endl;
609  sSum << "Bad channels/ADC in EBA : " << bchn[2] << "/" << badc[2] << std::endl;
610  sSum << "Bad channels/ADC in EBC : " << bchn[3] << "/" << badc[3] << std::endl;
611  sSum << std::endl;
612 
613  for (const std::string& s : vmod)
614  sSum << s << std::endl;
615  }
616 
617  ATH_MSG_INFO( sSum.str() );
618 
619  //--- Output file: dump first the summary, then the details
620  std::ofstream fcout("tileBadChannelsAdcs.txt");
621  fcout << sSum.str() << std::endl;
622  fcout << sDet.str() << std::endl;
623  fcout.close();
624 
625 }

◆ printEmscale()

void TileInfoDump::printEmscale ( )
private

Definition at line 183 of file TileInfoDump.cxx.

183  {
184  ATH_MSG_DEBUG( "In printEmscale()" );
185 
186  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
187  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
188  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
189  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
190  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
191  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
192 
193  msg(MSG::INFO) << ros << "/" << std::setw(2)
194  << drawer << "/" << std::setw(2)
195  << channel << "/"
196  << adc << " : " << std::fixed << std::right << std::setw(9) << std::setprecision(5)
197  << m_tileToolEmscale->doCalibCis(drawerIdx, channel, adc, 1.) << " (CIS) | "
198  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
199  << m_tileToolEmscale->doCalibLas(drawerIdx, channel, 1.) << " (LAS) | "
200  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
201  << m_tileToolEmscale->doCalibCes(drawerIdx, channel, 1.) << " (CES) | "
202  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
203  << m_tileToolEmscale->doCalibEms(drawerIdx, channel, 1.) << " (EMS) | ";
204 
205  float chanCalMeV = m_tileToolEmscale->channelCalib(drawerIdx, channel, adc, 1.
207 
208  msg(MSG::INFO) << std::fixed << std::right << std::setw(9) << std::setprecision(5)
209  << chanCalMeV << " (total)";
210 
211  //=== "undo" online calibration only if this functionality is available
212  if (m_tileToolEmscale->getOnlCacheUnit() != TileRawChannelUnit::Invalid) {
213  msg(MSG::INFO) << std::fixed << std::right << std::setw(9) << std::setprecision(5)
214  << m_tileToolEmscale->channelCalib(drawerIdx, channel, adc, chanCalMeV
216  << " (onlMev->oflADC)";
217  }
218 
219  msg(MSG::INFO) << endmsg;
220 
221  } //end adc
222  } //end channel
223  } //end drawer
224  } //end ros
225 
226  //===================================================================
227  //=== Perform a CIS energy scan to test CIS LUT
228  //===================================================================
229  ATH_MSG_INFO( "Performing an energy scan to test CIS LUT" );
230 
231  unsigned int ros = 1;
232  unsigned int drawer = 0;
233  unsigned int channel = 0;
234  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
235  for (int adcCounts = 0; adcCounts <= m_i_ADCmax; ++adcCounts) {
236  double energy = static_cast<float>(adcCounts);
237  ATH_MSG_INFO( ros << "/" << drawer << "/" << channel << "/" << adc << " : "
238  << "ADC counts = " << adcCounts
239  << "\t---> " << m_tileToolEmscale->doCalibCis(20, 0, adc, energy) );
240 
241  } //end adcCounts
242  } //end adc
243 
244 }

◆ printEmscaleOnl()

void TileInfoDump::printEmscaleOnl ( )
private

Definition at line 248 of file TileInfoDump.cxx.

248  {
249 
250  ATH_MSG_DEBUG( "In printEmscaleOnl()" );
251 
252  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
253  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
254  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
255  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
256  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
257  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
258 
259  msg(MSG::INFO) << ros << "/" << std::setw(2) << drawer << "/" << std::setw(2) << channel << "/" << adc << " : "
260  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
261  << m_tileToolEmscale->doCalibCisOnl(drawerIdx, channel, adc, 1.) << " (ONL_CIS) | "
262  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
263  << m_tileToolEmscale->doCalibLasOnl(drawerIdx, channel, 1.) << " (ONL_LAS) | "
264  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
265  << m_tileToolEmscale->doCalibCesOnl(drawerIdx, channel, 1.) << " (ONL_CES) | "
266  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
267  << m_tileToolEmscale->doCalibEmsOnl(drawerIdx, channel, 1.) << " (ONL_EMS) | ";
268 
269  float chanCalMeV = m_tileToolEmscale->channelCalibOnl(drawerIdx, channel, adc, 1., TileRawChannelUnit::OnlineMegaElectronVolts);
270 
271  msg(MSG::INFO) << std::fixed << std::right << std::setw(9) << std::setprecision(5)
272  << chanCalMeV << " (total)";
273 
274  msg(MSG::INFO) << endmsg;
275 
276  } //end adc
277  } //end channel
278  } //end drawer
279  } //end ros
280 
281 }

◆ printIntegrator()

void TileInfoDump::printIntegrator ( )
private

Definition at line 319 of file TileInfoDump.cxx.

319  {
320 
321  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
322  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
323  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
324  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
325  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
326  for (unsigned int adc = 0; adc < 6; ++adc) {
327 
328  //=== Output from the tool
329  ATH_MSG_INFO( ros << "/"
330  << drawer << "/"
331  << channel<< "/"
332  << adc << " : "
333  << "Gain=" << m_tileToolIntegrator->getGain(drawerIdx, channel, adc) << "\t"
334  << m_tileToolIntegrator->getGainError(drawerIdx, channel, adc) << "\t"
335  << m_tileToolIntegrator->getChi2(drawerIdx, channel, adc) << "\t"
336  << "Ped=" << m_tileToolIntegrator->getPedestal(drawerIdx, channel, adc) << "\t"
337  << m_tileToolIntegrator->getDACForPed(drawerIdx, channel, adc) << "\t"
338  << m_tileToolIntegrator->getSigmaOfPed(drawerIdx, channel, adc) << "\t"
339  << m_tileToolIntegrator->getRMSOfPed(drawerIdx, channel, adc) << "\t"
340  << m_tileToolIntegrator->getSigmaOfRMS(drawerIdx, channel, adc) << "\t" );
341 
342  } //end adc
343  } //end channel
344  } //end drawer
345  } //end ros
346 
347 }

◆ printLaser()

void TileInfoDump::printLaser ( )
private

Definition at line 285 of file TileInfoDump.cxx.

285  {
286  ATH_MSG_DEBUG( "In printLaser()" );
287 
288  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
289  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
290  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
291  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
292  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
293  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
294 
295  msg(MSG::INFO) << ros << "/" << std::setw(2)
296  << drawer << "/" << std::setw(2)
297  << channel << "/"
298  << adc << " : "
299  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
300  << m_tileToolEmscale->getCesRefLas(drawerIdx, channel, adc) << " (absolute) | "
301  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
302  << m_tileToolEmscale->doCalibLas(drawerIdx, channel, 1.) << " (channel) | "
303  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
304  << m_tileToolEmscale->getLasFiber(drawerIdx, channel) << " (fiber) | "
305  << std::fixed << std::right << std::setw(9) << std::setprecision(5)
306  << m_tileToolEmscale->getLasPartition(drawerIdx) << " (partition)";
307 
308  msg(MSG::INFO) << endmsg;
309 
310  } //end adc
311  } //end channel
312  } //end drawer
313  } //end ros
314 
315 }

◆ printMuID()

void TileInfoDump::printMuID ( )
private

Definition at line 827 of file TileInfoDump.cxx.

827  {
828 
829  float thr_low_value = -999.;
830  float thr_high_value = -999.;
831  Identifier id;
832  // loop over all TileCal cells
833  IdContext cell_context = m_tileID->cell_context();
834  int ncells = m_tileID->cell_hash_max();
835 
836  ATH_MSG_INFO( " printMuID: ncells " << ncells );
837  ATH_MSG_INFO( " Cell_ID, Threshold detector(TileCal=5)/section/side/module/tower/sampling" );
838 
839  for (int i = 0; i < ncells; ++i) {
840  {
841  m_tileID->get_id((IdentifierHash) i, id, &cell_context);
842 
843  thr_low_value = m_tileToolMuID->getLowThresholdValue(id);
844  thr_high_value = m_tileToolMuID->getHighThresholdValue(id);
845 
846  //=== Output from the tool
847  ATH_MSG_INFO( " Cell_ID " << id
848  << " Threshold low/high " << thr_low_value << " " << thr_high_value
849  << ", " << m_tileID->to_string(id, -2) );
850  }
851  }
852 }

◆ printOfcs()

void TileInfoDump::printOfcs ( )
private

Definition at line 856 of file TileInfoDump.cxx.

856  {
857  MsgStream log(msgSvc(), name());
858 
859  ATH_MSG_INFO("OFC will be printed for ros " << m_printOfcRos << ", drawer " << m_printOfcDrawer << ", channel " << m_printOfcChannel);
860 
861  //=== dump default channel only
862  unsigned int gain = 0;
864  int NPhases;
865  int NFields;
866  int Phamin;
867  int Phamax;
868  int NSamples;
869 
870  const EventContext &ctx = Gaudi::Hive::currentContext();
871  m_tileToolOfcCool->getOfcParams(drawerIdx, NPhases, NFields, Phamin, Phamax, NSamples, ctx);
872 
873  int phase_step = round(static_cast<double>(Phamax - Phamin) / (std::abs(NPhases) - 1));
874 
875  ATH_MSG_INFO( "-------- OFC parameters ----->"
876  << " nPhases " << NPhases
877  << " nFields " << NFields
878  << " minimum phase " << Phamin * PHASE_PRECISION << " ns "
879  << " maximum phase " << Phamax * PHASE_PRECISION << " ns "
880  << " nSamples " << NSamples
881  << " phase step " << phase_step * PHASE_PRECISION << " ns");
882 
883 
884 
885  for (gain = 0; gain < 2; gain++) {
886  ATH_MSG_INFO( "----------------- Gain " << gain << "-----------------" );
887 
888  for (int phase = Phamin; phase <= Phamax; phase += phase_step ) {
889  float real_phase = float(phase) * PHASE_PRECISION;
891  m_tileToolOfcCool->getOfcWeights(drawerIdx, m_printOfcChannel, gain, real_phase, true, weights, ctx).ignore();
892 
893  ATH_MSG_INFO( "OFC phase " << real_phase << " ns");
894 
895  msg(MSG::INFO) << "OFC A";
896  for (int i = 0; i < weights.n_samples; i++)
897  msg(MSG::INFO) << " " << weights.w_a[i];
898  msg(MSG::INFO) << endmsg;
899 
900  msg(MSG::INFO) << "OFC B";
901  for (int i = 0; i < weights.n_samples; i++)
902  msg(MSG::INFO) << " " << weights.w_b[i];
903  msg(MSG::INFO) << endmsg;
904 
905  msg(MSG::INFO) << "OFC C";
906  for (int i = 0; i < weights.n_samples; i++)
907  msg(MSG::INFO) << " " << weights.w_c[i];
908  msg(MSG::INFO) << endmsg;
909 
910  msg(MSG::INFO) << "OFC G";
911  for (int i = 0; i < weights.n_samples; i++)
912  msg(MSG::INFO) << " " << weights.g[i];
913  msg(MSG::INFO) << endmsg;
914 
915  if (NFields >= 5) {
916  msg(MSG::INFO) << "OFC DG";
917  for (int i = 0; i < weights.n_samples; i++)
918  msg(MSG::INFO) << " " << weights.dg[i];
919  msg(MSG::INFO) << endmsg;
920  }
921 
922  }
923  }
924 
925 }

◆ printPedestals()

void TileInfoDump::printPedestals ( )
private

Definition at line 351 of file TileInfoDump.cxx.

351  {
352 
353  const EventContext &ctx = Gaudi::Hive::currentContext();
354 
355  std::vector<float> vecAutoCr;
356 
357  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
358  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
359  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
360  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
361  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
362  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
363 
364  //=== Retrieve autocorrelations
365  m_tileToolAutoCr->getAutoCorr(drawerIdx, channel, adc, vecAutoCr);
366 
367  //=== Output from the tool
368  msg(MSG::INFO) << ros << "/"
369  << drawer << "/"
370  << channel << "/"
371  << adc << " : "
372  << "Pedestal level=" << m_tileToolNoiseSample->getPed(drawerIdx, channel, adc, TileRawChannelUnit::ADCcounts, ctx) << "\t"
373  << "HFN=" << m_tileToolNoiseSample->getHfn(drawerIdx, channel, adc, TileRawChannelUnit::ADCcounts, ctx) << "\t"
374  << "LFN=" << m_tileToolNoiseSample->getLfn(drawerIdx, channel, adc, TileRawChannelUnit::ADCcounts, ctx) << "\t"
375  << "OF=" << m_tileToolNoiseRawChn->getNoise(drawerIdx, channel, adc, TileRawChannelUnit::ADCcounts, ctx) << "\t"
376  << "ACR = ";
377  for (unsigned int i = 0; i < vecAutoCr.size(); ++i) {
378  msg(MSG::INFO) << vecAutoCr[i] << " ";
379  }
380 
381  msg(MSG::INFO) << endmsg;
382 
383  } //end adc
384  } //end channel
385  } //end drawer
386  } //end ros
387 
388 }

◆ printPulseShapes()

void TileInfoDump::printPulseShapes ( )
private

Definition at line 472 of file TileInfoDump.cxx.

472  {
473 
474  //=== dump default channel only
475  unsigned int ros = 0;
476  unsigned int drawer = 0;
477  unsigned int channel = 0;
478  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
479 
480  float y = 0;
481  float dy = 0;
482  float time = 0;
483 
484  float startpoint = -100.0;
485  float endpoint = 150.0;
486 
487  const EventContext &ctx = Gaudi::Hive::currentContext();
488 
489  //=== force m_printPulseShapesStep to have positive value
491  unsigned int npoint = static_cast<unsigned int>((endpoint - startpoint) / m_printPulseShapesStep);
492 
493  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
494  for (unsigned int point = 0; point < npoint; ++point) {
495  time = startpoint + point * m_printPulseShapesStep;
496  //if(m_tileToolPulseShape->getPulseShapeYDY(drawerIdx,channel,adc,time,y,dy)) {
497  m_tileToolPulseShape->getPulseShapeYDY(drawerIdx, channel, adc, time, y, dy, ctx);
498  ATH_MSG_INFO( ros << "/" << std::setw(2)
499  << drawer << "/" << std::setw(2)
500  << channel << "/"
501  << adc << " : "
502  << "Time, Y, DY: " << std::fixed << std::right << std::setw(9) << std::setprecision(6) << time
503  << " " << std::fixed << std::right << std::setw(11) << std::setprecision(8) << y
504  << " " << std::fixed << std::right << std::setw(11) << std::setprecision(8) << dy );
505 
506  //}
507  } // end point
508  } //end adc
509 
510 }

◆ printTimingCorrections()

void TileInfoDump::printTimingCorrections ( )
private

Definition at line 423 of file TileInfoDump.cxx.

423  {
424 
425  //=== In Athena online mode only channel offset is available
426  //=== In offline mode everything is available
427  if (m_isOnline) {
428  ATH_MSG_INFO( "Athena Online mode detected: only channel offset available." );
429  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
430  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
431  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
432  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
433  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
434  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
435 
436  ATH_MSG_INFO( ros << "/"
437  << drawer << "/"
438  << channel << "/"
439  << adc << " : "
440  << "Time correction: " << m_tileToolTiming->getSignalPhase(drawerIdx, channel, adc)
441  << "\tchannel: " << m_tileToolTiming->getChannelOffset(drawerIdx, channel, adc) );
442 
443  } //end adc
444  } //end channel
445  } //end drawer
446  } //end ros
447  } else { // offline mode
448  for (unsigned int ros = 0; ros < TileCalibUtils::MAX_ROS; ++ros) {
449  unsigned int drawerMax = TileCalibUtils::getMaxDrawer(ros);
450  for (unsigned int drawer = 0; drawer < drawerMax; ++drawer) {
451  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
452  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
453  for (unsigned int adc = 0; adc < TileCalibUtils::MAX_GAIN; ++adc) {
454 
455  //.. GL 130429: remove references to obsolete condDB folders.
456  ATH_MSG_INFO( ros << "/"
457  << drawer << "/"
458  << channel << "/"
459  << adc << " : "
460  << "Time correction: " << m_tileToolTiming->getSignalPhase(drawerIdx, channel, adc)
461  << "\tchannel: " << m_tileToolTiming->getChannelOffset(drawerIdx, channel, adc) );
462 
463  } //end adc
464  } //end channel
465  } //end drawer
466  } //end ros
467  } //offline mode
468 }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
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, PyAthena::Alg, and AthHistogramAlgorithm.

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 }

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_caloMgrKey

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

Definition at line 127 of file TileInfoDump.h.

◆ 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_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> TileInfoDump::m_eventInfoKey
private
Initial value:
{this,
"EventInfo", "EventInfo", "EventInfo key"}

Definition at line 97 of file TileInfoDump.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_h_badCell

TH2F* TileInfoDump::m_h_badCell
private

Definition at line 134 of file TileInfoDump.h.

◆ m_h_badCellA

TH2F* TileInfoDump::m_h_badCellA
private

Definition at line 130 of file TileInfoDump.h.

◆ m_h_badCellBC

TH2F* TileInfoDump::m_h_badCellBC
private

Definition at line 131 of file TileInfoDump.h.

◆ m_h_badCellD

TH2F* TileInfoDump::m_h_badCellD
private

Definition at line 132 of file TileInfoDump.h.

◆ m_h_badCellGap

TH2F* TileInfoDump::m_h_badCellGap
private

Definition at line 133 of file TileInfoDump.h.

◆ m_i_ADCmax

int TileInfoDump::m_i_ADCmax = 0
private

Definition at line 143 of file TileInfoDump.h.

◆ m_infoName

std::string TileInfoDump::m_infoName
private

Definition at line 141 of file TileInfoDump.h.

◆ m_isOnline

bool TileInfoDump::m_isOnline
private

Definition at line 58 of file TileInfoDump.h.

◆ m_print1gNoise

bool TileInfoDump::m_print1gNoise
private

Definition at line 95 of file TileInfoDump.h.

◆ m_printBadCells

bool TileInfoDump::m_printBadCells
private

Definition at line 86 of file TileInfoDump.h.

◆ m_printBadChannels

bool TileInfoDump::m_printBadChannels
private

Definition at line 83 of file TileInfoDump.h.

◆ m_printEmscale

bool TileInfoDump::m_printEmscale
private

Definition at line 61 of file TileInfoDump.h.

◆ m_printEmscaleOnl

bool TileInfoDump::m_printEmscaleOnl
private

Definition at line 64 of file TileInfoDump.h.

◆ m_printIntegrator

bool TileInfoDump::m_printIntegrator
private

Definition at line 70 of file TileInfoDump.h.

◆ m_printLaser

bool TileInfoDump::m_printLaser
private

Definition at line 67 of file TileInfoDump.h.

◆ m_printMuID

bool TileInfoDump::m_printMuID
private

Definition at line 92 of file TileInfoDump.h.

◆ m_printOfcChannel

unsigned int TileInfoDump::m_printOfcChannel
private

Definition at line 138 of file TileInfoDump.h.

◆ m_printOfcDrawer

unsigned int TileInfoDump::m_printOfcDrawer
private

Definition at line 137 of file TileInfoDump.h.

◆ m_printOfcRos

unsigned int TileInfoDump::m_printOfcRos
private

Definition at line 136 of file TileInfoDump.h.

◆ m_printOfcsCool

bool TileInfoDump::m_printOfcsCool
private

Definition at line 89 of file TileInfoDump.h.

◆ m_printPedestals

bool TileInfoDump::m_printPedestals
private

Definition at line 73 of file TileInfoDump.h.

◆ m_printPulseShapes

bool TileInfoDump::m_printPulseShapes
private

Definition at line 79 of file TileInfoDump.h.

◆ m_printPulseShapesStep

float TileInfoDump::m_printPulseShapesStep
private

Definition at line 80 of file TileInfoDump.h.

◆ m_printTimingCorrections

bool TileInfoDump::m_printTimingCorrections
private

Definition at line 76 of file TileInfoDump.h.

◆ m_thistSvc

ServiceHandle<ITHistSvc> TileInfoDump::m_thistSvc
private

Definition at line 123 of file TileInfoDump.h.

◆ m_tileBadChanTool

ToolHandle<ITileBadChanTool> TileInfoDump::m_tileBadChanTool
private
Initial value:
{this,
"TileBadChanTool", "TileBadChanTool", "Tile bad channel tool"}

Definition at line 101 of file TileInfoDump.h.

◆ m_tileHWID

const TileHWID* TileInfoDump::m_tileHWID
private

Definition at line 125 of file TileInfoDump.h.

◆ m_tileID

const TileID* TileInfoDump::m_tileID
private

Definition at line 126 of file TileInfoDump.h.

◆ m_tileInfo

const TileInfo* TileInfoDump::m_tileInfo
private

Definition at line 142 of file TileInfoDump.h.

◆ m_tileToolAutoCr

ToolHandle<TileCondToolAutoCr> TileInfoDump::m_tileToolAutoCr
private
Initial value:
{this,
"TileCondToolAutoCr", "TileCondToolAutoCr", "Tile auto cr tool"}

Definition at line 113 of file TileInfoDump.h.

◆ m_tileToolEmscale

ToolHandle<TileCondToolEmscale> TileInfoDump::m_tileToolEmscale
private
Initial value:
{this,
"TileCondToolEmscale", "TileCondToolEmscale", "Tile em scale tool"}

Definition at line 103 of file TileInfoDump.h.

◆ m_tileToolIntegrator

ToolHandle<TileCondToolIntegrator> TileInfoDump::m_tileToolIntegrator
private
Initial value:
{this,
"TileCondToolIntegrator", "TileCondToolIntegrator", "Tile integrator tool"}

Definition at line 105 of file TileInfoDump.h.

◆ m_tileToolMuID

ToolHandle<TileCondToolMuID> TileInfoDump::m_tileToolMuID
private
Initial value:
{this,
"TileCondToolMuID", "TileCondToolMuID", "Tile MuID tool"}

Definition at line 119 of file TileInfoDump.h.

◆ m_tileToolNoiseRawChn

ToolHandle<TileCondToolNoiseRawChn> TileInfoDump::m_tileToolNoiseRawChn
private
Initial value:
{this,
"TileCondToolNoiseRawChn", "TileCondToolNoiseRawChn", "Tile raw channel noise tool"}

Definition at line 115 of file TileInfoDump.h.

◆ m_tileToolNoiseSample

ToolHandle<TileCondToolNoiseSample> TileInfoDump::m_tileToolNoiseSample
private
Initial value:
{this,
"TileCondToolNoiseSample", "TileCondToolNoiseSample", "Tile noise sample tool"}

Definition at line 111 of file TileInfoDump.h.

◆ m_tileToolOfcCool

ToolHandle<TileCondToolOfcCool> TileInfoDump::m_tileToolOfcCool
private
Initial value:
{this,
"TileCondToolOfcCool", "TileCondToolOfcCool", "Tile OfcCool tool"}

Definition at line 117 of file TileInfoDump.h.

◆ m_tileToolPulseShape

ToolHandle<TileCondToolPulseShape> TileInfoDump::m_tileToolPulseShape
private
Initial value:
{this,
"TileCondToolPulseShape", "TileCondToolPulseShape", "Tile pulse shape tool"}

Definition at line 109 of file TileInfoDump.h.

◆ m_tileToolTiming

ToolHandle<TileCondToolTiming> TileInfoDump::m_tileToolTiming
private
Initial value:
{this,
"TileCondToolTiming", "TileCondToolTiming", "Tile timing tool"}

Definition at line 107 of file TileInfoDump.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.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
FillCell
void FillCell(TH2F *hist, const CaloDetDescrElement *elem)
Definition: TileInfoDump.cxx:629
TileInfoDump::m_print1gNoise
bool m_print1gNoise
Definition: TileInfoDump.h:95
Tile_Base_ID::is_positive
bool is_positive(const Identifier &id) const
Definition: Tile_Base_ID.cxx:250
ReadOfcFromCool.phase
phase
Definition: ReadOfcFromCool.py:127
TileInfoDump::m_tileToolAutoCr
ToolHandle< TileCondToolAutoCr > m_tileToolAutoCr
Definition: TileInfoDump.h:113
Tile_Base_ID::cell_hash_max
size_type cell_hash_max(void) const
Definition: Tile_Base_ID.cxx:1313
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TileCalibUtils::getMaxDrawer
static unsigned int getMaxDrawer(unsigned int ros)
Returns the maximal channel number for a given drawer.
Definition: TileCalibUtils.cxx:136
TileInfoDump::m_tileToolNoiseSample
ToolHandle< TileCondToolNoiseSample > m_tileToolNoiseSample
Definition: TileInfoDump.h:111
TileInfoDump::m_i_ADCmax
int m_i_ADCmax
Definition: TileInfoDump.h:143
TileInfoDump::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: TileInfoDump.h:127
TileInfoDump::m_tileToolTiming
ToolHandle< TileCondToolTiming > m_tileToolTiming
Definition: TileInfoDump.h:107
TileInfoDump::m_tileToolNoiseRawChn
ToolHandle< TileCondToolNoiseRawChn > m_tileToolNoiseRawChn
Definition: TileInfoDump.h:115
TileInfoDump::m_h_badCell
TH2F * m_h_badCell
Definition: TileInfoDump.h:134
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TileCablingService::getInstance
static const TileCablingService * getInstance()
get pointer to service instance
Definition: TileCablingService.cxx:24
TileInfoDump::m_tileBadChanTool
ToolHandle< ITileBadChanTool > m_tileBadChanTool
Definition: TileInfoDump.h:101
Tile_Base_ID::cell_context
IdContext cell_context(void) const
id for cells
Definition: Tile_Base_ID.cxx:1059
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
TileInfoDump::m_printPulseShapes
bool m_printPulseShapes
Definition: TileInfoDump.h:79
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TileInfoDump::m_printEmscaleOnl
bool m_printEmscaleOnl
Definition: TileInfoDump.h:64
TileInfoDump::m_h_badCellGap
TH2F * m_h_badCellGap
Definition: TileInfoDump.h:133
PHASE_PRECISION
#define PHASE_PRECISION
Class for storing Optimal Filtering Coefficients (OFCs) in a coral::Blob.
Definition: TileCalibDrawerOfc.h:38
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
StateLessPT_NewConfig.NSamples
int NSamples
Definition: StateLessPT_NewConfig.py:94
TileInfoDump::printEmscale
void printEmscale()
Definition: TileInfoDump.cxx:183
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
MuonGM::round
float round(const float toRound, const unsigned int decimals)
Definition: Mdt.cxx:27
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
TileBchStatus
Class holding bad channel problems.
Definition: TileBchStatus.h:20
TileInfoDump::m_printTimingCorrections
bool m_printTimingCorrections
Definition: TileInfoDump.h:76
Tile_Base_ID::sample
int sample(const Identifier &id) const
Definition: Tile_Base_ID.cxx:171
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TileInfoDump::m_h_badCellA
TH2F * m_h_badCellA
Definition: TileInfoDump.h:130
TileInfoDump::printPedestals
void printPedestals()
Definition: TileInfoDump.cxx:351
Tile_Base_ID::tower
int tower(const Identifier &id) const
Definition: Tile_Base_ID.cxx:165
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TileInfoDump::m_tileToolMuID
ToolHandle< TileCondToolMuID > m_tileToolMuID
Definition: TileInfoDump.h:119
TileInfoDump::m_h_badCellD
TH2F * m_h_badCellD
Definition: TileInfoDump.h:132
TileInfoDump::printLaser
void printLaser()
Definition: TileInfoDump.cxx:285
HWIdentifier
Definition: HWIdentifier.h:13
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
TileInfoDump::m_printPulseShapesStep
float m_printPulseShapesStep
Definition: TileInfoDump.h:80
TileInfoDump::m_printBadChannels
bool m_printBadChannels
Definition: TileInfoDump.h:83
TileInfoDump::m_h_badCellBC
TH2F * m_h_badCellBC
Definition: TileInfoDump.h:131
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
TileHWID::channel
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Definition: TileHWID.h:189
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
TileInfoDump::m_printMuID
bool m_printMuID
Definition: TileInfoDump.h:92
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TileInfoDump::printBadCells
void printBadCells()
Definition: TileInfoDump.cxx:640
TileInfoDump::printIntegrator
void printIntegrator()
Definition: TileInfoDump.cxx:319
Tile_Base_ID::get_id
virtual int get_id(const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const
create compact id from hash id (return == 0 for OK)
Definition: Tile_Base_ID.cxx:1077
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
TileInfoDump::m_tileToolEmscale
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
Definition: TileInfoDump.h:103
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Tile_Base_ID::is_tile_gapscin
bool is_tile_gapscin(const Identifier &id) const
Definition: Tile_Base_ID.cxx:268
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
Tile_Base_ID::module
int module(const Identifier &id) const
Definition: Tile_Base_ID.cxx:159
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
TileInfoDump::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: TileInfoDump.h:97
lumiFormat.i
int i
Definition: lumiFormat.py:85
TileInfoDump::m_tileID
const TileID * m_tileID
Definition: TileInfoDump.h:126
TileInfoDump::printEmscaleOnl
void printEmscaleOnl()
Definition: TileInfoDump.cxx:248
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TileRawChannelUnit::Invalid
@ Invalid
Definition: TileRawChannelUnit.h:26
TileOfcWeightsStruct
Definition: ITileCondToolOfc.h:13
TileRawChannelUnit::MegaElectronVolts
@ MegaElectronVolts
Definition: TileRawChannelUnit.h:20
TileInfoDump::m_printLaser
bool m_printLaser
Definition: TileInfoDump.h:67
TileInfoDump::printTimingCorrections
void printTimingCorrections()
Definition: TileInfoDump.cxx:423
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
TileInfoDump::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: TileInfoDump.h:123
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TileCalibUtils::MAX_ROS
static const unsigned int MAX_ROS
Number of ROSs
Definition: TileCalibUtils.h:138
TileInfoDump::m_printIntegrator
bool m_printIntegrator
Definition: TileInfoDump.h:70
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileCablingService
Definition: TileCablingService.h:23
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
ReadCellNoiseFromCoolCompare.run2
run2
Definition: ReadCellNoiseFromCoolCompare.py:53
TileInfoDump::m_printOfcDrawer
unsigned int m_printOfcDrawer
Definition: TileInfoDump.h:137
TileInfoDump::m_tileToolIntegrator
ToolHandle< TileCondToolIntegrator > m_tileToolIntegrator
Definition: TileInfoDump.h:105
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:227
TileInfoDump::m_tileInfo
const TileInfo * m_tileInfo
Definition: TileInfoDump.h:142
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
weights
Definition: herwig7_interface.h:38
TileInfoDump::m_printEmscale
bool m_printEmscale
Definition: TileInfoDump.h:61
makeTRTBarrelCans.dy
tuple dy
Definition: makeTRTBarrelCans.py:21
TileCalibUtils::getDrawerString
static std::string getDrawerString(unsigned int ros, unsigned int drawer)
Return the drawer name, e.g.
Definition: TileCalibUtils.cxx:145
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
TileInfoDump::printPulseShapes
void printPulseShapes()
Definition: TileInfoDump.cxx:472
TileInfoDump::printMuID
void printMuID()
Definition: TileInfoDump.cxx:827
a
TList * a
Definition: liststreamerinfos.cxx:10
y
#define y
h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
Tile_Base_ID::to_string
std::string to_string(const Identifier &id, int level=0) const
Definition: Tile_Base_ID.cxx:52
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Tile_Base_ID::pmt_id
Identifier pmt_id(const Identifier &any_id) const
Definition: Tile_Base_ID.cxx:640
TileInfoDump::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileInfoDump.h:125
TileInfoDump::m_tileToolOfcCool
ToolHandle< TileCondToolOfcCool > m_tileToolOfcCool
Definition: TileInfoDump.h:117
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TileInfoDump::m_printOfcRos
unsigned int m_printOfcRos
Definition: TileInfoDump.h:136
TileInfoDump::m_printPedestals
bool m_printPedestals
Definition: TileInfoDump.h:73
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
Tile_Base_ID::is_twosides
bool is_twosides(const Identifier &id) const
Definition: Tile_Base_ID.cxx:259
Tile_Base_ID::is_negative
bool is_negative(const Identifier &id) const
Definition: Tile_Base_ID.cxx:241
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
merge.status
status
Definition: merge.py:17
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
TileCalibUtils::getDrawerIdx
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Definition: TileCalibUtils.cxx:60
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
TileInfoDump::print1gNoise
void print1gNoise()
Definition: TileInfoDump.cxx:392
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
TileCalibUtils::MAX_CHAN
static const unsigned int MAX_CHAN
Number of channels in drawer.
Definition: TileCalibUtils.h:141
TileInfoDump::m_tileToolPulseShape
ToolHandle< TileCondToolPulseShape > m_tileToolPulseShape
Definition: TileInfoDump.h:109
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
TileInfoDump::m_isOnline
bool m_isOnline
Definition: TileInfoDump.h:58
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
TileInfo::ADCmax
int ADCmax() const
Returns the maximum ADC output (10 bits --> 1023)
Definition: TileInfo.h:71
TileBchStatus::isBad
bool isBad() const
Definition: TileBchStatus.h:145
TileRawChannelUnit::ADCcounts
@ ADCcounts
Definition: TileRawChannelUnit.h:17
TileInfoDump::m_printOfcChannel
unsigned int m_printOfcChannel
Definition: TileInfoDump.h:138
fitman.k
k
Definition: fitman.py:528
TileRawChannelUnit::OnlineMegaElectronVolts
@ OnlineMegaElectronVolts
Definition: TileRawChannelUnit.h:24
TileInfoDump::printBadChannels
void printBadChannels()
Definition: TileInfoDump.cxx:514
TileInfoDump::printOfcs
void printOfcs()
Definition: TileInfoDump.cxx:856
ServiceHandle< ICondSvc >
TileInfoDump::m_printBadCells
bool m_printBadCells
Definition: TileInfoDump.h:86
TileCalibUtils::MAX_GAIN
static const unsigned int MAX_GAIN
Number of gains per channel
Definition: TileCalibUtils.h:142
TileInfoDump::m_printOfcsCool
bool m_printOfcsCool
Definition: TileInfoDump.h:89
TileInfoDump::m_infoName
std::string m_infoName
Definition: TileInfoDump.h:141
Identifier
Definition: IdentifierFieldParser.cxx:14