ATLAS Offline Software
TrigT1Run3ZDC.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
15 #ifndef TRIG_T1_RUN_3_ZDC_H
16 #define TRIG_T1_RUN_3_ZDC_H
17 
18 #include <string>
19 #include <vector>
20 
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/ToolHandle.h"
30 
31 // Input Containers
34 #include "ZdcIdentifier/ZdcID.h"
36 
37 // Outputs to CTP
40 #include "ZdcUtils/ZDCTriggerSim.h"
41 #include "nlohmann/json.hpp"
42 
43 namespace LVL1 {
46 
47  public:
48  // This is a standard algorithm constructor
49  TrigT1Run3ZDC(const std::string& name, ISvcLocator* pSvcLocator);
50 
51  // These are the functions inherited from Algorithm
52  virtual StatusCode initialize() override;
53  virtual StatusCode execute(const EventContext& ctx) const override;
54 
55  private:
56  /* Input handles */
58  this, "ZdcModuleCalibEnergyKey", "ZdcModules.CalibEnergy",
59  "ReadHandleKey for Zdc CalibEnergy AuxData"};
60 
61  // Access Bytestream data from Lucrod
62  const ZdcID* m_zdcId{};
63 
65  this, "ZdcLucrodDataContainerKey", TrigT1CaloDefs::ZdcLucrodDataContainer,
66  "Read Handle key for ZdcLucrodDataContainer"};
67 
68  /* Output handles */
71  "Write handle key for ZdcCTP"};
72 
73  /* properties */
74  Gaudi::Property<std::string> m_lutFile{
75  this, "filepath_LUT", "TrigT1ZDC/zdcRun3T1LUT_v1_30_05_2023.json",
76  "path to LUT file"};
77  Gaudi::Property<unsigned int> m_minSampleAna{
78  this, "MinSampleAna", 7, "First Sample in ZDC LUCROD Analysis window"};
79  Gaudi::Property<unsigned int> m_maxSampleAna{
80  this, "MaxSampleAna",154, "Last Sample in ZDC LUCROD Analysis window"};
81  Gaudi::Property<unsigned int> m_negHG2ndDerivThresh{
82  this, "NegHG2ndDerivThresh", 45,
83  "Negative 2nd Derivative Threshold for High Gain LUCROD Channel"};
84  Gaudi::Property<unsigned int> m_negLG2ndDerivThresh{
85  this, "NegLG2ndDerivThresh", 15,
86  "Negative 2nd Derivative Threshold for Low Gain LUCROD Channel"};
87  Gaudi::Property<unsigned int> m_baselineDelta{
88  this, "BaselineDelta", 3,
89  "Parameter to take out average offset from raw Flash ADC values"};
90 
94  std::shared_ptr<ZDCTriggerSimFADC> m_triggerSimHGPtr;
95  std::shared_ptr<ZDCTriggerSimFADC> m_triggerSimLGPtr;
96 
100  std::shared_ptr<ZDCTriggerSim::FADCInputs> m_hgFADC_ptr;
101  std::shared_ptr<ZDCTriggerSim::FADCInputs> m_lgFADC_ptr;
102 };
103 } // namespace LVL1
104 
105 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LVL1::TrigT1Run3ZDC::m_negLG2ndDerivThresh
Gaudi::Property< unsigned int > m_negLG2ndDerivThresh
Definition: TrigT1Run3ZDC.h:84
LVL1::TrigT1Run3ZDC::m_hgFADC_ptr
std::shared_ptr< ZDCTriggerSim::FADCInputs > m_hgFADC_ptr
A data member to hold the ZDCTrigger Object that stores flash ADC input values: shared ptr to ensure ...
Definition: TrigT1Run3ZDC.h:100
ZdcLucrodDataContainer.h
LVL1::TrigT1Run3ZDC
level 1 ZDC trigger simulation
Definition: TrigT1Run3ZDC.h:45
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
LVL1::TrigT1CaloDefs::ZdcLucrodDataContainer
static const std::string ZdcLucrodDataContainer
Definition: TrigT1CaloDefs.h:41
LVL1::TrigT1CaloDefs::ZdcCTPLocation
static const std::string ZdcCTPLocation
Definition: TrigT1CaloDefs.h:80
ZdcCTP.h
LVL1::TrigT1Run3ZDC::m_triggerSimLGPtr
std::shared_ptr< ZDCTriggerSimFADC > m_triggerSimLGPtr
Definition: TrigT1Run3ZDC.h:95
LVL1::TrigT1Run3ZDC::m_zdcModuleCalibEnergyKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleCalibEnergyKey
Definition: TrigT1Run3ZDC.h:57
SG::ReadHandleKey< ZdcLucrodDataContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TrigT1Run3ZDC::m_zldContainerName
SG::ReadHandleKey< ZdcLucrodDataContainer > m_zldContainerName
Definition: TrigT1Run3ZDC.h:64
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LVL1::TrigT1Run3ZDC::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigT1Run3ZDC.cxx:115
LVL1::TrigT1Run3ZDC::m_zdcId
const ZdcID * m_zdcId
Definition: TrigT1Run3ZDC.h:62
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ZdcLucrodMapRun3.h
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
PathResolver.h
ZDCTriggerSim.h
A tool to make L1 decision using LUTs.
LVL1::TrigT1Run3ZDC::TrigT1Run3ZDC
TrigT1Run3ZDC(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigT1Run3ZDC.cxx:21
LVL1::TrigT1Run3ZDC::m_maxSampleAna
Gaudi::Property< unsigned int > m_maxSampleAna
Definition: TrigT1Run3ZDC.h:79
LVL1::TrigT1Run3ZDC::m_negHG2ndDerivThresh
Gaudi::Property< unsigned int > m_negHG2ndDerivThresh
Definition: TrigT1Run3ZDC.h:81
LVL1::TrigT1Run3ZDC::initialize
virtual StatusCode initialize() override
Definition: TrigT1Run3ZDC.cxx:28
TrigT1CaloDefs.h
LVL1::TrigT1Run3ZDC::m_baselineDelta
Gaudi::Property< unsigned int > m_baselineDelta
Definition: TrigT1Run3ZDC.h:87
ZdcID.h
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1::TrigT1Run3ZDC::m_zdcCTPLocation
SG::WriteHandleKey< ZdcCTP > m_zdcCTPLocation
Definition: TrigT1Run3ZDC.h:69
ReadDecorHandle.h
Handle class for reading a decoration on an object.
LVL1::TrigT1Run3ZDC::m_lutFile
Gaudi::Property< std::string > m_lutFile
Definition: TrigT1Run3ZDC.h:74
LVL1::TrigT1Run3ZDC::m_lgFADC_ptr
std::shared_ptr< ZDCTriggerSim::FADCInputs > m_lgFADC_ptr
Definition: TrigT1Run3ZDC.h:101
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
LVL1::TrigT1Run3ZDC::m_minSampleAna
Gaudi::Property< unsigned int > m_minSampleAna
Definition: TrigT1Run3ZDC.h:77
ZdcID
Definition: ZdcID.h:25
ZdcModuleContainer.h
LVL1::TrigT1Run3ZDC::m_triggerSimHGPtr
std::shared_ptr< ZDCTriggerSimFADC > m_triggerSimHGPtr
Two data member to hold the ZDCTrigger Object that computes the LUT logic: shared ptr to ensure clean...
Definition: TrigT1Run3ZDC.h:94