DedxCalibEvent Class Reference

#include <DedxCalibEvent.h>

Inheritance diagram for DedxCalibEvent:

DedxCalib List of all members.

Public Member Functions

 DedxCalibEvent (const std::string &name, ISvcLocator *pSvcLocator)
 ~DedxCalibEvent ()
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

NTuple::Tuple * m_nt1
NTuple::Item< float > m_ptrk
NTuple::Item< float > m_ptrk_t
NTuple::Item< float > m_costheta
NTuple::Item< float > m_sintheta
NTuple::Item< float > m_charge
NTuple::Item< float > m_runNO
NTuple::Item< float > m_runFlag
NTuple::Item< float > m_evtNO
NTuple::Item< float > m_t0
NTuple::Item< float > m_trackId
NTuple::Item< float > m_poca_x
NTuple::Item< float > m_poca_y
NTuple::Item< float > m_poca_z
NTuple::Item< float > m_recalg
NTuple::Item< float > m_nhit
NTuple::Item< float > m_nhits
NTuple::Item< float > m_usedhit
NTuple::Item< long > m_nphlisthit
NTuple::Array< double > m_dEdx_hit
NTuple::Array< double > m_pathlength_hit
NTuple::Array< double > m_wid_hit
NTuple::Array< double > m_layid_hit
NTuple::Array< double > m_dd_in_hit
NTuple::Array< double > m_eangle_hit
NTuple::Array< double > m_zhit_hit
NTuple::Item< float > m_dEdx_meas_hit
NTuple::Item< float > m_dEdx_meas
NTuple::Item< float > m_dEdx_meas_esat
NTuple::Item< float > m_dEdx_meas_norun
NTuple::Array< float > m_probpid
NTuple::Array< float > m_expectid
NTuple::Array< float > m_sigmaid
NTuple::Item< float > m_parttype
NTuple::Item< float > m_chidedxe
NTuple::Item< float > m_chidedxmu
NTuple::Item< float > m_chidedxpi
NTuple::Item< float > m_chidedxk
NTuple::Item< float > m_chidedxp
NTuple::Tuple * m_nt2
NTuple::Item< float > m_charge1
NTuple::Item< double > m_phraw
NTuple::Item< double > m_exraw
NTuple::Item< float > m_wire
NTuple::Item< float > m_localwid
NTuple::Item< float > m_runNO1
NTuple::Item< float > m_runFlag1
NTuple::Item< float > m_doca_in
NTuple::Item< float > m_doca_ex
NTuple::Item< float > m_driftdist
NTuple::Item< float > m_eangle
NTuple::Item< float > m_zhit
NTuple::Item< float > m_costheta1
NTuple::Item< float > m_pathL
NTuple::Item< float > m_layer
NTuple::Item< float > m_ptrk1
NTuple::Item< float > m_ptrk_hit
NTuple::Item< float > m_t01
NTuple::Item< float > m_tdc_raw
NTuple::Item< float > m_driftT
NTuple::Item< float > m_trackId1

Detailed Description

Definition at line 8 of file DedxCalibEvent.h.


Constructor & Destructor Documentation

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

Definition at line 27 of file DedxCalibEvent.cxx.

00027 : DedxCalib(name, pSvcLocator) {}

DedxCalibEvent::~DedxCalibEvent (  )  [inline]

Definition at line 12 of file DedxCalibEvent.h.

00012 {};


Member Function Documentation

void DedxCalibEvent::AnalyseHists (  )  [inline, virtual]

Implements DedxCalib.

Definition at line 18 of file DedxCalibEvent.h.

00018 {}

void DedxCalibEvent::BookHists (  )  [inline, virtual]

Implements DedxCalib.

Definition at line 15 of file DedxCalibEvent.h.

00015 {}

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 DedxCalibEvent::FillHists (  )  [inline, virtual]

Implements DedxCalib.

Definition at line 17 of file DedxCalibEvent.h.

00017 {}

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 DedxCalibEvent::genNtuple (  )  [virtual]

Implements DedxCalib.

Definition at line 120 of file DedxCalibEvent.cxx.

References abs, cos(), DstMdcTrack::err(), calibUtil::ERROR, Bes_Common::FATAL, DedxCalib::geosvc, RecMdcKalTrack::getFError(), DstMdcKalTrack::getFError(), RecMdcKalTrack::getFHelix(), DstMdcKalTrack::getFHelix(), DstMdcKalTrack::getZHelix(), DstMdcTrack::helix(), genRecEmupikp::i, Bes_Common::INFO, ganga-rec::j, IMdcGeomSvc::Layer(), MdcID::layer(), m_charge, m_charge1, m_chidedxe, m_chidedxk, m_chidedxmu, m_chidedxp, m_chidedxpi, m_costheta, m_costheta1, m_dd_in_hit, m_dEdx_hit, m_dEdx_meas, m_doca_ex, m_doca_in, m_driftdist, m_driftT, m_eangle, m_eangle_hit, DedxCalib::m_eventType, m_evtNO, m_expectid, m_exraw, m_layer, m_layid_hit, m_localwid, m_nhit, m_nhits, m_nphlisthit, m_nt1, m_nt2, m_parttype, m_pathL, m_pathlength_hit, m_phraw, M_PI, m_poca_x, m_poca_y, m_poca_z, m_probpid, m_ptrk, m_ptrk1, m_ptrk_hit, m_ptrk_t, m_recalg, m_runFlag, m_runFlag1, m_runNO, m_runNO1, m_sigmaid, m_sintheta, m_t0, m_t01, m_tdc_raw, m_trackId, m_trackId1, m_usedhit, m_wid_hit, m_wire, m_zhit, m_zhit_hit, msgSvc(), DedxCalib::ParticleFlag, PT0HighCut, PT0LowCut, RUN0, RUN1, RUN2, RUN3, RUN4, RUN5, RUN6, RUN7, sin(), delete_small_size::size, VR0CUT, VZ0CUT, MdcID::wire(), and MdcGeoLayer::Wirst().

00121 {
00122     MsgStream log(msgSvc(), name());
00123     log << MSG::INFO << "DedxCalibEvent::genNtuple()" << endreq;
00124 
00125     SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader");
00126     if (!eventHeader)
00127     {
00128         log << MSG::INFO << "Could not find Event Header" << endreq;
00129         return;
00130     }
00131     int eventNO = eventHeader->eventNumber();
00132     int runNO = eventHeader->runNumber();
00133     log << MSG::INFO << "now begin the event:  runNO= "<<runNO<<" eventNO= "<< eventNO<< endreq;
00134 
00135     int runFlag=0;  //data type flag
00136     if(runNO<RUN0) runFlag =0;
00137     if(runNO>=RUN1 && runNO<RUN2) runFlag =1;
00138     if(runNO>=RUN2 && runNO<RUN3) runFlag =2;
00139     if(runNO>=RUN3 && runNO<RUN4) runFlag =3;   
00140     if(runNO>=RUN4 && runNO<RUN5) runFlag =4;   //jpsi
00141     if(runNO>=RUN5 && runNO<RUN6) runFlag =5;   //psipp
00142     if(runNO>=RUN6 && runNO<RUN7) runFlag =6;   //psi4040, psip, jpsi...
00143     if(runNO>=RUN7) runFlag =7;  //psip
00144 
00145     double tes = -999.0;
00146     int esTimeflag = -1; 
00147     SmartDataPtr<RecEsTimeCol> aevtimeCol(eventSvc(),"/Event/Recon/RecEsTimeCol");
00148     if( (!aevtimeCol) || (aevtimeCol->size()==0) ){
00149         tes = -9999.0;
00150         esTimeflag = -1;
00151     }else{
00152         RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
00153         for(; iter_evt!=aevtimeCol->end(); iter_evt++){
00154             tes = (*iter_evt)->getTest();
00155             esTimeflag = (*iter_evt)->getStat();
00156         }
00157     }
00158     if(runFlag ==2) {if( tes>1000 ) return;}
00159     else if(runFlag ==3 ){if (tes>700 ) return;}
00160     else {if (tes>1400 ) return;}
00161 
00162     SmartDataPtr<RecMdcDedxCol> newexCol(eventSvc(),"/Event/Recon/RecMdcDedxCol");
00163     if (!newexCol)
00164     {
00165         log << MSG::FATAL << "Could not find RecMdcDedxCol" << endreq;
00166         return;
00167     }
00168 
00169     Vint iGood;
00170     iGood.clear();
00171     int nCharge = 0;
00172     double db=0,dz=0,pt0=0,charge0=0;
00173     for(RecMdcDedxCol::iterator it = newexCol->begin(); it != newexCol->end(); it++)
00174     {
00175         HepVector a;
00176         if((*it)->getMdcKalTrack())
00177         {
00178             RecMdcKalTrack* trk = (*it)->getMdcKalTrack();
00179             if(ParticleFlag>-1&&ParticleFlag<5)
00180             {
00181                 DstMdcKalTrack* dstTrk = trk;
00182                 a = dstTrk->getZHelix(ParticleFlag);
00183             }
00184             else
00185               a = trk->getZHelix();
00186         }
00187         else if((*it)->getMdcTrack())
00188         {
00189             RecMdcTrack* trk = (*it)->getMdcTrack();
00190             a = trk->helix();
00191         }
00192         else continue;
00193         db = a[0];
00194         dz = a[3];
00195         pt0 = fabs(1.0/a[2]);
00196         charge0 = ( a[2] > 0 )? 1 : -1;
00197 
00198         //cout<<"db: "<<db<<" dz: "<<dz<<" pt0: "<<pt0<<" charge0: "<<charge0<<endl;
00199         if(fabs(dz) >= VZ0CUT) continue;
00200         if(db >= VR0CUT) continue;
00201         if(pt0 >= PT0HighCut) continue;
00202         if(pt0 <= PT0LowCut) continue;
00203         iGood.push_back((*it)->trackId());
00204         nCharge += charge0;
00205     }
00206     //cout<<"iGood.size()= "<<iGood.size()<<" nCharge= "<<nCharge<<endl;
00207     if((m_eventType == "isBhabha")||(m_eventType == "isRadBhabha"))
00208     {
00209         if(iGood.size()!=2 || nCharge!=0 )  return;
00210     }
00211 
00212 
00213     //cout<<"begin to read RecMdcDedxCol!!!!"<<endl;
00214     double poca_x=0,poca_y=0,poca_z=0;
00215     float sintheta=0,costheta=0,ptrk=0,ptrk_t=0,charge=0,trackId=0;
00216     int Nhit=0,usedhit=0,Nhits=0,Nphlisthit=0;
00217     double dEdx_meas_hit=0, dEdx_meas=0,dEdx_meas_esat=0,dEdx_meas_norun=0;
00218     double dEdx_hit[100]={0},pathlength_hit[100]={0},wid_hit[100]={0},layid_hit[100]={0},dd_in_hit[100]={0},eangle_hit[100]={0},zhit_hit[100]={0};
00219     int trk_recalg = -1;
00220     Identifier mdcid;
00221 
00222     for(RecMdcDedxCol::iterator it = newexCol->begin(); it != newexCol->end(); it++)
00223     {
00224         //cout<<"in track iteration!!!!!!!!"<<endl;
00225         bool flag = false;
00226         for(int i = 0; i < iGood.size(); i++)
00227         {
00228             if((*it)->trackId()==iGood[i]) flag=true;
00229         }
00230         if(flag==false) continue;
00231 
00232         HepVector a;
00233         HepSymMatrix tkErrM;
00234         if((*it)->getMdcKalTrack())
00235         {
00236             //cout<<"can get MdcKalTrack!!!!!!!!!"<<endl;
00237             poca_x = (*it)->getMdcKalTrack()->x();  //get poca, default pid is pion; change pid using setPidType();
00238             poca_y = (*it)->getMdcKalTrack()->y();
00239             poca_z = (*it)->getMdcKalTrack()->z();
00240 
00241             RecMdcKalTrack* trk = (*it)->getMdcKalTrack();
00242             //cout<<"ParticleFlag= "<<ParticleFlag<<endl;
00243             if(ParticleFlag>-1&&ParticleFlag<5)
00244             {
00245                 DstMdcKalTrack* dstTrk = trk;
00246                 a = dstTrk->getFHelix(ParticleFlag);
00247                 tkErrM = dstTrk->getFError(ParticleFlag);
00248             }
00249             else
00250             {
00251                 a = trk->getFHelix();
00252                 tkErrM = trk->getFError();
00253             }
00254         }
00255         else if((*it)->getMdcTrack())
00256         {
00257             poca_x = (*it)->getMdcTrack()->x();
00258             poca_y = (*it)->getMdcTrack()->y();
00259             poca_z = (*it)->getMdcTrack()->z();
00260 
00261             RecMdcTrack* trk = (*it)->getMdcTrack();
00262             a = trk->helix();
00263             tkErrM = trk->err();
00264         }
00265         else continue;
00266 
00267         sintheta = sin(M_PI_2 - atan(a[4]));
00268         costheta = cos(M_PI_2 - atan(a[4]));
00269         ptrk_t = 1.0/fabs( a[2] );
00270         ptrk = ptrk_t*sqrt(1 + a[4]*a[4]);
00271         charge = ( a[2] > 0 )? 1 : -1;
00272 
00273         Nhit = (*it)->numTotalHits(); //total hits on track used as sample; 
00274         Nhits = ((*it)->getVecDedxHits()).size(); //dedx hits on this track, they are put in phlist if layid>3 
00275         usedhit = (*it)->numGoodHits(); //hits after truncting phlist and used in cal dE/dx value;
00276         trk_recalg = (*it)->status();
00277         trackId = (*it)->trackId();
00278 
00279         if(m_eventType == "isBhabha")
00280         {
00281             if(runFlag ==3 &&(ptrk>1.88 || ptrk<1.80)) continue;
00282             if(runFlag ==4 &&(ptrk>1.72 || ptrk<1.45)) continue;
00283             if(runFlag ==5 &&(ptrk>2.00 || ptrk<1.70))  continue;
00284             if(runFlag ==6 &&(ptrk>1.90 || ptrk<1.00)) continue;
00285             if(runFlag ==7 &&(ptrk>1.90 || ptrk<1.40)) continue;
00286             if(abs(costheta)>0.9) continue;
00287 
00288             if(Nhit<20) continue;
00289             if(usedhit<6) continue;
00290         }
00291 
00292 
00293         int layid=0,localwid=0,w0id=0,wid=0,lr=0;
00294         double p_hit=0,adc_raw=0,tdc_raw=0,zhit=0,driftd=0,driftD=0,driftT=0,dd_in=0,dd_ex=0,eangle=0;
00295         double ph=0,pathlength=0,rphi_path=0;
00296         long k=0;
00297 
00298         DedxHitRefVec gothits = (*it)->getVecDedxHits();
00299         DedxHitRefVec::iterator it_gothit = gothits.begin();
00300         for(;it_gothit!=gothits.end(); it_gothit++)
00301         {
00302             //cout<<"in hit iteration!!!!!!!!!!!!!!!!!!"<<endl;
00303             if((*it_gothit)->isMdcHitValid())
00304             { 
00305                 RecMdcHit* itor = (*it_gothit)->getMdcHit(); 
00306                 mdcid = itor->getMdcId();
00307                 layid =  MdcID::layer(mdcid);
00308                 localwid = MdcID::wire(mdcid);
00309                 w0id = geosvc->Layer(layid)->Wirst();
00310                 wid = w0id + localwid;
00311                 adc_raw = itor->getAdc();
00312                 tdc_raw = itor->getTdc();
00313                 zhit = itor->getZhit();
00314 
00315                 lr = itor->getFlagLR();
00316                 if(lr == 2) cout<<"lr = "<<lr<<endl;
00317                 if(lr == 0 || lr == 2) driftD = itor->getDriftDistLeft();
00318                 else  driftD = itor->getDriftDistRight();
00319                 driftd = abs(driftD);
00320                 dd_in = itor->getDoca();
00321                 dd_ex = itor->getDoca();
00322                 if(lr == 0 || lr == 2 ) {dd_in = -abs(dd_in);dd_ex = -abs(dd_ex);}
00323                 if(lr == 1 ) {dd_in = abs(dd_in);dd_ex = abs(dd_ex);}
00324                 driftT = itor->getDriftT();
00325                 eangle = itor->getEntra();
00326                 eangle = eangle/M_PI;
00327             }
00328             else if((*it_gothit)->isMdcKalHelixSegValid()) 
00329             {
00330                 RecMdcKalHelixSeg* itor = (*it_gothit)->getMdcKalHelixSeg();
00331                 HepVector a_hit_in = itor->getHelixIncl();
00332                 p_hit = 1.0/fabs(a_hit_in(3))*sqrt(1+a_hit_in(5)*a_hit_in(5)); 
00333 
00334                 mdcid = itor->getMdcId();
00335                 layid =  MdcID::layer(mdcid);
00336                 localwid = MdcID::wire(mdcid);
00337                 w0id = geosvc->Layer(layid)->Wirst();
00338                 wid = w0id + localwid;
00339                 adc_raw = itor->getAdc();
00340                 tdc_raw = itor->getTdc();
00341                 zhit = itor->getZhit();
00342 
00343                 lr = itor->getFlagLR();
00344                 if(lr == 2) cout<<"lr = "<<lr<<endl;
00345                 driftD = itor->getDD();
00346                 driftd = abs(driftD);
00347                 driftT = itor->getDT();
00348                 dd_in = itor->getDocaIncl(); //getDocaIncl() include fit unused hit
00349                 dd_ex = itor->getDocaExcl(); //getDocaExcl() exclude fit unused hit
00350                 if(lr==-1 || lr == 2) {dd_in = dd_in; dd_ex = dd_ex;}
00351                 else if(lr ==1) {dd_in = -dd_in; dd_ex = -dd_ex;}
00352                 eangle = itor->getEntra();
00353                 eangle = eangle/M_PI;
00354             }
00355             else continue;
00356 
00357             pathlength=(*it_gothit)->getPathLength();
00358             rphi_path=pathlength*sintheta;
00359             ph = (*it_gothit)->getDedx();
00360             if(layid>3)
00361             {
00362                 dEdx_hit[k]=adc_raw;
00363                 pathlength_hit[k]=pathlength;
00364                 wid_hit[k]=wid;
00365                 layid_hit[k]=layid;
00366                 dd_in_hit[k]=dd_in;
00367                 eangle_hit[k]=eangle;
00368                 zhit_hit[k]=zhit;
00369 
00370                 k++;
00371             }
00372 
00373             //cout<<"begin to Fill Ntuple n102!!!!!!!!!"<<endl;
00374             m_charge1 = charge;
00375             m_t01 = tes;
00376             m_driftT = driftT;
00377             m_tdc_raw = tdc_raw;
00378             m_phraw = adc_raw;
00379             m_exraw = ph;
00380             m_localwid = localwid;
00381             m_wire = wid;
00382             m_runNO1 = runNO;
00383             m_runFlag1 = runFlag;
00384             m_doca_in = dd_in;
00385             m_doca_ex = dd_ex;
00386             m_driftdist = driftD;
00387             m_eangle = eangle;
00388             m_zhit = zhit;
00389             m_costheta1 = costheta;
00390             m_pathL = pathlength;
00391             m_layer = layid;
00392             m_ptrk1 = ptrk;
00393             m_ptrk_hit = p_hit;
00394             m_trackId1 = trackId;
00395 
00396             StatusCode status = m_nt2->write();
00397             if ( status.isFailure() )
00398               log << MSG::ERROR << "Cannot fill Ntuple n102" << endreq;
00399         }
00400 
00401         Nphlisthit = k;  //dedx hits on this track, exclude the first 3 layers
00402         dEdx_meas = (*it)->probPH();
00403         //cout<<"dEdx_meas in reconstruction: "<<dEdx_meas<<endl;
00404         dEdx_meas_esat = (*it)->getDedxEsat();
00405         dEdx_meas_norun = (*it)->getDedxNoRun();
00406         dEdx_meas_hit = (*it)->getDedxHit(); 
00407         //cout<<"dEdx_meas in calibration: "<<dEdx_meas<<endl;
00408 
00409         //cout<<"begin to Fill Ntuple n103!!!!!!!"<<endl;
00410         m_poca_x = poca_x;
00411         m_poca_y = poca_y;
00412         m_poca_z = poca_z;
00413         m_ptrk_t=ptrk_t;
00414         m_ptrk=ptrk;
00415         m_sintheta=sintheta;
00416         m_costheta=costheta;
00417         m_charge=charge;
00418         m_runNO = runNO;
00419         m_runFlag = runFlag;
00420         m_evtNO = eventNO;
00421         m_t0 = tes;
00422         m_trackId = trackId;
00423         m_recalg = trk_recalg;
00424 
00425         m_nhit=Nhit;
00426         m_nhits=Nhits;
00427         m_nphlisthit=Nphlisthit;
00428         m_usedhit=usedhit;
00429         for(int j=0; j<Nphlisthit; j++)
00430         {
00431             m_dEdx_hit[j]=dEdx_hit[j];
00432             m_pathlength_hit[j]=pathlength_hit[j];
00433             m_wid_hit[j]=wid_hit[j];
00434             m_layid_hit[j]=layid_hit[j];
00435             m_dd_in_hit[j]=dd_in_hit[j];
00436             m_eangle_hit[j]=eangle_hit[j];
00437             m_zhit_hit[j]=zhit_hit[j];
00438         }
00439 
00440         //m_dEdx_meas_hit = dEdx_meas_hit;
00441         m_dEdx_meas = dEdx_meas;
00442         //m_dEdx_meas_esat = dEdx_meas_esat;
00443         //m_dEdx_meas_norun = dEdx_meas_norun;
00444 
00445         m_parttype = (*it)->particleId();
00446         m_chidedxe=(*it)->chiE();
00447         m_chidedxmu=(*it)->chiMu();
00448         m_chidedxpi=(*it)->chiPi();
00449         m_chidedxk=(*it)->chiK();
00450         m_chidedxp=(*it)->chiP();
00451         for(int i=0;i<5;i++)
00452         {
00453             m_probpid[i]= (*it)->getPidProb(i);
00454             m_expectid[i]= (*it)->getDedxExpect(i);
00455             m_sigmaid[i]= (*it)->getSigmaDedx(i);
00456         }
00457         StatusCode status = m_nt1->write();
00458         if ( status.isFailure() )
00459         {
00460             log << MSG::ERROR << "Cannot fill Ntuple n103" << endreq;
00461         } 
00462     }
00463     //cout<<"track iteration ended!!!!!!!!!!"<<endl;
00464 }

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 DedxCalibEvent::initializing (  )  [virtual]

Implements DedxCalib.

Definition at line 30 of file DedxCalibEvent.cxx.

References Bes_Common::INFO, m_charge, m_charge1, m_chidedxe, m_chidedxk, m_chidedxmu, m_chidedxp, m_chidedxpi, m_costheta, m_costheta1, m_dd_in_hit, m_dEdx_hit, m_dEdx_meas, m_doca_ex, m_doca_in, m_driftdist, m_driftT, m_eangle, m_eangle_hit, m_evtNO, m_expectid, m_exraw, m_layer, m_layid_hit, m_localwid, m_nhit, m_nhits, m_nphlisthit, m_nt1, m_nt2, m_parttype, m_pathL, m_pathlength_hit, m_phraw, m_poca_x, m_poca_y, m_poca_z, m_probpid, m_ptrk, m_ptrk1, m_ptrk_hit, m_ptrk_t, m_recalg, m_runFlag, m_runFlag1, m_runNO, m_runNO1, m_sigmaid, m_sintheta, m_t0, m_t01, m_tdc_raw, m_trackId, m_trackId1, m_usedhit, m_wid_hit, m_wire, m_zhit, m_zhit_hit, msgSvc(), and ntupleSvc().

00031 {
00032     MsgStream log(msgSvc(), name());
00033     log << MSG::INFO << "DedxCalibEvent::initializing()" << endreq;
00034 
00035     StatusCode status;
00036     NTuplePtr  nt1(ntupleSvc(),"FILE100/n103");
00037     if ( nt1 )
00038       m_nt1 = nt1;
00039     else 
00040     {
00041         m_nt1= ntupleSvc()->book("FILE100/n103",CLID_ColumnWiseTuple,"dEdx per track");
00042         if ( m_nt1 )
00043         {
00044             status = m_nt1->addItem("ptrk",m_ptrk);
00045             status = m_nt1->addItem("ptrk_t",m_ptrk_t);
00046             status = m_nt1->addItem("sintheta",m_sintheta);
00047             status = m_nt1->addItem("costheta",m_costheta);
00048             status = m_nt1->addItem("charge",m_charge);
00049             status = m_nt1->addItem("runNO",m_runNO);
00050             status = m_nt1->addItem("runFlag",m_runFlag);
00051             status = m_nt1->addItem("evtNO",m_evtNO);
00052             status = m_nt1->addItem("t0",m_t0);
00053             status = m_nt1->addItem("trackId",m_trackId);
00054             status = m_nt1->addItem("poca_x",m_poca_x);
00055             status = m_nt1->addItem("poca_y",m_poca_y);
00056             status = m_nt1->addItem("poca_z",m_poca_z);
00057             status = m_nt1->addItem("recalg",m_recalg);
00058             status = m_nt1->addItem("nhit",m_nhit);
00059             status = m_nt1->addItem("nhits",m_nhits);
00060             status = m_nt1->addItem("usedhit",m_usedhit);
00061 
00062             status = m_nt1->addItem("ndedxhit",m_nphlisthit,0,100);
00063             status = m_nt1->addIndexedItem("dEdx_hit",m_nphlisthit,m_dEdx_hit); 
00064             status = m_nt1->addIndexedItem("pathlength_hit",m_nphlisthit,m_pathlength_hit);
00065             status = m_nt1->addIndexedItem("wid_hit",m_nphlisthit,m_wid_hit);
00066             status = m_nt1->addIndexedItem("layid_hit",m_nphlisthit,m_layid_hit);
00067             status = m_nt1->addIndexedItem("dd_in_hit",m_nphlisthit,m_dd_in_hit);
00068             status = m_nt1->addIndexedItem("eangle_hit",m_nphlisthit,m_eangle_hit);
00069             status = m_nt1->addIndexedItem("zhit_hit",m_nphlisthit,m_zhit_hit);
00070 
00071             //status = m_nt1->addItem("dEdx_meas_hit", m_dEdx_meas_hit);
00072             status = m_nt1->addItem("dEdx_meas", m_dEdx_meas);
00073             //status = m_nt1->addItem("dEdx_meas_esat", m_dEdx_meas_esat);
00074             //status = m_nt1->addItem("dEdx_meas_norun", m_dEdx_meas_norun);
00075 
00076             status = m_nt1->addItem("type",m_parttype);
00077             status = m_nt1->addItem("chidedx_e",m_chidedxe);
00078             status = m_nt1->addItem("chidedx_mu",m_chidedxmu);
00079             status = m_nt1->addItem("chidedx_pi",m_chidedxpi);
00080             status = m_nt1->addItem("chidedx_k",m_chidedxk);
00081             status = m_nt1->addItem("chidedx_p",m_chidedxp);
00082             status = m_nt1->addItem("partid",5,m_probpid);
00083             status = m_nt1->addItem("expectid",5,m_expectid);
00084             status = m_nt1->addItem("sigmaid",5,m_sigmaid);
00085         }
00086     }
00087 
00088     NTuplePtr  nt2(ntupleSvc(),"FILE100/n102");
00089     if ( nt2 )  m_nt2 = nt2;
00090     else
00091     {
00092         m_nt2= ntupleSvc()->book("FILE100/n102",CLID_RowWiseTuple,"dE/dx per hit");
00093         if ( m_nt2 )
00094         {
00095             status = m_nt2->addItem("charge",m_charge1);
00096             status = m_nt2->addItem("adc_raw",m_phraw);
00097             status = m_nt2->addItem("exraw",m_exraw);
00098             status = m_nt2->addItem("runNO",m_runNO1);
00099             status = m_nt2->addItem("runFlag",m_runFlag1);
00100             status = m_nt2->addItem("wire",m_wire);
00101             status = m_nt2->addItem("doca_in",m_doca_in);
00102             status = m_nt2->addItem("doca_ex",m_doca_ex);
00103             status = m_nt2->addItem("driftdist",m_driftdist);
00104             status = m_nt2->addItem("eangle",m_eangle);
00105             status = m_nt2->addItem("zhit",m_zhit);
00106             status = m_nt2->addItem("costheta1",m_costheta1);
00107             status = m_nt2->addItem("path_rphi",m_pathL);
00108             status = m_nt2->addItem("layer",m_layer);
00109             status = m_nt2->addItem("ptrk1",m_ptrk1);
00110             status = m_nt2->addItem("ptrk_hit",m_ptrk_hit);
00111             status = m_nt2->addItem("t01",m_t01);
00112             status = m_nt2->addItem("tdc_raw",m_tdc_raw);
00113             status = m_nt2->addItem("driftT",m_driftT);
00114             status = m_nt2->addItem("localwid",m_localwid);
00115             status = m_nt2->addItem("trackId1",m_trackId1);
00116         }
00117     }
00118 }

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 DedxCalibWireGain::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 DedxCalibEvent::WriteHists (  )  [inline, virtual]

Implements DedxCalib.

Definition at line 19 of file DedxCalibEvent.h.

00019 {}


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

NTuple::Item<float> DedxCalibEvent::m_charge [private]

Definition at line 27 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_charge1 [private]

Definition at line 63 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

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

NTuple::Item<float> DedxCalibEvent::m_chidedxe [private]

Definition at line 56 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_chidedxk [private]

Definition at line 59 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_chidedxmu [private]

Definition at line 57 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_chidedxp [private]

Definition at line 60 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_chidedxpi [private]

Definition at line 58 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_costheta [private]

Definition at line 25 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_costheta1 [private]

Definition at line 75 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

std::string DedxCalib::m_curvefile [protected, inherited]

Definition at line 56 of file DedxCalib.h.

Referenced by DedxCalib::DedxCalib(), and DedxCalib::getCurvePar().

NTuple::Array<double> DedxCalibEvent::m_dd_in_hit [private]

Definition at line 45 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

double DedxCalib::m_dedx_exp[5] [protected, inherited]

Definition at line 43 of file DedxCalib.h.

Referenced by DedxCalib::set_dEdx().

NTuple::Array<double> DedxCalibEvent::m_dEdx_hit [private]

Definition at line 41 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_dEdx_meas [private]

Definition at line 49 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_dEdx_meas_esat [private]

Definition at line 50 of file DedxCalibEvent.h.

NTuple::Item<float> DedxCalibEvent::m_dEdx_meas_hit [private]

Definition at line 48 of file DedxCalibEvent.h.

NTuple::Item<float> DedxCalibEvent::m_dEdx_meas_norun [private]

Definition at line 51 of file DedxCalibEvent.h.

NTuple::Item<float> DedxCalibEvent::m_doca_ex [private]

Definition at line 71 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_doca_in [private]

Definition at line 70 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_driftdist [private]

Definition at line 72 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_driftT [private]

Definition at line 82 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_eangle [private]

Definition at line 73 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<double> DedxCalibEvent::m_eangle_hit [private]

Definition at line 46 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

std::string DedxCalib::m_eventType [protected, inherited]

Definition at line 53 of file DedxCalib.h.

Referenced by DedxCalib::DedxCalib(), and genNtuple().

NTuple::Item<float> DedxCalibEvent::m_evtNO [private]

Definition at line 30 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

double DedxCalib::m_ex_sigma[5] [protected, inherited]

Definition at line 44 of file DedxCalib.h.

Referenced by DedxCalib::set_dEdx().

NTuple::Array<float> DedxCalibEvent::m_expectid [private]

Definition at line 53 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<double> DedxCalibEvent::m_exraw [private]

Definition at line 65 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_layer [private]

Definition at line 77 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<double> DedxCalibEvent::m_layid_hit [private]

Definition at line 44 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_localwid [private]

Definition at line 67 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_nhit [private]

Definition at line 37 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_nhits [private]

Definition at line 38 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<long> DedxCalibEvent::m_nphlisthit [private]

Definition at line 40 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Tuple* DedxCalibEvent::m_nt1 [private]

Definition at line 22 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Tuple* DedxCalibEvent::m_nt2 [private]

Definition at line 62 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_parttype [private]

Definition at line 55 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_pathL [private]

Definition at line 76 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<double> DedxCalibEvent::m_pathlength_hit [private]

Definition at line 42 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<double> DedxCalibEvent::m_phraw [private]

Definition at line 64 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

int DedxCalib::m_phShapeFlag [protected, inherited]

Definition at line 52 of file DedxCalib.h.

Referenced by DedxCalibWireGain::AnalyseHists(), DedxCalibLayerGain::AnalyseHists(), DedxCalibEAng::AnalyseHists(), DedxCalibDocaEAng::AnalyseHists(), DedxCalib::DedxCalib(), DedxCalibWireGain::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().

NTuple::Item<float> DedxCalibEvent::m_poca_x [private]

Definition at line 33 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_poca_y [private]

Definition at line 34 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_poca_z [private]

Definition at line 35 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<float> DedxCalibEvent::m_probpid [private]

Definition at line 52 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_ptrk [private]

Definition at line 23 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_ptrk1 [private]

Definition at line 78 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_ptrk_hit [private]

Definition at line 79 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_ptrk_t [private]

Definition at line 24 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_recalg [private]

Definition at line 36 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

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(), DedxCalibWireGain::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(), DedxCalibWireGain::WriteHists(), DedxCalibRunByRun::WriteHists(), DedxCalibMomentum::WriteHists(), DedxCalibLayerGain::WriteHists(), DedxCalibEAng::WriteHists(), DedxCalibDocaEAng::WriteHists(), and DedxCalibCostheta::WriteHists().

NTuple::Item<float> DedxCalibEvent::m_runFlag [private]

Definition at line 29 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_runFlag1 [private]

Definition at line 69 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_runNO [private]

Definition at line 28 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_runNO1 [private]

Definition at line 68 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<float> DedxCalibEvent::m_sigmaid [private]

Definition at line 54 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_sintheta [private]

Definition at line 26 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_t0 [private]

Definition at line 31 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_t01 [private]

Definition at line 80 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_tdc_raw [private]

Definition at line 81 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_trackId [private]

Definition at line 32 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_trackId1 [private]

Definition at line 83 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_usedhit [private]

Definition at line 39 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<double> DedxCalibEvent::m_wid_hit [private]

Definition at line 43 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_wire [private]

Definition at line 66 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Item<float> DedxCalibEvent::m_zhit [private]

Definition at line 74 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

NTuple::Array<double> DedxCalibEvent::m_zhit_hit [private]

Definition at line 47 of file DedxCalibEvent.h.

Referenced by genNtuple(), and initializing().

int DedxCalib::ParticleFlag [protected, inherited]

Definition at line 50 of file DedxCalib.h.

Referenced by DedxCalib::DedxCalib(), DedxCalibMomentum::FillHists(), DedxCalibCostheta::FillHists(), and 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:14 2016 for BOSS_7.0.2 by  doxygen 1.4.7