ATLAS Offline Software
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 
20 namespace LVL1MUONIF {
21  class Lvl1MuCTPIInputPhase1;
22 }
23 
24 namespace LVL1 {
25  class MuCTPIL1Topo;
26 }
27 
28 namespace TrigConf {
29  class L1Menu;
30 }
31 
32 namespace 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);
49  bool configurePtEncoding();
50 
51  //processing
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
LVL1MUONIF
Namespace for the LVL1 muon interface classes.
Definition: Lvl1MuBarrelSectorLogicData.cxx:9
LVL1MUCTPIPHASE1::MuonSectorProcessor::m_overlapHelper
std::unique_ptr< OverlapHelper > m_overlapHelper
Definition: MuonSectorProcessor.h:54
LVL1MUONIF::Lvl1MuCTPIInputPhase1
Class representing (part of) the input data to the MuCTPI for Phase 1.
Definition: Lvl1MuCTPIInputPhase1.h:34
LVL1::MuCTPIL1Topo
MuCTPI input class to the L1Topo simulation.
Definition: MuCTPIL1Topo.h:24
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
LVL1MUCTPIPHASE1::MuonSectorProcessor::setMenu
void setMenu(const TrigConf::L1Menu *l1menu)
Definition: MuonSectorProcessor.cxx:202
LVL1MUCTPIPHASE1::MuonSectorProcessor
Definition: MuonSectorProcessor.h:37
LVL1MUCTPIPHASE1::MuonSectorProcessor::getSide
bool getSide() const
Definition: MuonSectorProcessor.h:54
TRT::Hit::side
@ side
Definition: HitInfo.h:83
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
LVL1MUCTPIPHASE1::MuonSectorProcessor::runOverlapRemoval
void runOverlapRemoval(LVL1MUONIF::Lvl1MuCTPIInputPhase1 *inputs, int bcid) const
Definition: MuonSectorProcessor.cxx:241
LVL1MUCTPIPHASE1
Definition: Configuration.h:11
LVL1MUCTPIPHASE1::MuonSectorProcessor::m_l1menu
const TrigConf::L1Menu * m_l1menu
Definition: MuonSectorProcessor.h:59
MuctpiXMLHelper.h
LVL1MUCTPIPHASE1::MuonSectorProcessor::configurePtEncoding
bool configurePtEncoding()
Definition: MuonSectorProcessor.cxx:212
LVL1MUCTPIPHASE1::MuonSectorProcessor::m_ptEncoding
std::vector< std::map< int, int > > m_ptEncoding
Definition: MuonSectorProcessor.h:64
LVL1MUCTPIPHASE1::MuonSectorProcessor::MuonSectorProcessor
MuonSectorProcessor(const MuonSectorProcessor &)=delete
LVL1MUCTPIPHASE1::MuonSectorProcessor::MuonSectorProcessor
MuonSectorProcessor(bool side)
Definition: MuonSectorProcessor.cxx:186
LVL1MUCTPIPHASE1::MuonSectorProcessor::m_side
bool m_side
Definition: MuonSectorProcessor.h:61
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
MUCTPIResults.h
LVL1MUCTPIPHASE1::L1TopoLUT
Definition: L1TopoLUT.h:41
LVL1MUCTPIPHASE1::MuonSectorProcessor::m_l1topoLUT
const L1TopoLUT * m_l1topoLUT
Definition: MuonSectorProcessor.h:60
LVL1MUCTPIPHASE1::MuonSectorProcessor::setL1TopoLUT
void setL1TopoLUT(const L1TopoLUT *l1topoLUT)
Definition: MuonSectorProcessor.h:47
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
LVL1MUCTPIPHASE1::MuonSectorProcessor::makeL1TopoData
std::string makeL1TopoData(LVL1MUONIF::Lvl1MuCTPIInputPhase1 *inputs, int bcid, LVL1::MuCTPIL1Topo &l1topoData) const
Definition: MuonSectorProcessor.cxx:310
LVL1MUCTPIPHASE1::MuonSectorProcessor::~MuonSectorProcessor
~MuonSectorProcessor()
Definition: MuonSectorProcessor.cxx:195
LVL1MUCTPIPHASE1::MuonSectorProcessor::configureOverlapRemoval
void configureOverlapRemoval(const std::string &lutFile)
Definition: MuonSectorProcessor.cxx:207