Changeset 14962 for fact/tools


Ignore:
Timestamp:
02/27/13 12:25:30 (12 years ago)
Author:
Jens Buss
Message:
bootstapping>: bin values extracted from bincenter
Location:
fact/tools/rootmacros/PulseTemplates
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • fact/tools/rootmacros/PulseTemplates/FCalcPulseTemplate.C

    r14943 r14962  
    102102//        TString     InRootFileName          = "20120802_200mV_Stacking_G13B-2AWW8.root",
    103103        TString     InputPath               = "analysis/PulsTemplateAnalysis/20120802/",
    104         TString     OutputRootFileName      = "20120802_0mV_Extraction_G11B-2AWW8_model2.root",
     104        TString     OutputRootFileName      = "20120802_0mV_Extraction_G11B-2AWW8_model1.root",
    105105//        TString     OutputRootFileName      = "20120802_200mV_Extraction_G13B-2AWW8_model0.root",
    106106        TString     OutPutPath              = "analysis/PulsTemplateAnalysis/20120802/",
     
    113113        int     npixel                  = 1,
    114114        int     pixelSetSize            = 200,
    115         int     maxPulseOrder           = 6,
     115        int     maxPulseOrder           = 1,
    116116        // ------------{ analysis parameters }------------
    117117        float   meanGain                = 11.,
    118118        float   meanBsl                 = -2.5,
    119119        int     bootstrapIt             = 10,
    120         int     pulseModell             = 0,
     120        int     pulseModell             = 1,
    121121        float   pixelOverlayXaxisLeft   = 0,
    122122        float   pixelOverlayXaxisRight  = 400,
     
    381381        title += i;
    382382        hMedianErrors[i].SetNameTitle(title, title);
    383         hMedianErrors[i].SetBins(roi, -0.5, roi + 0.5);
     383        hMedianErrors[i].SetBins(roi, -0.5, roi - 0.5);
    384384
    385385        //hMeanErrors
     
    388388        title += i;
    389389        hMeanErrors[i].SetNameTitle(title, title);
    390         hMeanErrors[i].SetBins(roi, -0.5, roi + 0.5);
     390        hMeanErrors[i].SetBins(roi, -0.5, roi - 0.5);
    391391
    392392        //hMaxErrors
     
    395395        title += i;
    396396        hMaxErrors[i].SetNameTitle(title, title);
    397         hMaxErrors[i].SetBins(roi, -0.5, roi + 0.5);
     397        hMaxErrors[i].SetBins(roi, -0.5, roi - 0.5);
    398398    }
    399399
     
    547547                }
    548548
     549                // shifting stacking in y TEST
     550                //-------------------------------------
     551
     552                TH2* temporary = pixel[pixelID]->hEdgeOverlay[pulse_order];
     553                temporary->GetYaxis()->UnZoom();
     554                    temporary->GetYaxis()->SetLimits(
     555                    temporary->GetYaxis()->GetBinLowEdge( temporary->GetYaxis()->GetFirst() ) - 0.25,
     556                    temporary->GetYaxis()->GetBinUpEdge(  temporary->GetYaxis()->GetLast() )  - 0.25
     557                                          );
     558
     559
    549560                // Calculate Max Prop. Value of each slice
    550561                //-------------------------------------
  • fact/tools/rootmacros/PulseTemplates/Sample.C

    r14952 r14962  
    217217    for (int i=0;i<nbins;i++)
    218218    {
    219         value       = inputHisto->GetBinLowEdge(i);
     219//        value       = inputHisto->GetBinLowEdge(i);
     220        value       = inputHisto->GetBinCenter(i);
    220221        quantity    = inputHisto->GetBinContent(i);
    221222        //Loop over bin quantities
  • fact/tools/rootmacros/PulseTemplates/pulse.C

    r14946 r14962  
    245245    mModel->SetParNames("BSL", "A0", "t0", "t1", "Tau1", "Tau2", "PhE");
    246246    mModel->SetLineColor(kRed);
     247    mModel->FixParameter(0, bsl);
    247248
    248249    mFitResultPtr   = mHisto->Fit(mModel, fitOptions);
     
    340341
    341342
    342     double para[] = {bsl, 2*amplitude+gain, start, tau*0.1, tau, phe};
     343    double para[] = {bsl, 2*amplitude+gain, start, tau*0.5, tau, phe};
    343344    mModel->SetParameters(para);
    344345    mModel->SetParNames("BSL", "A0", "t0", "Tau1", "Tau2", "PhE");
    345346    mModel->SetLineColor(kBlue);
     347    mModel->FixParameter(0, bsl);
     348    mModel->FixParameter(1, 2*amplitude+gain);
    346349
    347350    // cout startvalues
  • fact/tools/rootmacros/PulseTemplates/templateextractors.C

    r14946 r14962  
    121121//----------------------------------------------------------------------------
    122122
    123 Double_t MedianOfH1 (
    124         TH1*            inputHisto
     123double MedianOfH1 ( //THE PROBLEM MUST BE HERE!!!!!!!
     124        TH1D*            inputHisto
    125125        )
    126126{
    127127   //compute the median for 1-d histogram h1
    128128   Int_t nbins = inputHisto->GetXaxis()->GetNbins();
    129    Double_t *x = new Double_t[nbins];
    130    Double_t *y = new Double_t[nbins];
     129   double *x = new double[nbins];
     130   double *y = new double[nbins];
    131131   for (Int_t i=0;i<nbins;i++) {
    132       x[i] = inputHisto->GetXaxis()->GetBinCenter(i+1);
    133       y[i] = inputHisto->GetBinContent(i+1);
     132      x[i] = inputHisto->GetXaxis()->GetBinCenter(i);
     133      y[i] = inputHisto->GetBinContent(i);
    134134   }
    135    Double_t median = TMath::Median(nbins,x,y);
     135   double median = TMath::Median(nbins,x,y);
    136136   delete [] x;
    137137   delete [] y;
     
    189189    double  Median[numIt];
    190190    double  Max[numIt];
    191     double  parameter[3];
    192     double  parameterErr[3];
     191    double  parameter[3]    = {0,0,0};
     192    double  parameterErr[3] = {0,0,0};
     193    for (int i = 0; i < numIt; i++)
     194    {
     195        Mean[i]     = 0;
     196        Median[i]   = 0;
     197        Max[i]      = 0;
     198    }
    193199
    194200//    TCanvas test_canvas;
     
    196202//    test_canvas.cd(1);
    197203//    inputHisto->Draw();
     204
    198205    for (int i = 0; i < numIt; i++)
    199206    {
    200207//        test_canvas.cd(2);
    201         TH1* tempHisto = (TH1*)inputHisto->Clone("tempHisto");
     208        TH1D* tempHisto = (TH1D*)inputHisto->Clone("tempHisto");
    202209//                    "",
    203210//                    "",
     
    207214//                    );
    208215        tempHisto->Reset();
     216        sample.SetSeed(sample.GetSeed()+1);
    209217        sample.BootstrapTH1(inputHisto, tempHisto);
    210218
    211219        Mean[i]     = tempHisto->GetMean();
    212220        Median[i]   = MedianOfH1 ( tempHisto );
    213 
    214221        Max[i]      = tempHisto->GetBinCenter( tempHisto->GetMaximumBin() );
    215222
    216         //improved determination of maximum
     223        //improved determination of modus
    217224//        TF1 gaus("fgaus", "gaus", Max[i]-10, Max[i]+10);
    218225//        tempHisto->Fit("fgaus", "WWQRN0");
     
    540547    TH1F*   hOutputMeanHisto        = NULL;
    541548    TH1F*   hOutputMedianHisto      = NULL;
    542     TH1D*    hTempHisto              = NULL;
     549    TH1D*    hTempHisto             = NULL;
    543550    double  max_prop                = 0;
    544551    double  median                  = 0;
     
    600607    int slice_max  = hInputHisto->GetXaxis()->GetLast();
    601608
     609    if (verbosityLevel > 2)
     610    {
     611        cout << "\t...looping over slice range " << slice_min
     612             << " to " << slice_max << endl;
     613    }
     614
    602615    for (Int_t slice=slice_min;slice<=slice_max;slice++)
    603616    {
    604617
    605         hTempHisto  = hInputHisto->ProjectionY("",slice,slice);
     618        hTempHisto  = hInputHisto->ProjectionY("",slice,slice,"o");
    606619
    607620        //containers for errors
    608         double slMean[3];
    609         double slError[3];
     621        double slMean[3]    ={0,0,0};
     622        double slError[3]   ={0,0,0};
    610623
    611624        //calculate Errors with bootstrapping
  • fact/tools/rootmacros/PulseTemplates/templateextractors.h

    r14761 r14962  
    5454        );
    5555
    56 Double_t MedianOfH1 (
    57         TH1*            inputHisto
     56double MedianOfH1(
     57        TH1D* inputHisto
    5858        );
    5959
Note: See TracChangeset for help on using the changeset viewer.