ATLAS Offline Software
Loading...
Searching...
No Matches
TrigT1TRT.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
30namespace 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{this, "ConditionsSummaryTool", "TRT_StrawStatusSummaryTool"};
51
52 /* Service handles */
53 ServiceHandle<ITRT_StrawNeighbourSvc> m_TRTStrawNeighbourSvc{this, "StrawNeighbourSvc", "TRT_StrawNeighbourSvc"};
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
Abstract interface to information on straws electronic grouping.
abstract interface to TRT straw status constants
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
virtual StatusCode initialize() override
Definition TrigT1TRT.cxx:28
ToolHandle< ITRT_StrawStatusSummaryTool > m_ConditionsSummary
Definition TrigT1TRT.h:50
int m_numberOfStraws[75]
Definition TrigT1TRT.h:77
Gaudi::Property< std::string > m_maskedChipsFile
Definition TrigT1TRT.h:61
Gaudi::Property< int > m_TTCMultiplicity
Definition TrigT1TRT.h:60
SG::WriteHandleKey< TrtCTP > m_trtCTPLocation
Definition TrigT1TRT.h:44
const TRT_ID * m_pTRTHelper
Definition TrigT1TRT.h:57
SG::ReadHandleKey< TRT_RDO_Container > m_trtRDOKey
Definition TrigT1TRT.h:47
ServiceHandle< ITRT_StrawNeighbourSvc > m_TRTStrawNeighbourSvc
Definition TrigT1TRT.h:53
int BarrelStrawNumber(int strawNumber, int strawlayerNumber, int LayerNumber) const
unsigned char m_mat_chip_endcap[64][3840]
Definition TrigT1TRT.h:75
int BarrelStrawLayerNumber(int strawLayerNumber, int LayerNumber) const
virtual StatusCode execute(const EventContext &ctx) const override
unsigned char m_mat_chip_barrel[64][1642]
Definition TrigT1TRT.h:74
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsBarrel
Definition TrigT1TRT.h:64
TrigT1TRT(const std::string &name, ISvcLocator *pSvcLocator)
Definition TrigT1TRT.cxx:19
int EndcapStrawNumber(int strawNumber, int strawLayerNumber, int LayerNumber, int phi_stack, int side) const
int EndcapChipToBoard(int chip) const
int BarrelChipToBoard(int chip) const
const InDetDD::TRT_DetectorManager * m_mgr
Definition TrigT1TRT.h:56
std::array< std::array< std::vector< int >, 32 >, 2 > m_maskedChipsEc
Definition TrigT1TRT.h:65
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const std::string DEFAULT_TrtCTPLocation
default StoreGate location for TRT to CTP input