ATLAS Offline Software
TrigT1TRT.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIG_T1_TRT_H
6 #define TRIG_T1_TRT_H
7 
8 #include <string>
9 #include <vector>
10 #include <array>
11 
13 
14 // Outputs to CTP
18 
19 // Input containers
23 
24 // Handles
25 #include "GaudiKernel/ToolHandle.h"
26 #include "GaudiKernel/ServiceHandle.h"
29 
30 namespace LVL1 {
33 
34  public:
35  // This is a standard algorithm constructor
36  TrigT1TRT(const std::string& name, ISvcLocator* pSvcLocator);
37 
38  // These are the functions inherited from Algorithm
39  virtual StatusCode initialize() override;
40  virtual StatusCode execute(const EventContext& ctx) const override;
41 
42  private:
43  /* Output handles */
44  SG::WriteHandleKey<TrtCTP> m_trtCTPLocation{this, "TrtCTPLocation", LVL1::DEFAULT_TrtCTPLocation, "Write handle key for TrtCTP"};
45 
46  /* Input handles */
47  SG::ReadHandleKey<TRT_RDO_Container> m_trtRDOKey{this, "TrtRDOLocation", "TRT_RDOs", "Read handle key for TRT_RDO_Container"};
48 
49  /* Tool handles */
50  ToolHandle<ITRT_StrawStatusSummaryTool> m_ConditionsSummary;
51 
52  /* Service handles */
54 
55  /* RDO hit containers */
58 
59  /* Gaudi Properties */
60  Gaudi::Property<int> m_TTCMultiplicity{this, "TTCMultiplicity", 4, "TTC board multiplicity required to fire the trigger"};
61  Gaudi::Property<std::string> m_maskedChipsFile{this, "maskedChipsFile", "TrigT1TRT/fastORmaskedChips.json", "path to file with list of masked chips"};
62 
63  /* Structure with vectors containing masked chips -- m_maskedChipsBarrel.at(1) is the, and A side m_maskedChipsBarrel.at(0) is C side; then 32 corresponds to 32 phi sectors */
64  std::array<std::array<std::vector<int>, 32>, 2> m_maskedChipsBarrel;
65  std::array<std::array<std::vector<int>, 32>, 2> m_maskedChipsEc;
66 
67  /* Variables and functions used in trigger logic */
68  int BarrelChipToBoard(int chip) const;
69  int EndcapChipToBoard(int chip) const;
70  int EndcapStrawNumber(int strawNumber, int strawLayerNumber, int LayerNumber, int phi_stack, int side) const;
71  int BarrelStrawNumber(int strawNumber, int strawlayerNumber, int LayerNumber) const;
72  int BarrelStrawLayerNumber(int strawLayerNumber, int LayerNumber) const;
73 
74  unsigned char m_mat_chip_barrel[64][1642];
75  unsigned char m_mat_chip_endcap[64][3840];
76 
78  };
79 }
80 
81 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LVL1::TrigT1TRT::m_numberOfStraws
int m_numberOfStraws[75]
Definition: TrigT1TRT.h:77
TRT_RDO_Container.h
TrtCTP.h
TRT_DetectorManager.h
LVL1::TrigT1TRT::EndcapChipToBoard
int EndcapChipToBoard(int chip) const
Definition: TrigT1TRT.cxx:334
LVL1::TrigT1TRT::BarrelChipToBoard
int BarrelChipToBoard(int chip) const
Definition: TrigT1TRT.cxx:308
LVL1::TrigT1TRT::m_maskedChipsBarrel
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsBarrel
Definition: TrigT1TRT.h:64
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
LVL1::TrigT1TRT::BarrelStrawNumber
int BarrelStrawNumber(int strawNumber, int strawlayerNumber, int LayerNumber) const
Definition: TrigT1TRT.cxx:411
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::TrigT1TRT::TrigT1TRT
TrigT1TRT(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigT1TRT.cxx:19
LVL1::TrigT1TRT::m_mat_chip_endcap
unsigned char m_mat_chip_endcap[64][3840]
Definition: TrigT1TRT.h:75
TrigT1StoreGateKeys.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
LVL1::TrigT1TRT::EndcapStrawNumber
int EndcapStrawNumber(int strawNumber, int strawLayerNumber, int LayerNumber, int phi_stack, int side) const
Definition: TrigT1TRT.cxx:342
TRT::Hit::side
@ side
Definition: HitInfo.h:83
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ITRT_StrawStatusSummaryTool.h
abstract interface to TRT straw status constants
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::TrigT1TRT::m_maskedChipsEc
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsEc
Definition: TrigT1TRT.h:65
LVL1::TrigT1TRT::m_pTRTHelper
const TRT_ID * m_pTRTHelper
Definition: TrigT1TRT.h:57
LVL1::TrigT1TRT::m_mgr
const InDetDD::TRT_DetectorManager * m_mgr
Definition: TrigT1TRT.h:56
LVL1::TrigT1TRT
level 1 TRT trigger simulation
Definition: TrigT1TRT.h:32
TrigConf::name
Definition: HLTChainList.h:35
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
LVL1::TrigT1TRT::initialize
virtual StatusCode initialize() override
Definition: TrigT1TRT.cxx:31
LVL1::TrigT1TRT::m_trtCTPLocation
SG::WriteHandleKey< TrtCTP > m_trtCTPLocation
Definition: TrigT1TRT.h:44
LVL1::TrigT1TRT::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TrigT1TRT.cxx:169
LVL1::TrigT1TRT::m_TTCMultiplicity
Gaudi::Property< int > m_TTCMultiplicity
Definition: TrigT1TRT.h:60
ITRT_StrawNeighbourSvc.h
Abstract interface to information on straws electronic grouping.
TRT_ID
Definition: TRT_ID.h:84
InDetDD::TRT_DetectorManager
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
Definition: TRT_DetectorManager.h:69
LVL1::TrigT1TRT::m_maskedChipsFile
Gaudi::Property< std::string > m_maskedChipsFile
Definition: TrigT1TRT.h:61
LVL1::TrigT1TRT::m_mat_chip_barrel
unsigned char m_mat_chip_barrel[64][1642]
Definition: TrigT1TRT.h:74
LVL1::TrigT1TRT::m_TRTStrawNeighbourSvc
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
Definition: TrigT1TRT.h:53
LVL1::TrigT1TRT::BarrelStrawLayerNumber
int BarrelStrawLayerNumber(int strawLayerNumber, int LayerNumber) const
Definition: TrigT1TRT.cxx:426
LVL1::TrigT1TRT::m_trtRDOKey
SG::ReadHandleKey< TRT_RDO_Container > m_trtRDOKey
Definition: TrigT1TRT.h:47
LVL1::TrigT1TRT::m_ConditionsSummary
ToolHandle< ITRT_StrawStatusSummaryTool > m_ConditionsSummary
Definition: TrigT1TRT.h:50
ServiceHandle< ITRT_StrawNeighbourSvc >