Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | List of all members
NSWL1::TriggerProcessorTool Class Reference

#include <TriggerProcessorTool.h>

Inheritance diagram for NSWL1::TriggerProcessorTool:
Collaboration diagram for NSWL1::TriggerProcessorTool:

Public Member Functions

 TriggerProcessorTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~TriggerProcessorTool () override=default
 
virtual StatusCode initialize () override
 
StatusCode mergeRDO (const Muon::NSW_PadTriggerDataContainer *padTriggerContainer, const Muon::NSW_TrigRawDataContainer *stripTriggerContainer, const Muon::NSW_TrigRawDataContainer *MMTriggerContainer, Muon::NSW_TrigRawDataContainer *trigRdoContainer) const override
 

Detailed Description

Definition at line 12 of file TriggerProcessorTool.h.

Constructor & Destructor Documentation

◆ TriggerProcessorTool()

NSWL1::TriggerProcessorTool::TriggerProcessorTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 9 of file TriggerProcessorTool.cxx.

9  :
10  base_class(type,name,parent) {}

◆ ~TriggerProcessorTool()

virtual NSWL1::TriggerProcessorTool::~TriggerProcessorTool ( )
overridevirtualdefault

Member Function Documentation

◆ initialize()

StatusCode NSWL1::TriggerProcessorTool::initialize ( )
overridevirtual

Definition at line 12 of file TriggerProcessorTool.cxx.

12  {
13 
14  ATH_MSG_DEBUG("In initialize()");
15  return StatusCode::SUCCESS;
16  }

◆ mergeRDO()

StatusCode NSWL1::TriggerProcessorTool::mergeRDO ( const Muon::NSW_PadTriggerDataContainer padTriggerContainer,
const Muon::NSW_TrigRawDataContainer stripTriggerContainer,
const Muon::NSW_TrigRawDataContainer MMTriggerContainer,
Muon::NSW_TrigRawDataContainer trigRdoContainer 
) const
override

Definition at line 18 of file TriggerProcessorTool.cxx.

21  {
22  ATH_MSG_DEBUG("------------- TriggerProcessorTool::mergeRDO ---------------------");
23  ATH_MSG_DEBUG("Pad Trigger Container size: " << padTriggerContainer->size());
24  constexpr bool HAS_PHI_RESOLUTION{true};
25  constexpr uint8_t SPARE_IS_PAD{1};
26  for ( const auto padTriggerData : *padTriggerContainer ) {
27  ATH_MSG_DEBUG("Pad Trigger data: " << *padTriggerData);
28  const char sectorSide = (padTriggerData->sideA()) ? 'A' : 'C';
29  auto trigRawData = new Muon::NSW_TrigRawData(padTriggerData->getSecid(), sectorSide, padTriggerData->getBcid());
30  for (size_t it = 0; it < padTriggerData->getNumberOfTriggers(); ++it) {
31  auto trigRawDataSegment = new Muon::NSW_TrigRawDataSegment();
32  trigRawDataSegment->setRIndex(padTriggerData->getTriggerBandIds().at(it));
33  trigRawDataSegment->setPhiIndex(padTriggerData->getTriggerPhiIds().at(it));
34  trigRawDataSegment->setPhiRes(HAS_PHI_RESOLUTION);
35  trigRawDataSegment->setSpare(SPARE_IS_PAD);
36  trigRawData->push_back(trigRawDataSegment);
37  }
38  ATH_MSG_DEBUG("L1NSW-Pad Trigger Output: "
39  << "sectorSide=" << trigRawData->sectorSide() << " "
40  << "sectorId=" << trigRawData->sectorId() << " "
41  << "bcId=" << trigRawData->bcId());
42  for(const auto seg : *trigRawData){
43  ATH_MSG_DEBUG("\tPadSegment: "
44  << "deltaTheta=" << static_cast<int16_t>(seg->deltaTheta()) << " "
45  << "phiIndex=" << static_cast<int16_t>(seg->phiIndex()) << " "
46  << "rIndex=" << static_cast<int16_t>(seg->rIndex()) << " "
47  << "spare=" << static_cast<int16_t>(seg->spare()) << " "
48  << "lowRes=" << seg->lowRes() << " "
49  << "phiRes=" << seg->phiRes() << " "
50  << "monitor=" << seg->monitor());
51  }
52  trigRdoContainer->push_back(trigRawData);
53  }
54  ATH_MSG_DEBUG("After PadTrigger filling -> NSW Trigger RDO size: " << trigRdoContainer->size());
55 
56  for (const auto rawData : *stripTriggerContainer) {
57  Muon::NSW_TrigRawData* trigRawData = new Muon::NSW_TrigRawData(*rawData, true);
58  ATH_MSG_DEBUG("L1NSW-Strip Trigger Output: "
59  << "sectorSide=" << trigRawData->sectorSide() << " "
60  << "sectorId=" << trigRawData->sectorId() << " "
61  << "bcId=" << trigRawData->bcId());
62  for(const auto seg : *trigRawData){
63  ATH_MSG_DEBUG("\tStripSegment: "
64  << "deltaTheta=" << static_cast<int16_t>(seg->deltaTheta()) << " "
65  << "phiIndex=" << static_cast<int16_t>(seg->phiIndex()) << " "
66  << "rIndex=" << static_cast<int16_t>(seg->rIndex()) << " "
67  << "spare=" << static_cast<int16_t>(seg->spare()) << " "
68  << "lowRes=" << seg->lowRes() << " "
69  << "phiRes=" << seg->phiRes() << " "
70  << "monitor=" << seg->monitor());
71  }
72  trigRdoContainer->push_back(trigRawData);
73  }
74  ATH_MSG_DEBUG("After sTGC strip trigger filling -> NSW Trigger RDO size: " << trigRdoContainer->size());
75 
76  for (const auto rawData : *MMTriggerContainer) {
77  Muon::NSW_TrigRawData* trigRawData = new Muon::NSW_TrigRawData(*rawData, false);
78  ATH_MSG_DEBUG("L1NSW-MM Trigger Output: "
79  << "sectorSide=" << trigRawData->sectorSide() << " "
80  << "sectorId=" << trigRawData->sectorId() << " "
81  << "bcId=" << trigRawData->bcId());
82  for(const auto seg : *trigRawData){
83  ATH_MSG_DEBUG("\tMMSegment: "
84  << "deltaTheta=" << static_cast<int16_t>(seg->deltaTheta()) << " "
85  << "phiIndex=" << static_cast<int16_t>(seg->phiIndex()) << " "
86  << "rIndex=" << static_cast<int16_t>(seg->rIndex()) << " "
87  << "spare=" << static_cast<int16_t>(seg->spare()) << " "
88  << "lowRes=" << seg->lowRes() << " "
89  << "phiRes=" << seg->phiRes() << " "
90  << "monitor=" << seg->monitor());
91  }
92  trigRdoContainer->push_back(trigRawData);
93  }
94  ATH_MSG_DEBUG("After MMTrigger filling -> NSW Trigger RDO size: " << trigRdoContainer->size());
95 
96  return StatusCode::SUCCESS;
97  }

The documentation for this class was generated from the following files:
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
Muon::NSW_TrigRawData::sectorId
uint16_t sectorId() const
Definition: NSW_TrigRawData.h:25
Muon::NSW_TrigRawData
Definition: NSW_TrigRawData.h:15
skel.it
it
Definition: skel.GENtoEVGEN.py:407
IdentifiableContainerMT::size
size_t size() const
Duplicate of fullSize for backwards compatability.
Definition: IdentifiableContainerMT.h:206
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Muon::NSW_TrigRawDataSegment
Definition: NSW_TrigRawDataSegment.h:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Muon::NSW_TrigRawData::bcId
uint16_t bcId() const
Definition: NSW_TrigRawData.h:27
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
Muon::NSW_TrigRawData::sectorSide
char sectorSide() const
Definition: NSW_TrigRawData.h:26