44 virtual boost::shared_ptr< L1RCTChannelMask >
newObject(
const std::string& objectKey ) ;
63 boost::shared_ptr< L1RCTChannelMask >
66 using namespace edm::es;
69 std::cout <<
" Current key is " << objectKey <<std::endl;
71 std::string rctSchema =
"CMS_RCT" ;
73 std::vector< std::string > dc_maskStrings;
74 dc_maskStrings.push_back(
"HCAL_MASK_CR00_EVEN" );
75 dc_maskStrings.push_back(
"HCAL_MASK_CR00_ODD" );
76 dc_maskStrings.push_back(
"HCAL_MASK_CR01_EVEN" );
77 dc_maskStrings.push_back(
"HCAL_MASK_CR01_ODD" );
78 dc_maskStrings.push_back(
"HCAL_MASK_CR02_EVEN" );
79 dc_maskStrings.push_back(
"HCAL_MASK_CR02_ODD" );
80 dc_maskStrings.push_back(
"HCAL_MASK_CR03_EVEN" );
81 dc_maskStrings.push_back(
"HCAL_MASK_CR03_ODD" );
82 dc_maskStrings.push_back(
"HCAL_MASK_CR04_EVEN" );
83 dc_maskStrings.push_back(
"HCAL_MASK_CR04_ODD" );
84 dc_maskStrings.push_back(
"HCAL_MASK_CR05_EVEN" );
85 dc_maskStrings.push_back(
"HCAL_MASK_CR05_ODD" );
86 dc_maskStrings.push_back(
"HCAL_MASK_CR06_EVEN" );
87 dc_maskStrings.push_back(
"HCAL_MASK_CR06_ODD" );
88 dc_maskStrings.push_back(
"HCAL_MASK_CR07_EVEN" );
89 dc_maskStrings.push_back(
"HCAL_MASK_CR07_ODD" );
90 dc_maskStrings.push_back(
"HCAL_MASK_CR08_EVEN" );
91 dc_maskStrings.push_back(
"HCAL_MASK_CR08_ODD" );
92 dc_maskStrings.push_back(
"HCAL_MASK_CR09_EVEN" );
93 dc_maskStrings.push_back(
"HCAL_MASK_CR09_ODD" );
94 dc_maskStrings.push_back(
"HCAL_MASK_CR10_EVEN" );
95 dc_maskStrings.push_back(
"HCAL_MASK_CR10_ODD" );
96 dc_maskStrings.push_back(
"HCAL_MASK_CR11_EVEN" );
97 dc_maskStrings.push_back(
"HCAL_MASK_CR11_ODD" );
98 dc_maskStrings.push_back(
"HCAL_MASK_CR12_EVEN" );
99 dc_maskStrings.push_back(
"HCAL_MASK_CR12_ODD" );
100 dc_maskStrings.push_back(
"HCAL_MASK_CR13_EVEN" );
101 dc_maskStrings.push_back(
"HCAL_MASK_CR13_ODD" );
102 dc_maskStrings.push_back(
"HCAL_MASK_CR14_EVEN" );
103 dc_maskStrings.push_back(
"HCAL_MASK_CR14_ODD" );
104 dc_maskStrings.push_back(
"HCAL_MASK_CR15_EVEN" );
105 dc_maskStrings.push_back(
"HCAL_MASK_CR15_ODD" );
106 dc_maskStrings.push_back(
"HCAL_MASK_CR16_EVEN" );
107 dc_maskStrings.push_back(
"HCAL_MASK_CR16_ODD" );
108 dc_maskStrings.push_back(
"HCAL_MASK_CR17_EVEN" );
109 dc_maskStrings.push_back(
"HCAL_MASK_CR17_ODD" );
110 dc_maskStrings.push_back(
"ECAL_MASK_CR00_EVEN" );
111 dc_maskStrings.push_back(
"ECAL_MASK_CR00_ODD" );
112 dc_maskStrings.push_back(
"ECAL_MASK_CR01_EVEN" );
113 dc_maskStrings.push_back(
"ECAL_MASK_CR01_ODD" );
114 dc_maskStrings.push_back(
"ECAL_MASK_CR02_EVEN" );
115 dc_maskStrings.push_back(
"ECAL_MASK_CR02_ODD" );
116 dc_maskStrings.push_back(
"ECAL_MASK_CR03_EVEN" );
117 dc_maskStrings.push_back(
"ECAL_MASK_CR03_ODD" );
118 dc_maskStrings.push_back(
"ECAL_MASK_CR04_EVEN" );
119 dc_maskStrings.push_back(
"ECAL_MASK_CR04_ODD" );
120 dc_maskStrings.push_back(
"ECAL_MASK_CR05_EVEN" );
121 dc_maskStrings.push_back(
"ECAL_MASK_CR05_ODD" );
122 dc_maskStrings.push_back(
"ECAL_MASK_CR06_EVEN" );
123 dc_maskStrings.push_back(
"ECAL_MASK_CR06_ODD" );
124 dc_maskStrings.push_back(
"ECAL_MASK_CR07_EVEN" );
125 dc_maskStrings.push_back(
"ECAL_MASK_CR07_ODD" );
126 dc_maskStrings.push_back(
"ECAL_MASK_CR08_EVEN" );
127 dc_maskStrings.push_back(
"ECAL_MASK_CR08_ODD" );
128 dc_maskStrings.push_back(
"ECAL_MASK_CR09_EVEN" );
129 dc_maskStrings.push_back(
"ECAL_MASK_CR09_ODD" );
130 dc_maskStrings.push_back(
"ECAL_MASK_CR10_EVEN" );
131 dc_maskStrings.push_back(
"ECAL_MASK_CR10_ODD" );
132 dc_maskStrings.push_back(
"ECAL_MASK_CR11_EVEN" );
133 dc_maskStrings.push_back(
"ECAL_MASK_CR11_ODD" );
134 dc_maskStrings.push_back(
"ECAL_MASK_CR12_EVEN" );
135 dc_maskStrings.push_back(
"ECAL_MASK_CR12_ODD" );
136 dc_maskStrings.push_back(
"ECAL_MASK_CR13_EVEN" );
137 dc_maskStrings.push_back(
"ECAL_MASK_CR13_ODD" );
138 dc_maskStrings.push_back(
"ECAL_MASK_CR14_EVEN" );
139 dc_maskStrings.push_back(
"ECAL_MASK_CR14_ODD" );
140 dc_maskStrings.push_back(
"ECAL_MASK_CR15_EVEN" );
141 dc_maskStrings.push_back(
"ECAL_MASK_CR15_ODD" );
142 dc_maskStrings.push_back(
"ECAL_MASK_CR16_EVEN" );
143 dc_maskStrings.push_back(
"ECAL_MASK_CR16_ODD" );
144 dc_maskStrings.push_back(
"ECAL_MASK_CR17_EVEN" );
145 dc_maskStrings.push_back(
"ECAL_MASK_CR17_ODD" );
151 "RCT_DEADCHANNEL_SUMMARY",
152 "RCT_DEADCHANNEL_SUMMARY.ID",
155 "RCT_RUN_SETTINGS_KEY",
156 "RCT_RUN_SETTINGS_KEY.ID",
161 if( dcMaskResults.queryFailed() ||
162 dcMaskResults.numberRows() != 1 )
164 edm::LogError(
"L1-O2O" ) <<
"Problem with L1RCTChannelMask key." ;
167 std::cout <<
" Returened rows " << dcMaskResults.numberRows() <<std::endl;
168 return boost::shared_ptr< L1RCTChannelMask >() ;
175 for(
int i = 0 ;
i < 36 ;
i++) {
176 dcMaskResults.fillVariable(dc_maskStrings.at(
i),hcal_temp);
177 for(
int j = 0;
j < 32 ;
j++)
179 m->hcalMask[
i/2][
i%2][
j] = ((hcal_temp >>
j ) & 1) == 1;
181 m->hfMask[
i/2][
i%2][
j-28] = ((hcal_temp >>
j ) & 1) == 1;
183 for(
int i = 36;
i < 72 ;
i++) {
184 dcMaskResults.fillVariable(dc_maskStrings.at(
i),ecal_temp);
185 for(
int j = 0;
j < 28 ;
j++) {
187 m->ecalMask[k/2][k%2][
j] = ((ecal_temp >>
j ) & 1) ==1;
195 std::vector< std::string > cardMaskStrings;
196 cardMaskStrings.push_back(
"RC0");
197 cardMaskStrings.push_back(
"RC1");
198 cardMaskStrings.push_back(
"RC2");
199 cardMaskStrings.push_back(
"RC3");
200 cardMaskStrings.push_back(
"RC4");
201 cardMaskStrings.push_back(
"RC5");
202 cardMaskStrings.push_back(
"RC6");
203 cardMaskStrings.push_back(
"JSC");
206 std::vector< std::string > crateIDStrings;
207 crateIDStrings.push_back(
"RCT_CRATE_0");
208 crateIDStrings.push_back(
"RCT_CRATE_1");
209 crateIDStrings.push_back(
"RCT_CRATE_2");
210 crateIDStrings.push_back(
"RCT_CRATE_3");
211 crateIDStrings.push_back(
"RCT_CRATE_4");
212 crateIDStrings.push_back(
"RCT_CRATE_5");
213 crateIDStrings.push_back(
"RCT_CRATE_6");
214 crateIDStrings.push_back(
"RCT_CRATE_7");
215 crateIDStrings.push_back(
"RCT_CRATE_8");
216 crateIDStrings.push_back(
"RCT_CRATE_9");
217 crateIDStrings.push_back(
"RCT_CRATE_10");
218 crateIDStrings.push_back(
"RCT_CRATE_11");
219 crateIDStrings.push_back(
"RCT_CRATE_12");
220 crateIDStrings.push_back(
"RCT_CRATE_13");
221 crateIDStrings.push_back(
"RCT_CRATE_14");
222 crateIDStrings.push_back(
"RCT_CRATE_15");
223 crateIDStrings.push_back(
"RCT_CRATE_16");
224 crateIDStrings.push_back(
"RCT_CRATE_17");
230 "RCT_RUN_SETTINGS_KEY",
231 "RCT_RUN_SETTINGS_KEY.ID",
235 for( std::vector<std::string>::iterator crate = crateIDStrings.begin(); crate !=crateIDStrings.end() ; ++crate) {
241 "CRATE_CONF_DUMMY.CRATE_CONF",
245 "RCT_CRATE_CONF.RCT_KEY",
250 for(std::vector<std::string>::iterator card = cardMaskStrings.begin(); card!=cardMaskStrings.end(); ++card){
251 cardConfResults.
fillVariable(*card,extantCard[cardNum]);
253 if(!extantCard[cardNum]){
257 for (
int k = 0 ;
k <4 ;
k++) {
259 m->ecalMask[crateNum][0][(cardNum/2)*8 +
k ] |= !extantCard[cardNum];
260 m->ecalMask[crateNum][1][(cardNum/2)*8 +
k ] |= !extantCard[cardNum];
261 m->hcalMask[crateNum][0][(cardNum/2)*8 +
k ] |= !extantCard[cardNum];
262 m->hcalMask[crateNum][1][(cardNum/2)*8 +
k ] |= !extantCard[cardNum];
267 for (
int k = 0 ;
k <4 ;
k++) {
268 m->hfMask[crateNum][0][
k] |= !extantCard[cardNum];
269 m->hfMask[crateNum][1][
k] |= !extantCard[cardNum];
274 for(
int k = 0;
k < 8 ;
k++ ){
275 m->hcalMask[crateNum][cardNum%2][(cardNum/2)*8 +
k] |= !extantCard[cardNum];
276 m->ecalMask[crateNum][cardNum%2][(cardNum/2)*8 +
k] |= !extantCard[cardNum];
303 return boost::shared_ptr< L1RCTChannelMask >(
m);
bool fillVariable(const std::string &columnName, T &outputVariable) const
const QueryResults singleAttribute(const T &data) const
virtual boost::shared_ptr< L1RCTChannelMask > newObject(const std::string &objectKey)
const QueryResults basicQuery(const std::vector< std::string > &columnNames, const std::string &schemaName, const std::string &tableName, const std::string &conditionLHS="", const QueryResults conditionRHS=QueryResults(), const std::string &conditionRHSName="") const
l1t::OMDSReader m_omdsReader
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
~L1RCTChannelMaskOnlineProd()
L1RCTChannelMaskOnlineProd(const edm::ParameterSet &iConfig)