StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
eemcTimingScanPlot Class Reference
Inheritance diagram for eemcTimingScanPlot:

Public Member Functions

Int_t scan (TString directory)
void setAxisRange (Float_t min, Float_t max)
void normalize ()
void normalizePreshower ()
void legend ()
 Add a TLegend to the plots.
void suppressZeros ()
 Suppress zeros.
void errors ()
 Show errorbars (not yet implemented)

Detailed Description

Definition at line 26 of file eemcTimingScanPlot.h.

Member Function Documentation

void eemcTimingScanPlot::normalize ( )

Normalize timing scan plots for each channel to a common maximum value. Pre/postshower boxes are not normalized.

Definition at line 72 of file eemcTimingScanPlot.h.

void eemcTimingScanPlot::normalizePreshower ( )

Normalize pre/postshower boxes to a common maximum value.

Definition at line 73 of file eemcTimingScanPlot.h.

Int_t eemcTimingScanPlot::scan ( TString  directory)

Produce timing scan plots from timing scan files located in the specified directory

Graphs for each box

Integrals and errorbars (from TTree)

Whether we are dealing with MAPMT's or tower crates

Vectors (multidimensional) for storing the integrals before plotting them

Abort if user didn't specify a directory

Open directory

Loop over all files within the directory and select the root files (important that the directory not contain any other root files than what we are looking at).

Zero out the entries in the integral vector

Process only root files

Open the root file

Process only if open was successful

Determine if we're looking at an MAPMT or TOWER run

Access TTree to obtain channel integral, errors and timing delay

Loop over all MAPMT boxes.

Clear temporary vector

Loop over all 12 channels being plotted for this box, and add then into consecutive entries in the vector.

Delete/close the root file

Add the channelIntegralVector to the vector for all runs/timing delays

Loop over all crates

DAVE, IS THIS RIGHT ??????? <<<<<<<<<<<<<<

For each MAPMT box, we have 12 channels which we've measured integrals. Construct a new TGraph for each of them.

Fill the TGraphs

Find largest in crate and largest in crate for specified channel.

All crates or boxes

Loop over 12 selected channels

Determine the maximum channel for this crate

Loop over all points

All crates or boxes

Loop over 12 selected channels

Set the specified point for this crate and channel, rescaled to a common maximum for the specified channel

Loop over all graphs and sort them

Create .ps and .gif files for display

Towers will only be on one page, and the bottom half of it to be exact... Also only interested in the first 8 channels in each crate

Loop over all pages. Plot 12 boxes per page.

Print every set of MAPMT boxen on a different canvas

12 boxes on each page, 4 pages, 48 total boxes

Create a new multigraph with the name of the specified TGraph

Set maxima for the TGraphs

Temp histogram to establish sensible X and Y limits

Build a TLegend showing the crate/box ID and channel ID

Definition at line 42 of file eemcTimingScanPlot.cxx.

void eemcTimingScanPlot::setAxisRange ( Float_t  min,
Float_t  max 

Set the range of delays to be displayed on the x-axis

Definition at line 71 of file eemcTimingScanPlot.h.

The documentation for this class was generated from the following files: