Ignore:
Timestamp:
03/19/13 09:25:33 (12 years ago)
Author:
Jens Buss
Message:
added distribution histograsms
Location:
fact/tools/rootmacros/PulseTemplates
Files:
2 edited

Legend:

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

    r14942 r15120  
    622622            if (mVerbosityLevel > 2) cout << "...done" << endl;
    623623        }
     624
     625        // Arrival Time Distributions
     626        //----------------------------------
     627        if (mVerbosityLevel > 3) cout << "\t...booking " << "hMaxPos" << endl;
     628        hMaxPos = new TH1F (
     629                    "hMaxPos",
     630                    "Distribution of arrival times according to the EdgePos",
     631                    1024,
     632                    0,
     633                    1024
     634                    );
     635//            hMaxPos->SetAxisRange(
     636//                                0,
     637//                                1024,
     638//                                "X");
     639        hMaxPos->GetXaxis()->SetTitle( " arrival time [timeslices]" );
     640        hMaxPos->GetYaxis()->SetTitle( "counts" );
     641        hMaxPos->SetStats(mStats);
     642        hList->Add( hMaxPos );
     643
     644        if (mVerbosityLevel > 3) cout << "\t...booking " << "hEdgePos" << endl;
     645        hEdgePos = new TH1F (
     646                    "hEdgePos",
     647                    "Distribution of arrival times according to the EdgePos",
     648                    1024,
     649                    0,
     650                    1024
     651                    );
     652//            hEdgePos->SetAxisRange(
     653//                                0,
     654//                                1024,
     655//                                "X");
     656        hEdgePos->GetXaxis()->SetTitle( " arrival time [timeslices]" );
     657        hEdgePos->GetYaxis()->SetTitle( "counts" );
     658        hEdgePos->SetStats(mStats);
     659        hList->Add( hEdgePos );
     660
     661        // Edge Slope Distributions
     662        //----------------------------------
     663        if (mVerbosityLevel > 3) cout << "\t...booking " << "hEdgeSlope" << endl;
     664        hEdgeSlope = new TH1F (
     665                    "hEdgeSlope",
     666                    "Distribution of slope of leading edges",
     667                    100*10,
     668                    -9,
     669                    90
     670                    );
     671//            hEdgeSlope->SetAxisRange(
     672//                                0,
     673//                                1024,
     674//                                "X");
     675        hEdgeSlope->GetXaxis()->SetTitle( " slope [a.u.]" );
     676        hEdgeSlope->GetYaxis()->SetTitle( "counts" );
     677        hEdgeSlope->SetStats(mStats);
     678        hList->Add( hEdgeSlope );
     679
     680        // Intercept Distributions
     681        //----------------------------------
     682        if (mVerbosityLevel > 3) cout << "\t...booking " << "hIntercept" << endl;
     683        hIntercept = new TH1F (
     684                    "hIntercept",
     685                    "Distribution of Intercept of leading edges",
     686                    100*10,
     687                    -9,
     688                    90
     689                    );
     690//            hEdgeSlope->SetAxisRange(
     691//                                0,
     692//                                1024,
     693//                                "X");
     694        hIntercept->GetXaxis()->SetTitle( " Intercept [a.u.]" );
     695        hIntercept->GetYaxis()->SetTitle( "counts" );
     696        hIntercept->SetStats(mStats);
     697        hList->Add( hIntercept );
     698
     699        // Edge lengt Distributions
     700        //----------------------------------
     701        if (mVerbosityLevel > 3) cout << "\t...booking " << "hEdgeLength" << endl;
     702        hEdgeLength = new TH1F (
     703                    "hIntercept",
     704                    "Distribution of hEdgeLength of leading edges",
     705                    20*10,
     706                    0,
     707                    20
     708                    );
     709//            hEdgeLength->SetAxisRange(
     710//                                0,
     711//                                1024,
     712//                                "X");
     713        hEdgeLength->GetXaxis()->SetTitle( " edge length [a.u.]" );
     714        hEdgeLength->GetYaxis()->SetTitle( "counts" );
     715        hEdgeLength->SetStats(mStats);
     716        hList->Add( hEdgeLength );
     717
     718        // Pulse length Distributions
     719        //----------------------------------
     720        if (mVerbosityLevel > 3) cout << "\t...booking " << "hPulseLength" << endl;
     721        hPulseLength = new TH1F (
     722                    "hPulseLength",
     723                    "Distribution of pulse lengthes",
     724                    1024,
     725                    0,
     726                    1024
     727                    );
     728//            hPulseLength->SetAxisRange(
     729//                                0,
     730//                                1024,
     731//                                "X");
     732        hPulseLength->GetXaxis()->SetTitle( " pulse length [samples]" );
     733        hPulseLength->GetYaxis()->SetTitle( "counts" );
     734        hPulseLength->SetStats(mStats);
     735        hList->Add( hPulseLength );
     736
     737        if (mVerbosityLevel > 3) cout << "\t...booking " << "hPulseLengthAPcutoff" << endl;
     738        hPulseLengthAPcutoff = new TH1F (
     739                    "hPulseLengthAPcutoff",
     740                    "Distribution of pulse lengthes due to afterpulse cut off",
     741                    1024,
     742                    0,
     743                    1024
     744                    );
     745//            hPulseLength->SetAxisRange(
     746//                                0,
     747//                                1024,
     748//                                "X");
     749        hPulseLengthAPcutoff->GetXaxis()->SetTitle( " pulse length [samples]" );
     750        hPulseLengthAPcutoff->GetYaxis()->SetTitle( "counts" );
     751        hPulseLengthAPcutoff->SetStats(mStats);
     752        hList->Add( hPulseLengthAPcutoff );
     753
     754        if (mVerbosityLevel > 3) cout << "\t...booking " << "hPulseLengthTLcutoff" << endl;
     755        hPulseLengthTLcutoff = new TH1F (
     756                    "hPulseLengthTLcutoff",
     757                    "Distribution of pulse lengthes due to time line cut off",
     758                    1024,
     759                    0,
     760                    1024
     761                    );
     762//            hPulseLengthTLcutoff->SetAxisRange(
     763//                                0,
     764//                                1024,
     765//                                "X");
     766        hPulseLengthTLcutoff->GetXaxis()->SetTitle( " pulse length [samples]" );
     767        hPulseLengthTLcutoff->GetYaxis()->SetTitle( "counts" );
     768        hPulseLengthTLcutoff->SetStats(mStats);
     769        hList->Add( hPulseLengthTLcutoff );
     770
     771        // Amplitude Distributions
     772        //----------------------------------
     773
     774        if (mVerbosityLevel > 3) cout << "\t...booking " << "hMaxAmpl" << endl;
     775        hMaxAmpl = new TH1F (
     776                    "hMaxAmpl",
     777                    "Distribution of MaxAmpl of leading edges",
     778                    20*10,
     779                    0,
     780                    20
     781                    );
     782//            hMaxAmpl->SetAxisRange(
     783//                                0,
     784//                                1024,
     785//                                "X");
     786        hMaxAmpl->GetXaxis()->SetTitle( " Amplitude [a.u.]" );
     787        hMaxAmpl->GetYaxis()->SetTitle( "counts" );
     788        hMaxAmpl->SetStats(mStats);
     789        hList->Add( hEdgeLength );
     790
     791        // Discarted Pulses Distributions
     792        //----------------------------------
     793        if (mVerbosityLevel > 3) cout << "\t...booking " << "hDiscartedPulses" << endl;
     794        hDiscartedPulses=new TH2F(
     795                    "hDiscartedPulses",
     796                    "DiscartedPulses vs. preperation step",
     797                    15 ,
     798                    0,
     799                    15 ,
     800                    1000000,
     801                    0,
     802                    1000000
     803                    );
     804
     805//            hMaxOverlay[order]->SetAxisRange(
     806//                        mBSLMean - 5,
     807//                        (mGainMean*(order+1)) + 10,
     808//                        "Y");
     809        hDiscartedPulses->GetXaxis()->SetTitle( "step [a.u.]" );
     810        hDiscartedPulses->GetYaxis()->SetTitle( "# discartep pulses [a.u.]" );
     811        //hDiscartedPulses->SetBit(TH2F::kCanRebin);
     812        hDiscartedPulses->SetStats(mStats);
     813        hList->Add( hDiscartedPulses );
     814
     815        // Afterpulse Distributions
     816        //----------------------------------
     817        if (mVerbosityLevel > 3) cout << "\t...booking " << hAfterPulses << endl;
     818        hAfterPulses=new TH2F(
     819                    "hAfterPulses",
     820                    "amplitude distribution of pulses after trigger pulse",
     821                    1024 ,
     822                    0,
     823                    1024 ,
     824                    10*70,
     825                    -9,
     826                    60
     827                    );
     828
     829//            hMaxOverlay[order]->SetAxisRange(
     830//                        mBSLMean - 5,
     831//                        (mGainMean*(order+1)) + 10,
     832//                        "Y");
     833        hAfterPulses->GetXaxis()->SetTitle( "delay [sample/ 0.5 ns]" );
     834        hAfterPulses->GetYaxis()->SetTitle( "amplitude [mV]" );
     835        //hDiscartedPulses->SetBit(TH2F::kCanRebin);
     836        hAfterPulses->SetStats(mStats);
     837        hList->Add( hAfterPulses );
     838
    624839    }
    625840}
     
    9151130    }
    9161131
     1132    delete hMaxPos;
     1133    delete hEdgePos;
     1134    delete hEdgeSlope;
     1135    delete hIntercept;
     1136    delete hEdgeLength;
     1137    delete hPulseLength;
     1138    delete hPulseLengthAPcutoff;
     1139    delete hPulseLengthTLcutoff;
     1140    delete hMaxAmpl;
     1141    delete hDiscartedPulses;
     1142    delete hAfterPulses;
     1143
    9171144    for (int order = 0;
    9181145         order < mMaxPulseOrder;
  • fact/tools/rootmacros/PulseTemplates/pixel.h

    r14945 r15120  
    210210    TH1I**          hPosOfMax;
    211211    TH1F**          hChi2EdgetoMax;
     212    TH1F*           hMaxPos;
     213    TH1F*           hEdgePos;
     214    TH1F*           hEdgeSlope;
     215    TH1F*           hIntercept;
     216    TH1F*           hEdgeLength;
     217    TH1F*           hPulseLength;
     218    TH1F*           hPulseLengthAPcutoff;
     219    TH1F*           hPulseLengthTLcutoff;
     220    TH1F*           hMaxAmpl;
     221    TH2F*           hDiscartedPulses;
     222    TH2F*           hAfterPulses;
    212223
    213224    //Max Overlay Template Histos
Note: See TracChangeset for help on using the changeset viewer.