ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileCalib
TileCalibAlgs
src
TileLaserLinearityCalibTool.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_TILELASERLINEARITYCALIBTOOL_H
6
#define TILECALIBALG_TILELASERLINEARITYCALIBTOOL_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
10
#include "
TileCalibAlgs/ITileCalibTool.h
"
11
#include "
TileLaserDefaultCalibTool.h
"
12
13
#include <string>
14
#include <map>
15
16
#include "
TileConditions/TileCablingService.h
"
17
#include "
TileConditions/TileCondToolEmscale.h
"
18
#include "
TileEvent/TileDQstatus.h
"
19
#include "
TileEvent/TileRawChannelContainer.h
"
20
#include "
TileEvent/TileLaserObject.h
"
21
#include "
StoreGate/ReadHandleKey.h
"
22
23
#define NFILTERS 10
24
#define NDIODES 10
25
#define NDIODES_LASER1 4
26
#define NMONITORS 4
27
#define NPMTS 2
28
29
#define NGAINS 2
30
#define NPARTITIONS 4
31
#define NDRAWERS 64
32
#define NCOUPLES 22
33
#define NCHANNELS 48
34
#define NSLICES 100
35
#define NFIBERS 2
36
37
class
TileRawChannelContainer
;
38
class
TileLaserObject
;
39
class
TileHWID
;
40
class
TFile;
41
42
class
TileLaserLinearityCalibTool
:
public
AthAlgTool
,
virtual
public
ITileCalibTool
43
{
44
45
public
:
46
TileLaserLinearityCalibTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* pParent);
47
virtual
~TileLaserLinearityCalibTool
();
48
49
virtual
StatusCode
initialize
()
override
;
50
virtual
StatusCode
initNtuple
(
int
runNumber,
int
runType, TFile *
rootfile
)
override
;
51
virtual
StatusCode
execute
()
override
;
52
virtual
StatusCode
finalizeCalculations
()
override
;
53
virtual
StatusCode
writeNtuple
(
int
runNumber,
int
runType, TFile *
rootfile
)
override
;
54
virtual
StatusCode
finalize
()
override
;
55
56
private
:
57
58
// Name of ntuple of the Tool
59
std::string
m_toolNtuple
;
60
61
std::string
m_rawChannelContainerName
;
62
std::string
m_laserContainerName
;
63
SG::ReadHandleKey<TileDQstatus>
m_dqStatusKey
;
64
65
SG::ReadHandleKey<TileRawChannelContainer>
m_rawChannelContainerKey
{
this
,
66
"TileRawChannelContainer"
,
"TileRawChannelOpt2"
,
"Input Tile raw channel container"
};
67
SG::ReadHandleKey<TileLaserObject>
m_laserContainerKey
{
this
,
68
"TileLaserObject"
,
"TileLaserObject"
,
"Input Tile laser object"
};
69
70
const
TileHWID
*
m_tileHWID
;
71
const
TileCablingService
*
m_cabling
;
72
ToolHandle<TileCondToolEmscale>
m_tileToolEmscale
{
this
,
73
"TileCondToolEmscale"
,
"TileCondToolEmscale"
,
"Tile em scale tool"
};
74
75
// Parameter which will end up in the ROOTuple
76
//
77
// Details concerning this parameters could be found on the LASER webpage :
78
//
79
// http://atlas-tile-laser.web.cern.ch/
80
//
81
// Here we are working on linearity runs, it explains the [8] in the arrays
82
// we store one value per filter position
83
84
int
m_toolRunNo
;
// The run number
85
int
m_ADC_problem
;
// Expert tag for LastROD problem noticfication
86
int
m_las_filter
;
// Filter wheel position
87
double
m_las_requ_amp
;
// Requested amplitude
88
double
m_hrate
;
// Humidity rate (in %)
89
double
m_flow
;
// Gas flow in diodes box (in L/h)
90
double
m_head_temp
;
// Temperature of the LASER head
91
double
m_las_time
;
// Event time
92
double (*
m_LG_PMT
)[
NPMTS
];
// Mean value for box PMTs
93
double (*
m_LG_PMT_S
)[
NPMTS
];
// Corresponding RMS
94
double (*
m_LG_diode
)[
NDIODES
];
// Mean value for box Photodiodes
95
double (*
m_LG_diode_S
)[
NDIODES
];
// Corresponding RMS
96
double (*
m_HG_PMT
)[
NPMTS
];
// Mean value for box PMTs
97
double (*
m_HG_PMT_S
)[
NPMTS
];
// Corresponding RMS
98
double (*
m_HG_diode
)[
NDIODES
];
// Mean value for box Photodiodes
99
double (*
m_HG_diode_S
)[
NDIODES
];
// Corresponding RMS
100
double (*
m_mean
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Mean signal computed for this run
101
double (*
m_mean_S
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Corresponding RMS
102
double (*
m_LG_ratio
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Calib coefficients computed for this run (for all diodes)
103
double (*
m_LG_ratio_S
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Corresponding RMS
104
double (*
m_LG_ratio2
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Calib coefficients computed for this run (for all diodes)
105
double (*
m_LG_ratio2_S
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Corresponding RMS
106
double (*
m_HG_ratio
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Calib coefficients computed for this run (for all diodes)
107
double (*
m_HG_ratio_S
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Corresponding RMS
108
double (*
m_HG_ratio2
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Calib coefficients computed for this run (for all diodes)
109
double (*
m_HG_ratio2_S
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Corresponding RMS
110
int (*
m_entries
)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
// Number of LASER events collected for one channel (and a particular gain)
111
112
113
// Local results - not sent to ROOTuple
114
115
int
m_PMT1_ADC_prev
[2];
116
int
m_PMT2_ADC_prev
[2];
117
118
int
m_first_filter
;
// Value of the first filter position
119
120
int
m_last_evt_filter
;
// Filter position of the previous event
121
int
m_n_same_filt_evts
;
// How many events in a row with the same filter setting
122
123
bool
m_complete_turn
;
124
125
RunningStat
* (*m_HG_diode_signal)[
NDIODES
];
126
RunningStat
* (*m_HG_PMT_signal)[
NPMTS
];
127
RunningStat
* (*m_LG_diode_signal)[
NDIODES
];
128
RunningStat
* (*m_LG_PMT_signal)[
NPMTS
];
129
RunningStat
* (*m_signal)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
130
RunningStat
* (*m_LG_ratio_stat)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
131
RunningStat
* (*m_LG_ratio2_stat)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
132
RunningStat
* (*m_HG_ratio_stat)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
133
RunningStat
* (*m_HG_ratio2_stat)[
NPARTITIONS
][
NDRAWERS
][
NCHANNELS
][
NGAINS
];
134
135
// Functions
136
inline
int
chanIsConnected
(
int
ros,
int
chan) {
137
if
(
m_cabling
->channel2hole(ros,chan)<0)
return
0;
//negative means not connected
138
return
1;
139
}
140
};
141
142
143
144
#endif
// #ifndef TILECALIBALG_TILELASERLINEARITYCALIBTOOL_H
AthAlgTool.h
ITileCalibTool.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TileCablingService.h
TileCondToolEmscale.h
TileDQstatus.h
Information produced by TileDQstatusAlg (used to be done by TileBeamInfoProvider).
TileLaserDefaultCalibTool.h
NDIODES
#define NDIODES
Definition
TileLaserLinearityCalibTool.h:24
NGAINS
#define NGAINS
Definition
TileLaserLinearityCalibTool.h:29
NCHANNELS
#define NCHANNELS
Definition
TileLaserLinearityCalibTool.h:33
NPARTITIONS
#define NPARTITIONS
Definition
TileLaserLinearityCalibTool.h:30
NDRAWERS
#define NDRAWERS
Definition
TileLaserLinearityCalibTool.h:31
NPMTS
#define NPMTS
Definition
TileLaserLinearityCalibTool.h:27
TileLaserObject.h
TileRawChannelContainer.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
ITileCalibTool
Definition
ITileCalibTool.h:19
RunningStat
Definition
TileLaserDefaultCalibTool.h:232
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
TileCablingService
Definition
TileCablingService.h:23
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition
TileHWID.h:49
TileLaserLinearityCalibTool::m_n_same_filt_evts
int m_n_same_filt_evts
Definition
TileLaserLinearityCalibTool.h:121
TileLaserLinearityCalibTool::m_laserContainerKey
SG::ReadHandleKey< TileLaserObject > m_laserContainerKey
Definition
TileLaserLinearityCalibTool.h:67
TileLaserLinearityCalibTool::m_PMT2_ADC_prev
int m_PMT2_ADC_prev[2]
Definition
TileLaserLinearityCalibTool.h:116
TileLaserLinearityCalibTool::m_HG_ratio
double(* m_HG_ratio)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:106
TileLaserLinearityCalibTool::m_LG_diode
double(* m_LG_diode)[NDIODES]
Definition
TileLaserLinearityCalibTool.h:94
TileLaserLinearityCalibTool::m_LG_ratio2_S
double(* m_LG_ratio2_S)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:105
TileLaserLinearityCalibTool::m_las_time
double m_las_time
Definition
TileLaserLinearityCalibTool.h:91
TileLaserLinearityCalibTool::m_tileToolEmscale
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
Definition
TileLaserLinearityCalibTool.h:72
TileLaserLinearityCalibTool::m_entries
int(* m_entries)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:110
TileLaserLinearityCalibTool::m_complete_turn
bool m_complete_turn
Definition
TileLaserLinearityCalibTool.h:123
TileLaserLinearityCalibTool::initNtuple
virtual StatusCode initNtuple(int runNumber, int runType, TFile *rootfile) override
Definition
TileLaserLinearityCalibTool.cxx:211
TileLaserLinearityCalibTool::m_rawChannelContainerName
std::string m_rawChannelContainerName
Definition
TileLaserLinearityCalibTool.h:61
TileLaserLinearityCalibTool::m_LG_ratio2
double(* m_LG_ratio2)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:104
TileLaserLinearityCalibTool::m_LG_ratio
double(* m_LG_ratio)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:102
TileLaserLinearityCalibTool::m_LG_PMT
double(* m_LG_PMT)[NPMTS]
Definition
TileLaserLinearityCalibTool.h:92
TileLaserLinearityCalibTool::m_mean_S
double(* m_mean_S)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:101
TileLaserLinearityCalibTool::finalize
virtual StatusCode finalize() override
Definition
TileLaserLinearityCalibTool.cxx:639
TileLaserLinearityCalibTool::m_ADC_problem
int m_ADC_problem
Definition
TileLaserLinearityCalibTool.h:85
TileLaserLinearityCalibTool::m_last_evt_filter
int m_last_evt_filter
Definition
TileLaserLinearityCalibTool.h:120
TileLaserLinearityCalibTool::m_las_requ_amp
double m_las_requ_amp
Definition
TileLaserLinearityCalibTool.h:87
TileLaserLinearityCalibTool::m_flow
double m_flow
Definition
TileLaserLinearityCalibTool.h:89
TileLaserLinearityCalibTool::m_toolNtuple
std::string m_toolNtuple
Definition
TileLaserLinearityCalibTool.h:59
TileLaserLinearityCalibTool::m_cabling
const TileCablingService * m_cabling
Definition
TileLaserLinearityCalibTool.h:71
TileLaserLinearityCalibTool::initialize
virtual StatusCode initialize() override
Definition
TileLaserLinearityCalibTool.cxx:131
TileLaserLinearityCalibTool::finalizeCalculations
virtual StatusCode finalizeCalculations() override
Definition
TileLaserLinearityCalibTool.cxx:484
TileLaserLinearityCalibTool::m_HG_diode_S
double(* m_HG_diode_S)[NDIODES]
Definition
TileLaserLinearityCalibTool.h:99
TileLaserLinearityCalibTool::m_toolRunNo
int m_toolRunNo
Definition
TileLaserLinearityCalibTool.h:84
TileLaserLinearityCalibTool::m_tileHWID
const TileHWID * m_tileHWID
Definition
TileLaserLinearityCalibTool.h:70
TileLaserLinearityCalibTool::chanIsConnected
int chanIsConnected(int ros, int chan)
Definition
TileLaserLinearityCalibTool.h:136
TileLaserLinearityCalibTool::m_LG_PMT_S
double(* m_LG_PMT_S)[NPMTS]
Definition
TileLaserLinearityCalibTool.h:93
TileLaserLinearityCalibTool::m_LG_diode_S
double(* m_LG_diode_S)[NDIODES]
Definition
TileLaserLinearityCalibTool.h:95
TileLaserLinearityCalibTool::m_head_temp
double m_head_temp
Definition
TileLaserLinearityCalibTool.h:90
TileLaserLinearityCalibTool::m_las_filter
int m_las_filter
Definition
TileLaserLinearityCalibTool.h:86
TileLaserLinearityCalibTool::m_HG_ratio2_S
double(* m_HG_ratio2_S)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:109
TileLaserLinearityCalibTool::writeNtuple
virtual StatusCode writeNtuple(int runNumber, int runType, TFile *rootfile) override
Definition
TileLaserLinearityCalibTool.cxx:593
TileLaserLinearityCalibTool::m_HG_diode
double(* m_HG_diode)[NDIODES]
Definition
TileLaserLinearityCalibTool.h:98
TileLaserLinearityCalibTool::m_HG_PMT
double(* m_HG_PMT)[NPMTS]
Definition
TileLaserLinearityCalibTool.h:96
TileLaserLinearityCalibTool::m_HG_PMT_S
double(* m_HG_PMT_S)[NPMTS]
Definition
TileLaserLinearityCalibTool.h:97
TileLaserLinearityCalibTool::m_laserContainerName
std::string m_laserContainerName
Definition
TileLaserLinearityCalibTool.h:62
TileLaserLinearityCalibTool::execute
virtual StatusCode execute() override
Definition
TileLaserLinearityCalibTool.cxx:229
TileLaserLinearityCalibTool::m_hrate
double m_hrate
Definition
TileLaserLinearityCalibTool.h:88
TileLaserLinearityCalibTool::m_LG_ratio_S
double(* m_LG_ratio_S)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:103
TileLaserLinearityCalibTool::m_first_filter
int m_first_filter
Definition
TileLaserLinearityCalibTool.h:118
TileLaserLinearityCalibTool::m_HG_ratio2
double(* m_HG_ratio2)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:108
TileLaserLinearityCalibTool::m_mean
double(* m_mean)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:100
TileLaserLinearityCalibTool::TileLaserLinearityCalibTool
TileLaserLinearityCalibTool(const std::string &type, const std::string &name, const IInterface *pParent)
Definition
TileLaserLinearityCalibTool.cxx:34
TileLaserLinearityCalibTool::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition
TileLaserLinearityCalibTool.h:65
TileLaserLinearityCalibTool::m_HG_ratio_S
double(* m_HG_ratio_S)[NPARTITIONS][NDRAWERS][NCHANNELS][NGAINS]
Definition
TileLaserLinearityCalibTool.h:107
TileLaserLinearityCalibTool::~TileLaserLinearityCalibTool
virtual ~TileLaserLinearityCalibTool()
Definition
TileLaserLinearityCalibTool.cxx:88
TileLaserLinearityCalibTool::m_dqStatusKey
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
Definition
TileLaserLinearityCalibTool.h:63
TileLaserLinearityCalibTool::m_PMT1_ADC_prev
int m_PMT1_ADC_prev[2]
Definition
TileLaserLinearityCalibTool.h:115
TileLaserObject
Definition
TileLaserObject.h:33
TileRawChannelContainer
Definition
TileRawChannelContainer.h:13
rootfile
static std::vector< std::string > rootfile
Definition
iLumiCalc.h:30
type
Generated on
for ATLAS Offline Software by
1.17.0