ATLAS Offline Software
Loading...
Searching...
No Matches
VP1TriggerTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5/***********************************************************************************
6 * @Package : VP1TriggerSystems
7 * @Class : VP1TriggerTool
8 *
9 * @brief : VP1 Trigger Tool - public access tool to retrieve trigger data
10 *
11 * @author : Manuel Proissl <mproissl@cern.ch> - University of Edinburgh
12 ***********************************************************************************/
13
14//Local includes
17
18//Other includes
19#include <iostream>
20#include <string>
21#include <vector>
22#include <map>
23#include <stdio.h>
24
25
26//Trigger System Constructor
27//_____________________________________________________________________________________________
29 : Logger("VP1TriggerTool"),
30 m_status(false)
31{
32 //Initialize VP1TriggerProcessor
33 log_info("Initializing VP1Trig::VP1TriggerProcessor");
35 m_triggerprocessor->initialize();
36}
37
38
39//Trigger System Destructor
40//_____________________________________________________________________________________________
46
47
48//Load Trigger Data from StoreGate (after new event loaded)
49//_____________________________________________________________________________________________
51{
52 if(m_status)
53 clear();
54
55 log_info("Load trigger data from StoreGate");
56 if(m_triggerprocessor->getInitStatus()) {
57 m_triggerprocessor->loadData(storeGate);
58 m_status=true;
59 log_info("Successfully retrieved the VP1TriggerTool!");
60 }
61 else {
62 m_status=false;
63 log_error("VP1Trig::VP1TriggerProcessor not initialized!");
64 }
65}
66
67
68//Clear Trigger System (before new event loaded)
69//_____________________________________________________________________________________________
71{
72 log_verbose("Clear system-wide allocated memory");
73 m_status=false;
74 m_triggerprocessor->clearSystem();
75}
76
77
78//#############################################################################################
79// USER INTERFACE TO TRIGGER DATA
80//#############################################################################################
81
82
83//Return System Status
84//_____________________________________________________________________________________________
86{
87 log_verbose("Requesting DAQ status from VP1Trig::VP1TriggerProcessor");
88 if(m_status && m_triggerprocessor->getDaqStatus())
89 return true;
90 return false;
91}
92
93
94//Set trigger level flag to process its data
95//--- Note: has to be called before new event loaded, which means before system ---
96//--- refresh(), e.g. at the particular channel init() or create(). ---
97//--- Default: [ALL] trigger levels; set by constructor. ---
98//_____________________________________________________________________________________________
100{
101 log_verbose("Presetting trigger level flag in VP1Trig::VP1TriggerProcessor");
102 m_triggerprocessor->setTrigLvl(triglvl);
103}
104
105
106//Get trigger level flag to process its data
107//_____________________________________________________________________________________________
109{
110 log_verbose("Requesting preset trigger level flag from VP1Trig::VP1TriggerProcessor");
111 return m_triggerprocessor->getTrigLvl();
112}
113
114
115//Set data container format to store trigger data
116//--- Note: has to be called before new event loaded, which means before system ---
117//--- refresh(), e.g. at the particular channel init() or create(). ---
118//--- Default: [v]ector format; set by constructor. ---
119//_____________________________________________________________________________________________
121{
122 //Container IDs: [v]ector, [q]tree, [a]ll available
123 log_verbose("Presetting data format in VP1Trig::VP1TriggerProcessor");
124 m_triggerprocessor->setDataFormat(ctnid);
125}
126
127
128//Get data container format to store trigger data
129//_____________________________________________________________________________________________
131{
132 log_verbose("Requesting preset data format from VP1Trig::VP1TriggerProcessor");
133 return m_triggerprocessor->getDataFormat();
134}
135
136
137//Get number of muons in event
138//_____________________________________________________________________________________________
140{
141 log_verbose("Requesting number of muons from VP1Trig::VP1TriggerProcessor");
142 return m_triggerprocessor->getMuonsInEvt();
143}
144
145
146//Get trigger data in QTree container format
147//_____________________________________________________________________________________________
148QList<QTreeWidgetItem *> VP1Trig::VP1TriggerTool::getTriggerData_QTree(QString triglvl)
149{
150 log_verbose("Requesting data in QTree format from VP1Trig::VP1TriggerProcessor");
151 return m_triggerprocessor->getQTrigData(triglvl);
152}
The Athena Transient Store API.
void setTrigLvlToProcess(QString triglvl)
void setDataContainerFormat(char ctnid)
VP1TriggerProcessor * m_triggerprocessor
void process(StoreGateSvc *storeGate)
QList< QTreeWidgetItem * > getTriggerData_QTree(QString)