Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 {
45 class TrigT1Run3ZDC : public AthAlgorithm {
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() override;
54  virtual bool isClonable() const override final { return true; }
55 
56 private:
57  /* Input handles */
59  this, "ZdcModuleCalibEnergyKey", "ZdcModules.CalibEnergy",
60  "ReadHandleKey for Zdc CalibEnergy AuxData"};
61 
62  // Access Bytestream data from Lucrod
63  const ZdcID* m_zdcId{};
64 
66  this, "ZdcLucrodDataContainerKey", TrigT1CaloDefs::ZdcLucrodDataContainer,
67  "Read Handle key for ZdcLucrodDataContainer"};
68 
69  /* Output handles */
72  "Write handle key for ZdcCTP"};
73 
74  /* properties */
75  Gaudi::Property<std::string> m_lutFile{
76  this, "filepath_LUT", "TrigT1ZDC/zdcRun3T1LUT_v1_30_05_2023.json",
77  "path to LUT file"};
78  Gaudi::Property<unsigned int> m_minSampleAna{
79  this, "MinSampleAna", 7, "First Sample in ZDC LUCROD Analysis window"};
80  Gaudi::Property<unsigned int> m_maxSampleAna{
81  this, "MaxSampleAna",154, "Last Sample in ZDC LUCROD Analysis window"};
82  Gaudi::Property<unsigned int> m_negHG2ndDerivThresh{
83  this, "NegHG2ndDerivThresh", 45,
84  "Negative 2nd Derivative Threshold for High Gain LUCROD Channel"};
85  Gaudi::Property<unsigned int> m_negLG2ndDerivThresh{
86  this, "NegLG2ndDerivThresh", 15,
87  "Negative 2nd Derivative Threshold for Low Gain LUCROD Channel"};
88  Gaudi::Property<unsigned int> m_baselineDelta{
89  this, "BaselineDelta", 3,
90  "Parameter to take out average offset from raw Flash ADC values"};
91 
95  std::shared_ptr<ZDCTriggerSimFADC> m_triggerSimHGPtr;
96  std::shared_ptr<ZDCTriggerSimFADC> m_triggerSimLGPtr;
97 
101  std::shared_ptr<ZDCTriggerSim::FADCInputs> m_hgFADC_ptr;
102  std::shared_ptr<ZDCTriggerSim::FADCInputs> m_lgFADC_ptr;
103 };
104 } // namespace LVL1
105 
106 #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:85
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:101
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:96
LVL1::TrigT1Run3ZDC::m_zdcModuleCalibEnergyKey
SG::ReadDecorHandleKey< xAOD::ZdcModuleContainer > m_zdcModuleCalibEnergyKey
Definition: TrigT1Run3ZDC.h:58
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey< ZdcLucrodDataContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TrigT1Run3ZDC::isClonable
virtual bool isClonable() const override final
Definition: TrigT1Run3ZDC.h:54
LVL1::TrigT1Run3ZDC::m_zldContainerName
SG::ReadHandleKey< ZdcLucrodDataContainer > m_zldContainerName
Definition: TrigT1Run3ZDC.h:65
AthAlgorithm.h
LVL1::TrigT1Run3ZDC::m_zdcId
const ZdcID * m_zdcId
Definition: TrigT1Run3ZDC.h:63
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
AthAlgorithm
Definition: AthAlgorithm.h:47
TrigConf::name
Definition: HLTChainList.h:35
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:80
LVL1::TrigT1Run3ZDC::m_negHG2ndDerivThresh
Gaudi::Property< unsigned int > m_negHG2ndDerivThresh
Definition: TrigT1Run3ZDC.h:82
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:88
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:70
ReadDecorHandle.h
Handle class for reading a decoration on an object.
LVL1::TrigT1Run3ZDC::m_lutFile
Gaudi::Property< std::string > m_lutFile
Definition: TrigT1Run3ZDC.h:75
LVL1::TrigT1Run3ZDC::execute
virtual StatusCode execute() override
Definition: TrigT1Run3ZDC.cxx:115
LVL1::TrigT1Run3ZDC::m_lgFADC_ptr
std::shared_ptr< ZDCTriggerSim::FADCInputs > m_lgFADC_ptr
Definition: TrigT1Run3ZDC.h:102
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:78
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:95