CMS 3D CMS Logo

MicroGMTIsolationUnit.h
Go to the documentation of this file.
1 #ifndef __l1microgmtisolationunit_h
2 #define __l1microgmtisolationunit_h
3 
9 
12 
13 namespace l1t {
15  public:
17  virtual ~MicroGMTIsolationUnit();
18 
21  // returns the index corresponding to the calo tower sum using the LUT
23  // copies the energy values to the m_towerEnergies map for consistent access
25  // First step done for calo input preparation, calculates strip sums
27  // Second step, only done for the sums needed for final iso requirement
28  int calculate5by5Sum(unsigned index) const;
29 
30  // Checks with LUT isolation for all muons in list, assuming input calo is non-summed
32  // Checks with LUT isolation for all muons in list, assuming input calo is pre-summed
34  // Uses *Extrapolation LUTs to project trajectory to the vertex and adds info to muon
36 
37  private:
39 
40  std::shared_ptr<MicroGMTExtrapolationLUT> m_BEtaExtrapolation;
41  std::shared_ptr<MicroGMTExtrapolationLUT> m_BPhiExtrapolation;
42  std::shared_ptr<MicroGMTExtrapolationLUT> m_OEtaExtrapolation;
43  std::shared_ptr<MicroGMTExtrapolationLUT> m_OPhiExtrapolation;
44  std::shared_ptr<MicroGMTExtrapolationLUT> m_FEtaExtrapolation;
45  std::shared_ptr<MicroGMTExtrapolationLUT> m_FPhiExtrapolation;
46 
47  std::map<tftype, std::shared_ptr<MicroGMTExtrapolationLUT>> m_phiExtrapolationLUTs;
48  std::map<tftype, std::shared_ptr<MicroGMTExtrapolationLUT>> m_etaExtrapolationLUTs;
49 
50  std::shared_ptr<MicroGMTCaloIndexSelectionLUT> m_IdxSelMemEta;
51  std::shared_ptr<MicroGMTCaloIndexSelectionLUT> m_IdxSelMemPhi;
52 
53  std::shared_ptr<MicroGMTRelativeIsolationCheckLUT> m_RelIsoCheckMem;
54  std::shared_ptr<MicroGMTAbsoluteIsolationCheckLUT> m_AbsIsoCheckMem;
55 
56  std::bitset<28> m_caloInputsToDisable;
57  std::bitset<28> m_maskedCaloInputs;
58 
59  std::vector<int> m_5by1TowerSums;
60  std::map<int, int> m_towerEnergies;
62  };
63 } // namespace l1t
64 
65 #endif /* defined(__l1microgmtisolationunit_h) */
l1t::MicroGMTIsolationUnit::m_RelIsoCheckMem
std::shared_ptr< MicroGMTRelativeIsolationCheckLUT > m_RelIsoCheckMem
Definition: MicroGMTIsolationUnit.h:53
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
l1t::MicroGMTIsolationUnit::m_OEtaExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_OEtaExtrapolation
Definition: MicroGMTIsolationUnit.h:42
l1t::MicroGMTIsolationUnit::m_IdxSelMemPhi
std::shared_ptr< MicroGMTCaloIndexSelectionLUT > m_IdxSelMemPhi
Definition: MicroGMTIsolationUnit.h:51
l1t::GMTInternalMuon
Definition: GMTInternalMuon.h:10
l1t::MicroGMTIsolationUnit::m_phiExtrapolationLUTs
std::map< tftype, std::shared_ptr< MicroGMTExtrapolationLUT > > m_phiExtrapolationLUTs
Definition: MicroGMTIsolationUnit.h:47
l1t::MicroGMTConfiguration::InterMuonList
GMTInternalMuonList InterMuonList
Definition: MicroGMTConfiguration.h:39
l1t::MicroGMTIsolationUnit::calculate5by1Sums
void calculate5by1Sums(const MicroGMTConfiguration::CaloInputCollection &, int bx)
Definition: MicroGMTIsolationUnit.cc:107
l1t::MicroGMTIsolationUnit::~MicroGMTIsolationUnit
virtual ~MicroGMTIsolationUnit()
Definition: MicroGMTIsolationUnit.cc:10
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
l1t::MicroGMTIsolationUnit::initialise
void initialise(L1TMuonGlobalParamsHelper *)
Initialisation from ES record.
Definition: MicroGMTIsolationUnit.cc:12
l1t::MicroGMTIsolationUnit::isolate
void isolate(MicroGMTConfiguration::InterMuonList &) const
Definition: MicroGMTIsolationUnit.cc:171
l1t::MicroGMTIsolationUnit::m_5by1TowerSums
std::vector< int > m_5by1TowerSums
Definition: MicroGMTIsolationUnit.h:59
l1t::MicroGMTIsolationUnit
Definition: MicroGMTIsolationUnit.h:14
BXVector
Definition: BXVector.h:15
l1t::MicroGMTIsolationUnit::m_maskedCaloInputs
std::bitset< 28 > m_maskedCaloInputs
Definition: MicroGMTIsolationUnit.h:57
l1t::MicroGMTIsolationUnit::m_BEtaExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_BEtaExtrapolation
Definition: MicroGMTIsolationUnit.h:40
l1t::MicroGMTIsolationUnit::calculate5by5Sum
int calculate5by5Sum(unsigned index) const
Definition: MicroGMTIsolationUnit.cc:151
MicroGMTConfiguration.h
l1t::MicroGMTIsolationUnit::m_AbsIsoCheckMem
std::shared_ptr< MicroGMTAbsoluteIsolationCheckLUT > m_AbsIsoCheckMem
Definition: MicroGMTIsolationUnit.h:54
l1t::MicroGMTIsolationUnit::m_towerEnergies
std::map< int, int > m_towerEnergies
Definition: MicroGMTIsolationUnit.h:60
l1t::MicroGMTIsolationUnit::m_FPhiExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_FPhiExtrapolation
Definition: MicroGMTIsolationUnit.h:45
l1t::MicroGMTIsolationUnit::m_initialSums
bool m_initialSums
Definition: MicroGMTIsolationUnit.h:61
l1t::MicroGMTIsolationUnit::m_IdxSelMemEta
std::shared_ptr< MicroGMTCaloIndexSelectionLUT > m_IdxSelMemEta
Definition: MicroGMTIsolationUnit.h:50
MicroGMTExtrapolationLUT.h
l1t::MicroGMTIsolationUnit::setTowerSums
void setTowerSums(const MicroGMTConfiguration::CaloInputCollection &inputs, int bx)
Definition: MicroGMTIsolationUnit.cc:185
l1t::MicroGMTIsolationUnit::m_etaExtrapolationLUTs
std::map< tftype, std::shared_ptr< MicroGMTExtrapolationLUT > > m_etaExtrapolationLUTs
Definition: MicroGMTIsolationUnit.h:48
l1t::MicroGMTIsolationUnit::extrapolateMuons
void extrapolateMuons(MicroGMTConfiguration::InterMuonList &) const
Definition: MicroGMTIsolationUnit.cc:67
l1t
delete x;
Definition: CaloConfig.h:22
MicroGMTLUTFactories.h
l1t::MicroGMTIsolationUnit::getCaloIndex
int getCaloIndex(MicroGMTConfiguration::InterMuon &) const
Definition: MicroGMTIsolationUnit.cc:50
MicroGMTRelativeIsolationCheckLUT.h
MicroGMTAbsoluteIsolationCheckLUT.h
PixelMapPlotter.inputs
inputs
Definition: PixelMapPlotter.py:490
MicroGMTCaloIndexSelectionLUT.h
l1t::MicroGMTIsolationUnit::m_OPhiExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_OPhiExtrapolation
Definition: MicroGMTIsolationUnit.h:43
L1TMuonGlobalParamsHelper.h
l1t::MicroGMTIsolationUnit::m_FEtaExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_FEtaExtrapolation
Definition: MicroGMTIsolationUnit.h:44
l1t::MicroGMTIsolationUnit::isolatePreSummed
void isolatePreSummed(MicroGMTConfiguration::InterMuonList &muons) const
Definition: MicroGMTIsolationUnit.cc:203
l1t::MicroGMTIsolationUnit::m_caloInputsToDisable
std::bitset< 28 > m_caloInputsToDisable
Definition: MicroGMTIsolationUnit.h:56
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
l1t::MicroGMTIsolationUnit::m_fwVersion
int m_fwVersion
Definition: MicroGMTIsolationUnit.h:38
L1TMuonGlobalParamsHelper
Definition: L1TMuonGlobalParamsHelper.h:24
l1t::MicroGMTIsolationUnit::m_BPhiExtrapolation
std::shared_ptr< MicroGMTExtrapolationLUT > m_BPhiExtrapolation
Definition: MicroGMTIsolationUnit.h:41
l1t::MicroGMTIsolationUnit::MicroGMTIsolationUnit
MicroGMTIsolationUnit()
Definition: MicroGMTIsolationUnit.cc:8