Ignore:
Timestamp:
05/08/12 11:49:42 (13 years ago)
Author:
Jens Buss
Message:
DrawHistograms changed to DrawOverlayHistograms
File:
1 edited

Legend:

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

    r13581 r13595  
    2828#include <TString.h>
    2929#include <TObjArray.h>
     30#include <TF1.h>
    3031
    3132#include <stdio.h>
     
    468469                                maxPulseOrder,
    469470                                verbosityLevel,
     471                                false,
     472                                NULL,
    470473                                gPixelOverlayXaxisLeft,
    471474                                gPixelOverlayXaxisRight,
     
    534537                removeRegionOnFallingEdge( *pZXings, 100);
    535538                findTimeOfHalfMaxLeft(*pZXings, Vcorr, gBSLMean, 5, 10, verbosityLevel );
     539                removeRegionWithToFlatSlope(*pZXings, 0.5);
    536540                if (verbosityLevel > 2) cout << "...done" << endl;
    537541
     
    577581//                                )
    578582//                            {
    579                                 pixel[firstPixelOfSet]->DrawHistograms(
     583                                pixel[firstPixelOfSet]->DrawOverlayHistograms(
    580584                                            cgpPixelPulses,
    581585                                            pulsesCanvasFrameNrs
     
    634638            if (ProduceGraphic)
    635639            {
    636                 pixel[pixelID]->DrawHistograms(
     640                pixel[pixelID]->DrawOverlayHistograms(
    637641                            cgpPixelPulses,
    638642                            pulsesCanvasFrameNrs
     
    10331037    debugHistos[Ameas_].Draw();
    10341038
     1039    TF1 *OneEdge;
     1040//    vector<TF1*> MyEdges;
     1041    int left    = debugHistos[Ameas_].GetXaxis()->GetFirst();
     1042    int right   = debugHistos[Ameas_].GetXaxis()->GetLast();
    10351043    vector<Region>::iterator reg;
    1036     for (reg = pZXings->begin() ; reg < pZXings->end() ; reg++){
     1044    for (reg = pZXings->begin() ; reg < pZXings->end() ; reg++)
     1045    {
    10371046        if (reg->slopeOfRisingEdge < 0)
    10381047        {
    10391048            has_negative_slope = true;
    10401049            cout << "Slope is: " << reg->slopeOfRisingEdge << endl;
     1050
     1051//            xBegin = (reg->halfRisingEdgePos - reg->distanceEdgeToMax);
     1052//            yBegin = reg->interceptRisingEdge + reg->slopeOfRisingEdge * (xBegin)
     1053
     1054            OneEdge = new TF1(
     1055                "OneEdge",
     1056                "[0]*x+[1]",
     1057                left,
     1058                right
     1059                );
     1060
     1061            OneEdge->SetParameters(
     1062                        reg->slopeOfRisingEdge,
     1063                        reg->interceptRisingEdge
     1064                        );
     1065
     1066            OneEdge->SetLineColor(kRed);
     1067            OneEdge->SetLineWidth(1);
     1068//            MyEdges.push_back(OneEdge);
     1069
     1070            OneEdge->Draw("SAME");
    10411071        }
    1042 
    1043     }
    1044 
    1045     cFiltered->cd(2);
    1046     gPad->SetGrid();
    1047     debugHistos[Vcorr_].Draw();
    1048 
    1049     cFiltered->cd(3);
    1050     gPad->SetGrid();
    1051     debugHistos[Vslide_].Draw();
    1052 
     1072    }
     1073
     1074    TLine *OneLine;
    10531075    TBox *OneBox;
    1054     vector<TBox*> MyBoxes;
     1076//    vector<TBox*> MyBoxes;
    10551077    for (unsigned int i=0; i<pZXings->size(); i++){
    10561078            OneBox = new TBox(
    1057                     pZXings->at(i).maxPos -10 ,
    1058                     pZXings->at(i).maxVal -0.5,
    1059                     pZXings->at(i).maxPos +10 ,
    1060                     pZXings->at(i).maxVal +0.5);
     1079                        pZXings->at(i).maxPos -10 ,
     1080                        pZXings->at(i).maxVal -0.5,
     1081                        pZXings->at(i).maxPos +10 ,
     1082                        pZXings->at(i).maxVal +0.5);
    10611083            OneBox->SetLineColor(kBlue);
    10621084            OneBox->SetLineWidth(1);
    10631085            OneBox->SetFillStyle(0);
    10641086            OneBox->SetFillColor(kRed);
    1065             MyBoxes.push_back(OneBox);
     1087//            MyBoxes.push_back(OneBox);
    10661088            OneBox->Draw();
    1067     }
     1089
     1090            OneLine = new TLine(
     1091                        pZXings->at(i).halfRisingEdgePos,
     1092                        Ameas[pZXings->at(i).halfRisingEdgePos],
     1093                        pZXings->at(i).halfRisingEdgePos,
     1094                        pZXings->at(i).halfRisingEdgePos * pZXings->at(i).slopeOfRisingEdge + pZXings->at(i).interceptRisingEdge
     1095                        );
     1096            OneLine->SetLineColor(kBlue);
     1097            OneLine->SetLineWidth(3);
     1098//            MyBoxes.push_back(OneBox);
     1099            OneLine->Draw();
     1100    }
     1101
     1102    cFiltered->cd(2);
     1103    gPad->SetGrid();
     1104    debugHistos[Vcorr_].Draw();
     1105
     1106    cFiltered->cd(3);
     1107    gPad->SetGrid();
     1108    debugHistos[Vslide_].Draw();
     1109
    10681110
    10691111//            cFiltered->cd(3);
     
    10861128                breakout=true;
    10871129        }
     1130
     1131
     1132//        for (unsigned int i=0; i<pZXings->size(); i++)
     1133//        {
     1134//            delete MyEdges.at(i)
     1135//            delete MyBoxes.at(i);
     1136//        }
     1137        delete OneBox;
     1138        delete OneEdge;
     1139        delete OneLine;
     1140
     1141//        MyEdges.erase();
     1142//        MyBoxes.erase();
    10881143    }
    10891144
Note: See TracChangeset for help on using the changeset viewer.