97 for(
unsigned int i = 0;
i<badComponentList.size();
i++){
102 std::map<edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t> finalIOV;
103 std::map<edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t> fedError25IOV;
104 std::map<edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t> pclIOV;
115 std::map<int, std::vector<int> > tmpFEDerror25 = it->second;
116 for(
std::map<
int, std::vector<int> >::iterator ilist = tmpFEDerror25.begin(); ilist!=tmpFEDerror25.end();ilist++){
118 int detid = ilist->first;
122 BadModule.
DetID = uint32_t(detid);
126 std::vector<uint32_t> BadRocList;
127 std::vector<int>
list = ilist->second;
129 for(
unsigned int i=0;
i<list.size();
i++){
133 BadRocList.push_back(uint32_t(iroc));
137 if(BadRocList.size()==16)
141 for(std::vector<uint32_t>::iterator iter = BadRocList.begin(); iter != BadRocList.end(); ++iter){
142 badrocs += 1 << *iter;
152 finalIOV[it->first] = it->first;
153 fedError25IOV[it->first] = it->first;
161 finalIOV[it->first] = it->first;
162 pclIOV[it->first] = it->first;
166 std::map<edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t>::iterator itIOV;
167 for(itIOV=finalIOV.begin();itIOV!=finalIOV.end();itIOV++){
177 std::map<int, std::vector<int> > tmpFEDerror25 = FEDerror25Map[lumiStuckTBMs];
188 <<
"Tag requested for prompt in low statistics IOV in the "<<
outputBase_<<
" harvester"<< std::endl;
193 <<
"Tag requested for other in low statistics IOV in the "<<
outputBase_<<
" harvester"<< std::endl;
208 std::map<int, SiPixelModuleStatus> detectorStatus = tmpSiPixelStatus.
getDetectorStatus();
209 std::map<int, SiPixelModuleStatus>::iterator itModEnd = detectorStatus.end();
210 for (std::map<int, SiPixelModuleStatus>::iterator itMod = detectorStatus.begin(); itMod != itModEnd; ++itMod) {
215 int detid = itMod->first;
216 BadModulePCL.
DetID = uint32_t(detid);
217 BadModulePrompt.
DetID = uint32_t(detid); BadModuleOther.
DetID = uint32_t(detid);
225 std::vector<uint32_t> BadRocListPCL, BadRocListPrompt, BadRocListOther;
228 std::vector<int> listFEDerror25 = tmpFEDerror25[detid];
230 for (
int iroc = 0; iroc < modStatus.
nrocs(); ++iroc) {
232 unsigned long int rocOccupancy = modStatus.
digiOccROC(iroc);
235 if(rocOccupancy<1.
e-4*DetAverage){
238 BadRocListPCL.push_back(uint32_t(iroc));
240 std::vector<int>::iterator it =
std::find(listFEDerror25.begin(), listFEDerror25.end(),iroc);
245 BadRocListPrompt.push_back(uint32_t(iroc));
251 BadRocListOther.push_back(uint32_t(iroc));
257 if(BadRocListPCL.size()==16) BadModulePCL.
errorType = 0;
258 if(BadRocListPrompt.size()==16) BadModulePrompt.
errorType = 0;
259 if(BadRocListOther.size()==16) BadModuleOther.
errorType = 0;
262 short badrocsPCL = 0;
263 for(std::vector<uint32_t>::iterator iterPCL = BadRocListPCL.begin(); iterPCL != BadRocListPCL.end(); ++iterPCL){
264 badrocsPCL += 1 << *iterPCL;
267 BadModulePCL.
BadRocs = badrocsPCL;
272 short badrocsPrompt = 0;
273 for(std::vector<uint32_t>::iterator iterPrompt = BadRocListPrompt.begin(); iterPrompt != BadRocListPrompt.end(); ++iterPrompt){
274 badrocsPrompt += 1 << *iterPrompt;
276 if(badrocsPrompt!=0){
277 BadModulePrompt.
BadRocs = badrocsPrompt;
282 short badrocsOther= 0;
283 for(std::vector<uint32_t>::iterator iterOther = BadRocListOther.begin(); iterOther != BadRocListOther.end(); ++iterOther){
284 badrocsOther += 1 << *iterOther;
287 BadModuleOther.
BadRocs = badrocsOther;
void addDisabledModule(disabledModuleType module)
const std::map< edm::LuminosityBlockNumber_t, std::map< int, std::vector< int > > > & getFEDerror25Rocs()
edm::LuminosityBlockNumber_t endLumiBlock_
bool IsRocBad(const uint32_t &detid, const short &rocNb) const
edm::LuminosityBlockNumber_t stepIOV(edm::LuminosityBlockNumber_t pin, std::map< edm::LuminosityBlockNumber_t, edm::LuminosityBlockNumber_t > IOV)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
unsigned int LuminosityBlockNumber_t
SiPixelStatusManager siPixelStatusManager_
unsigned long long Time_t
const SiPixelQuality * badPixelInfo_
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
const std::vector< disabledModuleType > getBadComponentList() const
std::map< int, SiPixelModuleStatus > getDetectorStatus()
std::map< edm::LuminosityBlockNumber_t, std::map< int, std::vector< int > > >::iterator FEDerror25Map_iterator
std::map< edm::LuminosityBlockNumber_t, SiPixelDetectorStatus >::iterator siPixelStatusMap_iterator
unsigned int digiOccROC(int iroc)
return ROC status (= hits on ROC iroc)
const std::map< edm::LuminosityBlockNumber_t, SiPixelDetectorStatus > & getBadComponents()
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run