#include <T0Calib.h>
Inheritance diagram for T0Calib:
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] |
MdcCosGeom * | m_pGeom |
|
00004 {
00005 cout << "Calibration type: T0Calib" << endl;
00006 }
|
|
00008 { 00009 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
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 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|