ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileEvent
TileEvent
TileTTL1Cell.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3
/*
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
//***************************************************************************
8
// Filename : TileTTL1Cell.h
9
// Author : Ed Frank, Ambreesh Gupta
10
// : University of Chicago
11
//
12
//
13
// DESCRIPTION:
14
// TTL1Cell is the class for Tile Level 1 Trigger Towers where the energy and time are build from Tile cells
15
// This container is to add the L1Calo calibration where they can compare their tower energy to the tower energy
16
// from Tile's readout
17
// Each tower is contains a sum of Tile cells energies
18
// The time is the average time of all cells
19
// the correction factor is any pC to GeV correction factors that L1-Calo wants to account for separately
20
// the quality factor is defined as
21
// bit [0] -- individual PMTs bad
22
// bit [1] -- at least one cell bad
23
// bit [2] -- full tower is bad
24
// HISTORY:
25
//
26
// BUGS:
27
//
28
// ***************************************************************************
29
30
#ifndef TILEEVENT_TILETTL1CELL_H
31
#define TILEEVENT_TILETTL1CELL_H
32
33
#include "Identifier/Identifier.h"
34
35
#include <string>
36
#include <cstdint>
//for uint16_t
37
38
class
TileTTL1Cell
{
39
40
public
:
41
43
enum
QUALITY_BITS
{
44
MASK_BADTOWER
= 0x04,
45
MASK_BADCELL
= 0x02,
46
MASK_BADCHAN
= 0x01,
47
48
SHIFT_BADTOWER
= 2,
49
SHIFT_BADCELL
= 1,
50
SHIFT_BADCHAN
= 0
51
};
52
54
TileTTL1Cell
()
55
:
m_eneTower
(0.0),
56
m_timeAve
(0.0),
57
m_corrFactor
(0.0),
58
m_quality
(0)
59
{}
60
62
TileTTL1Cell
(
const
Identifier
&
id
,
63
float
energy,
float
time,
float
correction_factor,
64
uint16_t quality);
65
67
~TileTTL1Cell
() =
default
;
68
71
void
setEnergy
(
float
ene);
73
void
setTime
(
float
tave);
75
void
setCorrectionFactor
(
float
corrfact);
77
void
setQuality
(uint16_t qual);
78
81
const
Identifier
&
TTL1_ID
()
const
;
82
inline
Identifier
identify
(
void
)
const
{
return
m_ID
; }
83
85
inline
float
eneTower
(
void
)
const
{
return
m_eneTower
; }
87
inline
float
timeAve
(
void
)
const
{
return
m_timeAve
; }
89
inline
float
corrFactor
(
void
)
const
{
return
m_corrFactor
; }
91
inline
uint16_t
qualTower
(
void
)
const
{
return
m_quality
; }
92
94
bool
cellbad
(
void
)
const
{
return
((
m_quality
&
TileTTL1Cell::MASK_BADCELL
) != 0); }
96
bool
towerbad
(
void
)
const
{
return
((
m_quality
&
TileTTL1Cell::MASK_BADTOWER
) != 0); }
98
bool
chanbad
(
void
)
const
{
return
((
m_quality
&
TileTTL1Cell::MASK_BADCHAN
) != 0); }
99
101
std::string
whoami
(
void
)
const
{
return
"TileTTL1Cell"
; }
103
void
print
(
void
)
const
;
106
operator
std::string()
const
;
107
108
private
:
109
111
Identifier
m_ID
;
113
float
m_eneTower
;
115
float
m_timeAve
;
117
float
m_corrFactor
;
119
uint16_t
m_quality
;
120
121
122
};
123
124
#endif
// TILEEVENT_TILETTL1CELL_H
TileTTL1Cell::qualTower
uint16_t qualTower(void) const
get quality factor for (data member)
Definition
TileTTL1Cell.h:91
TileTTL1Cell::corrFactor
float corrFactor(void) const
get tower correction factor (data member)
Definition
TileTTL1Cell.h:89
TileTTL1Cell::setTime
void setTime(float tave)
set average cell time
Definition
TileTTL1Cell.cxx:58
TileTTL1Cell::TTL1_ID
const Identifier & TTL1_ID() const
all get methods
Definition
TileTTL1Cell.cxx:75
TileTTL1Cell::towerbad
bool towerbad(void) const
check if tower is bad
Definition
TileTTL1Cell.h:96
TileTTL1Cell::~TileTTL1Cell
~TileTTL1Cell()=default
destructor
TileTTL1Cell::cellbad
bool cellbad(void) const
check if tower has bad cell
Definition
TileTTL1Cell.h:94
TileTTL1Cell::QUALITY_BITS
QUALITY_BITS
definition of various bits in quality
Definition
TileTTL1Cell.h:43
TileTTL1Cell::MASK_BADCHAN
@ MASK_BADCHAN
Definition
TileTTL1Cell.h:46
TileTTL1Cell::MASK_BADCELL
@ MASK_BADCELL
Definition
TileTTL1Cell.h:45
TileTTL1Cell::SHIFT_BADTOWER
@ SHIFT_BADTOWER
Definition
TileTTL1Cell.h:48
TileTTL1Cell::SHIFT_BADCELL
@ SHIFT_BADCELL
Definition
TileTTL1Cell.h:49
TileTTL1Cell::MASK_BADTOWER
@ MASK_BADTOWER
Definition
TileTTL1Cell.h:44
TileTTL1Cell::SHIFT_BADCHAN
@ SHIFT_BADCHAN
Definition
TileTTL1Cell.h:50
TileTTL1Cell::eneTower
float eneTower(void) const
get energy for tower (data member)
Definition
TileTTL1Cell.h:85
TileTTL1Cell::m_quality
uint16_t m_quality
quality = quality bit for cell and PMTs in tower
Definition
TileTTL1Cell.h:119
TileTTL1Cell::m_corrFactor
float m_corrFactor
corrFactor = energy correction factors applied to tower
Definition
TileTTL1Cell.h:117
TileTTL1Cell::identify
Identifier identify(void) const
Definition
TileTTL1Cell.h:82
TileTTL1Cell::setEnergy
void setEnergy(float ene)
all set methods
Definition
TileTTL1Cell.cxx:54
TileTTL1Cell::setQuality
void setQuality(uint16_t qual)
set quality bits for one tower
Definition
TileTTL1Cell.cxx:66
TileTTL1Cell::m_eneTower
float m_eneTower
eneTower = sum of cell energies
Definition
TileTTL1Cell.h:113
TileTTL1Cell::setCorrectionFactor
void setCorrectionFactor(float corrfact)
set correction factor
Definition
TileTTL1Cell.cxx:62
TileTTL1Cell::timeAve
float timeAve(void) const
get time average for all cells in tower (data member)
Definition
TileTTL1Cell.h:87
TileTTL1Cell::m_timeAve
float m_timeAve
timeAve = time average of cell times.
Definition
TileTTL1Cell.h:115
TileTTL1Cell::chanbad
bool chanbad(void) const
check if a pmt is bad
Definition
TileTTL1Cell.h:98
TileTTL1Cell::m_ID
Identifier m_ID
ID = trigger tower id.
Definition
TileTTL1Cell.h:111
TileTTL1Cell::print
void print(void) const
print all cell data memebers to stdout
Definition
TileTTL1Cell.cxx:83
TileTTL1Cell::TileTTL1Cell
TileTTL1Cell()
default constructor
Definition
TileTTL1Cell.h:54
TileTTL1Cell::whoami
std::string whoami(void) const
get name of the object
Definition
TileTTL1Cell.h:101
Identifier
Definition
IdentifierFieldParser.cxx:14
Generated on
for ATLAS Offline Software by
1.17.0