CMS 3D CMS Logo

MuonTemplate.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TGlobal_MuonTemplate_h
2 #define L1Trigger_L1TGlobal_MuonTemplate_h
3 
21 // system include files
22 #include <string>
23 #include <iosfwd>
24 
25 // user include files
26 
27 // base class
29 
30 // forward declarations
31 
32 // class declaration
33 class MuonTemplate : public GlobalCondition {
34 public:
35  // constructor
36  MuonTemplate();
37 
38  // constructor
39  MuonTemplate(const std::string&);
40 
41  // constructor
43 
44  // copy constructor
45  MuonTemplate(const MuonTemplate&);
46 
47  // destructor
48  ~MuonTemplate() override;
49 
50  // assign operator
52 
53 public:
54  // typedef for a single object template
55  struct ObjectParameter {
56  unsigned int unconstrainedPtHigh;
57  unsigned int unconstrainedPtLow;
58  unsigned int impactParameterHigh;
59  unsigned int impactParameterLow;
60  unsigned int ptHighThreshold;
61  unsigned int ptLowThreshold;
62  unsigned int indexHigh;
63  unsigned int indexLow;
64  bool enableMip;
65  bool enableIso;
66  bool requestIso;
67  unsigned int qualityLUT;
68  unsigned int isolationLUT;
69  unsigned int impactParameterLUT;
70  unsigned long long etaRange;
71  unsigned int phiHigh;
72  unsigned int phiLow;
73 
74  int charge;
75 
76  unsigned int etaWindow1Lower;
77  unsigned int etaWindow1Upper;
78  unsigned int etaWindow2Lower;
79  unsigned int etaWindow2Upper;
80 
81  unsigned int phiWindow1Lower;
82  unsigned int phiWindow1Upper;
83  unsigned int phiWindow2Lower;
84  unsigned int phiWindow2Upper;
85  };
86 
87  // typedef for correlation parameters
88  // chargeCorrelation is defined always
89  // see documentation for meaning
91  unsigned int chargeCorrelation;
92  //unsigned long long deltaEtaRange;
93 
94  unsigned long long deltaPhiRange0Word;
95  unsigned long long deltaPhiRange1Word;
96  //unsigned int deltaPhiMaxbits;
97 
98  unsigned long long deltaEtaRange;
99 
100  unsigned long long deltaPhiRange;
101  unsigned int deltaPhiMaxbits;
102 
103  unsigned int deltaEtaRangeLower;
104  unsigned int deltaEtaRangeUpper;
105 
106  unsigned int deltaPhiRangeLower;
107  unsigned int deltaPhiRangeUpper;
108  };
109 
110 public:
111  inline const std::vector<ObjectParameter>* objectParameter() const { return &m_objectParameter; }
112 
114 
116  void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
117  const CorrelationParameter& corrParameter);
118 
120  void print(std::ostream& myCout) const override;
121 
123  friend std::ostream& operator<<(std::ostream&, const MuonTemplate&);
124 
125 private:
127  void copy(const MuonTemplate& cp);
128 
129 private:
131  std::vector<ObjectParameter> m_objectParameter;
133 };
134 
135 #endif
void copy(const MuonTemplate &cp)
copy function for copy constructor and operator=
MuonTemplate & operator=(const MuonTemplate &)
Definition: MuonTemplate.cc:59
void print(std::ostream &myCout) const override
print the condition
Definition: MuonTemplate.cc:71
unsigned long long etaRange
Definition: MuonTemplate.h:70
std::vector< ObjectParameter > m_objectParameter
variables containing the parameters
Definition: MuonTemplate.h:131
unsigned long long deltaPhiRange0Word
Definition: MuonTemplate.h:94
const std::vector< ObjectParameter > * objectParameter() const
Definition: MuonTemplate.h:111
unsigned long long deltaPhiRange1Word
Definition: MuonTemplate.h:95
void setConditionParameter(const std::vector< ObjectParameter > &objParameter, const CorrelationParameter &corrParameter)
set functions
Definition: MuonTemplate.cc:65
unsigned long long deltaEtaRange
Definition: MuonTemplate.h:98
const CorrelationParameter * correlationParameter() const
Definition: MuonTemplate.h:113
~MuonTemplate() override
Definition: MuonTemplate.cc:54
CorrelationParameter m_correlationParameter
Definition: MuonTemplate.h:132
friend std::ostream & operator<<(std::ostream &, const MuonTemplate &)
output stream operator