569 {
570
571
572 if (gROOT->IsBatch()) {
573 fprintf(stderr, "%s: cannot run in batch mode\n", argv[0]);
574 return 1;
575 }
576
577
578
579
580 TEnv* trackPlotterSetup = new TEnv("trackplotter.conf");
581
582
583 const char*
filename = trackPlotterSetup->GetValue(
"TrackingNtupleFileName",
"TrkValidation.root");
584
585
586 const char* trackNtupleDir = trackPlotterSetup->GetValue("TrackingNtupleDirectory","Validation");
587
588 const char* trackNtupleTree = trackPlotterSetup->GetValue("TrackingNtupleTree","Tracks");
589
590
591 bool doDAFdata = false;
592 doDAFdata = trackPlotterSetup->GetValue("PlotDAFdata",0);
593
594
595 bool doRIOdata = true;
596 doRIOdata = trackPlotterSetup->GetValue("PlotPrepRawData", 1);
597
598
599
600 const char* rioNtupleDir = trackPlotterSetup->GetValue("PrepRawDataNtupleDirectory","Validation");
601
602 const char* rioNtupleTree = trackPlotterSetup->GetValue("PrepRawDataNtupleTree","TRT_RIOs");
603
604
605
606
607
608
609
610
611
612 trackPlotterSetup->Print();
613
614 TColor *color_301 = new TColor(301,0.7,0.0,0.0,"");
615 TColor *color_302 = new TColor(302,0.0,0.7,0.0,"");
616 TColor *color_303 = new TColor(303,0.0,0.0,0.7,"");
617 TColor *color_306 = new TColor(306,0.7,0.0,0.7,"");
618 TColor *color_310 = new TColor(310,0.8,0.8,0.8,"");
619 TColor *color_311 = new TColor(311,0.55,0.0,0.0,"");
620
621
622 if ( argc >= 2 ){
623
625 }else {
626
627 std::cout<<
"usage: "<<
argv[0] <<
" <filename>"<< std::endl;
628
629
630 }
631
632
633
634 std::cout<<
"Using file "<<
filename << (doRIOdata ?
" including PrepRawData" :
"") << (doDAFdata ?
" with DAF information" :
"") << std::endl;
635
636 TApplication
theApp(
"App", &argc, argv);
637 TFile *
f =
new TFile(filename);
638 if (!f) {
639 std::cout <<
"ERROR: could not find " <<
filename << std::endl;
640 return 1;
641 }
642
643 char rootFileName[100];
644 sprintf(rootFileName,"%s:/%s",filename, trackNtupleDir);
645
647
650 std::cout <<
"ERROR: could not get the tree: " <<
filename <<
":/" << trackNtupleDir <<
"/" << trackNtupleTree << std::endl;
651 return 1;
652 }
653
654
656
657
658
659
660 sprintf(rootFileName,"%s:/%s",filename, rioNtupleDir);
661
662
664
665 TTree *RIOtree = 0;
667 if (doRIOdata) {
668 RIOtree = (TTree*)
gDirectory->Get(rioNtupleTree);
669 if (!RIOtree) {
670 std::cout <<
"ERROR: could not get the tree: " <<
filename <<
":/" << rioNtupleDir <<
"/" << rioNtupleTree << std::endl;
671 return 1;
672 }
673
675 }
676
677
679
680 Viewer viewer(gClient->GetRoot(), &theNtuplePlotter);
681
683
684 delete color_301; delete color_302;
685 delete color_303; delete color_306;
686 delete color_310; delete color_311;
687 delete trackNtuple;
688 delete rioNtuple;
689 return 0;
690}
this class inherites from the automatically created TrkValidationNtupleOutputTrack to have independen...