ATLAS Offline Software
Loading...
Searching...
No Matches
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
12#include <string>
16#include <cstdint> //for uint32_t etc
17#include <memory>
18
19class TTree;
21{
22public:
23
24 unsigned int m_lastRunNumber{0};
26
27
28 SG::ReadHandleKey<xAOD::ZdcModuleContainer> m_zdcModuleContainerName{this, "ZdcModuleContainerName", "ZdcModules", ""};
29 SG::ReadHandleKey<xAOD::ZdcModuleContainer> m_zdcSumContainerName{this, "ZdcSumContainerName", "ZdcSums", ""};
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{};
57 uint32_t t_timeStamp{};
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
90
91 // LIS raw waveform data
93
94 LisNtuple(const std::string &name, ISvcLocator *pSvcLocator);
95
96 void processEventInfo();
99
100 virtual StatusCode initialize() override;
101 virtual StatusCode execute() override;
102 virtual StatusCode finalize() override;
103
104 void processVInjInfo();
105};
106
107#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
the (new) base class for EventLoop algorithms
std::string m_auxSuffix
Definition LisNtuple.h:39
uint32_t t_timeStampNSOffset
Definition LisNtuple.h:58
const xAOD::TrigDecision * m_trigDecision
Definition LisNtuple.h:32
uint8_t t_bunchGroup
Definition LisNtuple.h:55
float t_LISPresample[nLISChannels]
Definition LisNtuple.h:84
uint32_t t_runNumber
Definition LisNtuple.h:51
int t_LISADCSum[nLISChannels]
Definition LisNtuple.h:85
uint32_t t_eventNumber
Definition LisNtuple.h:52
void processLisNtupleFromModules()
static constexpr int LISTypeInd
Definition LisNtuple.h:79
bool enableTrigger
Definition LisNtuple.h:36
unsigned int t_LISMaxSample[nLISChannels]
Definition LisNtuple.h:87
uint32_t t_tbp[nTriggerWords]
Definition LisNtuple.h:64
float t_actIntPerCrossing
Definition LisNtuple.h:60
float t_vInj
Definition LisNtuple.h:50
const xAOD::EventInfo * m_eventInfo
Definition LisNtuple.h:30
virtual StatusCode execute() override
Definition LisNtuple.cxx:77
static constexpr int infoSumInd
Definition LisNtuple.h:81
static constexpr int LISModuleInd
Definition LisNtuple.h:80
virtual StatusCode initialize() override
Definition LisNtuple.cxx:24
static constexpr int nTriggerWords
Definition LisNtuple.h:41
uint32_t t_extendedLevel1ID
Definition LisNtuple.h:56
int m_eventCounter
Definition LisNtuple.h:31
bool processTriggerDecision()
unsigned int t_LISModuleStatus[nLISChannels]
Definition LisNtuple.h:89
static constexpr int nSamples
Definition LisNtuple.h:77
void processVInjInfo()
float t_avgIntPerCrossing
Definition LisNtuple.h:59
bool m_enableOutputTree
Definition LisNtuple.h:35
uint32_t t_bcid
Definition LisNtuple.h:54
uint16_t t_LISRawdata[nLISChannels][nSamples]
Definition LisNtuple.h:92
uint32_t t_tav[nTriggerWords]
Definition LisNtuple.h:62
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcSumContainerName
Definition LisNtuple.h:29
virtual StatusCode finalize() override
float t_prescales[200]
Definition LisNtuple.h:68
uint32_t t_lumiBlock
Definition LisNtuple.h:53
ZdcInjPulserAmpMap::Token m_injMapRunToken
Definition LisNtuple.h:25
unsigned int m_lastRunNumber
Definition LisNtuple.h:24
SG::ReadHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleContainerName
Definition LisNtuple.h:28
uint32_t t_timeStamp
Definition LisNtuple.h:57
void processEventInfo()
bool m_lisLED
Definition LisNtuple.h:38
float t_LISAvgTime[nLISChannels]
Definition LisNtuple.h:88
bool m_lisInj
Definition LisNtuple.h:37
uint32_t t_trigger_TBP
Definition LisNtuple.h:67
unsigned int t_LEDType
Definition LisNtuple.h:73
TTree * m_outputTree
Definition LisNtuple.h:44
LisNtuple(const std::string &name, ISvcLocator *pSvcLocator)
Definition LisNtuple.cxx:12
bool t_decisions[200]
Definition LisNtuple.h:69
int t_LISMaxADC[nLISChannels]
Definition LisNtuple.h:86
static constexpr int nLISChannels
Definition LisNtuple.h:76
uint64_t t_trigger
Definition LisNtuple.h:66
std::unique_ptr< ZdcInjPulserAmpMap > m_zdcInjPulserAmpMap
Definition LisNtuple.h:47
bool t_rerunDecisions[200]
Definition LisNtuple.h:70
Property holding a SG store/key/clid from which a ReadHandle is made.
EventInfo_v1 EventInfo
Definition of the latest event info version.
TrigDecision_v1 TrigDecision
Define the latest version of the trigger decision class.