Ignore:
Timestamp:
06/28/07 21:30:25 (17 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

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

    r8590 r8618  
    8989MJCut::MJCut(const char *name, const char *title)
    9090    : fStoreSummary(kFALSE), fStoreResult(kTRUE), fWriteOnly(kFALSE),
    91     fFullDisplay(kTRUE),
    92     fRndmSrcPos(kFALSE), fNameHist("MHThetaSq"),
     91    fFullDisplay(kTRUE), fRndmSrcPos(kFALSE), fNumOffSourcePos(3),
     92    fNameHist("MHThetaSq"),
    9393    fCalcHadronness(0), fCalcDisp(0), fEstimateEnergy(0)
    9494{
     
    347347    EnableFullDisplay(GetEnv("FullDisplay", fFullDisplay));
    348348    EnableRandomSrcPos(GetEnv("RandomSourcePosition", fRndmSrcPos));
     349
     350    fNumOffSourcePos = GetEnv("NumOffSourcePositions", (Int_t)fNumOffSourcePos);
    349351    //EnableSubstraction(GetEnv("HistogramSubstraction", fSubstraction));
    350352
     
    626628    // --------------------------------------------------------------------------------
    627629
     630    MParameterD scale;
     631    scale.SetVal(1./fNumOffSourcePos);
     632
    628633    // Setup fitter and histograms
    629634    MAlphaFitter fit;
    630635    plist.AddToList(&fit);
    631636    if (set.IsWobbleMode())
     637    {
    632638        fit.SetScaleMode(MAlphaFitter::kNone);
     639        fit.SetScaleUser(1./fNumOffSourcePos);
     640    }
    633641
    634642    MHAlpha *halphaoff = CreateNewHist(plist, "Off");
     
    638646
    639647    // FIXME: If fPathIn read cuts and energy estimator from file!
     648    MContinue contq("", "CutQ");
    640649    MContinue cont0("", "Cut0");
    641650    MContinue cont1("", "Cut1");
    642651    MContinue cont2("", "Cut2");
    643652    MContinue cont3("", "Cut3");
     653    contq.SetAllowEmpty();
    644654    cont0.SetAllowEmpty();
    645655    cont1.SetAllowEmpty();
     
    691701    setrunnum.SetNameParameter("RunNumber");
    692702
    693     //    MFillH fill0a("OnPos [MHSrcPosCam]", "MSrcPosCam", "FillSrcPosCam");
    694703    MFillH fill1a("MHHillasOffPre  [MHHillas]",      "MHillas",      "FillHillasPre");
    695704    MFillH fill2a("MHHillasOffPost [MHHillas]",      "MHillas",      "FillHillasPost");
     
    715724    print2.EnableSkip();
    716725
     726    MTaskList tlist2;
     727    if (set.IsWobbleMode())
     728    {
     729        tlist2.SetNumPasses(fNumOffSourcePos);
     730        fill2a.SetWeight(&scale);
     731        fill3a.SetWeight(&scale);
     732        fill4a.SetWeight(&scale);
     733        fill5a.SetWeight(&scale);
     734        fill6a.SetWeight(&scale);
     735        fill7a.SetWeight(&scale);
     736    }
     737
    717738    // How to get source position from off- and on-data?
    718739    MSrcPosCalc scalc;
    719740    scalc.SetMode(set.IsWobbleMode()?MSrcPosCalc::kWobble:MSrcPosCalc::kOffData); /********************/
     741    scalc.SetCallback(&tlist2);
    720742
    721743    MSrcPosCorrect scor;
     
    730752    MSrcPosRndm srcrndm;
    731753
    732     MTaskList tlist2;
    733754    tlist2.AddToList(&scalc);
    734755    tlist2.AddToList(&scor);
    735756    tlist2.AddToList(&srcrndm);
    736     //if (fRndmSrcPos && !set.IsWobbleMode())
    737     //   tlist2.AddToList(&fill0a);
    738757    tlist2.AddToList(&hcalc);
    739758    if (set.IsWobbleMode())
    740759        tlist2.AddToList(&hcalc2);
    741760    //tlist2.AddToList(&taskenv1);
    742     tlist2.AddToList(&cont0);
     761    tlist2.AddToList(&cont0); 
    743762    tlist2.AddToList(&taskenv2);
    744763    tlist2.AddToList(&taskenv3);
     
    747766    if (write0)
    748767        tlist2.AddToList(write0);
    749     if (!fWriteOnly)
    750         tlist2.AddToList(&fill1a);
    751768    tlist2.AddToList(&cont1);
    752769    if (!fWriteOnly && (!set.IsWobbleMode() || !fNameHistFS.IsNull()))
     
    786803        tlist.AddToList(&print2, "EffectiveOnTime");
    787804    tlist.AddToList(&devcalc, "Starguider");
     805    tlist.AddToList(&contq,   "Events");
     806    if (!fWriteOnly)
     807        tlist.AddToList(&fill1a, "Events");
    788808    tlist.AddToList(&tlist2,  "Events");
    789809
     
    802822
    803823    TObjArray cont;
     824    cont.Add(&contq);
    804825    cont.Add(&cont0);
    805826    cont.Add(&cont1);
     
    879900    fill6b.SetDrawOption(set.HasOffSequences()||set.IsWobbleMode()?"same":"");
    880901    fill7b.SetDrawOption(set.HasOffSequences()||set.IsWobbleMode()?"same":"");
    881 
    882902    //fill9b.SetFilter(&fbin);
    883903
     
    922942    fillphi.SetDrawOption("anticut");
    923943
     944    tlist2.SetNumPasses();
     945
    924946    tlist.Replace(&readon);
    925947    if (fRndmSrcPos && !set.IsWobbleMode())
    926     {
    927 //        tlist2.RemoveFromList(&fill0a);
    928948        tlist2.RemoveFromList(&srcrndm);
    929     }
    930949
    931950    MFillH fillsrc(&hsrcpos, "MSrcPosCam", "FillSrcPosCam");
     
    936955    if (!fWriteOnly)
    937956    {
    938         tlist2.Replace(&fill1b);
     957        tlist.Replace(&fill1b);
    939958/*        if (fIsWobble)
    940959        {
Note: See TracChangeset for help on using the changeset viewer.