CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes | Friends
OMTFConfiguration Class Reference

#include <OMTFConfiguration.h>

Public Types

typedef std::vector< int > vector1D
 
typedef std::vector< std::pair< unsigned int, unsigned int > > vector1D_pair
 
typedef std::vector< vector1Dvector2D
 
typedef std::vector< vector1D_pairvector2D_pair
 
typedef std::vector< vector2Dvector3D
 
typedef std::vector< vector2D_pairvector3D_pair
 
typedef std::vector< vector3Dvector4D
 

Public Member Functions

void configure (const L1TMuonOverlapParams *omtfParams)
 
unsigned int fwVersion () const
 
const std::vector< unsigned int > & getBarrelMax () const
 
const std::vector< unsigned int > & getBarrelMin () const
 
const std::set< int > & getBendingLayers () const
 
const vector3D_pairgetConnections () const
 
const std::vector< unsigned int > & getEndcap10DegMax () const
 
const std::vector< unsigned int > & getEndcap10DegMin () const
 
const std::vector< unsigned int > & getEndcap20DegMax () const
 
const std::vector< unsigned int > & getEndcap20DegMin () const
 
const std::map< int, int > & getHwToLogicLayer () const
 
uint32_t getLayerNumber (uint32_t rawId) const
 
const std::map< int, int > & getLogicToHwLayer () const
 
const std::map< int, int > & getLogicToLogic () const
 
vector4DgetMeasurements4D ()
 
const vector4DgetMeasurements4D () const
 
vector4DgetMeasurements4Dref ()
 
const vector4DgetMeasurements4Dref () const
 
const std::vector< std::vector< int > > & getProcessorPhiVsRefLayer () const
 
const L1TMuonOverlapParamsgetRawParams () const
 
const std::vector< std::vector< RefHitDef > > & getRefHitsDefs () const
 
const std::vector< int > & getRefToLogicNumber () const
 
unsigned int getRegionNumberFromMap (unsigned int iInput, unsigned int iRefLayer, int iPhi) const
 
const std::vector< std::vector< std::vector< std::pair< int, int > > > > & getRegionPhisVsRefLayerVsInput () const
 
int globalPhiStart (unsigned int iProcessor) const
 
void initCounterMatrices ()
 
bool isInRegionRange (int iPhiStart, unsigned int coneSize, int iPhi) const
 
float minPdfVal () const
 
unsigned int nGoldenPatterns () const
 
unsigned int nHitsPerLayer () const
 
unsigned int nInputs () const
 
unsigned int nLayers () const
 
unsigned int nLogicRegions () const
 
unsigned int nPdfAddrBits () const
 
unsigned int nPdfValBits () const
 
unsigned int nPhiBins () const
 
unsigned int nPhiBits () const
 
unsigned int nProcessors () const
 
unsigned int nRefHits () const
 
unsigned int nRefLayers () const
 
unsigned int nTestRefHits () const
 
 OMTFConfiguration ()
 
unsigned int patternsVersion () const
 

Private Attributes

std::vector< unsigned int > barrelMax
 
std::vector< unsigned int > barrelMin
 
std::set< int > bendingLayers
 
vector3D_pair connections
 Map of connections. More...
 
std::vector< unsigned int > endcap10DegMax
 
std::vector< unsigned int > endcap10DegMin
 
std::vector< unsigned int > endcap20DegMax
 
std::vector< unsigned int > endcap20DegMin
 
std::map< int, int > hwToLogicLayer
 
std::map< int, int > logicToHwLayer
 
std::map< int, int > logicToLogic
 
vector4D measurements4D
 4D matrices used during creation of the connections tables. More...
 
vector4D measurements4Dref
 
std::vector< std::vector< int > > processorPhiVsRefLayer
 
L1TMuonOverlapParams rawParams
 
std::vector< std::vector< RefHitDef > > refHitsDefs
 
std::vector< int > refToLogicNumber
 
std::vector< std::vector< std::vector< std::pair< int, int > > > > regionPhisVsRefLayerVsInput
 

Friends

std::ostream & operator<< (std::ostream &out, const OMTFConfiguration &aConfig)
 

Detailed Description

Definition at line 44 of file OMTFConfiguration.h.

Member Typedef Documentation

◆ vector1D

typedef std::vector<int> OMTFConfiguration::vector1D

Definition at line 50 of file OMTFConfiguration.h.

◆ vector1D_pair

typedef std::vector<std::pair<unsigned int, unsigned int> > OMTFConfiguration::vector1D_pair

Definition at line 46 of file OMTFConfiguration.h.

◆ vector2D

typedef std::vector<vector1D> OMTFConfiguration::vector2D

Definition at line 51 of file OMTFConfiguration.h.

◆ vector2D_pair

Definition at line 47 of file OMTFConfiguration.h.

◆ vector3D

typedef std::vector<vector2D> OMTFConfiguration::vector3D

Definition at line 52 of file OMTFConfiguration.h.

◆ vector3D_pair

Definition at line 48 of file OMTFConfiguration.h.

◆ vector4D

typedef std::vector<vector3D> OMTFConfiguration::vector4D

Definition at line 53 of file OMTFConfiguration.h.

Constructor & Destructor Documentation

◆ OMTFConfiguration()

OMTFConfiguration::OMTFConfiguration ( )
inline

Definition at line 55 of file OMTFConfiguration.h.

55 { ; };

Member Function Documentation

◆ configure()

void OMTFConfiguration::configure ( const L1TMuonOverlapParams omtfParams)

Set chamber sectors connections to logic processros.

Set connections tables

connections tables for each processor each logic cone Vector of all layers

Vector of all logic cones

Vector of all processors

Starting phis of each region Vector of all regions in one processor

Vector of all reflayers

Vector of all inputs

Vector of all processros

Symetrize connections. Use th same connections for all processors

Definition at line 49 of file OMTFConfiguration.cc.

49  {
51 
53  barrelMin.resize(nProcessors());
54  endcap10DegMin.resize(nProcessors());
55  endcap20DegMin.resize(nProcessors());
56 
57  barrelMax.resize(nProcessors());
58  endcap10DegMax.resize(nProcessors());
59  endcap20DegMax.resize(nProcessors());
60 
61  const std::vector<int> *connectedSectorsStartVec = omtfParams->connectedSectorsStart();
62  const std::vector<int> *connectedSectorsEndVec = omtfParams->connectedSectorsEnd();
63 
64  std::copy(connectedSectorsStartVec->begin(), connectedSectorsStartVec->begin() + 6, barrelMin.begin());
65  std::copy(connectedSectorsStartVec->begin() + 6, connectedSectorsStartVec->begin() + 12, endcap10DegMin.begin());
66  std::copy(connectedSectorsStartVec->begin() + 12, connectedSectorsStartVec->end(), endcap20DegMin.begin());
67 
68  std::copy(connectedSectorsEndVec->begin(), connectedSectorsEndVec->begin() + 6, barrelMax.begin());
69  std::copy(connectedSectorsEndVec->begin() + 6, connectedSectorsEndVec->begin() + 12, endcap10DegMax.begin());
70  std::copy(connectedSectorsEndVec->begin() + 12, connectedSectorsEndVec->end(), endcap20DegMax.begin());
71 
73  const std::vector<L1TMuonOverlapParams::LayerMapNode> *layerMap = omtfParams->layerMap();
74 
75  for (unsigned int iLayer = 0; iLayer < nLayers(); ++iLayer) {
76  L1TMuonOverlapParams::LayerMapNode aNode = layerMap->at(iLayer);
77  hwToLogicLayer[aNode.hwNumber] = aNode.logicNumber;
78  logicToHwLayer[aNode.logicNumber] = aNode.hwNumber;
80  if (aNode.bendingLayer)
81  bendingLayers.insert(aNode.logicNumber);
82  }
84  refToLogicNumber.resize(nRefLayers());
85 
86  const std::vector<L1TMuonOverlapParams::RefLayerMapNode> *refLayerMap = omtfParams->refLayerMap();
87  for (unsigned int iRefLayer = 0; iRefLayer < nRefLayers(); ++iRefLayer) {
88  L1TMuonOverlapParams::RefLayerMapNode aNode = refLayerMap->at(iRefLayer);
89  refToLogicNumber[aNode.refLayer] = aNode.logicNumber;
90  }
92  std::vector<int> vector1D(nRefLayers(), nPhiBins());
94 
97  vector1D_pair aLayer1D(nLayers());
99  vector2D_pair aLayer2D;
100  aLayer2D.assign(nLogicRegions(), aLayer1D);
102  connections.assign(nProcessors(), aLayer2D);
103 
106  std::vector<std::pair<int, int> > aRefHit1D(nLogicRegions(), std::pair<int, int>(9999, 9999));
108  std::vector<std::vector<std::pair<int, int> > > aRefHit2D;
109  aRefHit2D.assign(nRefLayers(), aRefHit1D);
111  regionPhisVsRefLayerVsInput.assign(nInputs(), aRefHit2D);
112 
113  //Vector of ref hit definitions
114  std::vector<RefHitDef> aRefHitsDefs(nRefHits());
116  refHitsDefs.assign(nProcessors(), aRefHitsDefs);
117 
118  const std::vector<int> *phiStartMap = omtfParams->globalPhiStartMap();
119  const std::vector<L1TMuonOverlapParams::RefHitNode> *refHitMap = omtfParams->refHitMap();
120  const std::vector<L1TMuonOverlapParams::LayerInputNode> *layerInputMap = omtfParams->layerInputMap();
121  unsigned int tmpIndex = 0;
122  for (unsigned int iProcessor = 0; iProcessor < nProcessors(); ++iProcessor) {
123  for (unsigned int iRefLayer = 0; iRefLayer < nRefLayers(); ++iRefLayer) {
124  int iPhiStart = phiStartMap->at(iRefLayer + iProcessor * nRefLayers());
125  processorPhiVsRefLayer[iProcessor][iRefLayer] = iPhiStart;
126  }
127  for (unsigned int iRefHit = 0; iRefHit < nRefHits(); ++iRefHit) {
128  int iPhiMin = refHitMap->at(iRefHit + iProcessor * nRefHits()).iPhiMin;
129  int iPhiMax = refHitMap->at(iRefHit + iProcessor * nRefHits()).iPhiMax;
130  unsigned int iInput = refHitMap->at(iRefHit + iProcessor * nRefHits()).iInput;
131  unsigned int iRegion = refHitMap->at(iRefHit + iProcessor * nRefHits()).iRegion;
132  unsigned int iRefLayer = refHitMap->at(iRefHit + iProcessor * nRefHits()).iRefLayer;
133  regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion] = std::pair<int, int>(iPhiMin, iPhiMax);
134  refHitsDefs[iProcessor][iRefHit] = RefHitDef(iInput, iPhiMin, iPhiMax, iRegion, iRefLayer);
135  }
136  for (unsigned int iLogicRegion = 0; iLogicRegion < nLogicRegions(); ++iLogicRegion) {
137  for (unsigned int iLayer = 0; iLayer < nLayers(); ++iLayer) {
138  tmpIndex = iLayer + iLogicRegion * nLayers() + iProcessor * nLogicRegions() * nLayers();
139  unsigned int iFirstInput = layerInputMap->at(tmpIndex).iFirstInput;
140  unsigned int nInputsInRegion = layerInputMap->at(tmpIndex).nInputs;
141  connections[iProcessor][iLogicRegion][iLayer] =
142  std::pair<unsigned int, unsigned int>(iFirstInput, nInputsInRegion);
144  if (iProcessor != 0)
145  connections[iProcessor][iLogicRegion][iLayer] = connections[0][iLogicRegion][iLayer];
146  }
147  }
148  }
149 
151 }

References barrelMax, barrelMin, L1TMuonOverlapParams::LayerMapNode::bendingLayer, bendingLayers, L1TMuonOverlapParams::LayerMapNode::connectedToLayer, connections, filterCSVwithJSON::copy, endcap10DegMax, endcap10DegMin, endcap20DegMax, endcap20DegMin, L1TMuonOverlapParams::LayerMapNode::hwNumber, hwToLogicLayer, initCounterMatrices(), L1TMuonOverlapParams::LayerMapNode::logicNumber, L1TMuonOverlapParams::RefLayerMapNode::logicNumber, logicToHwLayer, logicToLogic, nInputs(), nLayers(), nLogicRegions(), nPhiBins(), nProcessors(), nRefHits(), nRefLayers(), fakeOmtfParams_cff::omtfParams, processorPhiVsRefLayer, rawParams, refHitsDefs, L1TMuonOverlapParams::RefLayerMapNode::refLayer, refToLogicNumber, and regionPhisVsRefLayerVsInput.

Referenced by OMTFPatternMaker::beginRun(), OMTFReconstruction::beginRun(), and OMTFPatternMaker::endJob().

◆ fwVersion()

unsigned int OMTFConfiguration::fwVersion ( ) const
inline

◆ getBarrelMax()

const std::vector<unsigned int>& OMTFConfiguration::getBarrelMax ( ) const
inline

Definition at line 108 of file OMTFConfiguration.h.

108 { return barrelMax; }

References barrelMax.

Referenced by OMTFinputMaker::acceptDigi().

◆ getBarrelMin()

const std::vector<unsigned int>& OMTFConfiguration::getBarrelMin ( ) const
inline

Definition at line 107 of file OMTFConfiguration.h.

107 { return barrelMin; }

References barrelMin.

Referenced by OMTFinputMaker::acceptDigi(), and OMTFinputMaker::getInputNumber().

◆ getBendingLayers()

const std::set<int>& OMTFConfiguration::getBendingLayers ( ) const
inline

◆ getConnections()

const vector3D_pair& OMTFConfiguration::getConnections ( ) const
inline

Definition at line 120 of file OMTFConfiguration.h.

120 { return connections; };

References connections.

Referenced by OMTFProcessor::restrictInput().

◆ getEndcap10DegMax()

const std::vector<unsigned int>& OMTFConfiguration::getEndcap10DegMax ( ) const
inline

Definition at line 110 of file OMTFConfiguration.h.

110 { return endcap10DegMax; }

References endcap10DegMax.

Referenced by OMTFinputMaker::acceptDigi().

◆ getEndcap10DegMin()

const std::vector<unsigned int>& OMTFConfiguration::getEndcap10DegMin ( ) const
inline

Definition at line 109 of file OMTFConfiguration.h.

109 { return endcap10DegMin; }

References endcap10DegMin.

Referenced by OMTFinputMaker::acceptDigi(), and OMTFinputMaker::getInputNumber().

◆ getEndcap20DegMax()

const std::vector<unsigned int>& OMTFConfiguration::getEndcap20DegMax ( ) const
inline

Definition at line 112 of file OMTFConfiguration.h.

112 { return endcap20DegMax; }

References endcap20DegMax.

Referenced by OMTFinputMaker::acceptDigi().

◆ getEndcap20DegMin()

const std::vector<unsigned int>& OMTFConfiguration::getEndcap20DegMin ( ) const
inline

Definition at line 111 of file OMTFConfiguration.h.

111 { return endcap20DegMin; }

References endcap20DegMin.

Referenced by OMTFinputMaker::acceptDigi(), and OMTFinputMaker::getInputNumber().

◆ getHwToLogicLayer()

const std::map<int, int>& OMTFConfiguration::getHwToLogicLayer ( ) const
inline

◆ getLayerNumber()

uint32_t OMTFConfiguration::getLayerNumber ( uint32_t  rawId) const

Return layer number encoding subsystem, and station number in a simple formula: aLayer+100*detId.subdetId() where aLayer is a layer number counting from vertex

Definition at line 204 of file OMTFConfiguration.cc.

204  {
205  uint32_t aLayer = 0;
206 
207  DetId detId(rawId);
208  if (detId.det() != DetId::Muon) {
209  std::cout << "PROBLEM: hit in unknown Det, detID: " << detId.det() << std::endl;
210  return rawId;
211  }
212 
213  switch (detId.subdetId()) {
214  case MuonSubdetId::RPC: {
215  RPCDetId aId(rawId);
216  bool isBarrel = (aId.region() == 0);
217  if (isBarrel)
218  aLayer = aId.station() <= 2 ? 2 * (aId.station() - 1) + aId.layer() : aId.station() + 2;
219  else
220  aLayer = aId.station();
221  aLayer += 10 * (!isBarrel);
222  break;
223  }
224  case MuonSubdetId::DT: {
225  DTChamberId dt(rawId);
226  aLayer = dt.station();
227  break;
228  }
229  case MuonSubdetId::CSC: {
230  CSCDetId csc(rawId);
231  aLayer = csc.station();
232  if (csc.ring() == 2 && csc.station() == 1)
233  aLayer = 1811; //1811 = 2011 - 200, as we want to get 2011 for this chamber.
234  if (csc.station() == 4)
235  aLayer = 4;
236  break;
237  }
238  }
239 
240  int hwNumber = aLayer + 100 * detId.subdetId();
241 
242  return hwNumber;
243 }

References gather_cfg::cout, MuonSubdetId::CSC, omtf::DataWord64::csc, DetId::det(), MuonSubdetId::DT, dt, PixelPluginsPhase0_cfi::isBarrel, RPCDetId::layer(), DetId::Muon, RPCDetId::region(), MuonSubdetId::RPC, RPCDetId::station(), and DetId::subdetId().

Referenced by OMTFinputMaker::processCSC(), OMTFinputMaker::processDT(), and OMTFinputMaker::processRPC().

◆ getLogicToHwLayer()

const std::map<int, int>& OMTFConfiguration::getLogicToHwLayer ( ) const
inline

Definition at line 102 of file OMTFConfiguration.h.

102 { return logicToHwLayer; }

References logicToHwLayer.

◆ getLogicToLogic()

const std::map<int, int>& OMTFConfiguration::getLogicToLogic ( ) const
inline

Definition at line 103 of file OMTFConfiguration.h.

103 { return logicToLogic; }

References logicToLogic.

Referenced by OMTFResult::finalise().

◆ getMeasurements4D() [1/2]

vector4D& OMTFConfiguration::getMeasurements4D ( )
inline

◆ getMeasurements4D() [2/2]

const vector4D& OMTFConfiguration::getMeasurements4D ( ) const
inline

Definition at line 125 of file OMTFConfiguration.h.

125 { return measurements4D; }

References measurements4D.

◆ getMeasurements4Dref() [1/2]

vector4D& OMTFConfiguration::getMeasurements4Dref ( )
inline

◆ getMeasurements4Dref() [2/2]

const vector4D& OMTFConfiguration::getMeasurements4Dref ( ) const
inline

Definition at line 126 of file OMTFConfiguration.h.

126 { return measurements4Dref; }

References measurements4Dref.

◆ getProcessorPhiVsRefLayer()

const std::vector<std::vector<int> >& OMTFConfiguration::getProcessorPhiVsRefLayer ( ) const
inline

Definition at line 114 of file OMTFConfiguration.h.

114 { return processorPhiVsRefLayer; }

References processorPhiVsRefLayer.

Referenced by XMLConfigWriter::writeConnectionsData().

◆ getRawParams()

const L1TMuonOverlapParams* OMTFConfiguration::getRawParams ( ) const
inline

Definition at line 84 of file OMTFConfiguration.h.

84 { return &rawParams; };

References rawParams.

Referenced by OMTFPatternMaker::endJob().

◆ getRefHitsDefs()

const std::vector<std::vector<RefHitDef> >& OMTFConfiguration::getRefHitsDefs ( ) const
inline

Definition at line 118 of file OMTFConfiguration.h.

118 { return refHitsDefs; }

References refHitsDefs.

Referenced by OMTFProcessor::fillCounts(), OMTFinput::getRefHits(), and OMTFProcessor::processInput().

◆ getRefToLogicNumber()

const std::vector<int>& OMTFConfiguration::getRefToLogicNumber ( ) const
inline

◆ getRegionNumberFromMap()

unsigned int OMTFConfiguration::getRegionNumberFromMap ( unsigned int  iInput,
unsigned int  iRefLayer,
int  iPhi 
) const

Find logic region number using first input number and then local phi value. The input and phi ranges are taken from DB.

Definition at line 188 of file OMTFConfiguration.cc.

188  {
189  for (unsigned int iRegion = 0; iRegion < nLogicRegions(); ++iRegion) {
190  if (iPhi >= regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion].first &&
191  iPhi <= regionPhisVsRefLayerVsInput[iInput][iRefLayer][iRegion].second)
192  return iRegion;
193  }
194 
195  return 99;
196 }

References first, nLogicRegions(), regionPhisVsRefLayerVsInput, and edm::second().

Referenced by OMTFConfigMaker::fillPhiMaps(), and OMTFConfigMaker::makeConnetionsMap().

◆ getRegionPhisVsRefLayerVsInput()

const std::vector<std::vector<std::vector<std::pair<int, int> > > >& OMTFConfiguration::getRegionPhisVsRefLayerVsInput ( ) const
inline

Definition at line 115 of file OMTFConfiguration.h.

115  {
117  }

References regionPhisVsRefLayerVsInput.

◆ globalPhiStart()

int OMTFConfiguration::globalPhiStart ( unsigned int  iProcessor) const

Return global phi for beggining of given processor Uses minim phi over all reference layers.

Definition at line 199 of file OMTFConfiguration.cc.

199  {
200  return *std::min_element(processorPhiVsRefLayer[iProcessor].begin(), processorPhiVsRefLayer[iProcessor].end());
201 }

References mps_fire::end, and processorPhiVsRefLayer.

Referenced by XMLConfigWriter::writeConnectionsData().

◆ initCounterMatrices()

void OMTFConfiguration::initCounterMatrices ( )

Vector of all inputs

Vector of all layers

Vector of all logic cones

Vector of all processors

Definition at line 31 of file OMTFConfiguration.cc.

31  {
33  std::vector<int> aLayer1D(nInputs(), 0);
34 
36  vector2D aLayer2D;
37  aLayer2D.assign(nLayers(), aLayer1D);
38 
40  vector3D aLayer3D;
41  aLayer3D.assign(nLogicRegions(), aLayer2D);
42 
44  measurements4D.assign(nProcessors(), aLayer3D);
45  measurements4Dref.assign(nProcessors(), aLayer3D);
46 }

References measurements4D, measurements4Dref, nInputs(), nLayers(), nLogicRegions(), and nProcessors().

Referenced by configure().

◆ isInRegionRange()

bool OMTFConfiguration::isInRegionRange ( int  iPhiStart,
unsigned int  coneSize,
int  iPhi 
) const

Check if given referecne hit is in phi range for some logic cone. Care is needed arounf +Pi and +2Pi points

Definition at line 171 of file OMTFConfiguration.cc.

171  {
172  if (iPhi < 0)
173  iPhi += nPhiBins();
174  if (iPhiStart < 0)
175  iPhiStart += nPhiBins();
176 
177  if (iPhiStart + (int)coneSize < (int)nPhiBins()) {
178  return iPhiStart <= iPhi && iPhiStart + (int)coneSize > iPhi;
179  } else if (iPhi > (int)nPhiBins() / 2) {
180  return iPhiStart <= iPhi;
181  } else if (iPhi < (int)nPhiBins() / 2) {
182  return iPhi < iPhiStart + (int)coneSize - (int)nPhiBins();
183  }
184  return false;
185 }

References HLT_FULL_cff::coneSize, createfilelist::int, and nPhiBins().

◆ minPdfVal()

float OMTFConfiguration::minPdfVal ( ) const
inline

Definition at line 86 of file OMTFConfiguration.h.

86 { return 0.001; };

Referenced by GoldenPattern::normalise().

◆ nGoldenPatterns()

unsigned int OMTFConfiguration::nGoldenPatterns ( ) const
inline

Definition at line 99 of file OMTFConfiguration.h.

99 { return rawParams.nGoldenPatterns(); };

References L1TMuonOverlapParams::nGoldenPatterns(), and rawParams.

Referenced by OMTFProcessor::configure().

◆ nHitsPerLayer()

unsigned int OMTFConfiguration::nHitsPerLayer ( ) const
inline

Definition at line 88 of file OMTFConfiguration.h.

88 { return rawParams.nHitsPerLayer(); };

References L1TMuonOverlapParams::nHitsPerLayer(), and rawParams.

Referenced by operator<<().

◆ nInputs()

unsigned int OMTFConfiguration::nInputs ( ) const
inline

◆ nLayers()

unsigned int OMTFConfiguration::nLayers ( ) const
inline

◆ nLogicRegions()

unsigned int OMTFConfiguration::nLogicRegions ( ) const
inline

◆ nPdfAddrBits()

unsigned int OMTFConfiguration::nPdfAddrBits ( ) const
inline

◆ nPdfValBits()

unsigned int OMTFConfiguration::nPdfValBits ( ) const
inline

Definition at line 92 of file OMTFConfiguration.h.

92 { return rawParams.nPdfValBits(); };

References L1TMuonOverlapParams::nPdfValBits(), and rawParams.

Referenced by GoldenPattern::normalise(), and operator<<().

◆ nPhiBins()

unsigned int OMTFConfiguration::nPhiBins ( ) const
inline

◆ nPhiBits()

unsigned int OMTFConfiguration::nPhiBits ( ) const
inline

◆ nProcessors()

unsigned int OMTFConfiguration::nProcessors ( ) const
inline

◆ nRefHits()

unsigned int OMTFConfiguration::nRefHits ( ) const
inline

◆ nRefLayers()

unsigned int OMTFConfiguration::nRefLayers ( ) const
inline

◆ nTestRefHits()

unsigned int OMTFConfiguration::nTestRefHits ( ) const
inline

◆ patternsVersion()

unsigned int OMTFConfiguration::patternsVersion ( ) const
inline

Definition at line 82 of file OMTFConfiguration.h.

82 { return rawParams.fwVersion() & 0xFFFF; };

References L1TMuonOverlapParams::fwVersion(), and rawParams.

Referenced by XMLConfigWriter::initialiseXMLDocument().

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const OMTFConfiguration aConfig 
)
friend

Definition at line 154 of file OMTFConfiguration.cc.

154  {
155  out << "nLayers(): " << aConfig.nLayers() << " nHitsPerLayer(): " << aConfig.nHitsPerLayer()
156  << " nRefLayers(): " << aConfig.nRefLayers() << " nPdfAddrBits: " << aConfig.nPdfAddrBits()
157  << " nPdfValBits: " << aConfig.nPdfValBits() << std::endl;
158 
159  for (unsigned int iProcessor = 0; iProcessor < aConfig.nProcessors(); ++iProcessor) {
160  out << "Processor: " << iProcessor;
161  for (unsigned int iRefLayer = 0; iRefLayer < aConfig.nRefLayers(); ++iRefLayer) {
162  out << " " << aConfig.processorPhiVsRefLayer[iProcessor][iRefLayer];
163  }
164  out << std::endl;
165  }
166 
167  return out;
168 }

Member Data Documentation

◆ barrelMax

std::vector<unsigned int> OMTFConfiguration::barrelMax
private

Definition at line 143 of file OMTFConfiguration.h.

Referenced by configure(), and getBarrelMax().

◆ barrelMin

std::vector<unsigned int> OMTFConfiguration::barrelMin
private

Starting and final sectors connected to processors. Index: processor number

Definition at line 142 of file OMTFConfiguration.h.

Referenced by configure(), and getBarrelMin().

◆ bendingLayers

std::set<int> OMTFConfiguration::bendingLayers
private

Definition at line 136 of file OMTFConfiguration.h.

Referenced by configure(), and getBendingLayers().

◆ connections

vector3D_pair OMTFConfiguration::connections
private

Map of connections.

Definition at line 171 of file OMTFConfiguration.h.

Referenced by configure(), and getConnections().

◆ endcap10DegMax

std::vector<unsigned int> OMTFConfiguration::endcap10DegMax
private

Definition at line 145 of file OMTFConfiguration.h.

Referenced by configure(), and getEndcap10DegMax().

◆ endcap10DegMin

std::vector<unsigned int> OMTFConfiguration::endcap10DegMin
private

Definition at line 144 of file OMTFConfiguration.h.

Referenced by configure(), and getEndcap10DegMin().

◆ endcap20DegMax

std::vector<unsigned int> OMTFConfiguration::endcap20DegMax
private

Definition at line 147 of file OMTFConfiguration.h.

Referenced by configure(), and getEndcap20DegMax().

◆ endcap20DegMin

std::vector<unsigned int> OMTFConfiguration::endcap20DegMin
private

Definition at line 146 of file OMTFConfiguration.h.

Referenced by configure(), and getEndcap20DegMin().

◆ hwToLogicLayer

std::map<int, int> OMTFConfiguration::hwToLogicLayer
private

Definition at line 133 of file OMTFConfiguration.h.

Referenced by configure(), and getHwToLogicLayer().

◆ logicToHwLayer

std::map<int, int> OMTFConfiguration::logicToHwLayer
private

Definition at line 134 of file OMTFConfiguration.h.

Referenced by configure(), and getLogicToHwLayer().

◆ logicToLogic

std::map<int, int> OMTFConfiguration::logicToLogic
private

Definition at line 135 of file OMTFConfiguration.h.

Referenced by configure(), and getLogicToLogic().

◆ measurements4D

vector4D OMTFConfiguration::measurements4D
private

4D matrices used during creation of the connections tables.

Definition at line 174 of file OMTFConfiguration.h.

Referenced by getMeasurements4D(), and initCounterMatrices().

◆ measurements4Dref

vector4D OMTFConfiguration::measurements4Dref
private

Definition at line 175 of file OMTFConfiguration.h.

Referenced by getMeasurements4Dref(), and initCounterMatrices().

◆ processorPhiVsRefLayer

std::vector<std::vector<int> > OMTFConfiguration::processorPhiVsRefLayer
private

Starting iPhi for each processor and each referecne layer Global phi scale is used First index: processor number Second index: referecne layer number

Definition at line 153 of file OMTFConfiguration.h.

Referenced by configure(), getProcessorPhiVsRefLayer(), globalPhiStart(), and operator<<().

◆ rawParams

L1TMuonOverlapParams OMTFConfiguration::rawParams
private

◆ refHitsDefs

std::vector<std::vector<RefHitDef> > OMTFConfiguration::refHitsDefs
private

Vector with definitions of reference hits Vector has fixed size of nRefHits Order of elements defines priority order First index: processor number (0-5) Second index: ref hit number (0-127)

Definition at line 168 of file OMTFConfiguration.h.

Referenced by configure(), and getRefHitsDefs().

◆ refToLogicNumber

std::vector<int> OMTFConfiguration::refToLogicNumber
private

Definition at line 137 of file OMTFConfiguration.h.

Referenced by configure(), and getRefToLogicNumber().

◆ regionPhisVsRefLayerVsInput

std::vector<std::vector<std::vector<std::pair<int, int> > > > OMTFConfiguration::regionPhisVsRefLayerVsInput
private

Begin and end local phi for each logis region First index: input number Second index: reference layer number Third index: region pair.first: starting phi of region (inclusive) pair.second: ending phi of region (inclusive)

Definition at line 161 of file OMTFConfiguration.h.

Referenced by configure(), getRegionNumberFromMap(), and getRegionPhisVsRefLayerVsInput().

L1TMuonOverlapParams::LayerMapNode::connectedToLayer
unsigned int connectedToLayer
Definition: L1TMuonOverlapParams.h:45
L1TMuonOverlapParams::nPhiBins
int nPhiBins() const
Definition: L1TMuonOverlapParams.h:148
fakeOmtfParams_cff.omtfParams
omtfParams
OMTF ESProducer.
Definition: fakeOmtfParams_cff.py:11
MuonSubdetId::CSC
static constexpr int CSC
Definition: MuonSubdetId.h:12
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
RefHitDef
Definition: OMTFConfiguration.h:16
OMTFConfiguration::endcap10DegMin
std::vector< unsigned int > endcap10DegMin
Definition: OMTFConfiguration.h:144
OMTFConfiguration::vector2D_pair
std::vector< vector1D_pair > vector2D_pair
Definition: OMTFConfiguration.h:47
OMTFConfiguration::nPdfValBits
unsigned int nPdfValBits() const
Definition: OMTFConfiguration.h:92
RPCDetId
Definition: RPCDetId.h:16
gather_cfg.cout
cout
Definition: gather_cfg.py:144
OMTFConfiguration::vector1D_pair
std::vector< std::pair< unsigned int, unsigned int > > vector1D_pair
Definition: OMTFConfiguration.h:46
OMTFConfiguration::regionPhisVsRefLayerVsInput
std::vector< std::vector< std::vector< std::pair< int, int > > > > regionPhisVsRefLayerVsInput
Definition: OMTFConfiguration.h:161
L1TMuonOverlapParams::nTestRefHits
int nTestRefHits() const
Definition: L1TMuonOverlapParams.h:152
OMTFConfiguration::nRefHits
unsigned int nRefHits() const
Definition: OMTFConfiguration.h:94
omtf::DataWord64::csc
Definition: OmtfDataWord64.h:16
OMTFConfiguration::refToLogicNumber
std::vector< int > refToLogicNumber
Definition: OMTFConfiguration.h:137
OMTFConfiguration::endcap10DegMax
std::vector< unsigned int > endcap10DegMax
Definition: OMTFConfiguration.h:145
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
L1TMuonOverlapParams::fwVersion
unsigned fwVersion() const
Definition: L1TMuonOverlapParams.h:129
OMTFConfiguration::nPhiBins
unsigned int nPhiBins() const
Definition: OMTFConfiguration.h:93
L1TMuonOverlapParams::nPdfValBits
int nPdfValBits() const
Definition: L1TMuonOverlapParams.h:142
L1TMuonOverlapParams::nGoldenPatterns
int nGoldenPatterns() const
Definition: L1TMuonOverlapParams.h:164
OMTFConfiguration::initCounterMatrices
void initCounterMatrices()
Definition: OMTFConfiguration.cc:31
OMTFConfiguration::measurements4D
vector4D measurements4D
4D matrices used during creation of the connections tables.
Definition: OMTFConfiguration.h:174
dt
float dt
Definition: AMPTWrapper.h:136
DetId
Definition: DetId.h:17
L1TMuonOverlapParams::RefLayerMapNode
Definition: L1TMuonOverlapParams.h:52
OMTFConfiguration::vector2D
std::vector< vector1D > vector2D
Definition: OMTFConfiguration.h:51
csc
Definition: L1Track.h:19
L1TMuonOverlapParams::nInputs
int nInputs() const
Definition: L1TMuonOverlapParams.h:158
mps_fire.end
end
Definition: mps_fire.py:242
OMTFConfiguration::nHitsPerLayer
unsigned int nHitsPerLayer() const
Definition: OMTFConfiguration.h:88
OMTFConfiguration::nPdfAddrBits
unsigned int nPdfAddrBits() const
Definition: OMTFConfiguration.h:91
OMTFConfiguration::processorPhiVsRefLayer
std::vector< std::vector< int > > processorPhiVsRefLayer
Definition: OMTFConfiguration.h:153
L1TMuonOverlapParams::nHitsPerLayer
int nHitsPerLayer() const
Definition: L1TMuonOverlapParams.h:144
MuonSubdetId::DT
static constexpr int DT
Definition: MuonSubdetId.h:11
OMTFConfiguration::endcap20DegMin
std::vector< unsigned int > endcap20DegMin
Definition: OMTFConfiguration.h:146
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
OMTFConfiguration::vector1D
std::vector< int > vector1D
Definition: OMTFConfiguration.h:50
PixelPluginsPhase0_cfi.isBarrel
isBarrel
Definition: PixelPluginsPhase0_cfi.py:17
HLT_FULL_cff.coneSize
coneSize
Definition: HLT_FULL_cff.py:50857
OMTFConfiguration::measurements4Dref
vector4D measurements4Dref
Definition: OMTFConfiguration.h:175
OMTFConfiguration::nLayers
unsigned int nLayers() const
Definition: OMTFConfiguration.h:87
OMTFConfiguration::connections
vector3D_pair connections
Map of connections.
Definition: OMTFConfiguration.h:171
CSCDetId
Definition: CSCDetId.h:26
L1TMuonOverlapParams::nRefLayers
int nRefLayers() const
Definition: L1TMuonOverlapParams.h:162
createfilelist.int
int
Definition: createfilelist.py:10
OMTFConfiguration::refHitsDefs
std::vector< std::vector< RefHitDef > > refHitsDefs
Definition: OMTFConfiguration.h:168
L1TMuonOverlapParams::nProcessors
int nProcessors() const
Definition: L1TMuonOverlapParams.h:154
OMTFConfiguration::logicToHwLayer
std::map< int, int > logicToHwLayer
Definition: OMTFConfiguration.h:134
OMTFConfiguration::barrelMin
std::vector< unsigned int > barrelMin
Definition: OMTFConfiguration.h:142
OMTFConfiguration::logicToLogic
std::map< int, int > logicToLogic
Definition: OMTFConfiguration.h:135
OMTFConfiguration::nProcessors
unsigned int nProcessors() const
Definition: OMTFConfiguration.h:96
L1TMuonOverlapParams::nPhiBits
int nPhiBits() const
Definition: L1TMuonOverlapParams.h:146
L1TMuonOverlapParams::nPdfAddrBits
int nPdfAddrBits() const
Access to specific general settings.
Definition: L1TMuonOverlapParams.h:140
MuonSubdetId::RPC
static constexpr int RPC
Definition: MuonSubdetId.h:13
OMTFConfiguration::vector3D
std::vector< vector2D > vector3D
Definition: OMTFConfiguration.h:52
OMTFConfiguration::nRefLayers
unsigned int nRefLayers() const
Definition: OMTFConfiguration.h:89
OMTFConfiguration::hwToLogicLayer
std::map< int, int > hwToLogicLayer
Definition: OMTFConfiguration.h:133
L1TMuonOverlapParams::nLogicRegions
int nLogicRegions() const
Definition: L1TMuonOverlapParams.h:156
L1TMuonOverlapParams::LayerMapNode::hwNumber
unsigned int hwNumber
short layer number used within OMTF emulator
Definition: L1TMuonOverlapParams.h:35
OMTFConfiguration::rawParams
L1TMuonOverlapParams rawParams
Definition: OMTFConfiguration.h:131
L1TMuonOverlapParams::RefLayerMapNode::refLayer
unsigned int refLayer
Reference layer number.
Definition: L1TMuonOverlapParams.h:55
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
DetId::Muon
Definition: DetId.h:26
DTChamberId
Definition: DTChamberId.h:14
L1TMuonOverlapParams::LayerMapNode::logicNumber
unsigned int logicNumber
logic numer of the layer
Definition: L1TMuonOverlapParams.h:38
L1TMuonOverlapParams::LayerMapNode
Definition: L1TMuonOverlapParams.h:32
OMTFConfiguration::bendingLayers
std::set< int > bendingLayers
Definition: OMTFConfiguration.h:136
OMTFConfiguration::nLogicRegions
unsigned int nLogicRegions() const
Definition: OMTFConfiguration.h:97
L1TMuonOverlapParams::nLayers
int nLayers() const
Definition: L1TMuonOverlapParams.h:160
OMTFConfiguration::nInputs
unsigned int nInputs() const
Definition: OMTFConfiguration.h:98
L1TMuonOverlapParams::nRefHits
int nRefHits() const
Definition: L1TMuonOverlapParams.h:150
OMTFConfiguration::barrelMax
std::vector< unsigned int > barrelMax
Definition: OMTFConfiguration.h:143
L1TMuonOverlapParams::LayerMapNode::bendingLayer
bool bendingLayer
Is this a bending layers?
Definition: L1TMuonOverlapParams.h:41
OMTFConfiguration::endcap20DegMax
std::vector< unsigned int > endcap20DegMax
Definition: OMTFConfiguration.h:147
L1TMuonOverlapParams::RefLayerMapNode::logicNumber
unsigned int logicNumber
Corresponding logical layer number.
Definition: L1TMuonOverlapParams.h:58