ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
ForwardDetectors
ZDC
ZdcNtuple
ZdcNtuple
LisNtuple.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ZdcNtuple_LisNtuple_H
6
#define ZdcNtuple_LisNtuple_H
7
8
#include <
AnaAlgorithm/AnaAlgorithm.h
>
9
#include "
AsgDataHandles/ReadHandleKey.h
"
10
#include "
xAODEventInfo/EventInfo.h
"
11
#include "
xAODForward/ZdcModuleContainer.h
"
12
#include <string>
13
#include <
ZdcConditions/ZdcInjPulserAmpMap.h
>
14
#include <
xAODTrigger/TrigDecision.h
>
15
#include <
TrigDecisionTool/TrigDecisionTool.h
>
16
#include <cstdint>
//for uint32_t etc
17
#include <memory>
18
19
class
TTree;
20
class
LisNtuple
:
public
EL::AnaAlgorithm
21
{
22
public
:
23
24
unsigned
int
m_lastRunNumber
{0};
25
ZdcInjPulserAmpMap::Token
m_injMapRunToken
{};
26
27
28
SG::ReadHandleKey<xAOD::ZdcModuleContainer>
m_zdcModuleContainerName
{
this
,
"ZdcModuleContainerName"
,
"ZdcModules"
,
""
};
29
SG::ReadHandleKey<xAOD::ZdcModuleContainer>
m_zdcSumContainerName
{
this
,
"ZdcSumContainerName"
,
"ZdcSums"
,
""
};
30
const
xAOD::EventInfo
*
m_eventInfo
{};
31
int
m_eventCounter
{};
32
const
xAOD::TrigDecision
*
m_trigDecision
{};
33
34
// flags
35
bool
m_enableOutputTree
{};
// enable output TTree
36
bool
enableTrigger
{};
// use trigger info
37
bool
m_lisInj
{};
// LIS injected-pulse run
38
bool
m_lisLED
{};
// LIS LED run
39
std::string
m_auxSuffix
{};
// suffix for aux data names when reprocessing
40
41
static
constexpr
int
nTriggerWords
= 16;
// 16 words in trigDecision->tbp() and trigDecision->tav()
42
43
// output tree
44
TTree *
m_outputTree
{};
45
46
// inj map
47
std::unique_ptr<ZdcInjPulserAmpMap>
m_zdcInjPulserAmpMap
;
48
49
// evt info
50
float
t_vInj
{};
51
uint32_t
t_runNumber
{};
52
uint32_t
t_eventNumber
{};
53
uint32_t
t_lumiBlock
{};
54
uint32_t
t_bcid
{};
55
uint8_t
t_bunchGroup
{};
56
uint32_t
t_extendedLevel1ID
{};
57
uint32_t
t_timeStamp
{};
58
uint32_t
t_timeStampNSOffset
{};
59
float
t_avgIntPerCrossing
{};
60
float
t_actIntPerCrossing
{};
61
62
uint32_t
t_tav
[
nTriggerWords
]{};
// 16*32 = 512, floor(ID/32) to get the position in tav[]
63
// and ID%32 to get the position within each long word
64
uint32_t
t_tbp
[
nTriggerWords
]{};
// 16*32 = 512, floor(ID/32) to get the position in tbp[]
65
// and ID%32 to get the position within each long word
66
uint64_t
t_trigger
{};
67
uint32_t
t_trigger_TBP
{};
68
float
t_prescales
[200]{};
69
bool
t_decisions
[200]{};
70
bool
t_rerunDecisions
[200]{};
71
72
// LED type (for LED events)
73
unsigned
int
t_LEDType
{};
74
75
// LIS module constants
76
static
constexpr
int
nLISChannels
= 8;
// LIS channels per side
77
static
constexpr
int
nSamples
= 24;
78
79
static
constexpr
int
LISTypeInd
= 2;
// LIS type index
80
static
constexpr
int
LISModuleInd
= 5;
// LIS module index
81
static
constexpr
int
infoSumInd
= 0;
// side index for event-level info
82
83
// LIS processed quantities
84
float
t_LISPresample
[
nLISChannels
]{};
85
int
t_LISADCSum
[
nLISChannels
]{};
86
int
t_LISMaxADC
[
nLISChannels
]{};
87
unsigned
int
t_LISMaxSample
[
nLISChannels
]{};
88
float
t_LISAvgTime
[
nLISChannels
]{};
89
unsigned
int
t_LISModuleStatus
[
nLISChannels
]{};
90
91
// LIS raw waveform data
92
uint16_t
t_LISRawdata
[
nLISChannels
][
nSamples
]{};
93
94
LisNtuple
(
const
std::string &name, ISvcLocator *pSvcLocator);
95
96
void
processEventInfo
();
97
void
processLisNtupleFromModules
();
98
bool
processTriggerDecision
();
99
100
virtual
StatusCode
initialize
()
override
;
101
virtual
StatusCode
execute
()
override
;
102
virtual
StatusCode
finalize
()
override
;
103
104
void
processVInjInfo
();
105
};
106
107
#endif
AnaAlgorithm.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigDecision.h
TrigDecisionTool.h
ZdcInjPulserAmpMap.h
ZdcModuleContainer.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition
AnaAlgorithm.h:74
LisNtuple::m_auxSuffix
std::string m_auxSuffix
Definition
LisNtuple.h:39
LisNtuple::t_timeStampNSOffset
uint32_t t_timeStampNSOffset
Definition
LisNtuple.h:58
LisNtuple::m_trigDecision
const xAOD::TrigDecision * m_trigDecision
Definition
LisNtuple.h:32
LisNtuple::t_bunchGroup
uint8_t t_bunchGroup
Definition
LisNtuple.h:55
LisNtuple::t_LISPresample
float t_LISPresample[nLISChannels]
Definition
LisNtuple.h:84
LisNtuple::t_runNumber
uint32_t t_runNumber
Definition
LisNtuple.h:51
LisNtuple::t_LISADCSum
int t_LISADCSum[nLISChannels]
Definition
LisNtuple.h:85
LisNtuple::t_eventNumber
uint32_t t_eventNumber
Definition
LisNtuple.h:52
LisNtuple::processLisNtupleFromModules
void processLisNtupleFromModules()
Definition
LisNtuple.cxx:115
LisNtuple::LISTypeInd
static constexpr int LISTypeInd
Definition
LisNtuple.h:79
LisNtuple::enableTrigger
bool enableTrigger
Definition
LisNtuple.h:36
LisNtuple::t_LISMaxSample
unsigned int t_LISMaxSample[nLISChannels]
Definition
LisNtuple.h:87
LisNtuple::t_tbp
uint32_t t_tbp[nTriggerWords]
Definition
LisNtuple.h:64
LisNtuple::t_actIntPerCrossing
float t_actIntPerCrossing
Definition
LisNtuple.h:60
LisNtuple::t_vInj
float t_vInj
Definition
LisNtuple.h:50
LisNtuple::m_eventInfo
const xAOD::EventInfo * m_eventInfo
Definition
LisNtuple.h:30
LisNtuple::execute
virtual StatusCode execute() override
Definition
LisNtuple.cxx:77
LisNtuple::infoSumInd
static constexpr int infoSumInd
Definition
LisNtuple.h:81
LisNtuple::LISModuleInd
static constexpr int LISModuleInd
Definition
LisNtuple.h:80
LisNtuple::initialize
virtual StatusCode initialize() override
Definition
LisNtuple.cxx:24
LisNtuple::nTriggerWords
static constexpr int nTriggerWords
Definition
LisNtuple.h:41
LisNtuple::t_extendedLevel1ID
uint32_t t_extendedLevel1ID
Definition
LisNtuple.h:56
LisNtuple::m_eventCounter
int m_eventCounter
Definition
LisNtuple.h:31
LisNtuple::processTriggerDecision
bool processTriggerDecision()
Definition
LisNtuple.cxx:294
LisNtuple::t_LISModuleStatus
unsigned int t_LISModuleStatus[nLISChannels]
Definition
LisNtuple.h:89
LisNtuple::nSamples
static constexpr int nSamples
Definition
LisNtuple.h:77
LisNtuple::processVInjInfo
void processVInjInfo()
Definition
LisNtuple.cxx:323
LisNtuple::t_avgIntPerCrossing
float t_avgIntPerCrossing
Definition
LisNtuple.h:59
LisNtuple::m_enableOutputTree
bool m_enableOutputTree
Definition
LisNtuple.h:35
LisNtuple::t_bcid
uint32_t t_bcid
Definition
LisNtuple.h:54
LisNtuple::t_LISRawdata
uint16_t t_LISRawdata[nLISChannels][nSamples]
Definition
LisNtuple.h:92
LisNtuple::t_tav
uint32_t t_tav[nTriggerWords]
Definition
LisNtuple.h:62
LisNtuple::m_zdcSumContainerName
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcSumContainerName
Definition
LisNtuple.h:29
LisNtuple::finalize
virtual StatusCode finalize() override
Definition
LisNtuple.cxx:289
LisNtuple::t_prescales
float t_prescales[200]
Definition
LisNtuple.h:68
LisNtuple::t_lumiBlock
uint32_t t_lumiBlock
Definition
LisNtuple.h:53
LisNtuple::m_injMapRunToken
ZdcInjPulserAmpMap::Token m_injMapRunToken
Definition
LisNtuple.h:25
LisNtuple::m_lastRunNumber
unsigned int m_lastRunNumber
Definition
LisNtuple.h:24
LisNtuple::m_zdcModuleContainerName
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleContainerName
Definition
LisNtuple.h:28
LisNtuple::t_timeStamp
uint32_t t_timeStamp
Definition
LisNtuple.h:57
LisNtuple::processEventInfo
void processEventInfo()
Definition
LisNtuple.cxx:247
LisNtuple::m_lisLED
bool m_lisLED
Definition
LisNtuple.h:38
LisNtuple::t_LISAvgTime
float t_LISAvgTime[nLISChannels]
Definition
LisNtuple.h:88
LisNtuple::m_lisInj
bool m_lisInj
Definition
LisNtuple.h:37
LisNtuple::t_trigger_TBP
uint32_t t_trigger_TBP
Definition
LisNtuple.h:67
LisNtuple::t_LEDType
unsigned int t_LEDType
Definition
LisNtuple.h:73
LisNtuple::m_outputTree
TTree * m_outputTree
Definition
LisNtuple.h:44
LisNtuple::LisNtuple
LisNtuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition
LisNtuple.cxx:12
LisNtuple::t_decisions
bool t_decisions[200]
Definition
LisNtuple.h:69
LisNtuple::t_LISMaxADC
int t_LISMaxADC[nLISChannels]
Definition
LisNtuple.h:86
LisNtuple::nLISChannels
static constexpr int nLISChannels
Definition
LisNtuple.h:76
LisNtuple::t_trigger
uint64_t t_trigger
Definition
LisNtuple.h:66
LisNtuple::m_zdcInjPulserAmpMap
std::unique_ptr< ZdcInjPulserAmpMap > m_zdcInjPulserAmpMap
Definition
LisNtuple.h:47
LisNtuple::t_rerunDecisions
bool t_rerunDecisions[200]
Definition
LisNtuple.h:70
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
ZdcInjPulserAmpMap::Token
Definition
ZdcInjPulserAmpMap.h:28
xAOD::EventInfo
EventInfo_v1 EventInfo
Definition of the latest event info version.
Definition
IEventInfoCnvTool.h:16
xAOD::TrigDecision
TrigDecision_v1 TrigDecision
Define the latest version of the trigger decision class.
Definition
Event/xAOD/xAODTrigger/xAODTrigger/TrigDecision.h:16
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0