Skip to content

Commit

Permalink
do not duplicate code moved in the SiStripPayloadInspectorHelper
Browse files Browse the repository at this point in the history
  • Loading branch information
mmusich committed Mar 8, 2018
1 parent f7f64a6 commit cc0685d
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 150 deletions.
106 changes: 2 additions & 104 deletions CondCore/SiStripPlugins/plugins/SiStripBadStrip_PayloadInspector.cc
Expand Up @@ -854,109 +854,8 @@ namespace {
// k: 0=BadModule, 1=BadFiber, 2=BadApv, 3=BadStrips
int NBadComponent[4][19][4] = {{{0}}};

std::vector<SiStripQuality::BadComponent> BC = siStripQuality_->getBadComponentList();

for (size_t i=0;i<BC.size();++i){

//&&&&&&&&&&&&&
//Full Tk
//&&&&&&&&&&&&&

if (BC[i].BadModule)
NTkBadComponent[0]++;
if (BC[i].BadFibers)
NTkBadComponent[1]+= ( (BC[i].BadFibers>>2)&0x1 )+ ( (BC[i].BadFibers>>1)&0x1 ) + ( (BC[i].BadFibers)&0x1 );
if (BC[i].BadApvs)
NTkBadComponent[2]+= ( (BC[i].BadApvs>>5)&0x1 )+ ( (BC[i].BadApvs>>4)&0x1 ) + ( (BC[i].BadApvs>>3)&0x1 ) +
( (BC[i].BadApvs>>2)&0x1 )+ ( (BC[i].BadApvs>>1)&0x1 ) + ( (BC[i].BadApvs)&0x1 );

//&&&&&&&&&&&&&&&&&
//Single SubSyste
//&&&&&&&&&&&&&&&&&
int component;
DetId detectorId=DetId(BC[i].detid);
int subDet = detectorId.subdetId();
if ( subDet == StripSubdetector::TIB ){
//&&&&&&&&&&&&&&&&&
//TIB
//&&&&&&&&&&&&&&&&&

component=m_trackerTopo.tibLayer(BC[i].detid);
SiStripPI::setBadComponents(0, component, BC[i],NBadComponent);

} else if ( subDet == StripSubdetector::TID ) {
//&&&&&&&&&&&&&&&&&
//TID
//&&&&&&&&&&&&&&&&&

component=m_trackerTopo.tidSide(BC[i].detid)==2?m_trackerTopo.tidWheel(BC[i].detid):m_trackerTopo.tidWheel(BC[i].detid)+3;
SiStripPI::setBadComponents(1, component, BC[i],NBadComponent);

} else if ( subDet == StripSubdetector::TOB ) {
//&&&&&&&&&&&&&&&&&
//TOB
//&&&&&&&&&&&&&&&&&

component=m_trackerTopo.tobLayer(BC[i].detid);
SiStripPI::setBadComponents(2, component, BC[i],NBadComponent);

} else if ( subDet == StripSubdetector::TEC ) {
//&&&&&&&&&&&&&&&&&
//TEC
//&&&&&&&&&&&&&&&&&

component=m_trackerTopo.tecSide(BC[i].detid)==2?m_trackerTopo.tecWheel(BC[i].detid):m_trackerTopo.tecWheel(BC[i].detid)+9;
SiStripPI::setBadComponents(3, component, BC[i],NBadComponent);
}
}

//&&&&&&&&&&&&&&&&&&
// Single Strip Info
//&&&&&&&&&&&&&&&&&&

edm::FileInPath fp_ = edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat");
SiStripDetInfoFileReader* reader = new SiStripDetInfoFileReader(fp_.fullPath());

float percentage=0;

SiStripQuality::RegistryIterator rbegin = siStripQuality_->getRegistryVectorBegin();
SiStripQuality::RegistryIterator rend = siStripQuality_->getRegistryVectorEnd();

for (SiStripBadStrip::RegistryIterator rp=rbegin; rp != rend; ++rp) {
uint32_t detid=rp->detid;

int subdet=-999; int component=-999;
DetId detectorId=DetId(detid);
int subDet = detectorId.subdetId();
if ( subDet == StripSubdetector::TIB ){
subdet=0;
component=m_trackerTopo.tibLayer(detid);
} else if ( subDet == StripSubdetector::TID ) {
subdet=1;
component=m_trackerTopo.tidSide(detid)==2?m_trackerTopo.tidWheel(detid):m_trackerTopo.tidWheel(detid)+3;
} else if ( subDet == StripSubdetector::TOB ) {
subdet=2;
component=m_trackerTopo.tobLayer(detid);
} else if ( subDet == StripSubdetector::TEC ) {
subdet=3;
component=m_trackerTopo.tecSide(detid)==2?m_trackerTopo.tecWheel(detid):m_trackerTopo.tecWheel(detid)+9;
}

SiStripQuality::Range sqrange = SiStripQuality::Range( siStripQuality_->getDataVectorBegin()+rp->ibegin , siStripQuality_->getDataVectorBegin()+rp->iend );

percentage=0;
for(int it=0;it<sqrange.second-sqrange.first;it++){
unsigned int range=siStripQuality_->decode( *(sqrange.first+it) ).range;
NTkBadComponent[3]+=range;
NBadComponent[subdet][0][3]+=range;
NBadComponent[subdet][component][3]+=range;
percentage+=range;
}
if(percentage!=0)
percentage/=128.*reader->getNumberOfApvsAndStripLength(detid).first;
if(percentage>1)
edm::LogError("SiStripBadStrip_PayloadInspector") << "PROBLEM detid " << detid << " value " << percentage<< std::endl;
}
// call the filler
SiStripPI::fillBCArrays(siStripQuality_,NTkBadComponent,NBadComponent,m_trackerTopo);

//&&&&&&&&&&&&&&&&&&
// printout
Expand Down Expand Up @@ -1074,7 +973,6 @@ namespace {
canv.SaveAs(fileName.c_str());

delete siStripQuality_;
delete reader;
return true;
}
private:
Expand Down
Expand Up @@ -346,52 +346,7 @@ namespace {

SiStripDetSummary summaryNoise{&m_trackerTopo};

SiStripNoises::RegistryIterator rit=payload->getRegistryVectorBegin(), erit=payload->getRegistryVectorEnd();
uint16_t Nstrips;
std::vector<float> vstripnoise;
double mean,rms,min, max;
for(;rit!=erit;++rit){
Nstrips = (rit->iend-rit->ibegin)*8/9; //number of strips = number of chars * char size / strip noise size
vstripnoise.resize(Nstrips);
payload->allNoises(vstripnoise,make_pair(payload->getDataVectorBegin()+rit->ibegin,payload->getDataVectorBegin()+rit->iend));

mean=0; rms=0; min=10000; max=0;

DetId detId(rit->detid);

for(size_t i=0;i<Nstrips;++i){
mean+=vstripnoise[i];
rms+=vstripnoise[i]*vstripnoise[i];
if(vstripnoise[i]<min) min=vstripnoise[i];
if(vstripnoise[i]>max) max=vstripnoise[i];
}

mean/=Nstrips;
if((rms/Nstrips-mean*mean)>0.){
rms = sqrt(rms/Nstrips-mean*mean);
} else {
rms=0.;
}

switch(est){
case SiStripPI::min:
summaryNoise.add(detId,min);
break;
case SiStripPI::max:
summaryNoise.add(detId,max);
break;
case SiStripPI::mean:
summaryNoise.add(detId,mean);
break;
case SiStripPI::rms:
summaryNoise.add(detId,rms);
break;
default:
edm::LogWarning("LogicError") << "Unknown estimator: " << est;
break;
}

}
SiStripPI::fillNoiseDetSummary(summaryNoise,payload,est);

std::map<unsigned int, SiStripDetSummary::Values> map = summaryNoise.getCounts();
//=========================
Expand Down

0 comments on commit cc0685d

Please sign in to comment.