ATLAS Offline Software
Loading...
Searching...
No Matches
ZdcTrigValidTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ZDCTRIGVALID_ZDCTRIGVALIDTOOL_H
6#define ZDCTRIGVALID_ZDCTRIGVALIDTOOL_H
7
8// Matthew Hoppesch.
9// July 2023
10//
11// This is a simple tool to compare L1 ZDC decions made in CTP to those made using ZDC firmware
12// Used for validation of ZDC firmware in Run3,
13// WriteAux Property Determines if Trigger Validation Status is written to xAOD::ZdcModuleContainer
14
17#include "AsgTools/AsgTool.h"
21
22#include "nlohmann/json.hpp"
23
26
27
28namespace ZDC {
30{
32
33 public:
34 ZdcTrigValidTool(const std::string& name);
35 virtual ~ZdcTrigValidTool() override;
36 virtual StatusCode initialize() override;
37
38 virtual StatusCode recoZdcModules(const xAOD::ZdcModuleContainer& moduleContainer, const xAOD::ZdcModuleContainer& moduleSumContainer) override;
39 virtual StatusCode reprocessZdc() override {return StatusCode::SUCCESS;}
40
41 protected:
42
43#ifdef XAOD_STANDALONE
44 ToolHandle<Trig::TrigDecisionTool> m_trigDecTool {this, "TrigDecisionTool",""};
45#else
46 PublicToolHandle<Trig::TrigDecisionTool> m_trigDecTool {this, "TrigDecisionTool",""};
47#endif
48
49 private:
50 /* properties */
51 Gaudi::Property<std::vector<std::string>> m_triggerList{
52 this, "triggerList", {}, "Add triggers to this to be monitored"};
53 Gaudi::Property<std::string> m_lutFile{this, "filepath_LUT", "TrigT1ZDC/zdcRun3T1LUT_v1_30_05_2023.json", "path to LUT file"};
54
56 std::shared_ptr<ZDCTriggerSim::ModuleAmplInputsFloat> m_modInputs_p;
57
59 std::shared_ptr<ZDCTriggerSimModuleAmpls> m_simTrig;
60
61 std::string m_msg;
62 std::map<std::string, unsigned int > m_triggerMap;
63 std::string m_auxSuffix;
64 std::string m_name;
66
67 SG::ReadDecorHandleKey<xAOD::ZdcModuleContainer> m_zdcModuleAmp{this, "ZdcModuleAmplitude", "", "ZDC module Amplitude"};
68 SG::WriteDecorHandleKey<xAOD::ZdcModuleContainer> m_trigValStatus{this, "TrigValStatus", "","Trigger validation status"};
69
71 this, "EventInfoKey", "EventInfo",
72 "Location of the event info."};
73
74};
75}
76#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
A tool to make L1 decision using LUTs.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
std::map< std::string, unsigned int > m_triggerMap
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleAmp
SG::WriteDecorHandleKey< xAOD::ZdcModuleContainer > m_trigValStatus
std::shared_ptr< ZDCTriggerSim::ModuleAmplInputsFloat > m_modInputs_p
A data member to hold the ZDCTrigger Object that stores input floats: shared ptr to ensure cleanup.
Gaudi::Property< std::vector< std::string > > m_triggerList
virtual StatusCode recoZdcModules(const xAOD::ZdcModuleContainer &moduleContainer, const xAOD::ZdcModuleContainer &moduleSumContainer) override
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
ZdcTrigValidTool(const std::string &name)
Gaudi::Property< std::string > m_lutFile
virtual StatusCode reprocessZdc() override
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Tool to tell whether a specific trigger is passed.
std::shared_ptr< ZDCTriggerSimModuleAmpls > m_simTrig
A data member to hold the ZDCTrigger Object that computes the LUT logic: shared ptr to ensure cleanup...
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
ZdcModuleContainer_v1 ZdcModuleContainer
void initialize()