--- eventviewer/flight/src/FEVdetector.cpp 2007/03/15 14:02:33 1.15 +++ eventviewer/flight/src/FEVdetector.cpp 2007/11/29 15:53:10 1.25 @@ -83,6 +83,18 @@ thefigure = &figure; checkctrlword(); var.selex = false; + var.showall = false; + + var.showsi = false; + var.shownd = false; + var.shows4 = false; + var.showorb = false; + var.showtof = false; + var.showtrg = false; + var.showtrk = false; + var.showcal = false; + var.showrun = false; + var.showac = false; } void FEVdetector::checkctrlword(){ @@ -92,8 +104,9 @@ var.RUN = 1; var.TRK = 0; var.ORB = 1; - var.TRG = 0; + var.TRG = 1; var.CALO = 0; + var.CALOT = 0; var.S4 = 0; var.ND = 0; var.INFOS = 0; @@ -133,29 +146,42 @@ }; void FEVdetector::GetWindow(){ - otr->GetEntry(maxevent); // + if ( level.file == 2 ){ + // printf("0qui\n"); + L2->GetEntry(minevent); + } else { + otr->GetEntry(minevent); + } if ( level.file < 2 ){ ph = eh->GetPscuHeader(); - lastevno = (int)ph->Counter; + firstevno = (int)ph->Counter; } else { if ( var.ORB ){ - lastevno = L2->GetOrbitalInfo()->pkt_num; + firstevno = L2->GetOrbitalInfo()->pkt_num; } else { - lastevno = 0; + firstevno = 0; }; }; - otr->GetEntry(minevent); + // + if ( level.file == 2 ){ + // printf("1qui\n"); + L2->GetEntry(maxevent); + } else { + otr->GetEntry(maxevent); + } + // if ( level.file < 2 ){ ph = eh->GetPscuHeader(); - firstevno = (int)ph->Counter; + lastevno = (int)ph->Counter; } else { if ( var.ORB ){ - firstevno = L2->GetOrbitalInfo()->pkt_num; + lastevno = L2->GetOrbitalInfo()->pkt_num; } else { - firstevno = 0; + lastevno = 0; }; }; + // } void FEVdetector::ClearVariables(){ @@ -180,20 +206,55 @@ void FEVdetector::GetEntry(Int_t i){ thisentry = i; if ( level.file == 2 ){ + L2->Clear(); + // printf("qui\n"); L2->GetEntry(i); - ShowInfo("RunInfo"); - ShowInfo("SoftInfo"); - ShowInfo("TrigLevel2"); - ShowInfo("OrbitalInfo"); - ShowInfo("ToFLevel2"); - ShowInfo("TrkLevel2"); - ShowInfo("AcLevel2"); - ShowInfo("CaloLevel2"); - ShowInfo("CaloLevel1"); - ShowInfo("S4Level2"); - ShowInfo("NDLevel2"); + if ( var.showall ){ + ShowInfo("RunInfo"); + ShowInfo("SoftInfo"); + ShowInfo("OrbitalInfo"); + ShowInfo("TrigLevel2"); + ShowInfo("ToFLevel2"); + ShowInfo("TrkLevel2"); + ShowInfo("AcLevel2"); + ShowInfo("CaloLevel2"); + ShowInfo("CaloLevel1"); + ShowInfo("S4Level2"); + ShowInfo("NDLevel2"); + } else { + if ( var.showrun ) ShowInfo("RunInfo"); + if ( var.showsi ) ShowInfo("SoftInfo"); + if ( var.showorb ) ShowInfo("OrbitalInfo"); + if ( var.showtrg ) ShowInfo("TrigLevel2"); + if ( var.showtof ) ShowInfo("ToFLevel2"); + if ( var.showtrk ) ShowInfo("TrkLevel2"); + if ( var.showac ) ShowInfo("AcLevel2"); + if ( var.showcal ) ShowInfo("CaloLevel2"); + if ( var.showcal ) ShowInfo("CaloLevel1"); + if ( var.shows4 ) ShowInfo("S4Level2"); + if ( var.shownd ) ShowInfo("NDLevel2"); + }; } else { otr->GetEntry(i); + if ( var.showall ){ + ShowInfo("Pscu"); + ShowInfo("Trigger"); + ShowInfo("Tof"); + ShowInfo("Tracker"); + ShowInfo("Anticounter"); + ShowInfo("Calorimeter"); + ShowInfo("S4"); + ShowInfo("Neutron"); + } else { + if ( var.showorb ) ShowInfo("Pscu"); + if ( var.showtrg ) ShowInfo("Trigger"); + if ( var.showtof ) ShowInfo("Tof"); + if ( var.showtrk ) ShowInfo("Tracker"); + if ( var.showac ) ShowInfo("Anticounter"); + if ( var.showcal ) ShowInfo("Calorimeter"); + if ( var.shows4 ) ShowInfo("S4"); + if ( var.shownd ) ShowInfo("Neutron"); + }; }; } @@ -323,7 +384,7 @@ // TObjArray *leaf_array = 0; // if ( !strcmp(detector.Data(),"RunInfo") || !strcmp(detector.Data(),"SoftInfo") ){ - if ( runtree ) b1 = runtree->FindBranch(detector.Data()); + if ( L2->GetRunTree() ) b1 = L2->GetRunTree()->FindBranch(detector.Data()); } else { b1 = otr->FindBranch(detector.Data()); }; @@ -356,7 +417,7 @@ Int_t len = (tb->GetInfo()->GetLengths())[tb->GetID()]; Int_t length = min(len,dlen); // - // printf("Branches : type is %i type is %i tb getname %s slen %i slength %i\n",atype,type,tb->GetName(),len,length); + // printf("Branches : type is %i type is %i tb getname %s slen %i slength %i\n",atype,type,tb->GetName(),len,length); switch (type){ case 0: // @@ -389,12 +450,12 @@ // // Unsigned integer // - if ( atype == -7 || atype == 13 ){ + if ( atype == -7 || atype == 13 || atype == -9 || atype == -8 || atype == 12 ){ while ( j < length ){ if ( j < length -1 ){ - sprintf(o,"%s %i ,",o,(UInt_t)tb->GetValue(j,0)); + sprintf(o,"%s %u ,",o,(UInt_t)tb->GetValue(j,0)); } else { - sprintf(o,"%s %i",o,(UInt_t)tb->GetValue(j,0)); + sprintf(o,"%s %u",o,(UInt_t)tb->GetValue(j,0)); }; j++; }; @@ -416,21 +477,32 @@ // Strings // if ( atype == 45 ){ - // TString *stringa = (TString*)(tb->GetValuePointer()); + // TObjArray *cl = (TObjArray*)(tb->GetInfo()->GetOffsets())[tb->GetID()];//tb->GetValuePointer(); + // TString *stringa = (TString*)(*cl)[0]; + // TBranchElement *utb = (TBranchElement*)tb->GetBranchCount(); + // TString** stringa = (TString*)(&tb->GetValuePointer()); + //TStreamerElement *tste = (TStreamerElement*)tb->GetInfo()->GetCurrentElement(); + + // char *ladd; + // ladd = tb->GetValuePointer() + // TString *stringa = (TString*)((tste->GetOffset())); + // TString& mstr = *stringa; + // printf(" la mia stringa %s \n",mstr.Data()); + // printf(" offset %i \n",(Int_t)utb->GetValue(0,0)); // int pointer = (tb->GetInfo()->GetOffsets())[tb->GetID()]; // TString *stringa = (TString*)(tb->GetInfo()->GetOffsets())[tb->GetID()]; // TString *stringa = (TString*)tb->GetAddress(); // printf(" address 0x%X \n",tb->GetAddress()); // printf(" pointer 0x%X \n",tb->GetValuePointer()); // printf(" object 0x%X \n",tb->GetObject()); -// printf("stringa %s lung %i\n",stringa->Data(),stringa->Length()); +// printf("stringa %s lung %i\n",stringa.Data(),stringa.Length()); // TLeaf *striglia = tb->FindLeaf(tb->GetName()); // if ( striglia ){ // char *pointer = (char *)striglia->GetValuePointer(); // TString *pr= (TString*)pointer; // printf("ciao %s \n",pr->Data()); // }; - sprintf(o,"%s TString ",o); + sprintf(o,"%s TString - not implemented yet -",o); }; // // TArray @@ -530,7 +602,7 @@ // }; // sprintf(o,"%s\n",o); // - sprintf(o,"%s TArray ",o); + sprintf(o,"%s TArray - not implemented yet -",o); // }; // @@ -588,7 +660,7 @@ // // Integer // - if ( satype == -17 ){ + if ( satype == -17 || satype == -9 ){ // setcolor(col,RESET, BLUE, WHITE); setcolor(col2,RESET, BLACK, WHITE); @@ -821,6 +893,11 @@ trcs = (TString)trc.str().c_str(); } else { headcold = headc; + if ( var.RUN ){ + var.idrun = L2->GetRunInfo()->ID; + var.idroot = L2->GetRunInfo()->ID_ROOT_L0; + var.EVF = L2->GetRunInfo()->EV_FROM; + }; if ( var.ORB ){ headc = L2->GetOrbitalInfo()->pkt_num; OBT = L2->GetOrbitalInfo()->OBT; @@ -974,20 +1051,32 @@ // } -TChain* FEVdetector::Load(TFile &mainfile){ - // - file = &mainfile; +TChain* FEVdetector::Load(TString file){ // - L2 = new PamLevel2(); + // file = &mainfile; // if ( level.file == 2 ){ // printf(" %s \n",ddec.Data()); - otr = L2->GetPamTree(gSystem->DirName(file->GetName()),file->GetName(),ddec.Data()); - runtree = L2->GetRunTree(gSystem->DirName(file->GetName()),file->GetName()); + if ( !L2 ){ + L2 = new PamLevel2("",file.Data(),ddec.Data()); + otr = L2->GetPamTree(); + printf(" l2 constructor\n"); + // printf(" abst %u obt %u qtot %f \n",L2->GetOrbitalInfo()->absTime,L2->GetOrbitalInfo()->OBT,L2->GetCaloLevel2()->qtot); + } else { + // + printf(" l2 already exist \n"); + otr = L2->GetPamTree(gSystem->DirName(file.Data()),file.Data(),ddec.Data()); + L2->GetRunTree(gSystem->DirName(file.Data()),file.Data()); + // + }; + // // if ( !otr ) return(0); // + // otr->CanDeleteRefs(true); + // if ( runtree ) runtree->CanDeleteRefs(true); + // } else { // // load calorimeter ADC2MIP conversion file @@ -1028,23 +1117,22 @@ }; // // - trigger = new pamela::trigger::TriggerEvent(); - eh = new pamela::EventHeader(); - ph = new pamela::PscuHeader(); - // runinfo = new ItoRunInfo(file); - // - de = new pamela::calorimeter::CalorimeterEvent(); - trk = new pamela::tracker::TrackerEvent(); - ne = new pamela::neutron::NeutronEvent(); - ace = new pamela::anticounter::AnticounterEvent(); - s4 = new pamela::S4::S4Event(); - tof = new pamela::tof::TofEvent(); - // // Load level0 file if the case // if ( level.file == 0 || level.file == -1 ){ + // + trigger = new pamela::trigger::TriggerEvent(); + eh = new pamela::EventHeader(); + ph = new pamela::PscuHeader(); + de = new pamela::calorimeter::CalorimeterEvent(); + trk = new pamela::tracker::TrackerEvent(); + ne = new pamela::neutron::NeutronEvent(); + ace = new pamela::anticounter::AnticounterEvent(); + s4 = new pamela::S4::S4Event(); + tof = new pamela::tof::TofEvent(); + // otr = new TChain("Physics"); - otr->Add(file->GetName(),-1); + otr->Add(file.Data(),-1); otr->SetBranchAddress("Trigger", &trigger); otr->SetBranchAddress("Header", &eh); }; @@ -1360,10 +1448,10 @@ text->DrawLatex(var.xxvc+0.17*var.sfx,var.yxvc-0.08*var.sfy,"CAS1"); text->DrawLatex(var.xyvc-0.192*var.sfx,var.yyvc-0.08*var.sfy,"CAS4"); text->DrawLatex(var.xyvc+0.17*var.sfx,var.yyvc-0.08*var.sfy,"CAS3"); - text->DrawLatex(var.xxvc-0.192*var.sfx,var.yxvc+0.48*var.sfy,"CARD2"); - text->DrawLatex(var.xxvc+0.155*var.sfx,var.yxvc+0.48*var.sfy,"CARD3"); - text->DrawLatex(var.xyvc-0.170*var.sfx,var.yyvc+0.48*var.sfy,"CARD1"); - text->DrawLatex(var.xyvc+0.13*var.sfx,var.yyvc+0.48*var.sfy,"CARD4"); + text->DrawLatex(var.xxvc-0.222*var.sfx,var.yxvc+0.48*var.sfy,"CARD2"); + text->DrawLatex(var.xxvc+0.185*var.sfx,var.yxvc+0.48*var.sfy,"CARD3"); + text->DrawLatex(var.xyvc-0.190*var.sfx,var.yyvc+0.48*var.sfy,"CARD1"); + text->DrawLatex(var.xyvc+0.16*var.sfx,var.yyvc+0.48*var.sfy,"CARD4"); text->DrawLatex(var.xxvc-0.192*var.sfx,var.yxvc+0.39*var.sfy,"CAT3"); text->DrawLatex(var.xxvc+0.155*var.sfx,var.yxvc+0.39*var.sfy,"CAT4"); text->DrawLatex(var.xyvc-0.170*var.sfx,var.yyvc+0.39*var.sfy,"CAT2"); @@ -1491,6 +1579,7 @@ // // print infos on terminal // + // if ( !var.selex ){ printf(" File: %s \n",var.thefilename.Data()); if ( !s4pulser && !calotrig ){ printf(" Pkt_num: %i - Progressive number: %i \n",(int)headc,thisentry+1); @@ -1501,7 +1590,7 @@ if ( calotrig ){ printf(" Pkt_num: %i - Progressive number: %i - CALO trigger -\n",(int)headc,thisentry+1); }; - printf(" On Board Time: %i (delta %i) [ms]\n",OBT,DOBT); + printf(" On Board Time: %u (delta %i) [ms]\n",OBT,DOBT); const char *trc2 = trcs; printf(" TRIGGER: %s \n",trc2); printf(" AC: CARD hit = %i CAT hit = %i CAS hit = %i \n",var.hcard,var.hcat,var.hcas); @@ -1513,6 +1602,7 @@ printf(" CALO: NSTRIP = %i QTOT = %i [MIP]\n",var.nstrip,var.qtot); printf(" S4: %.2f [MIP] TOF: beta = %.2f \n",var.s4sig,var.beta[4]); printf(" ND: Trigger: neutrons = %i - Background: upper = %i lower = %i \n",var.trup,var.bkup,var.bkbo); + // }; // } @@ -1820,10 +1910,10 @@ void FEVdetector::ShowTOF(){ // // - // if ( !var.TOF ) return; // Int_t tt = 0; + Int_t rj = 0; // // force level0, i.e. show patterntrig variable! // @@ -2017,7 +2107,9 @@ Float_t s12p = 0.055; ocolo = 10; TPolyLine *ftof12ya[6]; + rj=6; for ( Int_t j=0; j<6; j++){ + rj--; Float_t xc1[4]={ (s12p*j), s12p*(j), s12p*(j+1), (s12p*j)}; Float_t yc1[4]={ -ws13, 0., 0., -ws13}; Float_t xc[4]; @@ -2033,10 +2125,10 @@ } else { colo = 1; }; - ColorMIP(ms12a[j],colo); + ColorMIP(ms12a[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt12[0][j] == 4095. ) colo = noadc; + if ( mt12[0][rj] == 4095. ) colo = noadc; // ftof12ya[j]->SetFillColor(colo); ftof12ya[j]->SetLineWidth(1); @@ -2046,7 +2138,9 @@ // B s12p = 0.055; TPolyLine *ftof12yb[6]; + rj=6; for ( Int_t j=0; j<6; j++){ + rj--; Float_t xc1[4]={ (s12p*j), s12p*(j+1), s12p*(j+1), (s12p*j)}; Float_t yc1[4]={ -ws13, -ws13, 0., -ws13}; Float_t xc[4]; @@ -2062,10 +2156,10 @@ } else { colo = 1; }; - ColorMIP(ms12b[j],colo); + ColorMIP(ms12b[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt12[1][j] == 4095. ) colo = noadc; + if ( mt12[1][rj] == 4095. ) colo = noadc; // ftof12yb[j]->SetFillColor(colo); ftof12yb[j]->SetLineWidth(1); @@ -2099,7 +2193,9 @@ Float_t s21p = 0.075; ocolo = 10; TPolyLine *ftof21ya[2]; + rj=2; for ( Int_t j=0; j<2; j++){ + rj--; Float_t xc1[4]={ s21p*(j-1), s21p*(j-1), s21p*j, s21p*(j-1)}; Float_t yc1[4]={ 0., ws2, ws2, 0.}; Float_t xc[4]; @@ -2115,10 +2211,10 @@ } else { colo = 1; }; - ColorMIP(ms21a[j],colo); + ColorMIP(ms21a[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt21[0][j] == 4095. ) colo = noadc; + if ( mt21[0][rj] == 4095. ) colo = noadc; // ftof21ya[j]->SetFillColor(colo); ftof21ya[j]->SetLineWidth(1); @@ -2128,7 +2224,9 @@ // B s21p = 0.075; TPolyLine *ftof21yb[2]; + rj=2; for ( Int_t j=0; j<2; j++){ + rj--; Float_t xc1[4]={ s21p*(j-1), s21p*j, s21p*j, s21p*(j-1)}; Float_t yc1[4]={ 0., 0., ws2, 0.}; Float_t xc[4]; @@ -2144,10 +2242,10 @@ } else { colo = 1; }; - ColorMIP(ms21b[j],colo); + ColorMIP(ms21b[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt21[1][j] == 4095. ) colo = noadc; + if ( mt21[1][rj] == 4095. ) colo = noadc; // ftof21yb[j]->SetFillColor(colo); ftof21yb[j]->SetLineWidth(1); @@ -2262,7 +2360,9 @@ Float_t s31p = 0.060; ocolo = 10; TPolyLine *ftof31xa[3]; + rj=3; for ( Int_t j=0; j<3; j++){ + rj--; Float_t xc1[4]={ (s31p*j), (s31p*j), s31p*(j+1), (s31p*j)}; Float_t yc1[4]={ 0., ws13, ws13, 0.}; Float_t xc[4]; @@ -2278,10 +2378,10 @@ } else { colo = 1; }; - ColorMIP(ms31a[j],colo); + ColorMIP(ms31a[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt31[0][j] == 4095. ) colo = noadc; + if ( mt31[0][rj] == 4095. ) colo = noadc; // ftof31xa[j]->SetFillColor(colo); ftof31xa[j]->SetLineWidth(1); @@ -2291,7 +2391,9 @@ // B s31p = 0.060; TPolyLine *ftof31xb[3]; + rj=3; for ( Int_t j=0; j<3; j++){ + rj--; Float_t xc1[4]={ (s31p*j), s31p*(j+1), s31p*(j+1), (s31p*j)}; Float_t yc1[4]={ 0., 0., ws13, 0.}; Float_t xc[4]; @@ -2307,10 +2409,10 @@ } else { colo = 1; }; - ColorMIP(ms31b[j],colo); + ColorMIP(ms31b[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt31[1][j] == 4095. ) colo = noadc; + if ( mt31[1][rj] == 4095. ) colo = noadc; // ftof31xb[j]->SetFillColor(colo); ftof31xb[j]->SetLineWidth(1); @@ -2342,7 +2444,9 @@ Float_t s32p = 0.050; ocolo = 10; TPolyLine *ftof32ya[3]; + rj=3; for ( Int_t j=0; j<3; j++){ + rj--; Float_t xc1[4]={ (s32p*j), (s32p*j), s32p*(j+1), (s32p*j)}; Float_t yc1[4]={ -ws13, 0., 0., -ws13}; Float_t xc[4]; @@ -2358,10 +2462,10 @@ } else { colo = 1; }; - ColorMIP(ms32a[j],colo); + ColorMIP(ms32a[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt32[0][j] == 4095. ) colo = noadc; + if ( mt32[0][rj] == 4095. ) colo = noadc; // ftof32ya[j]->SetFillColor(colo); ftof32ya[j]->SetLineWidth(1); @@ -2370,7 +2474,9 @@ }; s32p = 0.050; TPolyLine *ftof32yb[3]; + rj=3; for ( Int_t j=0; j<3; j++){ + rj--; Float_t xc1[4]={ (s32p*j), s32p*(j+1), s32p*(j+1), (s32p*j)}; Float_t yc1[4]={ -ws13, -ws13, 0., -ws13}; Float_t xc[4]; @@ -2386,10 +2492,10 @@ } else { colo = 1; }; - ColorMIP(ms32b[j],colo); + ColorMIP(ms32b[rj],colo); // if ( colo != 10 ) ocolo = colo; - if ( mt32[1][j] == 4095. ) colo = noadc; + if ( mt32[1][rj] == 4095. ) colo = noadc; // ftof32yb[j]->SetFillColor(colo); ftof32yb[j]->SetLineWidth(1); @@ -2656,7 +2762,8 @@ // if ( numtr >= repuntil-1 ) repeat = false; // - ptt = L2->GetToFLevel2()->GetToFTrkVar(numtr); + // printf(" numtr is %i \n",numtr); + ptt = L2->GetToFLevel2()->GetToFTrkVar(numtr); //ptrack = L2->GetTrack(numtr); //ptt = ptrack->GetToFTrack(); }; @@ -2832,15 +2939,20 @@ ftof11y->Draw(); TPolyLine *sftof11[8]; tt = 1; - if ( level.file == -1 ) tt = 8; + rj=1; + if ( level.file == -1 ){ + tt = 8; + rj = 8; + }; for ( Int_t j=0; j 0.164 ) higp = 0.164; - if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp11[j] != 0.))){ + if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp11[rj] != 0.))){ Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp}; Float_t nyc1[5]={ 0.0015, 0.0015, ws13-0.0015, ws13-0.0015, 0.0015}; Float_t nxc[5]; @@ -2865,7 +2977,9 @@ Float_t s12p = 0.055; ocolo = 10; TPolyLine *ftof12y[6]; + rj = 6; for ( Int_t j=0; j<6; j++){ + rj--; Float_t nxc1[5]={ (s12p*j), (s12p*j), s12p*(j+1), s12p*(j+1), (s12p*j)}; Float_t nyc1[5]={ -ws13, 0., 0., -ws13, -ws13}; Float_t nxc[5]; @@ -2882,9 +2996,9 @@ colo = 1; }; if ( level.file == -1 ){ - ColorMIP(ms12a[j]+ms12b[j],colo); + ColorMIP(ms12a[rj]+ms12b[rj],colo); } else { - ColorTOFMIP(ms12a[j]+ms12b[j],colo); + ColorTOFMIP(ms12a[rj]+ms12b[rj],colo); }; // if ( colo != 10 ) ocolo = colo; @@ -2951,7 +3065,9 @@ Float_t s21p = 0.075; ocolo = 10; TPolyLine *ftof21y[2]; + rj=2; for ( Int_t j=0; j<2; j++){ + rj--; Float_t nxc1[5]={ s21p*(j-1), s21p*(j-1), s21p*j,s21p*j, s21p*(j-1)}; Float_t nyc1[5]={ 0., ws2, ws2, 0., 0.}; Float_t nxc[5]; @@ -2968,9 +3084,9 @@ colo = 1; }; if ( level.file == -1 ){ - ColorMIP(ms21a[j]+ms21b[j],colo); + ColorMIP(ms21a[rj]+ms21b[rj],colo); } else { - ColorTOFMIP(ms21a[j]+ms21b[j],colo); + ColorTOFMIP(ms21a[rj]+ms21b[rj],colo); }; // if ( colo != 10 ) ocolo = colo; @@ -3087,16 +3203,21 @@ ftof22y->Draw(); TPolyLine *sftof22[2]; tt = 1; - if ( level.file == -1 ) tt = 2; + rj = 1; + if ( level.file == -1 ){ + tt = 2; + rj = 2; + }; for (Int_t j=0; j 0.074 ) higp = 0.074; - if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp22[j] != 0.))){ + if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp22[rj] != 0.))){ Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp}; Float_t nyc1[5]={ -0.0015, -0.0015, -ws2+0.0015, -ws2+0.0015, -0.0015}; Float_t nxc[5]; @@ -3116,7 +3237,7 @@ }; }; // - + //daquiinbasso // // S31 X-view // @@ -3173,16 +3294,21 @@ ftof31y->Draw(); TPolyLine *sftof31[3]; tt = 1; - if ( level.file == -1 ) tt = 3; + rj = 1; + if ( level.file == -1 ){ + tt = 3; + rj = 3; + }; for (Int_t j=0; j 0.074 ) higp = 0.074; - if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp31[j] != 0.))){ + if ( lowp < higp && ( level.file == -1 || (level.file == 2 && xp31[rj] != 0.))){ Float_t nxc1[5]={ lowp, higp, higp, lowp, lowp}; Float_t nyc1[5]={ 0.0015, 0.0015, ws13-0.0015, ws13-0.0015, 0.0015}; Float_t nxc[5]; @@ -3209,7 +3335,9 @@ Float_t s32p = 0.050; ocolo = 10; TPolyLine *ftof32y[3]; + rj = 3; for ( Int_t j=0; j<3; j++){ + rj--; Float_t nxc1[5]={ (s32p*j), (s32p*j), s32p*(j+1),s32p*(j+1), (s32p*j)}; Float_t nyc1[5]={ -ws13, 0., 0., -ws13, -ws13}; Float_t nxc[5]; @@ -3226,9 +3354,9 @@ colo = 1; }; if ( level.file == -1 ){ - ColorMIP(ms32a[j]+ms32b[j],colo); + ColorMIP(ms32a[rj]+ms32b[rj],colo); } else { - ColorTOFMIP(ms32a[j]+ms32b[j],colo); + ColorTOFMIP(ms32a[rj]+ms32b[rj],colo); }; // if ( colo != 10 ) ocolo = colo; @@ -4942,9 +5070,9 @@ for (Int_t m = 0; m<3; m++){ if ( trk->signcluster[l][m] != 0. ){ if ( planeno == 10 ) { - x = 1024 - trk->addrcluster[l][m]; - } else { x = trk->addrcluster[l][m]; + } else { + x = 1024 - trk->addrcluster[l][m]; }; linea = new TLine(14.+x,0.01,14.+x,0.3); linea->SetLineWidth(2); @@ -5014,7 +5142,7 @@ trkpad[planepad]->cd(); trkpad[planepad]->Range(-7.05,0.,7.05,8.); for (Int_t img=0; img<2; img++){ - x = singlet->coord[img]; + x = -singlet->coord[img]; Float_t xsig = singlet->sgnl; if ( xsig > 8. ) xsig = 8.; // @@ -5071,7 +5199,7 @@ // x = track->xm[plane]; Float_t xsig = track->dedx_x[plane]; - if ( track->xgood[plane] ){ + if ( track->XGood(plane) ){ //if ( x > -100 ){ if ( xsig > 8. ) xsig = 8.; if ( var.bw ){ @@ -5099,9 +5227,9 @@ planepad = plane * 2; trkpad[planepad]->cd(); trkpad[planepad]->Range(-7.05,0.,7.05,8.); - x = track->ym[plane]; + x = -track->ym[plane]; xsig = track->dedx_y[plane]; - if ( track->ygood[plane] ){ + if ( track->YGood(plane) ){ // if ( x > -100 ){ if ( xsig > 8. ) xsig = 8.; if ( var.bw ){ @@ -5161,11 +5289,11 @@ for (Int_t plane = 0; plane<6; plane++){ // x = track->xm[plane]; - Float_t y = track->ym[plane]; + Float_t y = -track->ym[plane]; Float_t xsig = track->dedx_x[plane]; Float_t ysig = track->dedx_y[plane]; // if ( x > -100 && y > -100. ){ - if ( track->xgood[plane] && track->ygood[plane] ){ + if ( track->XGood(plane) && track->YGood(plane) ){ if ( var.bw ){ sigcol1 = -1; sigcol2 = -1; @@ -5283,8 +5411,8 @@ for (Int_t sing = 0; sing < min(totsx,totsy); sing++){ // x = arrax->At(orderx->At(sing)); - Float_t y1 = array1->At(ordery->At(sing)); - Float_t y2 = array2->At(ordery->At(sing)); + Float_t y1 = -array1->At(ordery->At(sing)); + Float_t y2 = -array2->At(ordery->At(sing)); Float_t xsig = sigarrax->At(orderx->At(sing)); Float_t ysig = sigarray->At(ordery->At(sing)); if ( x > -100 && y1 > -100. ){ @@ -5377,14 +5505,14 @@ for (Int_t m = 0; m<3; m++){ if ( trk->signcluster[l][m] != 0. ){ if ( planeno == 10 ) { - x = 1024 - trk->addrcluster[l][m]; - } else { x = trk->addrcluster[l][m]; + } else { + x = 1024 - trk->addrcluster[l][m]; }; x += 1024.; if ( trk->signcluster[l][m]> ysig ){ ysig = trk->signcluster[l][m]; - yh1[ncro] = x-1024.; + yh1[ncro] = x - 1024.; yh2[ncro] = x; }; }; @@ -5412,14 +5540,14 @@ for (Int_t m = 0; m<3; m++){ if ( trk->signcluster[e][m] != 0. ){ if ( planeno == 10 ) { - x = 1024 - trk->addrcluster[e][m]; - } else { x = trk->addrcluster[e][m]; + } else { + x = 1024 - trk->addrcluster[e][m]; }; x += 1024.; if ( trk->signcluster[e][m]> ysig ){ ysig = trk->signcluster[e][m]; - yh1[ncro] = x-1024.; + yh1[ncro] = x - 1024.; yh2[ncro] = x; }; }; @@ -5471,9 +5599,11 @@ void FEVdetector::ShowTrack(){ // + if ( level.file != 2 ) return; + // // // - if ( var.CALO && false ){ + if ( var.CALO && var.CALOT ){ if ( L2->GetCaloLevel2()->npcfit[0] > 0 && L2->GetCaloLevel2()->npcfit[1] > 0 ){ Float_t calx[22]; Float_t caly[22]; @@ -5490,7 +5620,7 @@ }; 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; + 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; @@ -5539,7 +5669,7 @@ // 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; + 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; @@ -5568,14 +5698,16 @@ }; }; // - if ( !var.TRK || level.file != 2 ) return; + if ( !var.TRK ) return; // if ( L2->GetTrkLevel2()->GetNTracks() > 0 ){ for (Int_t nt = 0; nt < L2->GetTrkLevel2()->GetNTracks(); nt++){ // TrkTrack *track = L2->GetTrkLevel2()->GetTrack(nt); + // printf("qui \n"); PamTrack *ptrack = L2->GetTrack(nt); TrkTrack *track = ptrack->GetTrkTrack(); + // printf("qua \n"); Int_t npoint = 100; Float_t zin[100]; Double_t xout[100]; @@ -5629,17 +5761,17 @@ if ( !ifail ){ for ( Int_t e = 0; e < npoint ; e++) { tx[e] = ((float)tr->x[e]/100.)*var.sfx + var.xxvc; - ty[e] = ((float)tr->y[e]/100.)*var.sfx + var.xyvc; + ty[e] = (-(float)tr->y[e]/100.)*var.sfx + var.xyvc; if ( e < 50 ) { - ptx1[e] = ((float)tr->y[e]/100.)*var.sfx + var.xcat; + ptx1[e] = (-(float)tr->y[e]/100.)*var.sfx + var.xcat; pty1[e] = ((float)tr->x[e]/100.)*var.sfy + var.ycat; } else { - ptx2[e-50] = ((float)tr->y[e]/100.)*var.sfx + var.xcat; + ptx2[e-50] = (-(float)tr->y[e]/100.)*var.sfx + var.xcat; pty2[e-50] = ((float)tr->x[e]/100.)*var.sfy + var.ycat; }; if ( e > 84 ) { tx1[e-85] = ((float)tr->x[e]/100.)*var.nds4 + var.xxvc; - ty1[e-85] = ((float)tr->y[e]/100.)*var.nds4 + var.xyvc; + ty1[e-85] = (-(float)tr->y[e]/100.)*var.nds4 + var.xyvc; tzx1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yxvc; tzy1[e-85] = (0.112)*var.sfy+((float)zin[e]/100.)*var.sfy + var.yyvc; }; @@ -5783,8 +5915,8 @@ Int_t se = 5; if ( !l && m%2 == 0 ) se = 3; if ( !l && m%2 != 0 ) se = 2; - if ( l && m%2 == 0 ) se = 1; - if ( l && m%2 != 0 ) se = 0; + if ( l && m%2 != 0 ) se = 1; + if ( l && m%2 == 0 ) se = 0; // // determine what kind of event we are going to analyze // @@ -5879,7 +6011,7 @@ Xview->Draw("box same"); }; if ( l == 1 ) { - Yview->Fill(n,21-m,1.); + Yview->Fill(95-n,21-m,1.); pd2->cd(); Yview->Draw("box same"); }; @@ -5991,8 +6123,8 @@ Int_t se = 5; if (l == 0 && m%2 == 0) se = 3; if (l == 0 && m%2 != 0) se = 2; - if (l == 1 && m%2 == 0) se = 1; - if (l == 1 && m%2 != 0) se = 0; + if (l == 1 && m%2 != 0) se = 1; + if (l == 1 && m%2 == 0) se = 0; // // determine what kind of event we are going to analyze // @@ -6108,7 +6240,7 @@ Xview->Draw("box same"); }; if ( l == 1 ) { - Yview->Fill(n,21-m,1.); + Yview->Fill(96-n,21-m,1.); pd2->cd(); Yview->Draw("box same"); }; @@ -6227,7 +6359,7 @@ gDirectory->Delete(yvev.str().c_str()); TH2F *Yview = new TH2F(yvev.str().c_str(),"",96,-0.5,95.5,22,-0.5,21.5); Yview->SetFillColor(colo); - Yview->Fill(n,21-m,1.); + Yview->Fill(96-n,21-m,1.); pd2->cd(); Yview->Draw("box same"); };