ATLAS Offline Software
TileLaserTimingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILECALIBALG_TILELASERTIMINGTOOL_H
6 #define TILECALIBALG_TILELASERTIMINGTOOL_H
7 
33 // Gaudi includes
34 #include "GaudiKernel/ToolHandle.h"
35 
36 // Athena includes
41 
42 // Tile includes
44 #include "TileSimpleStat.h"
49 
50 #include "TH1F.h"
51 #include "TH2F.h"
52 #include "TProfile.h"
53 
54 #include <string>
55 #include <map>
56 #include <sstream>
57 
58 #define NDIODES 10
59 #define NDIODES_LASER1 4
60 #define NMONITORS 4
61 #define NPMTS 2
62 
63 #define NGAINS 2
64 #define NPARTITIONS 4
65 #define NDRAWERS 64
66 #define NCHANNELS 48
67 #define NDIGI 8
68 
69 class TileHWID;
71 
72 class TFile;
73 class TF1;
74 
75 #define TileLaserTimingMon
76 // #define TileLaserTimingMonPulse
77 // #defibe TileLaserTimingPMT0Mon
78 
79 class TileLaserTimingTool: public AthAlgTool, virtual public ITileCalibTool {
80 
81  public:
82  TileLaserTimingTool(const std::string& type, const std::string& name, const IInterface* pParent);
83  virtual ~TileLaserTimingTool();
84 
85  // implementation of ITileCalibTool
86  virtual StatusCode initialize() override;
87  virtual StatusCode initNtuple(int runNumber, int runType, TFile * rootfile) override;
88  virtual StatusCode execute() override;
89  virtual StatusCode finalizeCalculations() override;
90  virtual StatusCode writeNtuple(int runNumber, int runType, TFile * rootfile) override;
91  virtual StatusCode finalize() override;
92 
93  private:
99  struct PMTData {
100  PMTData(const std::string &id);
101 
102  // time diff wrt pmt 0
105 
106 #ifdef TileLaserTimingMon
110 #endif
111 
112 #ifdef TileLaserTimingPMT0Mon
113  // High gain data, diff wrt pmt 0
114  TH1F TimeDiffHistoHigh;
115  // Low gain data, diff wrt pmt 0
116  TH1F TimeDiffHistoLow;
117 #endif
118 
119 #ifdef TileLaserTimingMonPulse
120  TProfile pulseShapeHigh;
121  TProfile pulseShapeLow;
122 #endif
123 
124  // histogram for time residuals in inter module calib.
125  // this is TFit corrected for fiber length and the mean time of digitizer 0
127 
128  // tmp variables
129  double time; // abs time
130 #ifdef TileLaserTimingPMT0
131  double dtime; // time diff
132  double dtimeNoCFCorr;// time diff w.o. fiber correction
133 #endif
134  double energy; // ev. energy
135 
136  // Pedestal mean and sigma, accumulated
138  };
139 
140  struct DigitizerData {
141  DigitizerData();
142  void Add(float time);
143  int GetTotActive() const { return m_N_active; }
144  float GetDigiTime() const { return m_mean_time; }
145  float GetDigiTimeRMS() const { return m_mean_rms; }
146  void Freeze();
147 
148  private:
149  float m_ch_time[6];
151  float m_mean_time;
152  float m_mean_rms;
153  };
154 
155  struct DrawerData {
156  DrawerData(const std::string &id);
159 
160  // Time difference for Inter module timing
161  // The difference between time in digitizer 0 in this
162  // drawer and in the ref. drawer
164 
165 #ifdef TileLaserTimingMon
166  // Histo of mean time for digitizer 0
168 #endif
169 
170  // digitizer 0 mean time (temporary variable)
172  };
173 
174  DrawerData* (*m_drawerData)[NDRAWERS];
175 
176  static const int NROS = 5;
177 
178  // ---- Ntuple data ----
179 
180  // mean of Gaussian fit to DrawerData.Digi0TimeDiffHisto
183 
184  // time diff wrt Digi0
187  // Maximum ADC amplitude
189 
192 
193  // time diff wrt PMT0
197 
198  // mon-->
204  // <-- mon
205 
206 #ifdef TileLaserTimingPMT0Mon
207  float (*m_TimeDiffHighMean)[NDRAWERS][NCHANNELS];
208  float (*m_TimeDiffHighMeanError)[NDRAWERS][NCHANNELS];
209  float (*m_TimeDiffHighSigma)[NDRAWERS][NCHANNELS];
210 
211  float (*m_TimeDiffLowMean)[NDRAWERS][NCHANNELS];
212  float (*m_TimeDiffLowMeanError)[NDRAWERS][NCHANNELS];
213  float (*m_TimeDiffLowSigma)[NDRAWERS][NCHANNELS];
214 
215  float (*m_TimeDiffNoCFCorrMean)[NDRAWERS][NCHANNELS];
216  float (*m_TimeDiffNoCFCorrMeanError)[NDRAWERS][NCHANNELS];
217  float (*m_TimeDiffNoCFCorrSigma)[NDRAWERS][NCHANNELS];
218 #endif
219 
220  float (*m_FiberLength)[NDRAWERS][NCHANNELS]; // Not needed
221 
222 #ifdef TileLaserTimingMon
225  int (*m_IsConnected)[NDRAWERS][NCHANNELS]; // Not needed
226 
231 
233 #endif
234 
237 
239  inline DrawerData* drawerData(int ros, int drawer) {
240  if (!m_drawerData[ros - 1][drawer]) {
241  std::ostringstream sout;
242  sout << ros << '_' << drawer;
243  m_drawerData[ros - 1][drawer] = new DrawerData(sout.str());
244  }
245  return m_drawerData[ros - 1][drawer];
246  }
247 
248  //StoreGate
250  "EventInfo", "EventInfo", "EventInfo key"};
252  "TileRawChannelContainer", "TileRawChannelFit", "Tile raw channel container"};
254  "TileDigitsContainer", "TileDigitsCnt", "Tile digits container"};
255 
256  // Tools info
259  ToolHandle<TileCondToolTiming> m_tileToolTiming{this,
260  "TileCondToolTiming", "TileCondToolTiming", "Tile timing tool"};
261 
262  // jobOptions
265  std::string m_ntupleID;
266  double m_fiberLightSpeed = 0.0;
267  unsigned m_nSamples;
268  // low limit for energy when adding samples to pulse shape
270  // the reference drawer nr
271  unsigned int m_refDrawer;
273  // max allowed abs value for time diff
275  // if PMT0 or digi0 should be used as reference to dskew settings
277 
278  // the tag for the registered cond objects, default ""
279  std::string m_IOVTag;
280 
281  // help vars
282 
284  int m_nevts;
285 
286  TF1* m_gaussf;
287 
288 #ifdef TileLaserTimingMonPulse
289  // Mon data
290  TH1F* m_h1_time_check;
291  TH2F* m_h2_time_check;
292 
293  TProfile* m_PulseShapeHigh;
294  TProfile* m_PulseShapeLow;
295 #endif
296 
297  // fiber lengths
298  // first index is barrel(0) and extended barrel(1)
299  // second index is PMT-1
300  static const float s_fiberLength[2][48];
301 
303  inline bool isConnectedChan(int ros, int chan) {
304  if (m_cabling->channel2hole(ros, chan) < 0) return false;
305  return true;
306  }
308  static bool isConnectedPMT(int ros, int chan);
309 
311  inline int channel2PMT(int ros, int chan) {
312  return (abs(m_cabling->channel2hole(ros, chan)) - 1);
313  }
315  static inline bool isBarrel(int ros) {
316  return ros == 1 || ros == 2;
317  }
319  static inline bool isExtBarrel(int ros) {
320  return ros == 3 || ros == 4;
321  }
323  inline double fiberCorrection(int ros, int pmt) {
326  }
327  static inline float fiberLength(int ros, int pmt) {
328  return s_fiberLength[isExtBarrel(ros)][pmt];
329  }
331  inline HWIdentifier drawerId(int frag) {
332  return m_tileHWID->drawer_id(frag);
333  }
335  inline std::string drawerIdStr(int frag) {
336  return m_tileHWID->to_string(drawerId(frag));
337  }
339  inline HWIdentifier drawerId(int ros, int drawer) {
340  return m_tileHWID->drawer_id(ros, drawer);
341  }
342 
346  void fitGauss(TH1F &hi, float &p1, float &p2, float &p1_err);
347 
352  void fitGauss2(TH1F &hi, float &p1, float &p2, float &chi2, float &p1_err, float w1, float w2);
353 
357 
361  void correctEvenOddPMT(int ros, int drawer, TPMTArray& ChannelOffset,
362  TDrawerArrayF& MeanOddPmtTdiff, TDrawerArrayI& OddPmtCounter,
363  TDrawerArrayF& MeanEvenPmtTdiff, TDrawerArrayI& EvenPmtCounter,
364  TDrawerArrayF& EvenOddTimeDiff);
365 };
366 
367 #endif // TILECALIBALG_TILELASERTIMINGTOOL_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileRawChannelContainer
Definition: TileRawChannelContainer.h:13
TileLaserTimingTool::initNtuple
virtual StatusCode initNtuple(int runNumber, int runType, TFile *rootfile) override
Definition: TileLaserTimingTool.cxx:294
TileLaserTimingTool::m_TimeDiffSigma
float(* m_TimeDiffSigma)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:196
TileLaserTimingTool::isConnectedChan
bool isConnectedChan(int ros, int chan)
Definition: TileLaserTimingTool.h:303
TileLaserTimingTool::m_MeanOddPmtTdiffPMT0
float(* m_MeanOddPmtTdiffPMT0)[NDRAWERS]
Definition: TileLaserTimingTool.h:199
TileLaserTimingTool::~TileLaserTimingTool
virtual ~TileLaserTimingTool()
Definition: TileLaserTimingTool.cxx:208
TileLaserTimingTool::m_tileToolTiming
ToolHandle< TileCondToolTiming > m_tileToolTiming
Definition: TileLaserTimingTool.h:259
TileLaserTimingTool::fiberCorrection
double fiberCorrection(int ros, int pmt)
Definition: TileLaserTimingTool.h:323
TileLaserTimingTool::isExtBarrel
static bool isExtBarrel(int ros)
Definition: TileLaserTimingTool.h:319
TileLaserTimingTool::TDrawerArrayI
int(* TDrawerArrayI)[NDRAWERS]
Definition: TileLaserTimingTool.h:356
TileLaserTimingTool::DigitizerData::m_ch_time
float m_ch_time[6]
Definition: TileLaserTimingTool.h:149
TileLaserTimingTool::isConnectedPMT
static bool isConnectedPMT(int ros, int chan)
Definition: TileLaserTimingTool.cxx:882
TileLaserTimingTool::DrawerData::FarDigitizerMeanTime
float FarDigitizerMeanTime
Definition: TileLaserTimingTool.h:171
TileLaserTimingTool::DigitizerData::m_N_active
int m_N_active
Definition: TileLaserTimingTool.h:150
NCHANNELS
#define NCHANNELS
Definition: TileLaserTimingTool.h:66
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TH2F
Definition: rootspy.cxx:420
TileLaserTimingTool::DrawerData::pmtd
PMTData * pmtd[NCHANNELS]
Definition: TileLaserTimingTool.h:157
TileLaserTimingTool::DigitizerData::Freeze
void Freeze()
Definition: TileLaserTimingTool.cxx:80
TileLaserTimingTool::PMTData::PMTData
PMTData(const std::string &id)
Definition: TileLaserTimingTool.cxx:35
TileLaserTimingTool::m_DigiMean
float(* m_DigiMean)[NDRAWERS][NDIGI]
Definition: TileLaserTimingTool.h:236
ReadBchFromCool.pmt
pmt
Definition: ReadBchFromCool.py:62
TileLaserTimingTool::finalizeCalculations
virtual StatusCode finalizeCalculations() override
Definition: TileLaserTimingTool.cxx:553
TileLaserTimingTool::m_eneLowLimitPulseShape
double m_eneLowLimitPulseShape
Definition: TileLaserTimingTool.h:269
TileLaserTimingTool::DrawerData::DrawerData
DrawerData(const std::string &id)
Definition: TileLaserTimingTool.cxx:94
TileLaserTimingTool::m_PedestalMean
float(* m_PedestalMean)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:190
TileLaserTimingTool::writeNtuple
virtual StatusCode writeNtuple(int runNumber, int runType, TFile *rootfile) override
Definition: TileLaserTimingTool.cxx:773
TileLaserTimingTool::PMTData::TimeDiffHisto
TH1F TimeDiffHisto
Definition: TileLaserTimingTool.h:103
TileLaserTimingTool::DigitizerData::GetTotActive
int GetTotActive() const
Definition: TileLaserTimingTool.h:143
TileLaserTimingTool::DigitizerData::GetDigiTime
float GetDigiTime() const
Definition: TileLaserTimingTool.h:144
TileLaserTimingTool::m_refDrawer
unsigned int m_refDrawer
Definition: TileLaserTimingTool.h:271
ITileCalibTool
Definition: ITileCalibTool.h:19
TileLaserTimingTool::drawerId
HWIdentifier drawerId(int frag)
Definition: TileLaserTimingTool.h:331
TileLaserTimingTool::m_digitsContainerName
std::string m_digitsContainerName
Definition: TileLaserTimingTool.h:264
TileLaserTimingTool::m_PedestalSigma
float(* m_PedestalSigma)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:191
TileLaserTimingTool::DrawerData::Digi0TimeDiffHisto
TH1F Digi0TimeDiffHisto
Definition: TileLaserTimingTool.h:163
TileLaserTimingTool::m_nevts
int m_nevts
number of laser events
Definition: TileLaserTimingTool.h:284
TileLaserTimingTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileLaserTimingTool.h:257
TileLaserTimingTool::DigitizerData::Add
void Add(float time)
Definition: TileLaserTimingTool.cxx:75
SG::ReadHandleKey< xAOD::EventInfo >
TileLaserTimingTool::m_TimeDiffPMTDigi0
float(* m_TimeDiffPMTDigi0)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:223
HWIdentifier
Definition: HWIdentifier.h:13
LArCalib_HVScale2NtupleConfig.rootfile
string rootfile
Definition: LArCalib_HVScale2NtupleConfig.py:74
TileLaserTimingTool::PMTData::TimeDiffNoCFCorrHisto
TH1F TimeDiffNoCFCorrHisto
Definition: TileLaserTimingTool.h:104
TileCondToolTiming.h
TileLaserTimingTool::m_EvenPmtCounterPMT0
int(* m_EvenPmtCounterPMT0)[NDRAWERS]
Definition: TileLaserTimingTool.h:202
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
TileLaserTimingTool::m_fiberLightSpeed
double m_fiberLightSpeed
Definition: TileLaserTimingTool.h:266
TileLaserTimingTool::PMTData::pedestal
TileSimpleStat pedestal
Definition: TileLaserTimingTool.h:137
TileLaserTimingTool::execute
virtual StatusCode execute() override
TODO: determine event type, select laser?
Definition: TileLaserTimingTool.cxx:307
TileLaserTimingTool::m_nSamples
unsigned m_nSamples
Definition: TileLaserTimingTool.h:267
TileRawChannelContainer.h
TileLaserTimingTool::PMTData
Definition: TileLaserTimingTool.h:99
TileLaserTimingTool::m_MeanEvenPmtTdiffPMT0
float(* m_MeanEvenPmtTdiffPMT0)[NDRAWERS]
Definition: TileLaserTimingTool.h:201
ITileCalibTool.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileLaserTimingTool::m_IsConnected
int(* m_IsConnected)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:225
TileLaserTimingTool::m_usePMT0AsDskewRef
bool m_usePMT0AsDskewRef
Definition: TileLaserTimingTool.h:276
TileLaserTimingTool::NROS
static const int NROS
Definition: TileLaserTimingTool.h:176
TileSimpleStat
Definition: TileSimpleStat.h:10
TileLaserTimingTool::m_ntupleID
std::string m_ntupleID
Definition: TileLaserTimingTool.h:265
TileCablingService.h
TileLaserTimingTool::m_maxTimeDiff
float m_maxTimeDiff
Definition: TileLaserTimingTool.h:274
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
TileDigitsContainer.h
TileLaserTimingTool::s_fiberLength
static const float s_fiberLength[2][48]
Definition: TileLaserTimingTool.h:300
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileLaserTimingTool
Definition: TileLaserTimingTool.h:79
TileLaserTimingTool::PMTData::timeHisto
TH1F timeHisto
Definition: TileLaserTimingTool.h:107
TileLaserTimingTool::m_ChannelOffset
float(* m_ChannelOffset)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:185
TileLaserTimingTool::m_EvenOddTimeDiffPMT0
float(* m_EvenOddTimeDiffPMT0)[NDRAWERS]
Definition: TileLaserTimingTool.h:203
TileLaserTimingTool::PMTData::time
double time
Definition: TileLaserTimingTool.h:129
AthAlgTool.h
TileLaserTimingTool::initialize
virtual StatusCode initialize() override
Definition: TileLaserTimingTool.cxx:256
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
TileLaserTimingTool::m_ADCAmplitude
float(* m_ADCAmplitude)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:188
TileLaserTimingTool::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileLaserTimingTool.h:251
NDIGI
#define NDIGI
Definition: TileLaserTimingTool.h:67
TileLaserTimingTool::m_OddPmtCounter
int(* m_OddPmtCounter)[NDRAWERS]
Definition: TileLaserTimingTool.h:228
TileLaserTimingTool::DigitizerData::m_mean_rms
float m_mean_rms
Definition: TileLaserTimingTool.h:152
TileLaserTimingTool::channel2PMT
int channel2PMT(int ros, int chan)
Definition: TileLaserTimingTool.h:311
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileCablingService
Definition: TileCablingService.h:23
TileLaserTimingTool::PMTData::gainHisto
TH1F gainHisto
Definition: TileLaserTimingTool.h:109
python.OnlineISConfiguration.runType
def runType
Definition: OnlineISConfiguration.py:112
TileLaserTimingTool::m_rawChannelContainerName
std::string m_rawChannelContainerName
Definition: TileLaserTimingTool.h:263
TileLaserTimingTool::m_TimeDiffMeanError
float(* m_TimeDiffMeanError)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:195
TileLaserTimingTool::correctEvenOddPMT
void correctEvenOddPMT(int ros, int drawer, TPMTArray &ChannelOffset, TDrawerArrayF &MeanOddPmtTdiff, TDrawerArrayI &OddPmtCounter, TDrawerArrayF &MeanEvenPmtTdiff, TDrawerArrayI &EvenPmtCounter, TDrawerArrayF &EvenOddTimeDiff)
Correct for differences between even and odd PMTs.
Definition: TileLaserTimingTool.cxx:952
TileLaserTimingTool::m_FiberCorrection
float(* m_FiberCorrection)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:224
TileLaserTimingTool::TDrawerArrayF
float(* TDrawerArrayF)[NDRAWERS]
Definition: TileLaserTimingTool.h:355
TileLaserTimingTool::m_DrawerOffset
float(* m_DrawerOffset)[NDRAWERS]
Definition: TileLaserTimingTool.h:181
TileLaserTimingTool::fitGauss2
void fitGauss2(TH1F &hi, float &p1, float &p2, float &chi2, float &p1_err, float w1, float w2)
Fit a Gaussian function with two iterations mean range = hi.mean +- w1|w2 * hi.rms.
Definition: TileLaserTimingTool.cxx:917
TileHWID::drawer_id
HWIdentifier drawer_id(int frag) const
ROS HWIdentifer.
Definition: TileHWID.cxx:186
HWIdentifier.h
TileLaserTimingTool::m_gaussf
TF1 * m_gaussf
Definition: TileLaserTimingTool.h:286
TileLaserTimingTool::isBarrel
static bool isBarrel(int ros)
Definition: TileLaserTimingTool.h:315
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TileLaserTimingTool::m_TimeDiffMean
float(* m_TimeDiffMean)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:194
TileLaserTimingTool::m_DrawerOffsetError
float(* m_DrawerOffsetError)[NDRAWERS]
Definition: TileLaserTimingTool.h:182
TileLaserTimingTool::PMTData::energy
double energy
Definition: TileLaserTimingTool.h:134
TProfile
Definition: rootspy.cxx:515
TileLaserTimingTool::finalize
virtual StatusCode finalize() override
Definition: TileLaserTimingTool.cxx:873
TileLaserTimingTool::DrawerData::digid
DigitizerData digid[8]
Definition: TileLaserTimingTool.h:158
EventInfo.h
DeMoAtlasDataLoss.runNumber
string runNumber
Definition: DeMoAtlasDataLoss.py:64
TileLaserTimingTool::fitGauss
void fitGauss(TH1F &hi, float &p1, float &p2, float &p1_err)
Fit a Gaussian function (m_gaussf) to the given histogram, store mean, rms and mean error.
Definition: TileLaserTimingTool.cxx:896
TileLaserTimingTool::DigitizerData::DigitizerData
DigitizerData()
Definition: TileLaserTimingTool.cxx:67
TH1F
Definition: rootspy.cxx:320
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
TileLaserTimingTool::m_IOVTag
std::string m_IOVTag
Definition: TileLaserTimingTool.h:279
TileLaserTimingTool::m_MeanEvenPmtTdiff
float(* m_MeanEvenPmtTdiff)[NDRAWERS]
Definition: TileLaserTimingTool.h:229
TileLaserTimingTool::PMTData::eneHisto
TH1F eneHisto
Definition: TileLaserTimingTool.h:108
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TileCablingService::channel2hole
static int channel2hole(int ros, int channel)
Definition: TileCablingService.cxx:1946
TileLaserTimingTool::TPMTArray
float(* TPMTArray)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:354
TileLaserTimingTool::m_digitsContainerKey
SG::ReadHandleKey< TileDigitsContainer > m_digitsContainerKey
Definition: TileLaserTimingTool.h:253
TileLaserTimingTool::m_ChannelOffsetError
float(* m_ChannelOffsetError)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:186
TileLaserTimingTool::TileLaserTimingTool
TileLaserTimingTool(const std::string &type, const std::string &name, const IInterface *pParent)
Definition: TileLaserTimingTool.cxx:122
TileLaserTimingTool::fiberLength
static float fiberLength(int ros, int pmt)
Definition: TileLaserTimingTool.h:327
TileLaserTimingTool::m_useMeanChannelOffset
bool m_useMeanChannelOffset
Definition: TileLaserTimingTool.h:272
TileLaserTimingTool::DigitizerData::m_mean_time
float m_mean_time
Definition: TileLaserTimingTool.h:151
TileLaserTimingTool::drawerData
DrawerData * drawerData(int ros, int drawer)
Definition: TileLaserTimingTool.h:239
TileLaserTimingTool::m_DSkewSet
float(* m_DSkewSet)[NDRAWERS][NDIGI]
Definition: TileLaserTimingTool.h:235
TileLaserTimingTool::m_EvenOddTimeDiff
float(* m_EvenOddTimeDiff)[NDRAWERS]
Definition: TileLaserTimingTool.h:232
TileLaserTimingTool::m_FiberLength
float(* m_FiberLength)[NDRAWERS][NCHANNELS]
Definition: TileLaserTimingTool.h:220
TileLaserTimingTool::DigitizerData
Definition: TileLaserTimingTool.h:140
TileHWID::to_string
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
Definition: TileHWID.cxx:49
TileLaserTimingTool::DigitizerData::GetDigiTimeRMS
float GetDigiTimeRMS() const
Definition: TileLaserTimingTool.h:145
AthAlgTool
Definition: AthAlgTool.h:26
TileLaserTimingTool::drawerId
HWIdentifier drawerId(int ros, int drawer)
Definition: TileLaserTimingTool.h:339
TileSimpleStat.h
NDRAWERS
#define NDRAWERS
Definition: TileLaserTimingTool.h:65
TileLaserTimingTool::DrawerData
Definition: TileLaserTimingTool.h:155
TileLaserTimingTool::DrawerData::Digi0Time
TH1F Digi0Time
Definition: TileLaserTimingTool.h:167
TileLaserTimingTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: TileLaserTimingTool.h:249
TileLaserTimingTool::m_EvenPmtCounter
int(* m_EvenPmtCounter)[NDRAWERS]
Definition: TileLaserTimingTool.h:230
readCCLHist.float
float
Definition: readCCLHist.py:83
TileLaserTimingTool::m_OddPmtCounterPMT0
int(* m_OddPmtCounterPMT0)[NDRAWERS]
Definition: TileLaserTimingTool.h:200
TileLaserTimingTool::drawerIdStr
std::string drawerIdStr(int frag)
Definition: TileLaserTimingTool.h:335
TileLaserTimingTool::m_MeanOddPmtTdiff
float(* m_MeanOddPmtTdiff)[NDRAWERS]
Definition: TileLaserTimingTool.h:227
TileLaserTimingTool::PMTData::TimeDiffResHis
TH1F TimeDiffResHis
Definition: TileLaserTimingTool.h:126
TileLaserTimingTool::m_drawerData
DrawerData *(* m_drawerData)[NDRAWERS]
Definition: TileLaserTimingTool.h:174
TileLaserTimingTool::m_cabling
const TileCablingService * m_cabling
Definition: TileLaserTimingTool.h:258