Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

T0Calib Class Reference

#include <T0Calib.h>

Inheritance diagram for T0Calib:

CalibBase List of all members.

Public Member Functions

void calib (MdcCalibConst *calconst)
void init (TObjArray *hlist, MdcCosGeom *pGeom)
void mergeHist (TFile *fhist)
 T0Calib ()
 ~T0Calib ()

Private Member Functions

void renameHist ()

Private Attributes

TFolder * m_fdResiWire
TFolder * m_fdT0
TH1F * m_hleft [NWIRE]
TH1F * m_hLrResiSub
TH1F * m_hLrResiSum
TH1F * m_hright [NWIRE]
MdcCosGeomm_pGeom

Constructor & Destructor Documentation

T0Calib::T0Calib  ) 
 

00004                 {
00005      cout << "Calibration type: T0Calib" << endl;
00006 }

T0Calib::~T0Calib  ) 
 

00008                  {
00009 }


Member Function Documentation

void T0Calib::calib MdcCalibConst calconst  )  [virtual]
 

Implements CalibBase.

00061                                           {
00062      CalibBase::calib(calconst);
00063 
00064      double vdr = 0.03;
00065      for(int i=0; i<NWIRE; i++){
00066 //        Stat_t entry_l = m_hleft[i] -> GetEntries();
00067 //        Stat_t entry_r = m_hright[i] -> GetEntries();
00068           double mean_l = m_hleft[i] -> GetMean();
00069           double mean_r = m_hright[i] -> GetMean();
00070 
00071           double delt0 = 0.5 * (mean_l + mean_r) / vdr;
00072           double resiLrSum = 0.5 * (mean_l + mean_r);
00073           double resiLrSub = 0.5 * (mean_l - mean_r);
00074           m_hLrResiSum->Fill(resiLrSum);
00075           m_hLrResiSub->Fill(resiLrSub);
00076 
00077           double t0 = calconst->getT0(i);
00078           t0 += delt0;
00079           calconst->resetT0(i, t0);
00080           calconst->resetDelT0(i, delt0);
00081      }
00082      renameHist();
00083 }

void T0Calib::init TObjArray *  hlist,
MdcCosGeom pGeom
[virtual]
 

Implements CalibBase.

00011                                                      {
00012      CalibBase::init(hlist, pGeom);
00013 
00014      m_pGeom = pGeom;
00015 
00016      m_fdT0 = new TFolder("fdt0","fdt0");
00017      hlist->Add(m_fdT0);
00018 
00019      m_fdResiWire = new TFolder("resiWire", "resiWire");
00020      hlist->Add(m_fdResiWire);
00021 
00022      char hname[200];
00023      for(int i=0; i<NWIRE; i++){
00024           int lay = pGeom -> getWire(i) -> getLayerId();
00025           int cel = pGeom -> getWire(i) -> getCellId();
00026 
00027           sprintf(hname, "mResi%04d_Lay%02d_Cell%03d_L", i, lay, cel);
00028           m_hleft[i] = new TH1F(hname, "", 400, -2.0, 2.0);
00029           m_fdT0 -> Add(m_hleft[i]);
00030 
00031           sprintf(hname, "mResi%04d_Lay%02d_Cell%03d_R", i, lay, cel);
00032           m_hright[i] = new TH1F(hname, "", 400, -2.0, 2.0);
00033           m_fdT0 -> Add(m_hright[i]);
00034      }
00035      m_hLrResiSum = new TH1F("mLrResiSum", "", 200, -0.5, 0.5);
00036      m_fdResiWire->Add(m_hLrResiSum);
00037 
00038      m_hLrResiSub = new TH1F("mLrResiSub", "", 200, -0.5, 0.5);
00039      m_fdResiWire->Add(m_hLrResiSub);
00040 }

void T0Calib::mergeHist TFile *  fhist  )  [virtual]
 

Implements CalibBase.

00042                                    {
00043      CalibBase::mergeHist(fhist);
00044 
00045      char hname[200];
00046      TFolder* fd = (TFolder*)fhist->Get("fdT0");
00047      for(int i=0; i<NWIRE; i++){
00048           int lay = m_pGeom -> getWire(i) -> getLayerId();
00049           int cel = m_pGeom -> getWire(i) -> getCellId();
00050 
00051           sprintf(hname, "Resi%04d_Lay%02d_Cell%03d_L", i, lay, cel);
00052           TH1F* hl = (TH1F*)fd->FindObjectAny(hname);
00053           m_hleft[i]->Add(hl);
00054 
00055           sprintf(hname, "Resi%04d_Lay%02d_Cell%03d_R", i, lay, cel);
00056           TH1F* hr = (TH1F*)fd->FindObjectAny(hname);
00057           m_hright[i]->Add(hr);
00058      }
00059 }

void T0Calib::renameHist  )  [private]
 

Reimplemented from CalibBase.

00085                         {
00086      char hname[200];
00087      m_fdT0->SetName("fdT0");
00088      for(int i=0; i<NWIRE; i++){
00089           int lay = m_pGeom -> getWire(i) -> getLayerId();
00090           int cel = m_pGeom -> getWire(i) -> getCellId();
00091           sprintf(hname, "Resi%04d_Lay%02d_Cell%03d_L", i, lay, cel);
00092           m_hleft[i]->SetName(hname);
00093           sprintf(hname, "Resi%04d_Lay%02d_Cell%03d_R", i, lay, cel);
00094           m_hright[i]->SetName(hname);
00095      }
00096 
00097      m_fdResiWire->SetName("ResiWire");
00098      m_hLrResiSum->SetName("LrResiSum");
00099      m_hLrResiSub->SetName("LrResiSub");
00100 }


Member Data Documentation

TFolder* T0Calib::m_fdResiWire [private]
 

TFolder* T0Calib::m_fdT0 [private]
 

TH1F* T0Calib::m_hleft[NWIRE] [private]
 

TH1F* T0Calib::m_hLrResiSub [private]
 

TH1F* T0Calib::m_hLrResiSum [private]
 

TH1F* T0Calib::m_hright[NWIRE] [private]
 

MdcCosGeom* T0Calib::m_pGeom [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 18:50:14 2011 for BOSS6.5.5 by  doxygen 1.3.9.1