--- eventviewer/flight/src/FEVdetector.cpp 2007/01/17 10:13:15 1.6 +++ eventviewer/flight/src/FEVdetector.cpp 2007/01/24 11:09:22 1.7 @@ -4946,6 +4946,101 @@ // // // + if ( var.CALO ){ + if ( L2->GetCaloLevel2()->npcfit[0] > 0 && L2->GetCaloLevel2()->npcfit[1] > 0 ){ + Float_t calx[22]; + Float_t caly[22]; + Float_t calzx[22]; + Float_t calzy[22]; + Float_t zpiano[22]; + zpiano[0] = (CTZ+118.)*var.sfy/1000.; + for (Int_t plane = 1; plane < 22; plane++){ + if ( !(plane%2) ){ + zpiano[plane] = zpiano[plane-1] - 8.09*var.sfy/1000.; + }else { + zpiano[plane] = zpiano[plane-1] - 10.09*var.sfy/1000.; + }; + }; + for (Int_t plane = 0; plane < 22; plane++){ + calx[plane] = (L2->GetCaloLevel2()->cbar[plane][0]/100.)*var.sfx + var.xxvc;; + caly[plane] = (L2->GetCaloLevel2()->cbar[plane][1]/100.)*var.sfx + var.xyvc; + // calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc; + calzx[plane] = zpiano[plane] + var.yxvc; + calzy[plane] = zpiano[plane] + var.yyvc; + // printf(" calx %f caly %f calzx %f calzy %f \n",calx[plane],caly[plane],calzx[plane],calzy[plane]); + }; + // + // Calorimeter track + // + Int_t trcol = 30; + if ( var.bw ){ + trcol = 14; + } else { + trcol = 44; + }; + thefigure->cd(); + TPolyLine *trakx = new TPolyLine(22,calx,calzx); + trakx->SetLineColor(trcol); + if ( L2->GetCaloLevel2()->fitmode[0] == 1 ) trakx->SetLineStyle(3); + if ( L2->GetCaloLevel2()->fitmode[0] == 2 ) trakx->SetLineStyle(4); + trakx->SetLineWidth(2); + trakx->Draw(); + TPolyLine *traky = new TPolyLine(22,caly,calzy); + traky->SetLineColor(trcol); + if ( L2->GetCaloLevel2()->fitmode[1] == 1 ) traky->SetLineStyle(3); + if ( L2->GetCaloLevel2()->fitmode[1] == 2 ) traky->SetLineStyle(4); + traky->SetLineWidth(2); + traky->Draw(); + }; + if ( L2->GetCaloLevel2()->npcfit[2] > 0 ){ + Float_t calx[22]; + Float_t caly[22]; + Float_t calzx[22]; + Float_t calzy[22]; + Float_t zpiano[22]; + zpiano[0] = (CTZ+118.)*var.sfy/1000.; + for (Int_t plane = 1; plane < 22; plane++){ + if ( !(plane%2) ){ + zpiano[plane] = zpiano[plane-1] - 8.09*var.sfy/1000.; + }else { + zpiano[plane] = zpiano[plane-1] - 10.09*var.sfy/1000.; + }; + }; + // + // + CaloTrkVar *ctra = L2->GetCaloStoredTrack(-1); + // + for (Int_t plane = 0; plane < 22; plane++){ + calx[plane] = (ctra->tbar[plane][0]/100.)*var.sfx + var.xxvc;; + caly[plane] = (ctra->tbar[plane][1]/100.)*var.sfx + var.xyvc; + // calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc; + calzx[plane] = zpiano[plane] + var.yxvc; + calzy[plane] = zpiano[plane] + var.yyvc; + // printf(" calx %f caly %f calzx %f calzy %f \n",calx[plane],caly[plane],calzx[plane],calzy[plane]); + }; + // + // Calorimeter track + // + Int_t trcol = 30; + if ( var.bw ){ + trcol = 16; + } else { + trcol = 46; + }; + thefigure->cd(); + TPolyLine *trakx = new TPolyLine(22,calx,calzx); + trakx->SetLineColor(trcol); + trakx->SetLineStyle(3); + trakx->SetLineWidth(2); + trakx->Draw(); + TPolyLine *traky = new TPolyLine(22,caly,calzy); + traky->SetLineColor(trcol); + traky->SetLineStyle(3); + traky->SetLineWidth(2); + traky->Draw(); + }; + }; + // if ( !var.TRK || level.file != 2 ) return; // if ( L2->GetTrkLevel2()->GetNTracks() > 0 ){ @@ -5020,6 +5115,7 @@ }; tzx[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc; tzy[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc; + // printf("tx[e] %f ty [e] %f tzx %f tzy %f \n",tx[e],ty[e],tzx[e],tzy[e]); }; // // From S1 to CALO