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

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

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

revision 1.1 by mocchiut, Fri Jul 14 14:18:06 2006 UTC revision 1.7 by mocchiut, Fri Mar 30 11:16:44 2007 UTC
# Line 141  void ShowEvent(TString filename="help", Line 141  void ShowEvent(TString filename="help",
141    //    //
142    PAMevcontrol *pamgui = 0;    PAMevcontrol *pamgui = 0;
143    //    //
144    if ( !popup ) {    pamgui = new PAMevcontrol(gClient->GetRoot(),400,800,pamela->var,pamela->level,*figure);
145      pamgui = new PAMevcontrol(gClient->GetRoot(),400,800,pamela->var,pamela->level,*figure);    popup = true;
146      popup = true;    pamela->SetGUIPtr(*pamgui);
147      pamela->SetGUIPtr(*pamgui);    if ( outDir == "" ) outDir = startingdir;    
148    };    //
149      TTree *otr0 = 0;
150      TTree *otr1 = 0;
151      TTree *otr2 = 0;
152      TTree *otr3 = 0;
153      TTree *otr4 = 0;
154      TTree *otr5 = 0;
155      TTree *otr6 = 0;
156      TTree *otr7 = 0;
157      TTree *otr8 = 0;
158      //
159      pamela->var.fl0 = false;
160      Int_t i = 0;
161      Int_t isOK = 0;
162    //    //
163   restart:   restart:
164    //    //
# Line 157  void ShowEvent(TString filename="help", Line 170  void ShowEvent(TString filename="help",
170    pamela->var.jumpen = false;        pamela->var.jumpen = false;    
171    pamela->var.goon = false;    pamela->var.goon = false;
172    pamela->var.refresh = false;    pamela->var.refresh = false;
   pamela->var.fl0 = false;  
173    pamela->var.alrforc = false;    pamela->var.alrforc = false;
174    //    //
175    // check if we have an input filename    // check if we have an input filename
# Line 194  void ShowEvent(TString filename="help", Line 206  void ShowEvent(TString filename="help",
206    gStyle->SetNdivisions(1,"X");    gStyle->SetNdivisions(1,"X");
207    gStyle->SetNdivisions(1,"Y");    gStyle->SetNdivisions(1,"Y");
208    //    //
209    Int_t i = 0;    if ( i < 0 ){
210    Int_t isOK = 0;      i = -i;
211      } else {
212        i = 0;
213      };
214      isOK = 0;
215    //    //
216    // from here to refresh    // from here to refresh
217    //    //
218   refresh:   refresh:
219    //    //
220    // set selection file variables    // reset pointers
221    //    //
222    pamela->var.selex = true;    TFile *headerFile = 0;
223    selfile = pamela->var.thefilter.Data();    TChain *otr = 0;
224      TTree *L0 = 0;
225    //    //
226    if ( outDir == "" ) outDir = startingdir;        //  gROOT->Reset();
227    //    //
228    if ( pamela->var.fl0 == true ) {    // set selection file variables
229      FORCELEV = 0;    //
230    } else {    if ( pamela->var.refresh ){
231      if ( pamela->var.refresh ) FORCELEV = -1;      if ( pamela->var.selex ){
232          //      pamela->var.selex = true;                               //<<<<<<<<<<<<<<<<<<<<<<<<<<?????????????????????
233          selfile = pamela->var.thefilter.Data();
234        };
235    };    };
236    //    //
237      //
238      //  if ( pamela->var.fl0 == true ) {
239      //    FORCELEV = 0;
240      //  } else {
241      //    if ( pamela->var.refresh ) FORCELEV = -1;           //<<<<<<<<<<<<<<<<<<<<<<<<<<?????????????????????
242      //  };
243      //
244    // check the detectors to be shown    // check the detectors to be shown
245    //    //
246    if ( !pamela->var.refresh ) pamela->checkctrlword();    //  if ( !pamela->var.refresh ) pamela->checkctrlword();
247      //pamela->checkctrlword();
248    //    //
249    // open a dialog if the program is launched without input filename    // open a dialog if the program is launched without input filename
250    //    //
# Line 253  void ShowEvent(TString filename="help", Line 281  void ShowEvent(TString filename="help",
281    // LOAD SELECTION FILE    // LOAD SELECTION FILE
282    //        //    
283    if ( selfile == ""  ){    if ( selfile == ""  ){
284      if ( !pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");      //if ( !pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");
285        if ( pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");
286      pamela->var.selex = false;      pamela->var.selex = false;
287    } else {    } else {
288      //      //
# Line 277  void ShowEvent(TString filename="help", Line 306  void ShowEvent(TString filename="help",
306      //      //
307      Int_t chkload = gROOT->LoadMacro(selfile);      Int_t chkload = gROOT->LoadMacro(selfile);
308      //      //
309        pamela->var.selex = false;
310        //
311      if ( chkload ){      if ( chkload ){
312        //        //
313        // not able to open the selection file        // not able to open the selection file
# Line 290  void ShowEvent(TString filename="help", Line 321  void ShowEvent(TString filename="help",
321        pamela->var.selex = false;        pamela->var.selex = false;
322        printf("\n WARNING! no selection file loaded! \n\n");        printf("\n WARNING! no selection file loaded! \n\n");
323        pamgui->DIALOG(1," No selection file loaded! ");        pamgui->DIALOG(1," No selection file loaded! ");
324          selfile = "";
325        //        //
326        // clear field in the GUI        // clear field in the GUI
327        //        //
# Line 309  void ShowEvent(TString filename="help", Line 341  void ShowEvent(TString filename="help",
341    //  LOAD FILES        //  LOAD FILES    
342    //    //
343    //    //
344    TFile *headerFile = 0;  //   if ( headerFile ) headerFile->Close();
345    TTree *otr = 0;  //   if ( otr ) otr->Delete();
346    //   if ( L0 ) L0->Delete();
347    
348    //    //
349    // check if user has given as input a correct path    // check if user has given as input a correct path
350    //    //
351    ifstream myfile;    ifstream myfile;
352    myfile.open(filename.Data());    myfile.open(filename.Data());
353    if ( !myfile ){    if ( !myfile ){
354      printf("ERROR: no such file, exiting...\n");      if ( filename != "" ){
355      stringstream hfile;        printf("ERROR: no such file, exiting...\n");
356      hfile.str("");        stringstream hfile;
357      hfile << filename.Data();        hfile.str("");
358      hfile << " : no such file! ";        hfile << filename.Data();
359      pamgui->DIALOG(2,hfile.str().c_str());        hfile << " : no such file! ";
360          pamgui->DIALOG(2,hfile.str().c_str());
361        };
362      pamela->var.waitforever = true;      pamela->var.waitforever = true;
363      goto refresh;      goto refresh;
364    };    };
# Line 331  void ShowEvent(TString filename="help", Line 367  void ShowEvent(TString filename="help",
367    // ok, open file and determine if it is a YODA or DARTHVADER file    // ok, open file and determine if it is a YODA or DARTHVADER file
368    //    //
369    headerFile=new TFile(filename.Data());    headerFile=new TFile(filename.Data());
370    if ( FORCELEV == 0 ){     if ( FORCELEV == 0 ){
371      pamela->level.file = 0;      pamela->level.file = 0;
372      otr = (TTree*)headerFile->Get("Physics");      L0 = (TTree*)headerFile->Get("Physics");
373      if ( !otr ){      if ( !L0 ){
374        printf("ERROR: no Physics tree...\n");        printf("ERROR: no Physics tree...\n");
375        pamgui->DIALOG(2,"No Physics tree in this file");        pamgui->DIALOG(2,"No Physics tree in this file");
376        pamela->var.waitforever = true;        pamela->var.waitforever = true;
# Line 342  void ShowEvent(TString filename="help", Line 378  void ShowEvent(TString filename="help",
378      }      }
379    } else {    } else {
380      pamela->level.file = 2;      pamela->level.file = 2;
381      otr = (TTree*)headerFile->Get("Trigger");      otr0 = (TTree*)headerFile->Get("Trigger");
382      if ( !otr ){      otr1 = (TTree*)headerFile->Get("Calorimeter");
383        otr = (TTree*)headerFile->Get("Physics");            otr2 = (TTree*)headerFile->Get("Tracker");
384        otr3 = (TTree*)headerFile->Get("NeutronD");
385        otr4 = (TTree*)headerFile->Get("OrbitalInfo");
386        otr5 = (TTree*)headerFile->Get("S4");
387        otr6 = (TTree*)headerFile->Get("ToF");
388        otr7 = (TTree*)headerFile->Get("Run");
389        otr8 = (TTree*)headerFile->Get("Anticounter");
390        if ( !otr0 && !otr1 && !otr2 && !otr3 && !otr4 && !otr5 && !otr6 && !otr7 && !otr8 ){
391          L0 = (TTree*)headerFile->Get("Physics");      
392        pamela->level.file = -1;        pamela->level.file = -1;
393        } else {
394          stringstream dddec;
395          dddec.str("");
396          dddec << " +ALL +RUN +CAL1 -TRKh -TRK1 ";
397          if ( !otr0 ){
398            dddec << " -TRG ";
399            pamela->var.TRG = 0;
400            otr0 = otr1;
401          };
402          if ( !otr1 ){
403            dddec << " -CAL ";
404            pamela->var.CALO = 0;
405            if ( !otr0 ) otr0 = otr2;
406          };
407          if ( !otr2 ){
408            dddec << " -TRK2 -TRK ";
409            pamela->var.TRK = 0;
410            if ( !otr0 ) otr0 = otr3;
411          };
412          if ( !otr3 ){
413            dddec << " -ND ";
414            pamela->var.ND = 0;
415            if ( !otr0 ) otr0 = otr4;
416          };
417          if ( !otr4 ){
418            dddec << " -ORB ";
419            pamela->var.ORB = 0;
420            if ( !otr0 ) otr0 = otr5;
421          };
422          if ( !otr5 ){
423            dddec << " -S4 ";
424            pamela->var.S4 = 0;
425            if ( !otr0 ) otr0 = otr6;
426          };
427          if ( !otr6 ){
428            dddec << " -TOF ";
429            pamela->var.TOF = 0;
430            if ( !otr0 ) otr0 = otr8;
431          };
432          if ( !otr7 ){
433            dddec << " -RUN ";
434            pamela->var.RUN = 0;
435          };
436          if ( !otr8 ){
437            dddec << " -AC ";
438            pamela->var.AC = 0;
439          };
440          pamela->SetDDEC(dddec.str().c_str());
441      };      };
442      if ( !otr ){      if ( !otr0 && !otr1 && !otr2 && !otr3 && !otr4 && !otr5 && !otr6 && !otr7 && !otr8 && !L0 ){
443        pamela->level.file = -1;        pamela->level.file = -1;
444        printf("ERROR: nor Physics nor Run tree...\n");        printf("ERROR: nor Physics nor Run tree...\n");
445        pamgui->DIALOG(2,"Nor Physics nor Run tree in this file");        pamgui->DIALOG(2,"Nor Physics nor Run tree in this file");
# Line 368  void ShowEvent(TString filename="help", Line 460  void ShowEvent(TString filename="help",
460    //    //
461    // Load the file    // Load the file
462    //    //
463    pamela->Load(*otr,*headerFile);    if ( otr0 || L0 ){
464        otr = pamela->Load(*headerFile);
465        if ( !otr ){
466          pamela->level.file = -1;
467          printf("ERROR: problems opening file...\n");
468          pamgui->DIALOG(2,"Problems opening file");
469          pamela->var.waitforever = true;
470          goto refresh;
471        };
472      } else {
473        pamela->level.file = -1;
474        printf("ERROR: problems with TTree while opening file...\n");
475        pamgui->DIALOG(2,"Problems opening file");
476        pamela->var.waitforever = true;
477        goto refresh;
478      };
479    //    //
480    printf("\n");    printf("\n");
481    //    //
482    // get the number of entries    // get the number of entries
483    //    //
484      //  otr = pamela->GetChain();
485      if ( !otr ) printf(" AGH! \n");
486      //
487    Long64_t nevents = otr->GetEntries();    Long64_t nevents = otr->GetEntries();
488    printf(" The file contains %i physics events \n",(int)nevents);    printf(" The file contains %i physics events \n",(int)nevents);
489    //    //
# Line 403  void ShowEvent(TString filename="help", Line 513  void ShowEvent(TString filename="help",
513    if ( !pamela->var.refresh ) i = pamela->minevent;    if ( !pamela->var.refresh ) i = pamela->minevent;
514    pamela->var.refresh = false;    pamela->var.refresh = false;
515    //    //
516      pamgui->RefreshButtons();
517      //
518    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
519    //  MAIN LOOP STARTS HERE:    //  MAIN LOOP STARTS HERE:
520    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# Line 489  void ShowEvent(TString filename="help", Line 601  void ShowEvent(TString filename="help",
601        figsave << (pamela->var.i+1);        figsave << (pamela->var.i+1);
602        figsave << bw;        figsave << bw;
603        pamela->var.svas=figsave.str().c_str();        pamela->var.svas=figsave.str().c_str();
604    
605          //      printf(" qua %s \n",figsave.str().c_str());
606        //        //
607        // upgrade the figure filename in the GUI        // upgrade the figure filename in the GUI
608        //        //
# Line 509  void ShowEvent(TString filename="help", Line 623  void ShowEvent(TString filename="help",
623        //        //
624        pamela->var.goon = false;        pamela->var.goon = false;
625        if ( pamela->var.refresh || pamela->var.restart ){        if ( pamela->var.refresh || pamela->var.restart ){
626          headerFile->Close();          if ( pamela->GetL2() ) pamela->GetL2()->Reset();
627            if ( pamela->level.file != 2 ) pamela->GetChain()->Delete();
628            otr = NULL;
629            if ( headerFile ) headerFile->Close("R");
630          if ( pamela->var.refresh ) goto refresh;          if ( pamela->var.refresh ) goto refresh;
631          if ( pamela->var.restart ){          if ( pamela->var.restart ){
632            filename = pamela->var.thefilename.Data();            filename = pamela->var.thefilename.Data();

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

  ViewVC Help
Powered by ViewVC 1.1.23