#include <DedxCalibWireGain.h>
Inheritance diagram for DedxCalibWireGain:
Public Member Functions | |
DedxCalibWireGain (const std::string &name, ISvcLocator *pSvcLocator) | |
~DedxCalibWireGain () | |
void | initializing () |
void | BookHists () |
void | genNtuple () |
void | FillHists () |
void | AnalyseHists () |
void | WriteHists () |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Protected Member Functions | |
double | cal_dedx_bitrunc (float truncate, std::vector< double > phlist) |
double | cal_dedx (float truncate, std::vector< double > phlist) |
void | getCurvePar () |
void | set_dEdx (int landau, float dEdx, int trkalg, int runflag, int dedxhit_use, float ptrk, float theta, float pl_rp, int vflag[3], double t0) |
void | ReadRecFileList () |
Protected Attributes | |
IMdcGeomSvc * | geosvc |
IDedxCorrecSvc * | exsvc |
float | truncate |
vector< double > | Curve_Para |
vector< double > | Sigma_Para |
int | vFlag [3] |
double | m_dedx_exp [5] |
double | m_ex_sigma [5] |
double | m_pid_prob [5] |
double | m_chi_ex [5] |
vector< string > | m_recFileVector |
int | ParticleFlag |
int | m_calibflag |
int | m_phShapeFlag |
std::string | m_eventType |
std::string | m_recFileList |
std::string | m_rootfile |
std::string | m_curvefile |
Private Attributes | |
TH1F ** | m_wiregain |
Definition at line 9 of file DedxCalibWireGain.h.
DedxCalibWireGain::DedxCalibWireGain | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
DedxCalibWireGain::~DedxCalibWireGain | ( | ) | [inline] |
void DedxCalibWireGain::AnalyseHists | ( | ) | [virtual] |
Implements DedxCalib.
Definition at line 85 of file DedxCalibWireGain.cxx.
References AsymGauss(), Bes_Common::INFO, Landau(), landaun(), DedxCalib::m_phShapeFlag, m_wiregain, msgSvc(), mylan(), Vavilov(), and wireNo.
00086 { 00087 MsgStream log(msgSvc(), name()); 00088 log<<MSG::INFO<<"DedxCalibWireGain::AnalyseHists()"<<endreq; 00089 00090 TF1* func; 00091 Double_t entry=0,mean=0,rms=0; 00092 Double_t binmax=0; 00093 Double_t lp[3]={0}; 00094 gStyle->SetOptFit(1111); 00095 for(int wire=0; wire<wireNo; wire++) 00096 { 00097 entry = m_wiregain[wire]->Integral(); 00098 if(entry<10) continue; 00099 mean = m_wiregain[wire]->GetMean(); 00100 rms = m_wiregain[wire]->GetRMS(); 00101 binmax = m_wiregain[wire]->GetMaximumBin(); 00102 lp[1] = m_wiregain[wire]->GetBinCenter(binmax); 00103 lp[2] = 200; 00104 lp[0] = (m_wiregain[wire]->GetBinContent(binmax)+m_wiregain[wire]->GetBinContent(binmax-1)+m_wiregain[wire]->GetBinContent(binmax+1))/3; 00105 00106 if(m_phShapeFlag==0) 00107 { 00108 func = new TF1("mylan",mylan,10,3000,4); 00109 func->SetParameters(entry, mean, rms, -0.8); 00110 func->SetParLimits(0, 0, entry); 00111 func->SetParLimits(1, 0, mean); 00112 func->SetParLimits(2, 10, rms); 00113 func->SetParLimits(3, -3, 3); 00114 } 00115 else if(m_phShapeFlag==1) 00116 { 00117 func = new TF1("landaun",landaun,10,3000,3); 00118 func->SetParameters(lp[0], lp[1], lp[2] ); 00119 } 00120 else if(m_phShapeFlag==2) 00121 { 00122 func = new TF1("Landau",Landau,10,3000,2); 00123 func->SetParameters(0.7*mean, rms ); 00124 } 00125 else if(m_phShapeFlag==3) 00126 { 00127 func = new TF1("Vavilov",Vavilov,10,3000,2); 00128 func->SetParameters(0.05, 0.6); 00129 } 00130 else if(m_phShapeFlag==4) 00131 { 00132 func = new TF1("AsymGauss",AsymGauss,10,3000,4); 00133 func->SetParameters(entry, mean, rms, 1.0 ); 00134 } 00135 func->SetLineWidth(2.1); 00136 func->SetLineColor(2); 00137 00138 m_wiregain[wire]->Fit(func, "rq", "", mean-rms, mean+rms/2 ); 00139 } 00140 }
void DedxCalibWireGain::BookHists | ( | ) | [virtual] |
Implements DedxCalib.
Definition at line 20 of file DedxCalibWireGain.cxx.
References genRecEmupikp::i, Bes_Common::INFO, m_wiregain, MaxHistValue, MinHistValue, msgSvc(), NumHistBins, DedxCalib::ReadRecFileList(), and wireNo.
00021 { 00022 MsgStream log(msgSvc(), name()); 00023 log<<MSG::INFO<<"DedxCalibWireGain::BookHists()"<<endreq; 00024 00025 ReadRecFileList(); 00026 00027 m_wiregain = new TH1F*[wireNo]; 00028 stringstream hlabel; 00029 for(int i=0; i<wireNo; i++) 00030 { 00031 hlabel.str(""); 00032 hlabel<<"dEdx_Wire_"<<i; 00033 m_wiregain[i] = new TH1F(hlabel.str().c_str(), hlabel.str().c_str(), NumHistBins, MinHistValue, MaxHistValue); 00034 } 00035 }
double DedxCalib::cal_dedx | ( | float | truncate, | |
std::vector< double > | phlist | |||
) | [protected, inherited] |
Definition at line 127 of file DedxCalib.cxx.
References genRecEmupikp::i.
00128 { 00129 sort(phlist.begin(),phlist.end()); 00130 int smpl = (int)(phlist.size()*(truncate+0.05)); 00131 int min_cut = 0; 00132 double qSum = 0; 00133 unsigned i = 0; 00134 for(vector<double>::iterator ql= phlist.begin();ql!=phlist.end();ql++) 00135 { 00136 i++; 00137 if(i<= smpl && i>=min_cut ) qSum += (*ql); 00138 } 00139 double trunc=-99; 00140 int usedhit = smpl-min_cut+1; 00141 if(usedhit>0) trunc=qSum/usedhit; 00142 00143 return trunc; 00144 }
double DedxCalib::cal_dedx_bitrunc | ( | float | truncate, | |
std::vector< double > | phlist | |||
) | [protected, inherited] |
Definition at line 108 of file DedxCalib.cxx.
References genRecEmupikp::i.
Referenced by DedxCalibLayerGain::AnalyseHists(), DedxCalibRunByRun::FillHists(), DedxCalibMomentum::FillHists(), and DedxCalibCostheta::FillHists().
00109 { 00110 sort(phlist.begin(),phlist.end()); 00111 int smpl = (int)(phlist.size()*(truncate+0.05)); 00112 int min_cut = (int)( phlist.size()*0.05 + 0.5 ); 00113 double qSum = 0; 00114 unsigned i = 0; 00115 for(vector<double>::iterator ql= phlist.begin();ql!=phlist.end();ql++) 00116 { 00117 i++; 00118 if(i<= smpl && i>=min_cut ) qSum += (*ql); 00119 } 00120 double trunc=-99; 00121 int usedhit = smpl-min_cut+1; 00122 if(usedhit>0) trunc=qSum/usedhit; 00123 00124 return trunc; 00125 }
StatusCode DedxCalib::execute | ( | ) | [inherited] |
Definition at line 56 of file DedxCalib.cxx.
References DedxCalib::AnalyseHists(), DedxCalib::FillHists(), DedxCalib::genNtuple(), Bes_Common::INFO, msgSvc(), and DedxCalib::WriteHists().
00057 { 00058 MsgStream log(msgSvc(), name()); 00059 log << MSG::INFO << "DedxCalib execute()" << endreq; 00060 00061 genNtuple(); 00062 FillHists(); 00063 AnalyseHists(); 00064 WriteHists(); 00065 00066 return StatusCode::SUCCESS; 00067 }
void DedxCalibWireGain::FillHists | ( | ) | [virtual] |
Implements DedxCalib.
Definition at line 37 of file DedxCalibWireGain.cxx.
References DedxCalib::exsvc, genRecEmupikp::i, Iner_DriftDistCut, Bes_Common::INFO, ganga-rec::j, DedxCalib::m_recFileVector, m_wiregain, MaxADCValuecut, msgSvc(), Out_DriftDistCut, RPhi_PathMaxCut, IDedxCorrecSvc::StandardHitCorrec(), IDedxCorrecSvc::StandardTrackCorrec(), and deljobs::string.
00038 { 00039 MsgStream log(msgSvc(), name()); 00040 log<<MSG::INFO<<"DedxCalibWireGain::FillHists()"<<endreq; 00041 00042 TFile* f; 00043 TTree* n102; 00044 string runlist; 00045 00046 double dedx=0; 00047 float runNO=0,runFlag=0,pathlength=0,wid=0,layid=0,dd_in=0,driftdist=0,eangle=0,zhit=0,costheta=0,tes=0,ptrk=0; 00048 cout<<"m_recFileVector.size()= "<<m_recFileVector.size()<<endl; 00049 for(int i=0; i<m_recFileVector.size(); i++) 00050 { 00051 runlist = m_recFileVector[i]; 00052 cout<<"runlist: "<<runlist.c_str()<<endl; 00053 f = new TFile(runlist.c_str()); 00054 n102 = (TTree*)f->Get("n102"); 00055 n102-> SetBranchAddress("adc_raw",&dedx); 00056 n102-> SetBranchAddress("path_rphi",&pathlength); 00057 n102-> SetBranchAddress("wire",&wid); 00058 n102-> SetBranchAddress("layer",&layid); 00059 n102-> SetBranchAddress("doca_in",&dd_in); 00060 n102-> SetBranchAddress("driftdist",&driftdist); 00061 n102-> SetBranchAddress("eangle",&eangle); 00062 n102-> SetBranchAddress("zhit",&zhit); 00063 n102-> SetBranchAddress("runNO",&runNO); 00064 n102-> SetBranchAddress("runFlag",&runFlag); 00065 n102-> SetBranchAddress("costheta1",&costheta); 00066 n102-> SetBranchAddress("t01",&tes); 00067 n102->SetBranchAddress("ptrk1",&ptrk); 00068 00069 for(int j=0;j<n102->GetEntries();j++) 00070 { 00071 n102->GetEntry(j); 00072 if(tes>1400) continue; 00073 if (ptrk<0.1) continue; 00074 if(layid <8) 00075 {if(dedx<MinADCValuecut || dedx>MaxADCValuecut || pathlength>RPhi_PathMaxCut || pathlength<Iner_RPhi_PathMinCut || driftdist>Iner_DriftDistCut) continue;} 00076 else 00077 {if(dedx<MinADCValuecut || dedx>MaxADCValuecut || pathlength>RPhi_PathMaxCut || pathlength<Out_RPhi_PathMinCut || driftdist>Out_DriftDistCut) continue;} 00078 dedx = exsvc->StandardHitCorrec(0,runFlag,2,runNO,pathlength,wid,layid,dedx,dd_in,eangle,costheta); 00079 dedx = exsvc->StandardTrackCorrec(0, runFlag, 2, runNO, dedx, costheta, tes); 00080 m_wiregain[(int)wid]->Fill(dedx); 00081 } 00082 } 00083 }
StatusCode DedxCalib::finalize | ( | ) | [inherited] |
Definition at line 69 of file DedxCalib.cxx.
References Bes_Common::INFO, and msgSvc().
00070 { 00071 MsgStream log(msgSvc(), name()); 00072 log << MSG::INFO << "DedxCalib finalize()" << endreq; 00073 00074 return StatusCode::SUCCESS; 00075 }
void DedxCalibWireGain::genNtuple | ( | ) | [inline, virtual] |
void DedxCalib::getCurvePar | ( | ) | [protected, inherited] |
Definition at line 146 of file DedxCalib.cxx.
References DedxCalib::Curve_Para, genRecEmupikp::i, DedxCalib::m_curvefile, Sigma, DedxCalib::Sigma_Para, and DedxCalib::vFlag.
Referenced by DedxCalib::initialize().
00148 { 00149 if(m_curvefile=="no rootfile") 00150 { 00151 cout<<"no curve file! can not calculate chi!!! "<<endl; 00152 return; 00153 } 00154 00155 double Curve[100]; 00156 double Sigma[100]; 00157 int CurveSize,SigmaSize; 00158 TFile* f = new TFile(m_curvefile.c_str()); 00159 TTree *curve = (TTree*) f->Get("curve"); 00160 TTree *sigma = (TTree*) f->Get("sigma"); 00161 curve->SetBranchAddress("CurveSize",&CurveSize); 00162 curve->SetBranchAddress("curve",Curve); 00163 sigma->SetBranchAddress("SigmaSize",&SigmaSize); 00164 sigma->SetBranchAddress("sigma",Sigma); 00165 curve->GetEntry(0); 00166 sigma->GetEntry(0); 00167 00168 for(int i=0; i<CurveSize; i++) // get the dedx curve parameters 00169 { 00170 cout<<Curve[i]<<endl; 00171 if(i==0) vFlag[0] = (int) Curve[i]; //first element is dedx curve version 00172 else Curve_Para.push_back(Curve[i]); //dedx curve parameters 00173 } 00174 for(int i=0; i<SigmaSize; i++) 00175 { 00176 cout<<Sigma[i]<<endl; 00177 if(i==0) vFlag[1] = (int) Sigma[i]; //dedx sigma version: 2: psip; 3:jpsi 00178 else Sigma_Para.push_back(Sigma[i]); //dedx sigma parameters 00179 } 00180 //if(runflag>0) vFlag[2]=0; 00181 //else vFlag[2]=1; 00182 }
StatusCode DedxCalib::initialize | ( | ) | [inherited] |
Definition at line 24 of file DedxCalib.cxx.
References DedxCalib::BookHists(), calibUtil::ERROR, DedxCalib::exsvc, DedxCalib::geosvc, DedxCalib::getCurvePar(), Bes_Common::INFO, DedxCalib::initializing(), DedxCalib::m_calibflag, msgSvc(), and IDedxCorrecSvc::set_flag().
00025 { 00026 MsgStream log(msgSvc(), name()); 00027 log << MSG::INFO << "DedxCalib initialze()" << endreq; 00028 00029 StatusCode gesc = service("MdcGeomSvc", geosvc); 00030 if (gesc == StatusCode::SUCCESS) 00031 { 00032 log << MSG::INFO <<"MdcGeomSvc is running"<<endreq; 00033 } 00034 else 00035 { 00036 log << MSG::ERROR <<"MdcGeomSvc is failed"<<endreq; 00037 return StatusCode::SUCCESS; 00038 } 00039 00040 StatusCode scex = service("DedxCorrecSvc", exsvc); 00041 if (scex == StatusCode::SUCCESS) { 00042 log << MSG::INFO <<"Hi, DedxCorrectSvc is running"<<endl; 00043 } else { 00044 log << MSG::ERROR <<"DedxCorrectSvc is failed"<<endl; 00045 return StatusCode::SUCCESS; 00046 } 00047 exsvc->set_flag( m_calibflag ); 00048 00049 initializing(); 00050 BookHists(); 00051 getCurvePar(); 00052 00053 return StatusCode::SUCCESS; 00054 }
void DedxCalibWireGain::initializing | ( | ) | [inline, virtual] |
void DedxCalib::ReadRecFileList | ( | ) | [protected, inherited] |
Definition at line 89 of file DedxCalib.cxx.
References Bes_Common::INFO, DedxCalib::m_recFileList, DedxCalib::m_recFileVector, msgSvc(), and deljobs::string.
Referenced by BookHists(), DedxCalibRunByRun::BookHists(), DedxCalibMomentum::BookHists(), DedxCalibLayerGain::BookHists(), DedxCalibEAng::BookHists(), DedxCalibDocaEAng::BookHists(), and DedxCalibCostheta::BookHists().
00090 { 00091 00092 MsgStream log(msgSvc(), name()); 00093 log<<MSG::INFO<<"DedxCalib::ReadRecFileList()"<<endreq; 00094 00095 ifstream filea(m_recFileList.c_str(),ifstream::in); 00096 cout<<m_recFileList.c_str()<<endl; 00097 00098 string runlist; 00099 filea>>runlist; 00100 do 00101 { 00102 m_recFileVector.push_back(runlist); 00103 cout<<runlist.c_str()<<endl; 00104 filea>>runlist; 00105 }while(filea); 00106 }
void DedxCalib::set_dEdx | ( | int | landau, | |
float | dEdx, | |||
int | trkalg, | |||
int | runflag, | |||
int | dedxhit_use, | |||
float | ptrk, | |||
float | theta, | |||
float | pl_rp, | |||
int | vflag[3], | |||
double | t0 | |||
) | [protected, inherited] |
Definition at line 184 of file DedxCalib.cxx.
References DedxCalib::Curve_Para, dedx_pid_exp(), dedx_pid_exp_old(), DedxCalib::m_chi_ex, DedxCalib::m_dedx_exp, DedxCalib::m_ex_sigma, DedxCalib::m_pid_prob, DedxCalib::Sigma_Para, and DedxCalib::vFlag.
Referenced by DedxCalibMomentum::FillHists(), and DedxCalibCostheta::FillHists().
00185 { 00186 //landau: 1:landau distribution; 0:gaus distribution 00187 //pl_rp: 1.5, not know what 00188 //getCurvePar(runflag); 00189 if(runflag>0) vFlag[2]=0; 00190 else vFlag[2]=1; 00191 00192 //some old data with old methods 00193 if(runflag ==1 || runflag ==2 ) 00194 dedx_pid_exp_old( landau, runflag, (float)dEdx, (int)dedxhit_use, 00195 (float)ptrk, (float)theta, (float)t0,(float)pl_rp, 00196 m_dedx_exp, m_ex_sigma, m_pid_prob, m_chi_ex); 00197 //for 2009 psip data and after 00198 else 00199 dedx_pid_exp( vflag, (float)dEdx, trkalg,(int)dedxhit_use, 00200 (float)ptrk, (float)theta, (float)t0,(float)pl_rp, 00201 m_dedx_exp, m_ex_sigma, m_pid_prob, m_chi_ex, Curve_Para, Sigma_Para); 00202 }
void DedxCalibWireGain::WriteHists | ( | ) | [virtual] |
Implements DedxCalib.
Definition at line 142 of file DedxCalibWireGain.cxx.
References EvtCyclic3::c_str(), count, genRecEmupikp::i, Bes_Common::INFO, DedxCalib::m_phShapeFlag, DedxCalib::m_rootfile, m_wiregain, msgSvc(), and wireNo.
00143 { 00144 MsgStream log(msgSvc(), name()); 00145 log<<MSG::INFO<<"DedxCalibWireGain::WriteHists()"<<endreq; 00146 00147 00148 double entryNo[wireNo]={0},mean[wireNo]={0},sigma[wireNo]={0},proper[wireNo]={0},fitmean[wireNo]={0},fitmeanerr[wireNo]={0},fitsigma[wireNo]={0},wireg[wireNo]={0},wire[wireNo]={0},chisq[wireNo]={0}; 00149 for(int i=0; i<wireNo; i++) 00150 { 00151 entryNo[i] = m_wiregain[i]->Integral(); 00152 mean[i] = m_wiregain[i]->GetMean(); 00153 sigma[i] = m_wiregain[i]->GetRMS(); 00154 proper[i] = m_wiregain[i]->GetBinCenter(m_wiregain[i]->GetMaximumBin()); 00155 if(entryNo[i]<10) continue; 00156 00157 if(m_phShapeFlag==0) 00158 { 00159 fitmean[i] = m_wiregain[i]->GetFunction("mylan")->GetParameter(1); 00160 fitmeanerr[i] = m_wiregain[i]->GetFunction("mylan")->GetParError(1); 00161 fitsigma[i] = m_wiregain[i]->GetFunction("mylan")->GetParameter(2); 00162 chisq[i] = (m_wiregain[i]->GetFunction("mylan")-> GetChisquare())/(m_wiregain[i]->GetFunction("mylan")-> GetNDF()); 00163 } 00164 else if(m_phShapeFlag==1) 00165 { 00166 fitmean[i] = m_wiregain[i]->GetFunction("landaun")->GetParameter(1); 00167 fitmeanerr[i] = m_wiregain[i]->GetFunction("landaun")->GetParError(1); 00168 fitsigma[i] = m_wiregain[i]->GetFunction("landaun")->GetParameter(2); 00169 chisq[i] = (m_wiregain[i]->GetFunction("landaun")-> GetChisquare())/(m_wiregain[i]->GetFunction("landaun")-> GetNDF()); 00170 } 00171 else if(m_phShapeFlag==2) 00172 { 00173 fitmean[i] = m_wiregain[i]->GetFunction("Landau")->GetParameter(1); 00174 fitmeanerr[i] = m_wiregain[i]->GetFunction("Landau")->GetParError(1); 00175 fitsigma[i] = m_wiregain[i]->GetFunction("Landau")->GetParameter(2); 00176 chisq[i] = (m_wiregain[i]->GetFunction("Landau")-> GetChisquare())/(m_wiregain[i]->GetFunction("Landau")-> GetNDF()); 00177 } 00178 else if(m_phShapeFlag==3) 00179 { 00180 fitmean[i] = m_wiregain[i]->GetFunction("Vavilov")->GetParameter(1); 00181 fitmeanerr[i] = m_wiregain[i]->GetFunction("Vavilov")->GetParError(1); 00182 fitsigma[i] = m_wiregain[i]->GetFunction("Vavilov")->GetParameter(2); 00183 chisq[i] = (m_wiregain[i]->GetFunction("Vavilov")-> GetChisquare())/(m_wiregain[i]->GetFunction("Vavilov")-> GetNDF()); 00184 } 00185 else if(m_phShapeFlag==4) 00186 { 00187 fitmean[i] = m_wiregain[i]->GetFunction("AsymGauss")->GetParameter(1); 00188 fitmeanerr[i] = m_wiregain[i]->GetFunction("AsymGauss")->GetParError(1); 00189 fitsigma[i] = m_wiregain[i]->GetFunction("AsymGauss")->GetParameter(2); 00190 chisq[i] = (m_wiregain[i]->GetFunction("AsymGauss")-> GetChisquare())/(m_wiregain[i]->GetFunction("AsymGauss")-> GetNDF()); 00191 } 00192 //cout<<"fitmean[i]= "<<fitmean[i]<<" fitmeanerr[i]= "<<fitmeanerr[i]<<" fitsigma[i]= "<<fitsigma[i]<<endl; 00193 } 00194 00195 double Norm=0, count=0; 00196 for(int i=188; i<wireNo; i++) 00197 { 00198 if(fitmean[i]>0 && fitmeanerr[i]>0 && fitmeanerr[i]<10 && fitsigma[i]>0 && fitsigma[i]<200 && entryNo[i]>1500) 00199 { 00200 Norm += fitmean[i]; 00201 count++; 00202 } 00203 } 00204 Norm/=count; 00205 cout<<"count= "<<count<<" average value of good wire: "<<Norm<<endl; 00206 // double Norm(550); // use 550 instead of average because we will handle wireg later outside of the program 00207 00208 for(int i=0;i<wireNo;i++) 00209 { 00210 wireg[i] = fitmean[i]/Norm; 00211 wire[i] = i; 00212 } 00213 00214 00215 log<<MSG::INFO<<"begin generating root file!!! "<<endreq; 00216 TFile* f = new TFile(m_rootfile.c_str(), "recreate"); 00217 for(int i=0;i<wireNo;i++) m_wiregain[i]->Write(); 00218 00219 TTree* wiregcalib = new TTree("wiregcalib", "wiregcalib"); 00220 wiregcalib->Branch("wireg", wireg, "wireg[6796]/D"); 00221 wiregcalib->Branch("wire", wire, "wire[6796]/D"); 00222 wiregcalib->Branch("entryNo", entryNo, "entryNo[6796]/D"); 00223 wiregcalib->Branch("proper", proper, "proper[6796]/D"); 00224 wiregcalib->Branch("mean", mean, "mean[6796]/D"); 00225 wiregcalib->Branch("sigma", sigma, "sigma[6796]/D"); 00226 wiregcalib->Branch("fitmean", fitmean, "fitmean[6796]/D"); 00227 wiregcalib->Branch("fitmeanerr", fitmeanerr, "fitmeanerr[6796]/D"); 00228 wiregcalib->Branch("fitsigma", fitsigma, "fitsigma[6796]/D"); 00229 wiregcalib->Branch("chisq", chisq, "chisq[6796]/D"); 00230 wiregcalib->Fill(); 00231 wiregcalib->Write(); 00232 00233 f->Close(); 00234 00235 TCanvas c1("c1", "canvas", 500, 400); 00236 c1.Print((m_rootfile+".ps[").c_str()); 00237 for(int i=0;i<wireNo;i++) 00238 { 00239 m_wiregain[i]->Draw(); 00240 c1.Print((m_rootfile+".ps").c_str()); 00241 } 00242 c1.Print((m_rootfile+".ps]").c_str()); 00243 00244 for(int i=0;i<wireNo;i++) delete m_wiregain[i]; 00245 00246 }
vector<double> DedxCalib::Curve_Para [protected, inherited] |
Definition at line 39 of file DedxCalib.h.
Referenced by DedxCalib::getCurvePar(), and DedxCalib::set_dEdx().
IDedxCorrecSvc* DedxCalib::exsvc [protected, inherited] |
Definition at line 30 of file DedxCalib.h.
Referenced by FillHists(), DedxCalibRunByRun::FillHists(), DedxCalibMomentum::FillHists(), DedxCalibLayerGain::FillHists(), DedxCalibEAng::FillHists(), DedxCalibDocaEAng::FillHists(), DedxCalibCostheta::FillHists(), and DedxCalib::initialize().
IMdcGeomSvc* DedxCalib::geosvc [protected, inherited] |
Definition at line 29 of file DedxCalib.h.
Referenced by DedxCalibEvent::genNtuple(), and DedxCalib::initialize().
int DedxCalib::m_calibflag [protected, inherited] |
Definition at line 51 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), and DedxCalib::initialize().
double DedxCalib::m_chi_ex[5] [protected, inherited] |
Definition at line 46 of file DedxCalib.h.
Referenced by DedxCalibMomentum::FillHists(), DedxCalibCostheta::FillHists(), and DedxCalib::set_dEdx().
std::string DedxCalib::m_curvefile [protected, inherited] |
Definition at line 56 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), and DedxCalib::getCurvePar().
double DedxCalib::m_dedx_exp[5] [protected, inherited] |
std::string DedxCalib::m_eventType [protected, inherited] |
Definition at line 53 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), and DedxCalibEvent::genNtuple().
double DedxCalib::m_ex_sigma[5] [protected, inherited] |
int DedxCalib::m_phShapeFlag [protected, inherited] |
Definition at line 52 of file DedxCalib.h.
Referenced by AnalyseHists(), DedxCalibLayerGain::AnalyseHists(), DedxCalibEAng::AnalyseHists(), DedxCalibDocaEAng::AnalyseHists(), DedxCalib::DedxCalib(), WriteHists(), DedxCalibLayerGain::WriteHists(), DedxCalibEAng::WriteHists(), and DedxCalibDocaEAng::WriteHists().
double DedxCalib::m_pid_prob[5] [protected, inherited] |
std::string DedxCalib::m_recFileList [protected, inherited] |
Definition at line 54 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), and DedxCalib::ReadRecFileList().
vector<string> DedxCalib::m_recFileVector [protected, inherited] |
Definition at line 48 of file DedxCalib.h.
Referenced by DedxCalibRunByRun::BookHists(), FillHists(), DedxCalibRunByRun::FillHists(), DedxCalibMomentum::FillHists(), DedxCalibLayerGain::FillHists(), DedxCalibEAng::FillHists(), DedxCalibDocaEAng::FillHists(), DedxCalibCostheta::FillHists(), and DedxCalib::ReadRecFileList().
std::string DedxCalib::m_rootfile [protected, inherited] |
Definition at line 55 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), WriteHists(), DedxCalibRunByRun::WriteHists(), DedxCalibMomentum::WriteHists(), DedxCalibLayerGain::WriteHists(), DedxCalibEAng::WriteHists(), DedxCalibDocaEAng::WriteHists(), and DedxCalibCostheta::WriteHists().
TH1F** DedxCalibWireGain::m_wiregain [private] |
Definition at line 22 of file DedxCalibWireGain.h.
Referenced by AnalyseHists(), BookHists(), FillHists(), and WriteHists().
int DedxCalib::ParticleFlag [protected, inherited] |
Definition at line 50 of file DedxCalib.h.
Referenced by DedxCalib::DedxCalib(), DedxCalibMomentum::FillHists(), DedxCalibCostheta::FillHists(), and DedxCalibEvent::genNtuple().
vector<double> DedxCalib::Sigma_Para [protected, inherited] |
Definition at line 40 of file DedxCalib.h.
Referenced by DedxCalib::getCurvePar(), and DedxCalib::set_dEdx().
float DedxCalib::truncate [protected, inherited] |
Definition at line 33 of file DedxCalib.h.
Referenced by DedxCalibLayerGain::AnalyseHists(), DedxCalib::DedxCalib(), DedxCalibRunByRun::FillHists(), DedxCalibMomentum::FillHists(), and DedxCalibCostheta::FillHists().
int DedxCalib::vFlag[3] [protected, inherited] |
Definition at line 41 of file DedxCalib.h.
Referenced by DedxCalibMomentum::FillHists(), DedxCalibCostheta::FillHists(), DedxCalib::getCurvePar(), and DedxCalib::set_dEdx().