Changeset 8986 for trunk/MagicSoft


Ignore:
Timestamp:
06/21/08 14:56:03 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r8985 r8986  
    1919                                                 -*-*- END OF LINE -*-*-
    2020
    21  2008/06/10 Thomas Bretz
     21 2008/06/21 Thomas Bretz
     22
     23   * callisto.cc, star.cc, ganymed.cc, sponde.cc:
     24     - set the display name to a more convinient name
     25
     26   * datacenter/macros/plotdb.C:
     27     - some improvement in setting axis titles and titles
     28       automatically from the sql column names
     29     - moved the Muon cut to a SetCondition call
     30     - renamed some functions
     31
     32   * mbase/MStatusDisplay.h:
     33     - overwrote SetTitle with a function allowing to set a title
     34       only if no title set so far
     35
     36   * mjobs/MJCalibrateSignal.cc, mjobs/MJCalibration.cc,
     37     mjobs/MJPedestal.cc:
     38     - set a proper display title and set it only if not already set
     39
     40   * mjobs/MJPedestal.cc:
     41     - changed some filter names to more convinient names
     42
     43
     44
     45 2008/06/20 Thomas Bretz
    2246
    2347   * macros/dohtml.C:
  • trunk/MagicSoft/Mars/callisto.cc

    r8904 r8986  
    360360    // From now on each 'Exit' means: Terminate the application
    361361    d->SetBit(MStatusDisplay::kExitLoopOnExit);
    362     d->SetTitle(kSequence);
     362    d->SetTitle(Form("-- Callisto: %s --", kSequence.Data()));
    363363
    364364    if (kModeC/* || kUseTest*/)
  • 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");
  • trunk/MagicSoft/Mars/ganymed.cc

    r8767 r8986  
    267267    // From now on each 'Exit' means: Terminate the application
    268268    d->SetBit(MStatusDisplay::kExitLoopOnExit);
    269     d->SetTitle(kSequences);
     269    d->SetTitle(Form("-- Ganymed: %s --", kSequences.Data()));
    270270
    271271    //
  • trunk/MagicSoft/Mars/mbase/MStatusDisplay.h

    r8962 r8986  
    172172     // Name and title handling
    173173     virtual void SetName(const char *name) { fName = name; }
    174      virtual void SetTitle(const char *title="") { fTitle = title; }
     174     virtual void SetTitle(const char *title="") { SetTitle(title, kTRUE); }
    175175     virtual const char *GetName() const { return fName.Data(); }
    176176     virtual const char *GetTitle() const { return fTitle.Data(); }
     177
     178     virtual void SetTitle(const char *title, Bool_t replace)
     179     {
     180         if (fTitle.IsNull() || replace) fTitle = title;
     181     }
    177182
    178183     // Getter / display access
  • trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc

    r8954 r8986  
    159159
    160160    if (fDisplay)
     161    {
     162        TString title = "--  Calibrate Signal: ";
     163        title += fSequence.GetSequence();
     164        title += "  --";
     165        fDisplay->SetTitle(title, kFALSE);
     166
    161167        cont.Add(fDisplay);
     168    }
    162169
    163170    const TString name(Form("signal%08d.root", fSequence.GetSequence()));
  • trunk/MagicSoft/Mars/mjobs/MJCalibration.cc

    r8957 r8986  
    317317    // Update display
    318318    //
    319     TString title = fDisplay->GetTitle();
    320     title += "--  Calibration ";
    321     title += Form("calib%08d", fSequence.GetSequence());
     319    TString title = "--  Calibration: ";
     320    title += fSequence.GetSequence();
    322321    title += "  --";
    323     fDisplay->SetTitle(title);
     322    fDisplay->SetTitle(title, kFALSE);
    324323
    325324    //
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r8948 r8986  
    202202    // Update display
    203203    //
    204     TString title = fDisplay->GetTitle();
    205     title += "--  Pedestal ";
    206     title += fSequence.GetFileName();
     204    TString title = "--  Pedestal: ";
     205    title += fSequence.GetSequence();
    207206    title += "  --";
    208     fDisplay->SetTitle(title);
     207    fDisplay->SetTitle(title, kFALSE);
    209208
    210209    //
    211210    // Get container from list
    212211    //
    213     MGeomCam           &geomcam  = *(MGeomCam*)plist.FindObject("MGeomCam");
     212    const MGeomCam &geomcam = *(MGeomCam*)plist.FindObject("MGeomCam");
    214213    //    MCalibrationPedCam &calpedcam = *(MCalibrationPedCam*)plist.FindObject("MCalibrationPedCam");
    215214
     
    276275      }
    277276    */
    278    
     277
    279278    if (fExtractionType!=kFundamental/*fExtractorResolution*/)
    280279      {
     
    326325        return;
    327326      }
    328    
     327
    329328/*
    330329    if (fIsUseHists)
     
    362361        TCanvas &c3 = fDisplay->AddTab(fExtractionType!=kFundamental/*fExtractorResolution*/ ? "PedExtrd" : "Ped");
    363362        c3.Divide(2,3);
    364        
     363
    365364        c3.cd(1);
    366365        gPad->SetBorderMode(0);
     
    390389        obj1->SetPrettyPalette();
    391390        obj1->Draw();
    392        
     391
    393392        c3.cd(5);
    394393        gPad->SetBorderMode(0);
     
    404403        FixDataCheckHist(obj2);
    405404        obj2->SetStats(1);
    406        
     405
    407406        c3.cd(2);
    408407        gPad->SetBorderMode(0);
     
    422421        //
    423422        DisplayReferenceLines(obj3,1);
    424        
     423
    425424        c3.cd(4);
    426425        gPad->SetBorderMode(0);
     
    430429        c3.cd(6);
    431430        gPad->SetBorderMode(0);
    432        
     431
    433432        if (geomcam.InheritsFrom("MGeomCamMagic"))
    434433          {
     
    512511          }
    513512      }
    514    
     513
    515514    if (fExtractionType!=kFundamental/*fExtractorResolution*/)
    516515      {
    517            
     516
    518517          TCanvas &c3 = fDisplay->AddTab(fExtractionType==kWithExtractor?"PedExtrd":"PedRndm");
    519518          c3.Divide(2,3);
     
    530529      }
    531530}
    532 
    533531
    534532void  MJPedestal::DisplayReferenceLines(MHCamera *cam, const Int_t what) const
     
    10991097    // The selection is done with the trigger bits before prescaling
    11001098    MTriggerPatternDecode decode;
    1101     MFTriggerPattern fcalib("CalibFilter");
     1099    MFTriggerPattern fcalib("SelectCosmics");
    11021100    fcalib.SetDefault(kTRUE);
    11031101    fcalib.DenyAll();
     
    11161114    tlist.AddToList(&pedsub);
    11171115
     1116    // FIXME: MUX Monte Carlos?!??
    11181117    if (fIsPulsePosCheck)
    11191118    {
     
    11351134    //------------------------------
    11361135    // Require that before the Prescaling we had only a pedestal trigger
    1137     MFTriggerPattern ftp2("PedestalFilter");
     1136    MFTriggerPattern ftp2("SelectPedestals");
    11381137    ftp2.SetDefault(kTRUE);
    11391138    ftp2.DenyAll();
    11401139    ftp2.RequirePedestal();
    11411140
     1141    // FIXME: WHAT D WE DO IN CASE OF MUX MCs????
    11421142    if (!fSequence.IsMonteCarlo() && (!fExtractor || !fExtractor->HasLoGain()))
    11431143    {
  • trunk/MagicSoft/Mars/sponde.cc

    r8882 r8986  
    231231    // From now on each 'Exit' means: Terminate the application
    232232    d->SetBit(MStatusDisplay::kExitLoopOnExit);
    233     d->SetTitle(kDataset);
     233    d->SetTitle(Form("-- Sponde: %s --", kDataset.Data()));
    234234
    235235    //
  • trunk/MagicSoft/Mars/star.cc

    r8904 r8986  
    230230    // From now on each 'Exit' means: Terminate the application
    231231    d->SetBit(MStatusDisplay::kExitLoopOnExit);
    232     d->SetTitle(kSequence);
     232    d->SetTitle(Form("-- Star: %s --", kSequence.Data()));
    233233
    234234    if (kDebugMem)
Note: See TracChangeset for help on using the changeset viewer.