/[PAMELA software]/eventviewer/flight/src/FEVdetector.cpp
ViewVC logotype

Diff of /eventviewer/flight/src/FEVdetector.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mocchiut, Fri Jul 14 14:18:04 2006 UTC revision 1.8 by mocchiut, Fri Feb 2 14:35:57 2007 UTC
# Line 128  void FEVdetector::GetWindow(){ Line 128  void FEVdetector::GetWindow(){
128      ph = eh->GetPscuHeader();      ph = eh->GetPscuHeader();
129      lastevno = (int)ph->Counter;      lastevno = (int)ph->Counter;
130    } else {    } else {
131      lastevno = oinfoL2->pkt_num; // to be changed as soon as we will have pkt_counter in the level2 file!      lastevno = L2->GetOrbitalInfo()->pkt_num; // to be changed as soon as we will have pkt_counter in the level2 file!
132    };    };
133    otr->GetEntry(minevent);    otr->GetEntry(minevent);
134    if ( level.file < 2 ){    if ( level.file < 2 ){
135      ph = eh->GetPscuHeader();      ph = eh->GetPscuHeader();
136      firstevno = (int)ph->Counter;      firstevno = (int)ph->Counter;
137    } else {    } else {
138      firstevno = oinfoL2->pkt_num; // to be changed as soon as we will have pkt_counter in the level2 file!      firstevno = L2->GetOrbitalInfo()->pkt_num; // to be changed as soon as we will have pkt_counter in the level2 file!
139    };    };
140  }  }
141    
# Line 173  int FEVdetector::GetCounter(){ Line 173  int FEVdetector::GetCounter(){
173      return((int)ph->Counter);      return((int)ph->Counter);
174    } else {    } else {
175      //    return(thisentry); // to be changed as soon as we will have pkt_counter in the level2 file!      //    return(thisentry); // to be changed as soon as we will have pkt_counter in the level2 file!
176      return((int)oinfoL2->pkt_num); // to be changed as soon as we will have pkt_counter in the level2 file!      return((int)L2->GetOrbitalInfo()->pkt_num); // to be changed as soon as we will have pkt_counter in the level2 file!
177    };    };
178  }  }
179    
# Line 326  void FEVdetector::GetGeneralInfo(){ Line 326  void FEVdetector::GetGeneralInfo(){
326      trcs = (TString)trc.str().c_str();      trcs = (TString)trc.str().c_str();
327    } else {    } else {
328      headcold = headc;      headcold = headc;
329      headc = oinfoL2->pkt_num; // to be changed as soon as we will have obt in the level2 file!      headc = L2->GetOrbitalInfo()->pkt_num; // to be changed as soon as we will have obt in the level2 file!
330      OBT = oinfoL2->OBT; // to be changed as soon as we will have obt in the level2 file!      OBT = L2->GetOrbitalInfo()->OBT; // to be changed as soon as we will have obt in the level2 file!
331      DOBT = OBT - OOBT;      DOBT = OBT - OOBT;
332      OOBT = OBT;      OOBT = OBT;
333      if ( thisentry == minevent || DOBT < 0 || (headc-headcold-1)!=0 ) DOBT = 0;      if ( thisentry == minevent || DOBT < 0 || (headc-headcold-1)!=0 ) DOBT = 0;
# Line 336  void FEVdetector::GetGeneralInfo(){ Line 336  void FEVdetector::GetGeneralInfo(){
336      // who gave the trigger?      // who gave the trigger?
337      //      //
338      calotrig = 0;      calotrig = 0;
339      if ( L2->patterntrig[0] ) calotrig = 1;      if ( L2->GetTrigLevel2()->patterntrig[0] ) calotrig = 1;
340      toftrig = 0;      toftrig = 0;
341      if ( L2->patterntrig[2] || L2->patterntrig[3] || L2->patterntrig[4] || L2->patterntrig[5] ) toftrig = 1;      if ( L2->GetTrigLevel2()->patterntrig[2] || L2->GetTrigLevel2()->patterntrig[3] || L2->GetTrigLevel2()->patterntrig[4] || L2->GetTrigLevel2()->patterntrig[5] ) toftrig = 1;
342      s4pulser = 0;      s4pulser = 0;
343      if ( L2->patterntrig[1] & (1<<0) ) s4pulser = 1;      if ( L2->GetTrigLevel2()->patterntrig[1] & (1<<0) ) s4pulser = 1;
344      //      //
345      // TOF and calorimeter when giving a trigger will always set this flag since the time window of the signal is greater than 100 ns.      // TOF and calorimeter when giving a trigger will always set this flag since the time window of the signal is greater than 100 ns.
346      // S4 sometimes could not set the flag even if the trigger is given. This is a workaround to fix this "bug":      // S4 sometimes could not set the flag even if the trigger is given. This is a workaround to fix this "bug":
347      //      //
348      if ( !calotrig && !toftrig ) s4pulser = 1;      if ( !calotrig && !toftrig ) s4pulser = 1;
349      //      //
350      Int_t trigconf = L2->trigconf;      Int_t trigconf = L2->GetTrigLevel2()->trigconf;
351      stringstream trc;      stringstream trc;
352      trc.str("");      trc.str("");
353      if ( trigconf & (1<<0) ) trc << "TOF1";      if ( trigconf & (1<<0) ) trc << "TOF1";
# Line 475  void FEVdetector::Load(TTree &mainotr, T Line 475  void FEVdetector::Load(TTree &mainotr, T
475    L2 = new PamLevel2();    L2 = new PamLevel2();
476    //    //
477    if ( level.file == 2 ){    if ( level.file == 2 ){
478      otr = L2->LoadPamTrees(file);      //    otr = L2->LoadPamTrees(file);
479        otr = L2->GetPamTree(file,"+ALL +CAL1 -TRKh -TRK1");
480      // ********************      // ********************
481      // load magnetic field      // load magnetic field
482      // ********************      // ********************
# Line 483  void FEVdetector::Load(TTree &mainotr, T Line 484  void FEVdetector::Load(TTree &mainotr, T
484      //      //
485      stringstream magfie;      stringstream magfie;
486      magfie.str("");      magfie.str("");
487        //    magfie << "/localdisk/mocchiut/test/calib/trk-param/field_param-0/";
488      magfie << pam_calib;      magfie << pam_calib;
489      magfie << "/trk-param/field_param-0/";      magfie << "/trk-param/field_param-0/";
490      //      //
491      L2->LoadField(magfie.str().c_str());      L2->GetTrkLevel2()->LoadField(magfie.str().c_str());
492    } else {    } else {
493      //      //
494      // load calorimeter ADC2MIP conversion file      // load calorimeter ADC2MIP conversion file
# Line 531  void FEVdetector::Load(TTree &mainotr, T Line 533  void FEVdetector::Load(TTree &mainotr, T
533    trigger = new pamela::trigger::TriggerEvent();    trigger = new pamela::trigger::TriggerEvent();
534    eh = new pamela::EventHeader();    eh = new pamela::EventHeader();
535    ph = new pamela::PscuHeader();    ph = new pamela::PscuHeader();
536    oinfoL2 = new OrbitalInfo();    //  oinfoL2 = new OrbitalInfo();
537    runinfo = new ItoRunInfo(file);    runinfo = new ItoRunInfo(file);
538    //    //
539    de = new pamela::calorimeter::CalorimeterEvent();    de = new pamela::calorimeter::CalorimeterEvent();
# Line 546  void FEVdetector::Load(TTree &mainotr, T Line 548  void FEVdetector::Load(TTree &mainotr, T
548      otr->SetBranchAddress("Header", &eh);      otr->SetBranchAddress("Header", &eh);
549    };    };
550    if ( level.file == 2 ){    if ( level.file == 2 ){
551      otr->AddFriend("OrbitalInfo", file);            //    otr->AddFriend("OrbitalInfo", file);      
552      otr->SetBranchAddress("OrbitalInfo", &oinfoL2);          //    otr->SetBranchAddress("OrbitalInfo", &oinfoL2);        
553      runinfo->Read(0ULL);      runinfo->Read(0ULL);
554    };    };
555    //    //
# Line 815  void FEVdetector::DisplayEvent(){ Line 817  void FEVdetector::DisplayEvent(){
817    //    //
818    // SHOW PALETTE    // SHOW PALETTE
819    //    //
820      thefigure->cd();
821    if ( var.PALETTE ) ShowPalette();    if ( var.PALETTE ) ShowPalette();
822    //    //
823    // SHOW VERBOSE INFOS    // SHOW VERBOSE INFOS
# Line 2120  void FEVdetector::ShowTOF(){ Line 2123  void FEVdetector::ShowTOF(){
2123    //    //
2124    var.tofraw = 0;    var.tofraw = 0;
2125    //    //
2126    repuntil = L2->ToFLevel2::ntrk();        repuntil = L2->GetToFLevel2()->ntrk();    
2127    //  printf("repuntil = %i \n",repuntil);    //  printf("repuntil = %i \n",repuntil);
2128    //repuntil = L2->GetNTracks();        //repuntil = L2->GetNTracks();    
2129    //    //
# Line 2135  void FEVdetector::ShowTOF(){ Line 2138  void FEVdetector::ShowTOF(){
2138        //        //
2139        if ( repuntil == 1 || var.tofraw ){        if ( repuntil == 1 || var.tofraw ){
2140          numtr = 0;          numtr = 0;
2141          ptt = L2->GetToFTrkVar(0);          ptt = L2->GetToFLevel2()->GetToFTrkVar(0);
2142          repeat = false;          repeat = false;
2143        } else {        } else {
2144          //          //
2145          //          //
2146          if ( numtr >= repuntil-1 ) repeat = false;          if ( numtr >= repuntil-1 ) repeat = false;
2147          //          //
2148          ptt = L2->GetToFTrkVar(numtr);          ptt = L2->GetToFLevel2()->GetToFTrkVar(numtr);
2149        };        };
2150        //        //
2151        xp11[0] = 0.;        xp11[0] = 0.;
# Line 2158  void FEVdetector::ShowTOF(){ Line 2161  void FEVdetector::ShowTOF(){
2161        //        //
2162        Float_t adc[4][12];        Float_t adc[4][12];
2163        Float_t tdc[4][12];        Float_t tdc[4][12];
2164        L2->GetMatrix(numtr,adc,tdc);        L2->GetToFLevel2()->GetMatrix(numtr,adc,tdc);
2165    
2166        //        //
2167        for ( Int_t i = 0; i<8; i++ ) {          for ( Int_t i = 0; i<8; i++ ) {  
# Line 2168  void FEVdetector::ShowTOF(){ Line 2171  void FEVdetector::ShowTOF(){
2171          if ( adc[ch11b[i]][hb11b[i]] < 1000. ){          if ( adc[ch11b[i]][hb11b[i]] < 1000. ){
2172            ms11b[i] = adc[ch11b[i]][hb11b[i]];            ms11b[i] = adc[ch11b[i]][hb11b[i]];
2173          };          };
2174          xp11[i] = 0.;          //      xp11[i] = 0.;
2175        };        };
2176    
2177        Int_t nmtof = 0;        Int_t nmtof = 0;
# Line 2208  void FEVdetector::ShowTOF(){ Line 2211  void FEVdetector::ShowTOF(){
2211          if ( adc[ch12b[i]][hb12b[i]] < 1000. ) ms12b[i] = adc[ch12b[i]][hb12b[i]];          if ( adc[ch12b[i]][hb12b[i]] < 1000. ) ms12b[i] = adc[ch12b[i]][hb12b[i]];
2212          xp12[i] = 0.;          xp12[i] = 0.;
2213        };            };    
2214          //
2215        xp12[0] = ptt->xtofpos[0];        xp12[0] = ptt->xtofpos[0];
2216        //        //
2217        ii = 2;        ii = 2;
# Line 2215  void FEVdetector::ShowTOF(){ Line 2219  void FEVdetector::ShowTOF(){
2219          ii--;          ii--;
2220          if ( adc[ch21a[i]][hb21a[i]] < 1000. ) ms21a[ii] = adc[ch21a[i]][hb21a[i]];          if ( adc[ch21a[i]][hb21a[i]] < 1000. ) ms21a[ii] = adc[ch21a[i]][hb21a[i]];
2221          if ( adc[ch21b[i]][hb21b[i]] < 1000. ) ms21b[ii] = adc[ch21b[i]][hb21b[i]];          if ( adc[ch21b[i]][hb21b[i]] < 1000. ) ms21b[ii] = adc[ch21b[i]][hb21b[i]];
2222          xp12[i] = 0.;          xp21[i] = 0.;
2223        };        };
2224        xp21[0] = ptt->xtofpos[1];        xp21[0] = ptt->xtofpos[1];
2225        //        //
# Line 2801  void FEVdetector::ShowAC(){ Line 2805  void FEVdetector::ShowAC(){
2805    // full infos from ac    // full infos from ac
2806    //    //
2807    if ( level.file == 2 ){    if ( level.file == 2 ){
2808      hitmapA = L2->hitmap[0];      hitmapA = L2->GetAcLevel2()->hitmap[0];
2809      hitmapB = L2->hitmap[1];      hitmapB = L2->GetAcLevel2()->hitmap[1];
2810      hitstatusA = L2->hitstatus[0];      hitstatusA = L2->GetAcLevel2()->hitstatus[0];
2811      hitstatusB = L2->hitstatus[1];      hitstatusB = L2->GetAcLevel2()->hitstatus[1];
2812    };    };
2813    //    //
2814    //    //
# Line 4061  void FEVdetector::ShowS4(Bool_t upd){ Line 4065  void FEVdetector::ShowS4(Bool_t upd){
4065    //    //
4066    if ( level.file == 2 ){    if ( level.file == 2 ){
4067      for ( Int_t j = 0; j<3; j++ ) {              for ( Int_t j = 0; j<3; j++ ) {        
4068        if ( L2->S4adc != 32. ) ms4[j] = L2->S4calibrated;        if ( L2->GetS4Level2()->S4adc != 32. ) ms4[j] = L2->GetS4Level2()->S4calibrated;
4069      };              };        
4070    };    };
4071    //        //    
# Line 4146  void FEVdetector::ShowND(){ Line 4150  void FEVdetector::ShowND(){
4150      };      };
4151    };    };
4152    if ( level.file == 2 ){    if ( level.file == 2 ){
4153      yUpperTrig = (Int_t)L2->trigPhysics;      yUpperTrig = (Int_t)L2->GetNDLevel2()->trigPhysics;
4154      yUpperBk = (Int_t)L2->upperBack;      yUpperBk = (Int_t)L2->GetNDLevel2()->upperBack;
4155      yBottomBk = (Int_t)L2->bottomBack;      yBottomBk = (Int_t)L2->GetNDLevel2()->bottomBack;
4156    };    };
4157    //    //
4158    var.trup = yUpperTrig;    var.trup = yUpperTrig;
# Line 4455  void FEVdetector::ShowTRK(Bool_t upd){ Line 4459  void FEVdetector::ShowTRK(Bool_t upd){
4459        //        //
4460        // singlets X        // singlets X
4461        //        //
4462        for (Int_t sing = 0; sing < L2->nclsx(); sing++){        for (Int_t sing = 0; sing < L2->GetTrkLevel2()->nclsx(); sing++){
4463          TClonesArray &t = *(L2->SingletX);          TClonesArray &t = *(L2->GetTrkLevel2()->SingletX);
4464          TrkSinglet *singlet = (TrkSinglet*)t[sing];          TrkSinglet *singlet = (TrkSinglet*)t[sing];
4465          x = (singlet->coord[0]+singlet->coord[1])/2.;                            x = (singlet->coord[0]+singlet->coord[1])/2.;                  
4466          //          //
# Line 4480  void FEVdetector::ShowTRK(Bool_t upd){ Line 4484  void FEVdetector::ShowTRK(Bool_t upd){
4484        //        //
4485        // singlets Y        // singlets Y
4486        //        //
4487        for (Int_t sing = 0; sing < L2->nclsy(); sing++){        for (Int_t sing = 0; sing < L2->GetTrkLevel2()->nclsy(); sing++){
4488          TClonesArray &t = *(L2->SingletY);          TClonesArray &t = *(L2->GetTrkLevel2()->SingletY);
4489          TrkSinglet *singlet = (TrkSinglet*)t[sing];          TrkSinglet *singlet = (TrkSinglet*)t[sing];
4490          //          //
4491          Int_t planepad = (singlet->plane - 1)* 2;          Int_t planepad = (singlet->plane - 1)* 2;
# Line 4526  void FEVdetector::ShowTRK(Bool_t upd){ Line 4530  void FEVdetector::ShowTRK(Bool_t upd){
4530          dcol = 2;          dcol = 2;
4531        };        };
4532        //        //
4533        if ( L2->GetNTracks() > 0 ){        if ( L2->GetTrkLevel2()->GetNTracks() > 0 ){
4534          for (Int_t nt = 0; nt < L2->GetNTracks(); nt++){          for (Int_t nt = 0; nt < L2->GetTrkLevel2()->GetNTracks(); nt++){
4535            TrkTrack *track = L2->GetTrack(nt);              TrkTrack *track = L2->GetTrkLevel2()->GetTrack(nt);  
4536            if ( nt == 0 ){            if ( nt == 0 ){
4537              var.rig = 0.;              var.rig = 0.;
4538              if ( track->al[4] != 0. ) var.rig = 1./track->al[4];              if ( track->al[4] != 0. ) var.rig = 1./track->al[4];
# Line 4624  void FEVdetector::ShowTRK(Bool_t upd){ Line 4628  void FEVdetector::ShowTRK(Bool_t upd){
4628        //        //
4629        // first of all plot crosses relatives to tracks        // first of all plot crosses relatives to tracks
4630        //        //
4631        if ( L2->GetNTracks() > 0 ){        if ( L2->GetTrkLevel2()->GetNTracks() > 0 ){
4632          for (Int_t nt = 0; nt < L2->GetNTracks(); nt++){          for (Int_t nt = 0; nt < L2->GetTrkLevel2()->GetNTracks(); nt++){
4633            TrkTrack *track = L2->GetTrack(nt);              TrkTrack *track = L2->GetTrkLevel2()->GetTrack(nt);  
4634            for (Int_t plane = 0; plane<6; plane++){            for (Int_t plane = 0; plane<6; plane++){
4635              //              //
4636              x = track->xm[plane];              x = track->xm[plane];
# Line 4672  void FEVdetector::ShowTRK(Bool_t upd){ Line 4676  void FEVdetector::ShowTRK(Bool_t upd){
4676        //        //
4677        // try to plot crosses relative to singlets        // try to plot crosses relative to singlets
4678        //        //
4679        if ( L2->nclsx() > 0 && L2->nclsy() > 0 ){        if ( L2->GetTrkLevel2()->nclsx() > 0 && L2->GetTrkLevel2()->nclsy() > 0 ){
4680          for (Int_t plane = 1; plane<7; plane++){          for (Int_t plane = 1; plane<7; plane++){
4681            //            //
4682            // count how many singlet in the x and y view for this plane:            // count how many singlet in the x and y view for this plane:
# Line 4686  void FEVdetector::ShowTRK(Bool_t upd){ Line 4690  void FEVdetector::ShowTRK(Bool_t upd){
4690            TArrayF *array2 = new TArrayF(5000);            TArrayF *array2 = new TArrayF(5000);
4691            TArrayF *sigarrax = new TArrayF(5000);            TArrayF *sigarrax = new TArrayF(5000);
4692            TArrayF *sigarray = new TArrayF(5000);            TArrayF *sigarray = new TArrayF(5000);
4693            for (Int_t sing = 0; sing < L2->nclsx(); sing++){            for (Int_t sing = 0; sing < L2->GetTrkLevel2()->nclsx(); sing++){
4694              TClonesArray &t = *(L2->SingletX);              TClonesArray &t = *(L2->GetTrkLevel2()->SingletX);
4695              TrkSinglet *singlet = (TrkSinglet*)t[sing];              TrkSinglet *singlet = (TrkSinglet*)t[sing];
4696              if ( singlet->plane == plane ){              if ( singlet->plane == plane ){
4697                arrax->AddAt(((singlet->coord[0]+singlet->coord[1])/2.),totsx);                arrax->AddAt(((singlet->coord[0]+singlet->coord[1])/2.),totsx);
# Line 4716  void FEVdetector::ShowTRK(Bool_t upd){ Line 4720  void FEVdetector::ShowTRK(Bool_t upd){
4720                totsx++;                      totsx++;      
4721              };              };
4722            };            };
4723            for (Int_t sing = 0; sing < L2->nclsy(); sing++){            for (Int_t sing = 0; sing < L2->GetTrkLevel2()->nclsy(); sing++){
4724              TClonesArray &t = *(L2->SingletY);              TClonesArray &t = *(L2->GetTrkLevel2()->SingletY);
4725              TrkSinglet *singlet = (TrkSinglet*)t[sing];              TrkSinglet *singlet = (TrkSinglet*)t[sing];
4726              if ( singlet->plane == plane ){              if ( singlet->plane == plane ){
4727                array1->AddAt(singlet->coord[0],totsy);                array1->AddAt(singlet->coord[0],totsy);
# Line 4942  void FEVdetector::ShowTrack(){ Line 4946  void FEVdetector::ShowTrack(){
4946    //    //
4947    //    //
4948    //    //
4949      if ( var.CALO && false ){
4950        if ( L2->GetCaloLevel2()->npcfit[0] > 0 && L2->GetCaloLevel2()->npcfit[1] > 0 ){
4951          Float_t calx[22];
4952          Float_t caly[22];
4953          Float_t calzx[22];
4954          Float_t calzy[22];
4955          Float_t zpiano[22];
4956          zpiano[0] = (CTZ+118.)*var.sfy/1000.;
4957          for (Int_t plane = 1; plane < 22; plane++){      
4958            if ( !(plane%2) ){
4959              zpiano[plane] = zpiano[plane-1] - 8.09*var.sfy/1000.;
4960            }else {
4961              zpiano[plane] = zpiano[plane-1] - 10.09*var.sfy/1000.;
4962            };
4963          };
4964          for (Int_t plane = 0; plane < 22; plane++){      
4965            calx[plane] = (L2->GetCaloLevel2()->cbar[plane][0]/100.)*var.sfx + var.xxvc;;
4966            caly[plane] = (L2->GetCaloLevel2()->cbar[plane][1]/100.)*var.sfx + var.xyvc;
4967            //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;
4968            calzx[plane] = zpiano[plane] + var.yxvc;
4969            calzy[plane] = zpiano[plane] + var.yyvc;
4970            //      printf(" calx %f caly %f calzx %f calzy %f \n",calx[plane],caly[plane],calzx[plane],calzy[plane]);
4971          };
4972          //
4973          // Calorimeter track
4974          //
4975          Int_t trcol = 30;
4976          if ( var.bw ){
4977            trcol = 14;
4978          } else {
4979            trcol = 44;
4980          };
4981          thefigure->cd();
4982          TPolyLine *trakx = new TPolyLine(22,calx,calzx);
4983          trakx->SetLineColor(trcol);
4984          if ( L2->GetCaloLevel2()->fitmode[0] == 1 ) trakx->SetLineStyle(3);
4985          if ( L2->GetCaloLevel2()->fitmode[0] == 2 ) trakx->SetLineStyle(4);
4986          trakx->SetLineWidth(2);
4987          trakx->Draw();
4988          TPolyLine *traky = new TPolyLine(22,caly,calzy);
4989          traky->SetLineColor(trcol);
4990          if ( L2->GetCaloLevel2()->fitmode[1] == 1 ) traky->SetLineStyle(3);
4991          if ( L2->GetCaloLevel2()->fitmode[1] == 2 ) traky->SetLineStyle(4);
4992          traky->SetLineWidth(2);
4993          traky->Draw();      
4994        };
4995        if ( L2->GetCaloLevel2()->npcfit[2] > 0 ){
4996          Float_t calx[22];
4997          Float_t caly[22];
4998          Float_t calzx[22];
4999          Float_t calzy[22];
5000          Float_t zpiano[22];
5001          zpiano[0] = (CTZ+118.)*var.sfy/1000.;
5002          for (Int_t plane = 1; plane < 22; plane++){      
5003            if ( !(plane%2) ){
5004              zpiano[plane] = zpiano[plane-1] - 8.09*var.sfy/1000.;
5005            }else {
5006              zpiano[plane] = zpiano[plane-1] - 10.09*var.sfy/1000.;
5007            };
5008          };
5009          //
5010          //
5011          CaloTrkVar *ctra = L2->GetCaloStoredTrack(-1);
5012          //
5013          for (Int_t plane = 0; plane < 22; plane++){      
5014            calx[plane] = (ctra->tbar[plane][0]/100.)*var.sfx + var.xxvc;;
5015            caly[plane] = (ctra->tbar[plane][1]/100.)*var.sfx + var.xyvc;
5016            //      calzx[plane] = zpiano[plane] -5.81*var.sfy/1000. + var.yxvc;
5017            calzx[plane] = zpiano[plane] + var.yxvc;
5018            calzy[plane] = zpiano[plane] + var.yyvc;
5019            //      printf(" calx %f caly %f calzx %f calzy %f \n",calx[plane],caly[plane],calzx[plane],calzy[plane]);
5020          };
5021          //
5022          // Calorimeter track
5023          //
5024          Int_t trcol = 30;
5025          if ( var.bw ){
5026            trcol = 16;
5027          } else {
5028            trcol = 46;
5029          };
5030          thefigure->cd();
5031          TPolyLine *trakx = new TPolyLine(22,calx,calzx);
5032          trakx->SetLineColor(trcol);
5033          trakx->SetLineStyle(3);
5034          trakx->SetLineWidth(2);
5035          trakx->Draw();
5036          TPolyLine *traky = new TPolyLine(22,caly,calzy);
5037          traky->SetLineColor(trcol);
5038          traky->SetLineStyle(3);
5039          traky->SetLineWidth(2);
5040          traky->Draw();      
5041        };
5042      };
5043      //
5044    if ( !var.TRK || level.file != 2 ) return;    if ( !var.TRK || level.file != 2 ) return;
5045    //    //
5046    if ( L2->GetNTracks() > 0 ){    if ( L2->GetTrkLevel2()->GetNTracks() > 0 ){
5047      for (Int_t nt = 0; nt < L2->GetNTracks(); nt++){      for (Int_t nt = 0; nt < L2->GetTrkLevel2()->GetNTracks(); nt++){
5048        TrkTrack *track = L2->GetTrack(nt);        TrkTrack *track = L2->GetTrkLevel2()->GetTrack(nt);
5049        Int_t npoint = 100;        Int_t npoint = 100;
5050        Float_t zin[100];        Float_t zin[100];
5051        Double_t xout[100];        Double_t xout[100];
# Line 5016  void FEVdetector::ShowTrack(){ Line 5115  void FEVdetector::ShowTrack(){
5115            };            };
5116            tzx[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc;                            tzx[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc;                
5117            tzy[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc;            tzy[e] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc;
5118              //      printf("tx[e] %f ty [e] %f tzx %f tzy %f \n",tx[e],ty[e],tzx[e],tzy[e]);
5119          };          };
5120          //          //
5121          // From S1 to CALO          // From S1 to CALO
# Line 5565  void FEVdetector::ShowCalo(Bool_t upd){ Line 5665  void FEVdetector::ShowCalo(Bool_t upd){
5665      //      //
5666      stringstream xvev;      stringstream xvev;
5667      stringstream yvev;          stringstream yvev;    
5668      for (Int_t ii = 0; ii < L2->nstrip; ii++){      for (Int_t ii = 0; ii < L2->GetCaloLevel2()->nstrip; ii++){
5669        Int_t colo;        Int_t colo;
5670        Int_t l;        Int_t l;
5671        Int_t m;        Int_t m;
5672        Int_t n;        Int_t n;
5673        Float_t mip = L2->DecodeEstrip(ii,l,m,n);        Float_t mip = L2->GetCaloLevel1()->DecodeEstrip(ii,l,m,n);
5674        if ( var.bw ){        if ( var.bw ){
5675          colo = -1;          colo = -1;
5676        } else {        } else {
# Line 5604  void FEVdetector::ShowCalo(Bool_t upd){ Line 5704  void FEVdetector::ShowCalo(Bool_t upd){
5704      };      };
5705      pd1->Update();      pd1->Update();
5706      pd2->Update();      pd2->Update();
5707      var.qtot=(int)L2->qtot;      var.qtot=(int)L2->GetCaloLevel2()->qtot;
5708      var.nstrip=(int)L2->nstrip;      var.nstrip=(int)L2->GetCaloLevel2()->nstrip;
5709    };    };
5710  }  }
5711    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23