31 h->GetXaxis()->SetTitle(
"");
32 h->GetXaxis()->SetLabelSize(0.03);
34 for(
size_t j=6; j<86; j++) {
36 float xmid =
h->GetBinLowEdge(j) +
h->GetBinWidth(j);
37 xmid -= 1.0; xmid *= -1.0;
38 int seclay =
int(ceil(xmid*10));
40 int lay = (seclay%10)/2 ;
42 h->GetXaxis()->SetBinLabel(j,Form(
"%c%02d:%d",(sec%2==0?
'S':
'L'),sec,lay));
45 }
else if (
side == 1) {
46 for(
size_t j=6; j<86; j++) {
48 float xmid =
h->GetBinLowEdge(j) +
h->GetBinWidth(j);
49 int seclay =
int(ceil(xmid*10));
51 int lay = (seclay%10)/2 ;
52 h->GetXaxis()->SetBinLabel(j,Form(
"%c%02d:%d",(sec%2==0?
'S':
'L'),sec,lay));
68 m_cscprd_oviewEA(nullptr),
69 m_cscprd_oviewEC(nullptr)
111 return StatusCode::SUCCESS;
201 float nyminEC = -17.;
205 float nxminLB = -10.;
206 float nxmaxLB = 2500.;
213 nxbins,nxmin,nxmax,nybins,nymin,nymax);
215 nxbins,nxmin,nxmax,nybins,nymin,nymax);
217 nxbins,nxmin,nxmax,nybins,nymin,nymax);
220 nxbins,nxmin,nxmax,nybins,nymin,nymax);
222 nxbins,nxmin,nxmax,nybins,nymin,nymax);
224 nxbins,nxmin,nxmax,nybins,nymin,nymax);
227 nxbins,nxmin,nxmax,nybinsEA,nyminEA,nymaxEA);
231 nybinsEA,nyminEA,nymaxEA);
235 nxbins,nxmin,nxmax,nybinsEA,nyminEA,nymaxEA);
238 nxbins,nxmin,nxmax,nybinsEC,nyminEC,nymaxEC);
242 nybinsEC,nyminEC,nymaxEC);
246 nxbins,nxmin,nxmax,nybinsEC,nyminEC,nymaxEC);
248 m_h2csc_prd_occvslb_EA =
new TH2F(
"h2csc_prd_occvslb_EA",
"EndCap A: Layer Signal Occupancy Per LB;LB;[sector] + [0.2 #times layer]",
249 nxbinsLB,nxminLB,nxmaxLB,nybinsEA,nyminEA,nymaxEA);
250 m_h2csc_prd_occvslb_EC =
new TH2F(
"h2csc_prd_occvslb_EC",
"EndCap C: Layer Signal Occupancy Per LB;LB;[sector] + [0.2 #times layer]",
251 nxbinsLB,nxminLB,nxmaxLB,nybinsEC,nyminEC,nymaxEC);
255 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
256 192,0,192,nybins,nymin,nymax);
258 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
259 192,0,192,nybins,nymin,nymax);
261 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
262 192,0,192,nybins,nymin,nymax);
266 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
267 48,0,48,nybins,nymin,nymax);
269 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
270 48,0,48,nybins,nymin,nymax);
272 "PRD precision-cluster width;no.of strips;[sector] + [0.2 #times layer]",
273 48,0,48,nybins,nymin,nymax);
277 "PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
278 20,0,20,nybins,nymin,nymax);
280 "PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
281 20,0,20,nybins,nymin,nymax);
283 "PRD precision-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
284 20,0,20,nybins,nymin,nymax);
288 "PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
289 20,0,20,nybins,nymin,nymax);
291 "PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
292 20,0,20,nybins,nymin,nymax);
294 "PRD transverse-cluster count;no.of clusters;[sector] + [0.2 #times layer]",
295 20,0,20,nybins,nymin,nymax);
299 "Eta vs. Phi Cluster count correlation;#varphi-cluster count;#eta-cluster count",100,0,100,100,0,100);
301 "Eta vs. Phi Noise-Cluster count correlation;#varphi-cluster count;#eta-cluster count",100,0,100,100,0,100);
303 "Eta vs. Phi Signal-Cluster count correlation;#varphi-cluster count;#eta-cluster count",100,0,100,100,0,100);
306 "Eta vs. Phi Cluster width correlation;#varphi-cluster width;#eta-cluster width",100,0,100,100,0,100);
310 "R vs. Z Cluster hitmap;z(mm);R(mm)",200, -10000., 10000., 40, 0., 4000);
313 "Y vs. X Cluster hitmap;x(mm);y(mm)",100, -5000., 5000., 100, -5000., 5000);
406 ATH_MSG_DEBUG (
"Registering CSCEA Overview Histogram: " << (*iT)->GetName() );
408 ATH_MSG_DEBUG (
"Successfully Registered CSCEA Overview Histogram: " << (*iT)->GetName() );
409 if (
sc.isFailure() ) {
410 ATH_MSG_ERROR (
"Cannot register overview histogram for Endcap A: " << (*iT)->GetName() );
420 ATH_MSG_DEBUG (
"Registering CSCEC Overview Histogram: " << (*iT)->GetName() );
422 ATH_MSG_DEBUG (
"Successfully Registered CSCEC Overview Histogram: " << (*iT)->GetName() );
423 if (
sc.isFailure() ) {
424 ATH_MSG_ERROR (
"Cannot register overview histogram for Endcap C: " << (*iT)->GetName() );
447 if(
sc.isFailure() ){
469 ATH_MSG_DEBUG (
" BEGIN EVENT ========================================== " );
475 size_t noStrips = prd->
size();
476 size_t nEtaClusWidthCnt[5], nPhiClusWidthCnt[5];
477 int clusCount[33][9], sigclusCount[33][9];
478 for(
size_t kl = 0;
kl < 33;
kl++ ) {
479 for(
size_t km = 0;
km < 9;
km++ ) {
480 if(
kl == 0 &&
km < 5) {
481 nEtaClusWidthCnt[
km] = 0;
482 nPhiClusWidthCnt[
km] = 0;
484 clusCount[
kl][
km] = 0;
485 sigclusCount[
kl][
km] = 0;
491 ATH_MSG_DEBUG (
" BEGIN Loop over Strips ========================================== " );
496 Identifier prawId = praw.
identify();
499 int chamberType = stationString ==
"CSS" ? 0 : 1;
502 int wireLayer =
m_idHelperSvc->cscIdHelper().wireLayer(prawId);
503 int measuresPhi =
m_idHelperSvc->cscIdHelper().measuresPhi(prawId);
509 int ns = sectorNo < 0 ? sectorNo*(-1) : sectorNo+16;
510 int nl = (measuresPhi ? wireLayer : wireLayer+4);
516 ATH_MSG_DEBUG(
" ns = " <<
ns <<
"\tm_nl = " << nl <<
"\tm_sec = " << sectorNo <<
"\t m_lay= "
517 << wireLayer <<
"\t strip = " << stripId <<
"\tmPhi = " << measuresPhi);
525 float secLayer = sectorNo + 0.2 * (wireLayer - 1) + 0.1;
526 int xfac = measuresPhi ? -1 : 1;
529 float spid = stripId * xfac;
537 float r = sqrt(
x*
x +
y*
y);
547 ATH_MSG_DEBUG (
"Strip q +- dq = " <<
res.charge <<
" +- " <<
res.dcharge <<
"\t t +- dt = "
548 <<
res.time <<
" +- " <<
res.dtime <<
"\t w +- dw = " <<
res.width <<
" +- "
549 <<
res.dwidth <<
"\t status= " <<
res.status <<
"\t chisq= " <<
res.chsq);
553 float kiloele = 1.0e-3;
554 float qstripADC =
res.charge * kiloele;
564 sigclusCount[
ns][nl]++;
565 measuresPhi ? nPhiClusWidthCnt[wireLayer]++ : nEtaClusWidthCnt[wireLayer]++ ;
598 ATH_MSG_DEBUG (
" End loop over PRD collection======================" );
600 for(
size_t lcnt = 1; lcnt < 5; lcnt++ ) {
604 int numeta = 0, numphi = 0;
605 int numetasignal = 0, numphisignal = 0;
606 for(
int kl = 1;
kl < 33;
kl++ ) {
608 for(
int km = 1;
km < 9;
km++ ) {
609 int lay = (
km > 4 &&
km < 9) ?
km-4 :
km;
610 bool mphi = (
km > 0 &&
km < 5) ?
true :
false;
611 std::string wlay = mphi ?
"Phi-Layer " :
"Eta-Layer: ";
618 float secLayer =
kl-16 + 0.2 * (lay - 1) + 0.1;
643 ATH_MSG_DEBUG ( wlay <<
"Counts sec: [" <<
kl-16 <<
"]\tlayer: [" <<
km <<
"] = " <<
656 ATH_MSG_DEBUG(
"CscPrdValAlg: fillHistograms reports success" );
668 return StatusCode::SUCCESS;
682 return StatusCode::SUCCESS;