CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtEtaPhiConversions.h
Go to the documentation of this file.
1 #ifndef GlobalTrigger_L1GtEtaPhiConversions_h
2 #define GlobalTrigger_L1GtEtaPhiConversions_h
3 
20 // system include files
21 #include <iostream>
22 #include <vector>
23 #include <utility>
24 #include <cmath>
25 
26 // user include files
27 
28 // base class
29 
30 //
32 
33 // forward declarations
34 class L1CaloGeometry;
35 class L1MuTriggerScales;
36 
37 // class interface
39 
40 public:
41 
44 
46  virtual ~L1GtEtaPhiConversions();
47 
48 public:
49 
52  const unsigned int gtObjectPairIndex(const L1GtObject&,
53  const L1GtObject&) const;
54 
60  const bool convertPhiIndex(const unsigned int pairIndex,
61  const unsigned int positionPair, const unsigned int initialIndex,
62  unsigned int& convertedIndex) const ;
63 
68  const bool convertEtaIndex(const L1GtObject&, const unsigned int initialIndex,
69  unsigned int& convertedIndex) const;
70 
72  const unsigned int gtObjectNrBinsPhi(const L1GtObject&) const;
73 
75  const unsigned int gtObjectNrBinsPhi(const L1GtObject&,
76  const L1GtObject&) const;
77 
80  const unsigned int gtObjectNrBinsPhi(const unsigned int) const;
81 
84  const int, const int);
85 
86  inline void setVerbosity(const int verbosity) {
88  }
89 
91  virtual void print(std::ostream& myCout) const;
92 
93 
94 
95 
96 private:
97 
100  static const unsigned int badIndex;
101 
103  static const double PiConversion;
104 
106  const double rad2deg(const double&) const;
107 
108 
109 private:
110 
112  std::vector<std::pair<L1GtObject, L1GtObject> > m_gtObjectPairVec;
113 
117  std::vector<bool> m_pairConvertPhiFirstGtObject;
118 
123  std::vector<const unsigned int*> m_pairNrPhiBinsVec;
124 
129  std::vector<const std::vector<unsigned int>*> m_pairPhiConvVec;
130 
131 private:
132 
135 
138 
139 private:
140 
142  unsigned int m_nrBinsPhiMu;
143 
145  unsigned int m_nrBinsPhiJetEg;
146 
148  unsigned int m_nrBinsPhiEtm;
149 
151  unsigned int m_nrBinsPhiHtm;
152 
154  unsigned int m_nrBinsEtaCommon;
155 
156 private:
157 
159  std::vector<unsigned int> m_lutPhiMuToJetEg;
160 
162  std::vector<unsigned int> m_lutPhiMuToEtm;
163 
165  std::vector<unsigned int> m_lutPhiMuToHtm;
166 
168  std::vector<unsigned int> m_lutPhiEtmToJetEg;
169 
171  std::vector<unsigned int> m_lutPhiEtmToHtm;
172 
174  std::vector<unsigned int> m_lutPhiHtmToJetEg;
175 
179  std::vector<unsigned int> m_lutPhiJetEgToJetEg;
180 
181 private:
182 
185  std::vector<unsigned int> m_lutEtaCentralToCommonCalo;
186 
188  std::vector<unsigned int> m_lutEtaForJetToCommonCalo;
189 
191  std::vector<unsigned int> m_lutEtaMuToCommonCalo;
192 
193 private:
194 
197 
200 
201 };
202 
203 #endif
const L1CaloGeometry * m_l1CaloGeometry
pointer to calorimetry scales - updated in convertl1Scales method
const double rad2deg(const double &) const
convert phi from rad (-pi, pi] to deg (0, 360)
unsigned int m_nrBinsEtaCommon
number of eta bins for common scale
unsigned int m_nrBinsPhiMu
number of phi bins for muons
std::vector< const std::vector< unsigned int > * > m_pairPhiConvVec
std::vector< unsigned int > m_lutEtaCentralToCommonCalo
std::vector< const unsigned int * > m_pairNrPhiBinsVec
std::vector< bool > m_pairConvertPhiFirstGtObject
unsigned int m_nrBinsPhiEtm
number of phi bins for ETM
std::vector< unsigned int > m_lutPhiMuToHtm
phi conversion for Mu to HTM
const unsigned int gtObjectPairIndex(const L1GtObject &, const L1GtObject &) const
virtual ~L1GtEtaPhiConversions()
destructor
void setVerbosity(const int verbosity)
std::vector< unsigned int > m_lutEtaForJetToCommonCalo
eta conversion of ForJet to the common calorimeter eta scale defined before
void convertL1Scales(const L1CaloGeometry *, const L1MuTriggerScales *, const int, const int)
perform all scale conversions
std::vector< unsigned int > m_lutPhiMuToEtm
phi conversion for Mu to ETM
const unsigned int gtObjectNrBinsPhi(const L1GtObject &) const
return the number of phi bins for a GT object
static const unsigned int badIndex
int m_verbosity
verbosity level
std::vector< std::pair< L1GtObject, L1GtObject > > m_gtObjectPairVec
vector of all L1GtObject pairs
unsigned int m_nrBinsPhiJetEg
number of phi bins for calorimeter objects (*Jet, *EG)
const bool convertEtaIndex(const L1GtObject &, const unsigned int initialIndex, unsigned int &convertedIndex) const
static const double PiConversion
std::vector< unsigned int > m_lutPhiMuToJetEg
phi conversion for Mu to (*Jet, EG)
unsigned int m_nrBinsPhiHtm
number of phi bins for HTM
bool m_isDebugEnabled
cached edm::isDebugEnabled()
const L1MuTriggerScales * m_l1MuTriggerScales
pointer to muon scales - updated in convertl1Scales method
std::vector< unsigned int > m_lutPhiEtmToHtm
phi conversion for ETM to HTM
const bool convertPhiIndex(const unsigned int pairIndex, const unsigned int positionPair, const unsigned int initialIndex, unsigned int &convertedIndex) const
virtual void print(std::ostream &myCout) const
print all the performed conversions
std::vector< unsigned int > m_lutPhiJetEgToJetEg
std::vector< unsigned int > m_lutPhiHtmToJetEg
phi conversion for HTM to (*Jet, EG)
std::vector< unsigned int > m_lutEtaMuToCommonCalo
eta conversion of Mu to the common calorimeter eta scale defined before
std::vector< unsigned int > m_lutPhiEtmToJetEg
phi conversion for ETM to (*Jet, EG)