CMS 3D CMS Logo

L1TCaloParamsCompare.cc
Go to the documentation of this file.
1 #include <vector>
3 
5 public:
6  unsigned version_;
7 
8  std::vector<Node> pnode_;
9 
10  TowerParams towerp_;
11 
12  // Region LSB
13  double regionLsb_;
14 
16  TauParams taup_;
18 
19  /* Sums */
20 
21  // EtSum LSB
22  double etSumLsb_;
23 
24  // minimum eta for EtSums (index is particular EtSum. ETT=1, HTT=2, MET=3, MHT=4, other values reserved).
25  std::vector<int> etSumEtaMin_;
26 
27  // maximum eta for EtSums (index is particular EtSum. ETT=1, HTT=2, MET=3, MHT=4, other values reserved).
28  std::vector<int> etSumEtaMax_;
29 
30  // minimum eta for EtSums (index is particular EtSum. ETT=1, HTT=2, MET=3, MHT=4, other values reserved).
31  std::vector<double> etSumEtThreshold_;
32 
34  version_ = l1t::CaloParams::version_;
35  pnode_ = l1t::CaloParams::pnode_;
36  towerp_ = l1t::CaloParams::towerp_;
37  regionLsb_ = l1t::CaloParams::regionLsb_;
38  egp_ = l1t::CaloParams::egp_;
39  taup_ = l1t::CaloParams::taup_;
40  jetp_ = l1t::CaloParams::jetp_;
41  etSumLsb_ = l1t::CaloParams::etSumLsb_;
42  etSumEtaMin_ = l1t::CaloParams::etSumEtaMin_;
43  etSumEtaMax_ = l1t::CaloParams::etSumEtaMax_;
44  etSumEtThreshold_ = l1t::CaloParams::etSumEtThreshold_;
45  }
46 };
47 
48 class LUT_PUBLIC {
49 public:
50  unsigned int nrBitsAddress_; //technically redundant with addressMask
51  unsigned int nrBitsData_;//technically redundant with dataMask
52  unsigned int addressMask_;
53  unsigned int dataMask_;
54 
55  std::vector<int> data_;
56 };
57 
58 bool operator == (const std::vector<int>& a1, const std::vector<int>& a2){
59 if( a1.size() != a2.size() ) return false;
60 for(unsigned i=0; i<a1.size(); i++)
61  if( a1[i] != a2[i] ) return false;
62 return true;
63 }
64 
66  return (
67  a1.lsbH_ == a2.lsbH_ &&
68  a1.lsbE_ == a2.lsbE_ &&
69  a1.lsbSum_ == a2.lsbSum_ &&
70  a1.nBitsH_ == a2.nBitsH_ &&
71  a1.nBitsE_ == a2.nBitsE_ &&
72  a1.nBitsSum_ == a2.nBitsSum_ &&
73  a1.nBitsRatio_ == a2.nBitsRatio_ &&
74  a1.maskH_ == a2.maskH_ &&
75  a1.maskE_ == a2.maskE_ &&
76  a1.maskSum_ == a2.maskSum_ &&
77  a1.maskRatio_ == a2.maskRatio_ &&
78  a1.doEncoding_ == a2.doEncoding_ );
79 }
80 
81 bool operator == (const l1t::LUT& b1, const l1t::LUT& b2){
82  const LUT_PUBLIC &a1 = reinterpret_cast<const LUT_PUBLIC&>(b1);
83  const LUT_PUBLIC &a2 = reinterpret_cast<const LUT_PUBLIC&>(b2);
84 
85  bool a = ( a1.nrBitsAddress_ == a2.nrBitsAddress_ );
86  bool d = ( a1.nrBitsData_ == a2.nrBitsData_ );
87  bool m = ( a1.addressMask_ == a2.addressMask_ ) ;
88  bool mm = ( a1.dataMask_ == a2.dataMask_ ) ;
89  bool v = (a1.data_ == a2.data_);
90  std::cout<<"a="<<a<<" d="<<d<<" m="<<m<<" mm="<<mm<<" v="<<v<<std::endl;
91  return a && d && m && mm && v;
92 }
93 
95  bool t = ( a1.type_ == a2.type_ );
96  bool v = ( a1.version_ == a2.version_ );
97  bool l = ( a1.LUT_ == a2.LUT_ );
98  bool d = ( a1.dparams_ == a2.dparams_) ;
99  bool u = ( a1.uparams_ == a2.uparams_) ;
100  bool i = ( a1.iparams_ == a2.iparams_) ;
101  bool s = ( a1.sparams_ == a2.sparams_) ;
102  std::cout<<"t="<<t<<" v="<<v<<" l="<<l<<" d="<<d<<" u="<<u<<" i="<<i<<" s="<<s<<std::endl;
103  return t && v && l && d && u && i && s;
104 }
105 
106 bool operator == (const std::vector<l1t::CaloParams::Node>& a1, const std::vector<l1t::CaloParams::Node>& a2){
107 if( a1.size() != a2.size() ) return false;
108 for(unsigned i=0; i<a1.size(); i++){
109 
110  if( !(a1[i] == a2[i]) ) return false;
111 }
112 return true;
113 }
114 
115 bool operator == (const l1t::CaloParams& b1, const l1t::CaloParams& b2){
116 
117  CaloParams_PUBLIC a1(b1);
118  CaloParams_PUBLIC a2(b2);
119 
120  bool v = (a1.version_ == a2.version_);
121  std::cout<<" version_: " << v << std::endl;
122 
123  bool pn = (a1.pnode_[1] == a2.pnode_[1]);
124  std::cout<<" pnode_: " << pn << std::endl;
125 
126  bool tp = (a1.towerp_ == a2.towerp_);
127  std::cout<<" towerp_: " << tp << std::endl;
128  bool rlsb = (a1.regionLsb_ == a2.regionLsb_);
129  std::cout<<" regionLsb_: "<< rlsb << std::endl;
130 
131  bool egp = ((a1.egp_.lsb_ == a2.egp_.lsb_) &&
132  (a1.egp_.seedThreshold_ == a2.egp_.seedThreshold_) &&
134  (a1.egp_.hcalThreshold_ == a2.egp_.hcalThreshold_) &&
135  (a1.egp_.maxHcalEt_== a2.egp_.maxHcalEt_) &&
136  (a1.egp_.maxPtHOverE_== a2.egp_.maxPtHOverE_) &&
142  std::cout<<" egp_: "<< egp << std::endl;
143 
144  bool taup = ((a1.taup_.lsb_ == a2.taup_.lsb_) &&
145  (a1.taup_.seedThreshold_ == a2.taup_.seedThreshold_) &&
146  (a1.taup_.neighbourThreshold_ == a2.taup_.neighbourThreshold_) &&
147  (a1.taup_.maxPtTauVeto_ == a2.taup_.maxPtTauVeto_) &&
148  (a1.taup_.minPtJetIsolationB_ == a2.taup_.minPtJetIsolationB_) &&
149  (a1.taup_.maxJetIsolationB_ == a2.taup_.maxJetIsolationB_) &&
150  (a1.taup_.maxJetIsolationA_ == a2.taup_.maxJetIsolationA_) &&
151  (a1.taup_.isoEtaMin_ == a2.taup_.isoEtaMin_) &&
152  (a1.taup_.isoEtaMax_ == a2.taup_.isoEtaMax_) &&
153  (a1.taup_.isoAreaNrTowersEta_== a2.taup_.isoAreaNrTowersEta_) &&
154  (a1.taup_.isoAreaNrTowersPhi_== a2.taup_.isoAreaNrTowersPhi_) &&
155  (a1.taup_.isoVetoNrTowersPhi_== a2.taup_.isoVetoNrTowersPhi_));
156  std::cout<<" taup_: "<< taup << std::endl;
157 
158  bool jetp = ((a1.jetp_.lsb_ == a2.jetp_.lsb_) &&
161  std::cout<<" jetp_: " << jetp << std::endl;
162 
163  bool etslsb = (a1.etSumLsb_ == a2.etSumLsb_);
164  std::cout<<" etSumLsb_: "<< etslsb << std::endl;
165  bool etsemn = (a1.etSumEtaMin_ == a2.etSumEtaMin_);
166  std::cout<<" etSumEtaMin_: "<< etsemn << std::endl;
167 
168  bool etsemx = (a1.etSumEtaMax_ == a2.etSumEtaMax_);
169  std::cout<<" etSumEtaMax_: "<< etsemx << std::endl;
170  bool sett = (a1.etSumEtThreshold_ == a2.etSumEtThreshold_);
171  std::cout<<" etSumEtThreshold_: "<< sett << std::endl;
172 
173  return v && pn && tp && rlsb && egp && taup && jetp && etslsb && etsemn && etsemx && sett;
174 }
unsigned int dataMask_
std::string type_
Definition: CaloParams.h:34
EgParams egp_
Definition: CaloParams.h:214
std::vector< double > etSumEtThreshold_
Definition: CaloParams.h:230
std::vector< Node > pnode_
Definition: CaloParams.h:207
std::vector< int > data_
TowerParams towerp_
Definition: CaloParams.h:209
delete x;
Definition: CaloConfig.h:22
double regionLsb_
Definition: CaloParams.h:212
bool operator==(const std::vector< int > &a1, const std::vector< int > &a2)
unsigned int nrBitsData_
unsigned int nrBitsAddress_
std::vector< double > dparams_
Definition: CaloParams.h:37
std::vector< int > etSumEtaMin_
Definition: CaloParams.h:224
std::vector< Node > pnode_
std::vector< std::string > sparams_
Definition: CaloParams.h:40
CaloParams_PUBLIC(const l1t::CaloParams &p)
JetParams jetp_
Definition: CaloParams.h:216
unsigned int addressMask_
std::vector< int > etSumEtaMax_
std::vector< int > etSumEtaMax_
Definition: CaloParams.h:227
std::vector< double > etSumEtThreshold_
unsigned version_
Definition: CaloParams.h:205
std::vector< unsigned > uparams_
Definition: CaloParams.h:38
Definition: LUT.h:29
TauParams taup_
Definition: CaloParams.h:215
double etSumLsb_
Definition: CaloParams.h:221
std::vector< int > etSumEtaMin_
std::vector< int > iparams_
Definition: CaloParams.h:39
double a
Definition: hdecay.h:121