Ignore:
Timestamp:
06/21/08 14:56:03 (17 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/datacenter/macros/plotdb.C

    r8965 r8986  
    11/* ======================================================================== *\
    2 ! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.45 2008-06-16 14:58:26 tbretz Exp $
     2! $Name: not supported by cvs2svn $:$Id: plotdb.C,v 1.46 2008-06-21 13:53:33 tbretz Exp $
    33! --------------------------------------------------------------------------
    44!
     
    133133        // Create TGraph objects
    134134        TGraph &gt = res.GetFieldCount()>4 ? *new TGraphErrors : *new TGraph;
    135         gt.SetNameTitle(name, Form("%s vs Time", name.Data()));
     135        gt.SetNameTitle(Form("%s_time", res.GetFieldName(2)), Form("%s vs %s", res.GetFieldName(2), res.GetFieldName(0)));
    136136        gt.SetMarkerStyle(kFullDotMedium);
    137137
    138138        TGraph gz;
    139         gz.SetNameTitle(name, Form("%s vs <Zd>", name.Data()));
     139        gz.SetNameTitle(res.GetFieldName(2), Form("%s vs %s", res.GetFieldName(2), res.GetFieldName(1)));
    140140        gz.SetMarkerStyle(kFullDotMedium);
    141141
     
    257257        cerr << endl;
    258258
     259        // format axis
     260        TH1 *h = gt.GetHistogram();
     261
     262        const Double_t min = fHistMin>fHistMax ? h->GetMinimum()-resolution/2 : fHistMin;
     263        const Double_t max = fHistMin>fHistMax ? h->GetMaximum()+resolution/2 : fHistMax;
     264
     265        // Create histogram
     266        const Int_t n = resolution>0 ? TMath::Nint((max-min)/resolution) : 50;
     267
     268        TH1F hist("Hist", Form("Distribution of %s", fDescription.IsNull() ? name.Data() : fDescription.Data()), n, min, max);
     269        hist.SetDirectory(0);
     270
     271        // Fill data into histogra,
     272        for (int i=0; i<gt.GetN(); i++)
     273            hist.Fill(gt.GetY()[i]);
     274
     275        // Format histogram
     276        if (fDescription.IsNull())
     277            hist.SetXTitle(name);
     278        hist.SetYTitle("Counts");
     279
    259280        TVirtualPad *pad = gPad;
    260281
     
    269290        gPad->SetBottomMargin(0.08);
    270291
    271         // format axis
    272         TH1 *h = gt.GetHistogram();
    273 
    274292        h->SetXTitle("Time");
    275         h->SetYTitle(name);
     293        h->SetYTitle(hist.GetXaxis()->GetTitle());
    276294        h->GetXaxis()->SetTimeDisplay(1);
    277295        h->GetYaxis()->SetTitleOffset(0.8);
     
    312330            gPad->SetGridx();
    313331
    314         const Double_t min = fHistMin>fHistMax ? h->GetMinimum()-resolution/2 : fHistMin;
    315         const Double_t max = fHistMin>fHistMax ? h->GetMaximum()+resolution/2 : fHistMax;
    316 
    317         // Use this to save the pad with the time development to a file
    318         //gPad->SaveAs(Form("plotdb-%s.eps", title.Data()));
    319 
    320332        // Go back to first (upper) pad, format it and divide it again
    321333        pad->cd(1);
     
    333345        gPad->SetGridy();
    334346
    335         // Create histogram
    336         const Int_t n = resolution>0 ? TMath::Nint((max-min)/resolution) : 50;
    337 
    338         TH1F hist("Hist", Form("Distribution of %s", fDescription.IsNull() ? name.Data() : fDescription.Data()), n, min, max);
    339         hist.SetDirectory(0);
    340 
    341         // Fill data into histogra,
    342         for (int i=0; i<gt.GetN(); i++)
    343             hist.Fill(gt.GetY()[i]);
    344 
    345         // Format histogram
    346         if (fDescription.IsNull())
    347             hist.SetXTitle(name);
    348         hist.SetYTitle("Counts");
    349 
    350347        // plot histogram
    351348        hist.DrawCopy("");
     
    357354        gPad->SetGridy();
    358355
    359         // format graph
    360         TH1 *h2 = gz.GetHistogram();
    361 
    362         h2->SetXTitle("Zd");
    363         h2->SetYTitle(name);
    364 
    365356        // draw graph
    366357        gROOT->SetSelectedPad(0);
     358        gz.GetXaxis()->SetTitle(res.GetFieldName(1));
     359        gz.GetYaxis()->SetTitle(hist.GetXaxis()->GetTitle());
    367360        gz.DrawClone("AP");
    368361
     
    399392    void SetCondition(const char *cond="") { fCondition = cond; }
    400393    void SetDescription(const char *d, const char *t=0) { fDescription = d; fNameTab = t; }
     394    void SetTabName(const char *t) { fNameTab = t; }
    401395    void SetGroupBy(GroupBy_t b=kGroupByWeek) { fGroupBy=b; }
    402396    void SetPrimaryDate(const char *ts) { fPrimaryDate=ts; }
    403397    void SetPrimaryNumber(const char *ts) { fPrimaryNumber=ts; }
    404398    void SetSecondary(const char *ts) { fSecondary=ts; }
     399
     400    MStatusDisplay *GetDisplay() { return fDisplay; }
    405401
    406402    Bool_t Plot(const char *value, Float_t min=0, Float_t max=-1, Float_t resolution=0)
     
    473469
    474470        TString where(fCondition);
     471        /*
    475472        if (!fDataSet && !interval && tablev=="Star")
    476473        {
     
    479476            where += "Star.fMuonNumber>300 ";
    480477        }
    481 
     478        */
    482479        if (interval)
    483480        {
     
    496493            query += "WHERE ";
    497494            query += where;
     495            query += " ";
    498496        }
    499497
     
    504502        }
    505503        query += Form("ORDER BY %s ", valued.Data()+1);
    506 
    507504
    508505        // ------------------------------
     
    526523};
    527524
    528 void plotall(MPlot &plot)
     525void plotalldb(MPlot &plot)
    529526{
    530527    //plot.SetGroupBy(MPlot::kGroupByNight);
     
    532529    plot.SetPrimaryDate("Sequences.fRunStart");
    533530    plot.SetPrimaryNumber("Sequences.fSequenceFirst");
    534     plot.SetSecondary("(Sequences.fZenithDistanceMin+Sequences.fZenithDistanceMax)/2");
     531    plot.SetSecondary("(Sequences.fZenithDistanceMin+Sequences.fZenithDistanceMax)/2 as '<Zd>'");
    535532
    536533    //inner camera
     
    592589    //plot.Plot("Calibration.fPulsePosVar", 0, 0.03, 0.001);
    593590
     591
    594592    //from star*.root
    595593    //muon
     594    plot.SetCondition("Star.fMuonNumber>300");
    596595    plot.SetDescription("Point Spred Function;PSF [mm]");
    597596    plot.Plot("Star.fPSF",                     0,  30, 0.5);
     
    600599    plot.SetDescription("Muon Rate after Muon Cuts;R [Hz]");
    601600    plot.Plot("Star.fMuonRate",                0, 2.0, 0.05);
     601    plot.SetCondition();
     602
    602603    //quality
    603604    plot.SetDescription("Datarate [Hz]", "Rate");
     
    656657    plot.SetDescription("RMS Arrival Time outer Camera;\\sigma_{T,O} [sl]", "RmsArrTmO");
    657658    plot.Plot("Calibration.fArrTimeRmsOuter",  0, 4.5, 0.01);
    658     plot.SetDescription("Number of unsuitable pixels outer Camera;N{O}", "UnsuitO");
     659    plot.SetDescription("Number of unsuitable pixels outer Camera;N_{O}", "UnsuitO");
    659660    plot.Plot("Calibration.fUnsuitableOuter",  0, 25, 1);
    660661    //from signal*.root
     
    690691    plot.SetDisplay(d);
    691692    plot.SetRequestRange(from, to);
    692     plotall(plot);
     693    plotalldb(plot);
    693694    d->SaveAsRoot("plotdb.root");
    694695    d->SaveAsPS("plotdb.ps");
     
    722723    plot.SetDisplay(d);
    723724    plot.SetRequestRange("", "");
    724     plotall(plot);
     725    plotalldb(plot);
    725726    d->SaveAsRoot("plotdb.root");
    726727    d->SaveAsPS("plotdb.ps");
     
    754755    plot.SetDisplay(d);
    755756    plot.SetRequestPeriod(period);
    756     plotall(plot);
     757    plotalldb(plot);
    757758    d->SaveAsRoot("plotdb.root");
    758759    d->SaveAsPS("plotdb.ps");
Note: See TracChangeset for help on using the changeset viewer.