1 #include "StFgtGenPlotter.h"
3 #include "StRoot/StEvent/StFgtCollection.h"
4 #include "StRoot/StEvent/StFgtHitCollection.h"
5 #include "StRoot/StEvent/StFgtHit.h"
6 #include "StRoot/StFgtUtil/geometry/StFgtGeom.h"
7 #include "StRoot/StEvent/StEvent.h"
8 #include "StRoot/StEvent/StEventInfo.h"
9 #include "StRoot/StFgtUtil/geometry/StFgtGeom.h"
20 #include "StRoot/StFgtUtil/geometry/StFgtGeom.h"
22 #include "StRoot/StEvent/StEvent.h"
23 #include "StRoot/StEvent/StFgtCollection.h"
26 #define MIN_NUM_POINTS 4
33 cout <<
"gen plot make " <<endl;
35 cout <<
"general make " <<endl;
37 cout <<
" making cluster plotter " <<endl;
43 for(
int iDx=0;iDx<kFgtNumDiscs;iDx++)
46 for(
int iQ=0;iQ<2;iQ++)
48 vector<generalStrip> &stripVec=(pStrips[iDx*2+iQ]);
49 vector<generalStrip>::iterator stripIter;
50 cout <<
"got strips" <<endl;
61 for(stripIter=stripVec.begin();stripIter != stripVec.end();stripIter++)
63 Short_t tDisc, tQuad,tStrip;
65 Int_t geoId=stripIter->geoId;
66 cout <<
" looking at strip with geo : " << stripIter->geoId<<endl;
68 StFgtGeom::decodeGeoId(geoId,tDisc,tQuad,tLayer,tStrip);
70 if(stripIter->seedType==kFgtSeedType1)
77 if(stripIter->seedType==kFgtSeedType2)
85 if(stripIter->seedType==kFgtSeedType3)
94 if(stripIter->seedType==kFgtDeadStrip)
103 cout <<
"filling seed etc .. " <<endl;
104 cout <<
" seed1R: " << seed1R <<
" 2R: " << seed2R <<
" dead: " << seedDeadR << endl;
105 cout <<
" seed1R: " << seed3R <<
" 2R: " << seed3P <<
" dead: " << seed3P << endl;
106 seedsPerDiscR[iDx*2+iQ]->Fill(kFgtSeedType1,seed1R);
107 seedsPerDiscR[iDx*2+iQ]->Fill(kFgtSeedType2,seed2R);
108 seedsPerDiscR[iDx*2+iQ]->Fill(kFgtSeedType3,seed3R);
109 seedsPerDiscR[iDx*2+iQ]->Fill(kFgtDeadStrip,seedDeadR);
110 seedsPerDiscP[iDx*2+iQ]->Fill(kFgtSeedType1,seed1P);
111 seedsPerDiscP[iDx*2+iQ]->Fill(kFgtSeedType2,seed2P);
112 seedsPerDiscP[iDx*2+iQ]->Fill(kFgtSeedType3,seed3P);
113 seedsPerDiscP[iDx*2+iQ]->Fill(kFgtDeadStrip,seedDeadP);
114 cout <<
"done .." <<endl;
117 vector<float> vPhi[4];
120 vector<float> vPhiCharge[4];
121 vector<float> vRCharge[4];
123 vector<float> vPhiClusSize[4];
124 vector<float> vRClusSize[4];
126 cout <<
"trying to get clusters in disc " << iDx << endl;
144 vector<generalCluster> &hitVec=*(pClusters[iDx]);
145 cout <<
"got collection, looking at " << hitVec.size() <<
" hits .. " <<endl;
146 vector<generalCluster>::iterator hitIter;
151 cout <<
"hit iter " <<endl;
152 for(hitIter=hitVec.begin();hitIter != hitVec.end();hitIter++)
154 Int_t iq=hitIter->quad;
155 Float_t phi=hitIter->posPhi;
156 Float_t r=hitIter->posR;
157 Int_t geoId=hitIter->centralStripGeoId;
158 Float_t charge=hitIter->clusterCharge;
159 Int_t clusSize=hitIter->clusterSize;
161 Int_t numStrips=hitIter->clusterSize;
163 Short_t quad, disc, strip;
165 Bool_t containsSeed=
true;
167 if(hitIter->layer==
'R')
173 cout <<
"push " <<endl;
175 vRCharge[iq].push_back(charge);
176 vRClusSize[iq].push_back(clusSize);
184 cout <<
"pushP " <<endl;
185 vPhi[iq].push_back(phi);
186 vPhiCharge[iq].push_back(charge);
187 vPhiClusSize[iq].push_back(clusSize);
189 cout <<
"push done" <<endl;
190 Short_t tDisc, tQuad,tStrip;
193 StFgtGeom::decodeGeoId(geoId,tDisc,tQuad,tLayer,tStrip);
194 cout <<
" filling" <<endl;
195 hCChargePosSpacePhi[iDx*kFgtNumQuads+iq]->Fill(phi,charge);
196 hCChargePosSpaceR[iDx*kFgtNumQuads+iq]->Fill(r,charge);
197 hClusSizePhi[iDx*kFgtNumQuads+iq]->Fill(phi,numStrips);
198 hClusSizePhi[iDx*kFgtNumQuads+iq]->Fill(phi,numStrips);
199 hClusSizeR[iDx*kFgtNumQuads+iq]->Fill(r,numStrips);
200 hCChargeElecSpace[iDx*kFgtNumQuads+iq]->Fill(tStrip,charge);
201 hClusSizeElecSpace[iDx*kFgtNumQuads+iq]->Fill(tStrip,numStrips);
203 cout <<
"done " <<endl;
204 multPerDiscR[iDx*2]->Fill(multQ1R);
205 multPerDiscR[iDx*2+1]->Fill(multQ2R);
206 multPerDiscP[iDx*2]->Fill(multQ1P);
207 multPerDiscP[iDx*2+1]->Fill(multQ2P);
209 cout <<
"going on " <<endl;
210 for(
int iQ=0;iQ<4;iQ++)
213 for(vector<float>::iterator itR=vR[iQ].begin();itR!=vR[iQ].end();itR++)
215 float chargeR=(vRCharge[iQ])[rCount];
216 float clusSizeR=(vRClusSize[iQ])[rCount];
219 for(vector<float>::iterator itP=vPhi[iQ].begin();itP!=vPhi[iQ].end();itP++)
221 float chargePhi=(vPhiCharge[iQ])[phiCount];
222 float clusSizePhi=(vPhiClusSize[iQ])[phiCount];
227 radioPlots[iDx]->Fill(x,y);
228 radioRatio[iDx]->Fill(x,y);
229 radioChargeR[iDx]->Fill(x,y,chargeR);
230 radioChargePhi[iDx]->Fill(x,y,chargePhi);
231 radioClusSizeR[iDx]->Fill(x,y,clusSizeR);
232 radioClusSizePhi[iDx]->Fill(x,y,clusSizePhi);
236 for(vector<float>::iterator itR=vRCharge[iQ].begin();itR!=vRCharge[iQ].end();itR++)
238 for(vector<float>::iterator itP=vPhiCharge[iQ].begin();itP!=vPhiCharge[iQ].end();itP++)
240 corrPlots[iDx*kFgtNumQuads+iQ]->Fill(*itR,*itP);
246 vPhiCharge[iQ].clear();
247 vRCharge[iQ].clear();
248 vPhiClusSize[iQ].clear();
249 vRClusSize[iQ].clear();
260 StFgtGenPlotter::StFgtGenPlotter(
const Char_t* name):
StFgtGeneralBase( name ),runningEvtNr(0),hitCounter(0),hitCounterR(0)
266 StFgtGenPlotter::~StFgtGenPlotter()
274 cout <<
"genPlotter finish" <<endl;
275 gStyle->SetPalette(1);
276 cout <<
"cluster plotter finish funciton " <<endl;
278 TCanvas* cChargePhi=
new TCanvas(
"chargePhi",
"chargePhi",850,1100);
279 TCanvas* cChargePhiBig=
new TCanvas(
"chargePhiBig",
"chargePhiBig",850,1100);
280 cChargePhi->SetLogz();
281 cChargePhi->Divide(kFgtNumDiscs,kFgtNumQuads);
282 TCanvas* cChargeR=
new TCanvas(
"chargeR",
"chargeR",850,1100);
283 TCanvas* cChargeRBig=
new TCanvas(
"chargeRBig",
"chargeRBig",850,1100);
285 cChargeR->Divide(kFgtNumDiscs,kFgtNumQuads);
286 TCanvas* cClusSizePhi=
new TCanvas(
"clusSizePhi",
"clusSizePhi",850,1100);
287 TCanvas* cClusSizePhiBig=
new TCanvas(
"clusSizePhiBig",
"clusSizePhiBig",850,1100);
288 cClusSizePhi->Divide(kFgtNumDiscs,kFgtNumQuads);
289 TCanvas* cClusSizeR=
new TCanvas(
"clusSizeR",
"clusSizeR",850,1100);
290 TCanvas* cClusSizeRBig=
new TCanvas(
"clusSizeRBig",
"clusSizeRBig",850,1100);
291 cClusSizeR->Divide(kFgtNumDiscs,kFgtNumQuads);
292 TCanvas* cChargeElecSpace=
new TCanvas(
"cChargeElecSpace",
"cChargeEledId",850,1100);
293 TCanvas* cChargeElecSpaceBig=
new TCanvas(
"cChargeElecSpaceBig",
"cChargeEledIdBig",850,1100);
295 TCanvas* cDiscQ=
new TCanvas(
"cDiscQ",
"cDiscQ",850,1100);
298 cChargeElecSpace->SetLogz();
299 cChargeElecSpace->Divide(kFgtNumDiscs,kFgtNumQuads);
300 TCanvas* cClusSizeElecSpace=
new TCanvas(
"clusSizeElecSpace",
"clusSizeEledId",850,1100);
301 TCanvas* cClusSizeElecSpaceBig=
new TCanvas(
"clusSizeElecSpaceBig",
"clusSizeEledIdBig",850,1100);
302 cClusSizeElecSpace->Divide(kFgtNumDiscs,kFgtNumQuads);
304 TCanvas* cRadio=
new TCanvas(
"radioPlots",
"radioPlot",1000,1500);
307 TCanvas* cRadioChargeR=
new TCanvas(
"radioPlotsChargeR",
"radioPlotChargeR",1000,1500);
308 cRadioChargeR->Divide(2,3);
309 TCanvas* cRadioChargePhi=
new TCanvas(
"radioPlotsChargePhi",
"radioPlotChargePhi",1000,1500);
310 cRadioChargePhi->Divide(2,3);
312 TCanvas* cRadioClusSizeR=
new TCanvas(
"radioPlotsClusSizeR",
"radioPlotClusSizeR",1000,1500);
313 cRadioClusSizeR->Divide(2,3);
314 TCanvas* cRadioClusSizePhi=
new TCanvas(
"radioPlotsClusSizePhi",
"radioPlotClusSizePhi",1000,1500);
315 cRadioClusSizePhi->Divide(2,3);
317 TCanvas* cRadioRatio=
new TCanvas(
"radioRatio",
"radioRatio",1000,1500);
318 cRadioRatio->Divide(2,3);
320 TCanvas* cCorr=
new TCanvas(
"correlationPlots",
"correlationPlot",1000,1500);
321 TCanvas* cCorrBig=
new TCanvas(
"correlationPlotsBig",
"correlationPlotBig",1000,1500);
322 cCorr->Divide(kFgtNumDiscs,kFgtNumQuads);
324 for(Int_t iD=0;iD<kFgtNumDiscs;iD++)
326 for(
int nx=0;nx<radioRatio[iD]->GetNbinsX();nx++)
328 for(
int ny=0;ny<radioRatio[iD]->GetNbinsY();ny++)
330 Double_t denom=radioRatio[iD]->GetBinContent(nx,ny);
333 radioChargeR[iD]->SetBinContent(nx,ny,radioChargeR[iD]->GetBinContent(nx,ny)/denom);
335 radioChargePhi[iD]->SetBinContent(nx,ny,radioChargePhi[iD]->GetBinContent(nx,ny)/denom);
338 radioClusSizeR[iD]->SetBinContent(nx,ny,radioClusSizeR[iD]->GetBinContent(nx,ny)/denom);
339 radioClusSizePhi[iD]->SetBinContent(nx,ny,radioClusSizePhi[iD]->GetBinContent(nx,ny)/denom);
343 radioChargeR[iD]->SetBinContent(nx,ny,0.0);
344 radioChargePhi[iD]->SetBinContent(nx,ny,0.0);
345 radioClusSizeR[iD]->SetBinContent(nx,ny,0.0);
346 radioClusSizePhi[iD]->SetBinContent(nx,ny,0.0);
350 radioRatio[iD]->SetBinContent(nx,ny,((
double)(radioRatio[iD]->GetBinContent(nx,ny)))/(
double)runningEvtNr);
355 for(Int_t iQ=0;iQ<2;iQ++)
358 multPerDiscR[iD*2+iQ]->Draw();
359 sprintf(buffer,
"multPerDiscR_%d_%d.png",iD,iQ);
360 cDiscQ->SaveAs(buffer);
363 multPerDiscP[iD*2+iQ]->Draw();
364 sprintf(buffer,
"multPerDiscP_%d_%d.png",iD,iQ);
365 cDiscQ->SaveAs(buffer);
368 seedsPerDiscR[iD*2+iQ]->Draw();
369 sprintf(buffer,
"seedPerDiscR_%d_%d.png",iD,iQ);
370 cDiscQ->SaveAs(buffer);
373 seedsPerDiscP[iD*2+iQ]->Draw();
374 sprintf(buffer,
"seedPerDiscP_%d_%d.png",iD,iQ);
375 cDiscQ->SaveAs(buffer);
378 for(Int_t iQ=0;iQ<kFgtNumQuads;iQ++)
380 cout <<
"drawing disc " << iD <<
" quad " << iQ <<endl;
381 cChargePhi->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
382 hCChargePosSpacePhi[iD*kFgtNumQuads+iQ]->Draw(
"colz");
383 cChargePhiBig->cd()->SetLogz();
384 hCChargePosSpacePhi[iD*kFgtNumQuads+iQ]->Draw(
"colz");
385 cChargePhiBig->Print(
"cChargePhiBig.pdf");
387 cChargeR->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
388 hCChargePosSpaceR[iD*kFgtNumQuads+iQ]->Draw(
"colz");
390 cChargeRBig->cd()->SetLogz();
391 hCChargePosSpaceR[iD*kFgtNumQuads+iQ]->Draw(
"colz");
392 cChargeRBig->Print(
"cChargeRBig.pdf");
395 cClusSizePhi->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
396 hClusSizePhi[iD*kFgtNumQuads+iQ]->Draw(
"colz");
398 cClusSizePhiBig->cd()->SetLogz();
399 hClusSizePhi[iD*kFgtNumQuads+iQ]->Draw(
"colz");
400 cClusSizePhiBig->Print(
"cClusSizePhiBig.pdf");
402 cClusSizeR->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
403 hClusSizeR[iD*kFgtNumQuads+iQ]->Draw(
"colz");
405 cClusSizeRBig->cd()->SetLogz();
406 hClusSizeR[iD*kFgtNumQuads+iQ]->Draw(
"colz");
407 cClusSizeRBig->Print(
"cClusSizeRBig.pdf");
410 cChargeElecSpace->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
411 hCChargeElecSpace[iD*kFgtNumQuads+iQ]->Draw(
"colz");
413 cChargeElecSpaceBig->cd()->SetLogz();
414 hCChargeElecSpace[iD*kFgtNumQuads+iQ]->Draw(
"colz");
415 cChargeElecSpaceBig->Print(
"cChargeElecSpaceBig.pdf");
418 cClusSizeElecSpace->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
419 hClusSizeElecSpace[iD*kFgtNumQuads+iQ]->Draw(
"colz");
422 cClusSizeElecSpace->cd()->SetLogz();
423 hClusSizeElecSpace[iD*kFgtNumQuads+iQ]->Draw(
"colz");
424 cClusSizeElecSpaceBig->Print(
"cClusSizeElecCooBig.pdf");
427 cCorr->cd(iD*kFgtNumQuads+iQ+1)->SetLogz();
428 corrPlots[iD*kFgtNumQuads+iQ]->Draw(
"colz");
430 cCorrBig->cd()->SetLogz();
431 corrPlots[iD*kFgtNumQuads+iQ]->Draw(
"colz");
432 cCorrBig->Print(
"r_phi_correlationsBig.pdf");
435 cRadio->cd(iD+1)->SetLogz();
436 radioPlots[iD]->Draw(
"colz");
439 cRadioChargeR->cd(iD+1);
440 radioChargeR[iD]->Draw(
"colz");
443 cRadioChargePhi->cd(iD+1);
444 radioChargePhi[iD]->Draw(
"colz");
447 cRadioClusSizeR->cd(iD+1);
448 radioClusSizeR[iD]->Draw(
"colz");
451 cRadioClusSizePhi->cd(iD+1);
452 radioClusSizePhi[iD]->Draw(
"colz");
455 cRadioRatio->cd(iD+1);
456 radioRatio[iD]->Draw(
"colz");
461 cout <<
"saving .." <<endl;
462 cChargePhi->SaveAs(
"cChargePhi.pdf");
463 cChargePhi->SaveAs(
"cChargePhi.png");
465 cChargeR->SaveAs(
"cChargeR.pdf");
466 cChargeR->SaveAs(
"cChargeR.png");
468 cClusSizePhi->SaveAs(
"cClusSizePhi.pdf");
469 cClusSizePhi->SaveAs(
"cClusSizePhi.png");
471 cClusSizeR->SaveAs(
"cClusSizeR.pdf");
472 cClusSizeR->SaveAs(
"cClusSizeR.png");
475 cChargeElecSpace->SaveAs(
"cClusSizeElecSpace.pdf");
476 cChargeElecSpace->SaveAs(
"cClusSizeElecSpace.png");
478 cClusSizeElecSpace->SaveAs(
"cClusSizeElecSpace.pdf");
479 cClusSizeElecSpace->SaveAs(
"cClusSizeElecSpace.png");
481 cRadio->SaveAs(
"radioPlots.png");
482 cRadio->SaveAs(
"radioPlots.pdf");
485 cRadioChargeR->SaveAs(
"radioChargeR.png");
486 cRadioChargePhi->SaveAs(
"radioChargePhi.png");
488 cRadioClusSizeR->SaveAs(
"radioClusSizeR.png");
489 cRadioClusSizePhi->SaveAs(
"radioClusSizePhi.png");
491 cRadioRatio->SaveAs(
"radioRatio.png");
494 cCorr->SaveAs(
"corrPlots.png");
495 cCorr->SaveAs(
"corrPlots.pdf");
510 cout <<
"gen plotter init" <<endl;
513 myRootFile=
new TFile(
"clusterPlotter.root",
"RECREATE");
517 outTxtFileP=
new ofstream;
518 outTxtFileP->open(
"clustersP.txt");
519 outTxtFileR=
new ofstream;
520 outTxtFileR->open(
"clustersR.txt");
522 multPerDiscR=
new TH1I*[kFgtNumDiscs*4];
523 multPerDiscP=
new TH1I*[kFgtNumDiscs*5];
525 seedsPerDiscR=
new TH1I*[kFgtNumDiscs*4];
526 seedsPerDiscP=
new TH1I*[kFgtNumDiscs*4];
530 hClusterCharge=
new TH1D(
"clusterCharge",
"clusterCharge",100, 0, 1000);
532 hCChargePosSpacePhi=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
533 hCChargePosSpaceR=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
534 hClusSizePhi=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
535 hClusSizeR=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
536 hCChargeElecSpace=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
537 hClusSizeElecSpace=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
539 radioPlots=
new TH2D*[kFgtNumDiscs];
540 radioRatio=
new TH2D*[kFgtNumDiscs];
542 radioChargeR=
new TH2D*[kFgtNumDiscs];
543 radioChargePhi=
new TH2D*[kFgtNumDiscs];
545 radioClusSizeR=
new TH2D*[kFgtNumDiscs];
546 radioClusSizePhi=
new TH2D*[kFgtNumDiscs];
549 corrPlots=
new TH2D*[kFgtNumDiscs*kFgtNumQuads];
552 for(
int iD=0;iD<kFgtNumDiscs;iD++)
554 for(
int iQ=0;iQ<4;iQ++)
556 sprintf(buffer,
"clusterMult%d_QuadR%d_phi",iD,iQ);
557 multPerDiscR[iD*2+iQ]=
new TH1I(buffer,buffer,10,0,10);
558 multPerDiscR[iD*2+iQ]->SetFillColor(kYellow);
559 sprintf(buffer,
"clusterMult%d_QuadP%d_phi",iD,iQ);
560 multPerDiscP[iD*2+iQ]=
new TH1I(buffer,buffer,10,0,10);
561 multPerDiscP[iD*2+iQ]->SetFillColor(kYellow);
562 sprintf(buffer,
"seeds%d_QuadR%d_phi",iD,iQ);
563 seedsPerDiscR[iD*2+iQ]=
new TH1I(buffer,buffer,10,0,10);
564 seedsPerDiscR[iD*2+iQ]->SetFillColor(kYellow);
565 sprintf(buffer,
"seeds%d_QuadP%d_phi",iD,iQ);
566 seedsPerDiscP[iD*2+iQ]=
new TH1I(buffer,buffer,10,0,10);
567 seedsPerDiscP[iD*2+iQ]->SetFillColor(kYellow);
570 for(
int iQ=0;iQ<kFgtNumQuads;iQ++)
572 sprintf(buffer,
"clusterChargeDisk%d_Quad%d_phi",iD,iQ);
573 hCChargePosSpacePhi[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,200,-4,4, 200, 0, 2000);
574 sprintf(buffer,
"clusterChargeDisk%d_Quad%d_R",iD,iQ);
575 hCChargePosSpaceR[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,200,10,35, 200, 0, 2000);
576 sprintf(buffer,
"clusterSizeDisk%d_Quad%d_phi",iD,iQ);
577 hClusSizePhi[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,1000,-4,4, 20, 0, 20);
579 sprintf(buffer,
"clusterSizeDisk%d_Quad%d_R",iD,iQ);
580 hClusSizeR[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,1000,10,35, 20, 0, 20);
582 sprintf(buffer,
"clusterSizeDisk%d_Quad%d_ElecSpace",iD,iQ);
583 hClusSizeElecSpace[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,100,0,1000, 20, 0, 20);
584 sprintf(buffer,
"clusterChargeDisk%d_Quad%d_ElecSpace",iD,iQ);
585 hCChargeElecSpace[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,100,0,1000, 100, 0, 2000);
586 sprintf(buffer,
"radioDisk%d_Quad_%d",iD,iQ);
587 radioPlots[iD]=
new TH2D(buffer,buffer,100,-50,50,100,-50,50);
589 sprintf(buffer,
"radioRatio_%d_Quad_%d",iD,iQ);
590 radioRatio[iD]=
new TH2D(buffer,buffer,30,-50,50,30,-50,50);
592 sprintf(buffer,
"radioChargeR_%d_Quad_%d",iD,iQ);
593 radioChargeR[iD]=
new TH2D(buffer,buffer,30,-50,50,30,-50,50);
594 sprintf(buffer,
"radioChargePhi_%d_Quad_%d",iD,iQ);
595 radioChargePhi[iD]=
new TH2D(buffer,buffer,30,-50,50,30,-50,50);
597 sprintf(buffer,
"radioClusSizeR_%d_Quad_%d",iD,iQ);
598 radioClusSizeR[iD]=
new TH2D(buffer,buffer,30,-50,50,30,-50,50);
599 sprintf(buffer,
"radioClusSizePhi_%d_Quad_%d",iD,iQ);
600 radioClusSizePhi[iD]=
new TH2D(buffer,buffer,30,-50,50,30,-50,50);
603 sprintf(buffer,
"r_phi_ChargeCorr%d_Quad_%d",iD,iQ);
606 corrPlots[iD*kFgtNumQuads+iQ]=
new TH2D(buffer,buffer,100,0,2000,100,0,2000);