CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Protected Attributes
L1MuGMTRegMMConfig Class Reference

GMT Register that implements enum of merge methods. More...

#include <L1MuGMTReg.h>

Inheritance diagram for L1MuGMTRegMMConfig:
L1MuGMTReg L1MuGMTRegMMConfigCharge L1MuGMTRegMMConfigEta L1MuGMTRegMMConfigMIPISO L1MuGMTRegMMConfigPhi L1MuGMTRegMMConfigPt L1MuGMTRegMMConfigSRK L1MuGMTRegMMConfigISO L1MuGMTRegMMConfigMIP

Public Types

enum  MergeMethods {
  takeDTCSC, takeRPC, byRank, byMinPt,
  byCombi, Special
}
 

Public Member Functions

virtual std::string getName ()
 get Name More...
 
 L1MuGMTRegMMConfig (const std::string &param, MergeMethods def_brl, MergeMethods def_fwd)
 
void setMergeMethod ()
 
virtual ~L1MuGMTRegMMConfig ()
 
- Public Member Functions inherited from L1MuGMTReg
unsigned getNumberOfInstances ()
 get number on instances More...
 
unsigned getValue (int idx)
 get Value More...
 
 L1MuGMTReg (int ninst=2)
 default constructor More...
 
virtual ~L1MuGMTReg ()
 destructor More...
 

Protected Attributes

MergeMethods m_default [2]
 
std::string m_param
 
- Protected Attributes inherited from L1MuGMTReg
std::vector< unsigned > m_value
 

Detailed Description

GMT Register that implements enum of merge methods.

Definition at line 73 of file L1MuGMTReg.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

L1MuGMTRegMMConfig::L1MuGMTRegMMConfig ( const std::string &  param,
MergeMethods  def_brl,
MergeMethods  def_fwd 
)
inline

Definition at line 79 of file L1MuGMTReg.h.

References m_default, and setMergeMethod().

79  :
80  m_param(param) {
81  m_default[0] = def_brl;
82  m_default[1] = def_fwd;
83  setMergeMethod();
84  };
std::string m_param
Definition: L1MuGMTReg.h:126
MergeMethods m_default[2]
Definition: L1MuGMTReg.h:130
void setMergeMethod()
Definition: L1MuGMTReg.h:93
virtual L1MuGMTRegMMConfig::~L1MuGMTRegMMConfig ( )
inlinevirtual

Definition at line 87 of file L1MuGMTReg.h.

87 {};

Member Function Documentation

virtual std::string L1MuGMTRegMMConfig::getName ( )
inlinevirtual

get Name

Implements L1MuGMTReg.

Definition at line 90 of file L1MuGMTReg.h.

References m_param.

90 { return "MMConfig_" + m_param; };
std::string m_param
Definition: L1MuGMTReg.h:126
void L1MuGMTRegMMConfig::setMergeMethod ( )
inline

Definition at line 93 of file L1MuGMTReg.h.

References byCombi, byMinPt, byRank, L1MuGMTConfig::Debug(), L1MuGMTConfig::getGMTParams(), L1MuGMTParameters::getMergeMethodChargeBrl(), L1MuGMTParameters::getMergeMethodChargeFwd(), L1MuGMTParameters::getMergeMethodEtaBrl(), L1MuGMTParameters::getMergeMethodEtaFwd(), L1MuGMTParameters::getMergeMethodPhiBrl(), L1MuGMTParameters::getMergeMethodPhiFwd(), L1MuGMTParameters::getMergeMethodPtBrl(), L1MuGMTParameters::getMergeMethodPtFwd(), cuy::ii, m_default, m_param, L1MuGMTReg::m_value, Special, AlCaHLTBitMon_QueryRunRegistry::string, takeDTCSC, and takeRPC.

Referenced by L1MuGMTRegMMConfig().

93  {
94  static MergeMethods avlMethods[6] = { takeDTCSC, takeRPC, byRank, byMinPt, byCombi, Special };
95  std::string mn[6] = { "takeDT", "takeRPC", "byRank", "byMinPt", "byCombi", "Special" };
96 
97  MergeMethods mm;
98  std::string mm_str;
99 
100  mm = m_default[0];
102  else if(m_param=="Eta") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodEtaBrl();
103  else if(m_param=="Pt") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPtBrl();
104  else if(m_param=="Charge") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodChargeBrl();
105  for(int ii=0; ii<6; ii++) if(mm_str == mn[ii]) {mm = avlMethods[ii]; break;}
106  m_value[0] = 1 << (5-(int) MergeMethods(mm));
107  if ( L1MuGMTConfig::Debug(1) ) edm::LogVerbatim("GMT_Register_Info") << " "
108  << "MergeMethod" << m_param << "Brl"
109  << " is " << mm
110  << "( value " << m_value[0] << " )";
111 
112  mm = m_default[1];
113  mn[0] = "takeCSC";
115  else if(m_param=="Eta") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodEtaFwd();
116  else if(m_param=="Pt") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPtFwd();
117  else if(m_param=="Charge") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodChargeFwd();
118  for(int ii=0; ii<6; ii++) if(mm_str == mn[ii]) {mm = avlMethods[ii]; break;}
119  m_value[1] = 1 << (5-(int) MergeMethods(mm));
120  if ( L1MuGMTConfig::Debug(1) ) edm::LogVerbatim("GMT_Register_Info") << " "
121  << "MergeMethod" << m_param << "Fwd"
122  << " is " << mm
123  << "( value " << m_value[1] << " )";
124 
125 
126  };
const std::string & getMergeMethodPtFwd() const
const std::string & getMergeMethodPhiBrl() const
const std::string & getMergeMethodEtaBrl() const
std::string m_param
Definition: L1MuGMTReg.h:126
const std::string & getMergeMethodEtaFwd() const
int ii
Definition: cuy.py:588
std::vector< unsigned > m_value
Definition: L1MuGMTReg.h:64
static bool Debug()
MergeMethods m_default[2]
Definition: L1MuGMTReg.h:130
const std::string & getMergeMethodPhiFwd() const
const std::string & getMergeMethodChargeBrl() const
static const L1MuGMTParameters * getGMTParams()
const std::string & getMergeMethodPtBrl() const
const std::string & getMergeMethodChargeFwd() const

Member Data Documentation

MergeMethods L1MuGMTRegMMConfig::m_default[2]
protected

Definition at line 130 of file L1MuGMTReg.h.

Referenced by L1MuGMTRegMMConfig(), and setMergeMethod().

std::string L1MuGMTRegMMConfig::m_param
protected