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
 
ITHistSvc * m_thistSvc
 
const TileHWIDm_tileHWID
 
const TileIDm_tileID
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
 
TH2Fm_h_badCellA
 
TH2Fm_h_badCellBC
 
TH2Fm_h_badCellD
 
TH2Fm_h_badCellGap
 
TH2Fm_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 35 of file TileInfoDump.cxx.

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

◆ ~TileInfoDump()

TileInfoDump::~TileInfoDump ( )

Definition at line 70 of file TileInfoDump.cxx.

70  {
71 }

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 147 of file TileInfoDump.cxx.

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

◆ 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 932 of file TileInfoDump.cxx.

932  {
933 
934  ATH_MSG_DEBUG( "in finalize()" );
935 
936  return StatusCode::SUCCESS;
937 }

◆ initialize()

StatusCode TileInfoDump::initialize ( )

Definition at line 74 of file TileInfoDump.cxx.

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

◆ 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 395 of file TileInfoDump.cxx.

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

◆ printBadCells()

void TileInfoDump::printBadCells ( )
private

Definition at line 643 of file TileInfoDump.cxx.

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

◆ printBadChannels()

void TileInfoDump::printBadChannels ( )
private

Definition at line 517 of file TileInfoDump.cxx.

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

◆ printEmscale()

void TileInfoDump::printEmscale ( )
private

Definition at line 186 of file TileInfoDump.cxx.

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

◆ printEmscaleOnl()

void TileInfoDump::printEmscaleOnl ( )
private

Definition at line 251 of file TileInfoDump.cxx.

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

◆ printIntegrator()

void TileInfoDump::printIntegrator ( )
private

Definition at line 322 of file TileInfoDump.cxx.

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

◆ printLaser()

void TileInfoDump::printLaser ( )
private

Definition at line 288 of file TileInfoDump.cxx.

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

◆ printMuID()

void TileInfoDump::printMuID ( )
private

Definition at line 830 of file TileInfoDump.cxx.

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

◆ printOfcs()

void TileInfoDump::printOfcs ( )
private

Definition at line 859 of file TileInfoDump.cxx.

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

◆ printPedestals()

void TileInfoDump::printPedestals ( )
private

Definition at line 354 of file TileInfoDump.cxx.

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

◆ printPulseShapes()

void TileInfoDump::printPulseShapes ( )
private

Definition at line 475 of file TileInfoDump.cxx.

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

◆ printTimingCorrections()

void TileInfoDump::printTimingCorrections ( )
private

Definition at line 426 of file TileInfoDump.cxx.

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

◆ 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

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:632
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
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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:28
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
TileOfcWeightsStruct::g
float g[99]
Definition: ITileCondToolOfc.h:14
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
TileOfcWeightsStruct::w_c
float w_c[99]
Definition: ITileCondToolOfc.h:14
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:186
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:354
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:288
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
TileInfoDump::m_thistSvc
ITHistSvc * m_thistSvc
Definition: TileInfoDump.h:123
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
TileInfoDump::printBadCells
void printBadCells()
Definition: TileInfoDump.cxx:643
TileOfcWeightsStruct::n_samples
int n_samples
Definition: ITileCondToolOfc.h:15
TileOfcWeightsStruct::dg
float dg[99]
Definition: ITileCondToolOfc.h:14
TileInfoDump::printIntegrator
void printIntegrator()
Definition: TileInfoDump.cxx:322
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
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:92
TileInfoDump::m_tileID
const TileID * m_tileID
Definition: TileInfoDump.h:126
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TileInfoDump::printEmscaleOnl
void printEmscaleOnl()
Definition: TileInfoDump.cxx:251
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:426
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
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:194
TileInfoDump::m_tileInfo
const TileInfo * m_tileInfo
Definition: TileInfoDump.h:142
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
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:475
TileInfoDump::printMuID
void printMuID()
Definition: TileInfoDump.cxx:830
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:616
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
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
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:790
merge.status
status
Definition: merge.py:17
TileOfcWeightsStruct::w_a
float w_a[99]
Definition: ITileCondToolOfc.h:14
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:395
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
IdentifierHash
Definition: IdentifierHash.h:38
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
class IdContext
Definition: IdContext.h:34
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
TileOfcWeightsStruct::w_b
float w_b[99]
Definition: ITileCondToolOfc.h:14
fitman.k
k
Definition: fitman.py:528
TileRawChannelUnit::OnlineMegaElectronVolts
@ OnlineMegaElectronVolts
Definition: TileRawChannelUnit.h:24
TileInfoDump::printBadChannels
void printBadChannels()
Definition: TileInfoDump.cxx:517
TileInfoDump::printOfcs
void printOfcs()
Definition: TileInfoDump.cxx:859
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