DedxCalibWireGain Class Reference

#include <DedxCalibWireGain.h>

Inheritance diagram for DedxCalibWireGain:

DedxCalib List of all members.

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

IMdcGeomSvcgeosvc
IDedxCorrecSvcexsvc
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< stringm_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

Detailed Description

Definition at line 9 of file DedxCalibWireGain.h.


Constructor & Destructor Documentation

DedxCalibWireGain::DedxCalibWireGain ( const std::string name,
ISvcLocator *  pSvcLocator 
)

Definition at line 16 of file DedxCalibWireGain.cxx.

00016 : DedxCalib(name, pSvcLocator){}

DedxCalibWireGain::~DedxCalibWireGain (  )  [inline]

Definition at line 13 of file DedxCalibWireGain.h.

00013 {};


Member Function Documentation

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]

Implements DedxCalib.

Definition at line 16 of file DedxCalibWireGain.h.

00016 {}

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]

Implements DedxCalib.

Definition at line 14 of file DedxCalibWireGain.h.

00014 {}

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 }


Member Data Documentation

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]

Definition at line 43 of file DedxCalib.h.

Referenced by DedxCalib::set_dEdx().

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]

Definition at line 44 of file DedxCalib.h.

Referenced by DedxCalib::set_dEdx().

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]

Definition at line 45 of file DedxCalib.h.

Referenced by DedxCalib::set_dEdx().

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().


Generated on Tue Nov 29 23:18:15 2016 for BOSS_7.0.2 by  doxygen 1.4.7