Ignore:
Timestamp:
02/15/09 13:15:29 (16 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mjobs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mjobs/MJSpectrum.cc

    r9261 r9335  
    9999    // (i.e. removed via RecursiveRemove if closed)
    100100    gROOT->GetListOfCleanups()->Add(this);
     101    SetBit(kMustCleanup);
    101102}
    102103
     
    244245    }
    245246
     247    //arr.EnableTH1Workaround();
     248
    246249    TH1D *vstime = (TH1D*)arr.FindObjectInCanvas("Theta",  "TH1D", "OnTime");
    247250    TH1D *size   = (TH1D*)arr.FindObjectInCanvas("Excess", "TH1D", "Hist");
     
    404407        h.SetXTitle("\\Theta [\\circ]");
    405408        h.SetYTitle("E [GeV]");
    406         h.SetZTitle(Form("Counts normalized to r=%.0fm", impactmax/100));
     409        h.SetZTitle(MString::Format("Counts normalized to r=%.0fm", impactmax/100));
    407410    }
    408411    else
     
    410413        h.SetNameTitle("ThetaMC", "Event-Distribution vs Theta for MC (produced)");
    411414        h.SetXTitle("\\Theta [\\circ]");
    412         h.SetYTitle(Form("Counts normalized to r=%.0fm", impactmax/100));
     415        h.SetYTitle(MString::Format("Counts normalized to r=%.0fm", impactmax/100));
    413416    }
    414417    h.SetDirectory(0);
     
    682685}
    683686
     687TString MJSpectrum::GetHAlpha() const
     688{
     689    TString cls("MHAlpha");
     690    if (!fDisplay)
     691        return cls;
     692
     693    TCanvas *c = fDisplay->GetCanvas("Hist");
     694    if (!c)
     695        return cls;
     696
     697    TIter Next(c->GetListOfPrimitives());
     698    TObject *obj=0;
     699    while ((obj=Next()))
     700        if (obj->InheritsFrom(MHAlpha::Class()))
     701            break;
     702
     703    return obj ? TString(obj->ClassName()) : cls;
     704}
     705
    684706// --------------------------------------------------------------------------
    685707//
     
    691713Bool_t MJSpectrum::Refill(MParList &plist, TH1D &h2)/*const*/
    692714{
    693     // Try to find the class used to determine the signal!
    694     TString cls("MHAlpha");
    695     if (fDisplay)
    696     {
    697         TCanvas *c = fDisplay->GetCanvas("Hist");
    698         if (c)
    699         {
    700             TIter Next(c->GetListOfPrimitives());
    701             TObject *obj=0;
    702             while ((obj=Next()))
    703                 if (obj->InheritsFrom(MHAlpha::Class()))
    704                     break;
    705             if (obj)
    706                 cls = obj->ClassName();
    707         }
    708     }
    709 
    710715    // Now fill the histogram
    711716    *fLog << endl;
     
    737742    fCutS = cont;
    738743
     744    // Try to find the class used to determine the signal!
     745    const TString cls = GetHAlpha();
     746
    739747    // FIXME: Create HistE and HistEOff to be able to modify it from
    740748    // the resource file.
    741 
    742749    MFillH fill1(Form("HistEOff [%s]", cls.Data()), "", "FillHistEOff");
    743750    MFillH fill2(Form("HistE    [%s]", cls.Data()), "", "FillHistE");
     
    16151622    PrintSetup(fit);
    16161623
     1624
    16171625    // ------------------------- Final loop --------------------------
    16181626
     
    16221630
    16231631    MTaskList tlist2;
    1624     plist.Replace(&tlist2);
     1632    plist.AddToList(&tlist2);
    16251633
    16261634    MReadMarsFile read("Events");
     
    17601768    fillsp.SetWeight();
    17611769
     1770    // Try to find the class used to determine the signal!
    17621771    // FIXME: To be done: A task checking the lower 1% after the lower
    17631772    // energy limit!
     
    17761785    SetupWriter(&write);
    17771786
    1778     MParameterI par("DataType");
    1779     plist.AddToList(&par);
    1780     par.SetVal(2);
     1787    MParameterI *par = (MParameterI*)plist.FindCreateObj("MParameterI", "DataType");
     1788    if (!par)
     1789        return kFALSE;
     1790    par->SetVal(2);
    17811791
    17821792    tlist2.AddToList(&read);
     
    18441854    }
    18451855
    1846     gLog.Separator("Energy Estimator");
     1856    fLog->Separator("Energy Estimator");
    18471857    if (plist.FindObject("EstimateEnergy"))
    18481858        plist.FindObject("EstimateEnergy")->Print();
    18491859
    1850     gLog.Separator("Spectrum");
     1860    fLog->Separator("Spectrum");
    18511861
    18521862    // -------------------------- Spectrum ----------------------------
     
    18561866
    18571867    // Spectrum fitted (convert res[1] from TeV to GeV)
    1858     TF1 flx("flx", Form("%e*pow(x/500, %f)", res[1]/500, res[0]));
     1868    TF1 flx("flx", MString::Format("%e*pow(x/500, %f)", res[1]/500, res[0]));
    18591869
    18601870    // Number of events this spectrum would produce per s and m^2
     
    18801890
    18811891    // check if output should be written
    1882     if (fPathOut.IsNull())
    1883         return kTRUE;
    1884 
    1885     TNamed ganame("ganymed.root", fPathIn.Data());
    1886 
    1887     // Write the output
    1888     TObjArray cont;
    1889     cont.Add((TObject*)GetEnv()); // const_cast
    1890     cont.Add((TObject*)&set);     // const_cast
    1891     cont.Add(plist.FindObject("MAlphaFitter"));
    1892     cont.Add(&area0);
    1893     cont.Add(&area1);
    1894     cont.Add(&hest);
    1895     cont.Add(&ganame);
    1896 
    1897     if (fDisplay)
    1898         cont.Add(fDisplay);
    1899 
    1900     if (!WriteContainer(cont, "", GetPathOut().IsNull()?"RECREATE":"UPDATE"))
    1901     {
    1902         *fLog << err << GetDescriptor() << ": Writing result failed." << endl;
    1903         return kFALSE;
     1892    if (!fPathOut.IsNull())
     1893    {
     1894        TNamed ganame("ganymed.root", fPathIn.Data());
     1895
     1896        // Write the output
     1897        TObjArray cont;
     1898        cont.Add((TObject*)GetEnv()); // const_cast
     1899        cont.Add((TObject*)&set);    // const_cast
     1900        cont.Add(plist.FindObject("MAlphaFitter"));
     1901        cont.Add(&area0);
     1902        cont.Add(&area1);
     1903        cont.Add(&hest);
     1904        cont.Add(&ganame);
     1905
     1906        if (fDisplay)
     1907            cont.Add(fDisplay);
     1908
     1909        if (!WriteContainer(cont, "", GetPathOut().IsNull()?"RECREATE":"UPDATE"))
     1910        {
     1911            *fLog << err << GetDescriptor() << ": Writing result failed." << endl;
     1912            return kFALSE;
     1913        }
    19041914    }
    19051915
  • trunk/MagicSoft/Mars/mjobs/MJSpectrum.h

    r8985 r9335  
    5151    Bool_t   ReadOrigMCDistribution(const MDataSet &set, TH1 &h, MMcSpectrumWeight &w) const;
    5252    void     GetThetaDistribution(TH1D &temp1, TH2D &temp2) const;
     53    TString  GetHAlpha() const;
    5354    Bool_t   Refill(MParList &plist, TH1D &h) /*const*/;
    5455    Bool_t   InitWeighting(const MDataSet &set, MMcSpectrumWeight &w) const;
Note: See TracChangeset for help on using the changeset viewer.