26 outputBase_(iConfig.getParameter<
ParameterSet>(
"SiPixelStatusManagerParameters").getUntrackedParameter<
std::
string>(
"outputBase")),
27 aveDigiOcc_(iConfig.getParameter<
edm::
ParameterSet>(
"SiPixelStatusManagerParameters").getUntrackedParameter<
int>(
"aveDigiOcc")),
28 nLumi_(iConfig.getParameter<
edm::
ParameterSet>(
"SiPixelStatusManagerParameters").getUntrackedParameter<
int>(
"resetEveryNLumi")),
29 moduleName_(iConfig.getParameter<
ParameterSet>(
"SiPixelStatusManagerParameters").getUntrackedParameter<
std::
string>(
"moduleName")),
30 label_ (iConfig.getParameter<
ParameterSet>(
"SiPixelStatusManagerParameters").getUntrackedParameter<
std::
string>(
"label"))
57 if(siPixelStatusHandle.
isValid()) {
64 <<
" SiPixelDetectorStatus is not valid!" << std::endl;
77 std::map<LuminosityBlockNumber_t,SiPixelDetectorStatus> tmpSiPixelStatusMap_;
83 int iterationLumi = 0;
90 if(iterationLumi%
nLumi_==0){
92 tmpSiPixelStatus = it->second;
96 if(iterationLumi%
nLumi_>0){
103 if(iterationLumi%
nLumi_==
nLumi_-1 || nextIt==lastStatus)
106 tmpSiPixelStatusMap_[tmpLumi] = tmpSiPixelStatus;
109 iterationLumi=iterationLumi+1;
128 (iterBeforeLastIOV->second).updateDetectorStatus(iterLastIOV->second);
130 tmpSiPixelStatusMap_.erase(iterLastIOV);
144 bool isNewIOV =
true;
151 tmpSiPixelStatus = it->second;
160 if(tmpSiPixelStatus.
perRocDigiOcc()<aveDigiOcc && nextIt!=lastStatus){
165 tmpSiPixelStatusMap_[tmpLumi]=tmpSiPixelStatus;
175 if(tmpSiPixelStatusMap_.size()>1){
182 if((iterLastIOV->second).perRocDigiOcc()<aveDigiOcc){
186 (iterBeforeLastIOV->second).updateDetectorStatus(iterLastIOV->second);
188 tmpSiPixelStatusMap_.erase(iterLastIOV);
215 LogInfo(
"SiPixelStatusManager")
216 <<
"Unrecognized payload outputBase parameter: " <<
outputBase_ 235 bool sameAsLastIOV =
true;
242 std::map<int,std::vector<int> >tmpBadRocLists = tmpStuckTBMs.
getStuckTBMsRocs();
244 std::map<int, SiPixelModuleStatus>::iterator itModEnd = tmpStuckTBMs.
end();
245 for (std::map<int, SiPixelModuleStatus>::iterator itMod = tmpStuckTBMs.
begin(); itMod != itModEnd; ++itMod)
247 int detid = itMod->first;
249 if(tmpBadRocLists[detid]!=(
stuckTBMsMap_[previousLumi])[detid]){
250 sameAsLastIOV =
false;
255 if(sameAsLastIOV==
false){
259 previousLumi = tmpLumi;
void createBadComponents()
void updateDetectorStatus(SiPixelDetectorStatus newData)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< SiPixelDetectorStatus > siPixelStatusToken_
unsigned int LuminosityBlockNumber_t
virtual ~SiPixelStatusManager()
std::map< edm::LuminosityBlockNumber_t, std::map< int, std::vector< int > > > stuckTBMsMap_
LuminosityBlockNumber_t luminosityBlock() const
std::map< int, std::vector< int > > getStuckTBMsRocs()
std::map< int, SiPixelModuleStatus >::iterator begin()
std::map< int, SiPixelModuleStatus >::iterator end()
std::map< edm::LuminosityBlockNumber_t, SiPixelDetectorStatus > siPixelStatusMap_
std::map< edm::LuminosityBlockNumber_t, SiPixelDetectorStatus >::iterator siPixelStatusMap_iterator
void readLumi(const edm::LuminosityBlock &)