30 std::stringstream sst;
31 std::string
AC[2]= {
"A",
"C"};
32 int nbins3D_1[4]= { 0, 0, 0, 0};
33 float fGlobalCoords3Dlo[4]= { 0, 0, 0, 0};
34 float fGlobalCoords3Dup[4]= { 0, 0, 0, 0};
40 nbins3D_1[0]= 480; nbins3D_1[1]= 120; nbins3D_1[2]= 128; nbins3D_1[3]= 100;
41 fGlobalCoords3Dlo[0]= 0; fGlobalCoords3Dlo[1]= 0; fGlobalCoords3Dlo[2]= 0; fGlobalCoords3Dlo[3]= 0;
42 fGlobalCoords3Dup[0]= 12000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
45 sst<<
"EffCheck_CutsPassed_"<<
AC[
i];
75 nbins3D_1[0]= 600; nbins3D_1[1]= 120; nbins3D_1[2]= 128; nbins3D_1[3]= 128;
76 fGlobalCoords3Dlo[0]= 0; fGlobalCoords3Dlo[1]= 0; fGlobalCoords3Dlo[2]= 0; fGlobalCoords3Dlo[3]= 0;
77 fGlobalCoords3Dup[0]= 12000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
79 for(
int jMDT=0;jMDT<4;jMDT++){
81 sst<<
"MDT_SegmMap_MDT"<<jMDT+1;
83 ATH_MSG_DEBUG(
"MDT_SegmMap "<<
i<<
" "<<jMDT<<
" "<<sst.str().c_str() );
84 m_mdt_segmmap[
i][jMDT] =
new TH2F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[2], fGlobalCoords3Dlo[2], fGlobalCoords3Dup[2], nbins3D_1[1], fGlobalCoords3Dlo[1], fGlobalCoords3Dup[1]);
96 return StatusCode::SUCCESS;
103 std::stringstream sst;
104 std::string
AC[2]= {
"A",
"C"};
105 std::string RhoEtaPhiThe[4]={
"Rho",
"Eta",
"Phi",
"Theta"};
106 std::string RhoEtaPhiZ[4]= {
"Rho",
"Eta",
"Phi",
"Z"};
107 std::string FE[2]= {
"F",
"E"};
108 std::string EffNumDenom[4]= {
"",
"num",
"denom",
"error"};
109 std::string WireStrip[2]= {
"Wire",
"Strip"};
110 int nbins3D_1[4]= { 0, 0, 0, 0};
111 float fGlobalCoords3Dlo[4]= { 0, 0, 0, 0};
112 float fGlobalCoords3Dup[4]= { 0, 0, 0, 0};
118 nbins3D_1[0]= 100; nbins3D_1[1]= 8; nbins3D_1[2]= 48; nbins3D_1[3]= 100;
119 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI; fGlobalCoords3Dlo[3]= 0;
120 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
121 for(
int i=0;
i<2;
i++){
122 for(
int k=0;
k<2;
k++){
123 for(
int e=0;
e<4;
e++){
126 sst<<
"_EfficiencyAgainstMDT";
127 sst<<
"_MapSegmTrack"<<EffNumDenom[
e];
129 ATH_MSG_DEBUG(
"Eff_StationMapBase "<<
i<<
" "<<
k<<
" "<<
e<<sst.str().c_str() );
142 sst<<
"_EfficiencyAgainstMDT";
143 sst<<
"_MapMidOnly"<<EffNumDenom[
e];
158 sst<<
"_EfficiencyAgainstMDT";
159 sst<<
"_Map"<<EffNumDenom[
e];
179 nbins3D_1[0]= 8000; nbins3D_1[1]= 200; nbins3D_1[2]= 4096; nbins3D_1[3]= 40000;
180 fGlobalCoords3Dlo[0]= -8000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI; fGlobalCoords3Dlo[3]= -200000;
181 fGlobalCoords3Dup[0]= 8000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI; fGlobalCoords3Dup[3]= 200000;
182 for(
int i=0;
i<2;
i++){
183 for(
int jTGC=0;jTGC<4;jTGC++){
184 for(
int f=0;
f<2;
f++){
185 for(
int k=0;
k<2;
k++){
186 for(
int x=0;
x<4;
x++){
189 sst<<
"TGC_SegmTrack_"<<RhoEtaPhiZ[
x];
190 sst<<
"Sagitta_T"<<jTGC+1;
194 ATH_MSG_DEBUG(
"TGC_Sagitta "<<
i<<
" "<<jTGC<<
" "<<
f<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
195 m_mvt_extrprdsag[
i][jTGC][
f][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
206 sst<<
"TGC_MidSegm_"<<RhoEtaPhiZ[
x];
207 sst<<
"Sagitta_T"<<jTGC+1;
211 ATH_MSG_DEBUG(
"TGC_Sagitta "<<
i<<
" "<<jTGC<<
" "<<
f<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
212 m_mvt_extrprdsag2[
i][jTGC][
f][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
229 for(
int k=0;
k<2;
k++){
231 nbins3D_1[0]= 10000; nbins3D_1[1]= 1200; nbins3D_1[2]= 8192; nbins3D_1[3]= 40000;
232 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -3; fGlobalCoords3Dlo[2]=-1*
M_PI/8; fGlobalCoords3Dlo[3]= -200000;
233 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 200000;
236 nbins3D_1[0]= 10000; nbins3D_1[1]= 1200; nbins3D_1[2]= 8192; nbins3D_1[3]= 40000;
237 fGlobalCoords3Dlo[0]= -5000; fGlobalCoords3Dlo[1]= -3; fGlobalCoords3Dlo[2]=-1*
M_PI/8; fGlobalCoords3Dlo[3]= -200000;
238 fGlobalCoords3Dup[0]= 5000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 200000;
240 for(
int i=0;
i<2;
i++){
241 for(
int x=0;
x<4;
x++){
244 sst<<
"TGC_MidStationPRD_"<<RhoEtaPhiZ[
x];
245 sst<<
"Sagitta_"<<WireStrip[
k];
247 ATH_MSG_DEBUG(
"TGC_PRDonly_Sagitta "<<
i<<
" "<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
248 m_tgc_prdcompsag[
i][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
268 for(
int jMDT1=0;jMDT1<4;jMDT1++)
269 for(
int jMDT2=0;jMDT2<4;jMDT2++)
270 for(
int x=0;
x<4;
x++){
274 nbins3D_1[0]= 2000; nbins3D_1[1]= 200; nbins3D_1[2]= 4096; nbins3D_1[3]= 1024;
275 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI/8; fGlobalCoords3Dlo[3]= 0;
276 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 0.5*
M_PI;
277 for(
int i=0;
i<2;
i++){
278 for(
int jMDT1=0;jMDT1<4;jMDT1++){
279 for(
int jMDT2=0;jMDT2<4;jMDT2++){
281 for(
int x=0;
x<4;
x++){
282 if(
x==0||
x==2||
x==3){
284 sst<<
"MDT_Matching_"<<RhoEtaPhiThe[
x];
285 sst<<
"Sagitta_MDT"<<jMDT1+1;
286 sst<<
"vsMDT"<<jMDT2+1;
288 ATH_MSG_DEBUG(
"MDT_MatchingSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
289 m_mdt_segmmatchsag[
i][jMDT1][jMDT2][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
309 for(
int jMDT1=0;jMDT1<4;jMDT1++){
310 for(
int x=0;
x<4;
x++){
313 for(
int jMDT2=0;jMDT2<4;jMDT2++){
314 for(
int x=0;
x<4;
x++){
316 for(
int v=0;
v<2;
v++){
323 nbins3D_1[0]= 2000; nbins3D_1[1]= 200; nbins3D_1[2]= 8192; nbins3D_1[3]= 2048;
324 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -2*
M_PI; fGlobalCoords3Dlo[3]=-0.5*
M_PI;
325 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
326 for(
int i=0;
i<2;
i++){
327 for(
int jMDT1=0;jMDT1<4;jMDT1++){
328 for(
int x=0;
x<4;
x++){
331 sst<<
"MDT_PosDir_"<<RhoEtaPhiThe[
x];
332 sst<<
"Sagitta_MDT"<<jMDT1+1;
334 ATH_MSG_DEBUG(
"MDT_PosDirSagitta "<<
i<<
" "<<jMDT1<<
" "<<
x<<
" "<<sst.str().c_str() );
335 m_mdt_segmposdirsag[
i][jMDT1][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
346 for(
int jMDT2=0;jMDT2<4;jMDT2++){
348 for(
int x=0;
x<4;
x++){
351 sst<<
"MDT_DirDir_"<<RhoEtaPhiThe[
x];
352 sst<<
"Sagitta_MDT"<<jMDT1+1;
353 sst<<
"vsMDT"<<jMDT2+1;
355 ATH_MSG_DEBUG(
"MDT_DirDirSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
356 m_mdt_trackdirdirsag[
i][jMDT1][jMDT2][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
366 for(
int v=0;
v<2;
v++){
367 if(jMDT1>=jMDT2)
continue;
369 sst<<
"MDT_TrackCheck_"<<RhoEtaPhiThe[
x];
370 sst<<
"Sagitta_MDT"<<jMDT1+1;
373 if(
v==0)sst<<jMDT1+1;
376 ATH_MSG_DEBUG(
"MDT_TrackCheckSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
377 m_mdt_trackchecksag[
i][jMDT1][jMDT2][
x][
v] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
392 return StatusCode::SUCCESS;
401 std::stringstream sst;
402 std::string
AC[2]={
"A",
"C"};
403 int nChambers[9]={5,5,5,6,6,6,6,2,2};
404 std::string chamber1[6]={
"E1",
"E2",
"E3",
"E4",
"F"};
405 std::string chamber3[6]={
"E1",
"E2",
"E3",
"E4",
"E5",
"F"};
406 std::string chamberE[2]={
"EI",
"FI"};
412 for(
int l=0 ;
l<9 ;
l++ ){
414 for(
int c=0 ;
c<nChambers[
l] ;
c++ ){
415 sst <<
"L" <<
l+1 <<
"_";
416 if(nChambers[
l]==5)sst<<chamber1[
c];
417 else if(nChambers[
l]==6)sst<<chamber3[
c];
418 else if(nChambers[
l]==2)sst<<chamberE[
c];
419 if(
l+1>0 &&
l+1<=3 &&
c+1<5)ibin=7*
c+(
l+1);
420 else if(
l+1>3 &&
l+1<=7 &&
c+1<5)ibin=7*
c+(
l+1);
421 else if(
l+1>3 &&
l+1<=7 &&
c+1==5)ibin=25+(
l+1);
422 else if(
l+1==1 &&
c+1==5)ibin=33;
423 else if(
l+1==2 &&
c+1==5)ibin=34;
424 else if(
l+1==3 &&
c+1==5)ibin=35;
425 else if(
l+1==4 &&
c+1==6)ibin=36;
426 else if(
l+1==5 &&
c+1==6)ibin=37;
427 else if(
l+1==6 &&
c+1==6)ibin=38;
428 else if(
l+1==7 &&
c+1==6)ibin=39;
429 else if(
l+1==8 &&
c+1==1)ibin=40;
430 else if(
l+1==8 &&
c+1==2)ibin=42;
431 else if(
l+1==9 &&
c+1==1)ibin=41;
432 else if(
l+1==9 &&
c+1==2)ibin=43;
433 h2->GetXaxis()->SetBinLabel(ibin, sst.str().c_str());
434 h2->GetXaxis()->SetBit(TAxis::kLabelsVert);
452 for(
int isec=1;isec<=12;isec++){
453 for(
int iphi=0;iphi<=3;iphi+=4){
454 if(ac==0||ac==1)sst <<
AC[ac];
455 if(isec<10)sst <<
"0";
456 sst << isec <<
"phi" << iphi;
457 ibin=(isec-1)*4+iphi+1;
458 h2->GetYaxis()->SetBinLabel(ibin, sst.str().c_str());