ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSectorProcessor.h
Go to the documentation of this file.
1// This file is really -*- C++ -*-.
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGT1MUCTPIPHASE1_MUONSECTORPROCESSOR_H
8#define TRIGT1MUCTPIPHASE1_MUONSECTORPROCESSOR_H
9
10
11#include <string>
12#include <map>
13#include <unordered_map>
14#include <vector>
15#include <memory>
16
18#include "MUCTPIResults.h"
19
20namespace LVL1MUONIF {
22}
23
24namespace LVL1 {
25 class MuCTPIL1Topo;
26}
27
28namespace TrigConf {
29 class L1Menu;
30}
31
32namespace LVL1MUCTPIPHASE1 {
33 class OverlapHelper;
34 class L1TopoLUT;
35
37 {
38
39 public:
40 MuonSectorProcessor(bool side /*1=A,0=C*/);
44
45 //initialization
46 void setMenu(const TrigConf::L1Menu* l1menu);
47 void setL1TopoLUT(const L1TopoLUT* l1topoLUT) {m_l1topoLUT=l1topoLUT;}
48 void configureOverlapRemoval(const std::string& lutFile);
50
51 //processing
52 void runOverlapRemoval(LVL1MUONIF::Lvl1MuCTPIInputPhase1* inputs, int bcid) const;
53 std::string makeL1TopoData(LVL1MUONIF::Lvl1MuCTPIInputPhase1* inputs, int bcid, LVL1::MuCTPIL1Topo& l1topoData) const;
54 bool getSide() const { return m_side; };
55
56 private:
57
58 std::unique_ptr<OverlapHelper> m_overlapHelper;
59 const TrigConf::L1Menu* m_l1menu = nullptr;
60 const L1TopoLUT* m_l1topoLUT = nullptr;
61 bool m_side = false;
62
63 //encoding between threshold index and pt value in barrel, endcap, and forward regions
64 std::vector<std::map<int, int> > m_ptEncoding;
65 };
66}
67
68#endif // TRIGT1MUCTPIPHASE1_MUONSECTORPROCESSOR_H
std::vector< std::map< int, int > > m_ptEncoding
MuonSectorProcessor(const MuonSectorProcessor &)=delete
void setL1TopoLUT(const L1TopoLUT *l1topoLUT)
void setMenu(const TrigConf::L1Menu *l1menu)
void runOverlapRemoval(LVL1MUONIF::Lvl1MuCTPIInputPhase1 *inputs, int bcid) const
std::string makeL1TopoData(LVL1MUONIF::Lvl1MuCTPIInputPhase1 *inputs, int bcid, LVL1::MuCTPIL1Topo &l1topoData) const
std::unique_ptr< OverlapHelper > m_overlapHelper
void configureOverlapRemoval(const std::string &lutFile)
Class representing (part of) the input data to the MuCTPI for Phase 1.
MuCTPI input class to the L1Topo simulation.
L1 menu configuration.
Definition L1Menu.h:28
Namespace for the LVL1 muon interface classes.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22