DQASelHadron Class Reference

#include <DQASelHadron.h>

List of all members.

Public Member Functions

 DQASelHadron (const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize ()
StatusCode execute ()
StatusCode finalize ()

Private Attributes

ITHistSvc * m_thistsvc
TH1F * m_ha_costheta
TH1F * m_ha_phi
TH1F * m_ha_pmax
TH1F * m_ha_emax
TH1F * m_ha_etot
TH1I * m_ha_nneu
TH1I * m_ha_nchg
TH1F * m_ha_br
TH1F * m_ha_bz
TH1F * m_ha_vx
TH1F * m_ha_vy
TH1F * m_ha_vz
bool m_writentuple
double m_ecms
double m_beamangle
double m_vr0cut
double m_vz0cut
double m_coscut
bool m_tagHadron
bool m_useTOF
bool m_usePID
bool m_useEMC
bool m_useMUC
bool m_useMDC
bool m_useDEDX
bool m_useEMConly
double m_energyThreshold
double m_gammaPhiCut
double m_gammaThetaCut
double m_gammaTrkCut
double m_gammathCut
double m_gammatlCut
double m_acoll_h_cut
double m_poeb_h_cut
double m_dtof_h_cut
double m_eop_h_cut
double m_etotal_h_cut
int m_ngam_h_cut
double m_br_h_cut
double m_bz_h_cut
double m_thr_h_cut
NTuple::Tuple * m_tuple1
NTuple::Item< long > m_run
NTuple::Item< long > m_rec
NTuple::Item< long > m_ncharg
NTuple::Item< long > m_nneu
NTuple::Item< long > m_ngch
NTuple::Item< long > m_nGam
NTuple::Item< long > m_hadrontag
NTuple::Item< double > m_evis
NTuple::Item< double > m_thr
NTuple::Item< double > m_br
NTuple::Item< double > m_bz
NTuple::Item< double > m_acoll
NTuple::Item< double > m_acopl
NTuple::Item< double > m_deltatof
NTuple::Item< double > m_eop1
NTuple::Item< double > m_eop2
NTuple::Item< double > m_eoeb1
NTuple::Item< double > m_eoeb2
NTuple::Item< double > m_poeb1
NTuple::Item< double > m_poeb2
NTuple::Item< double > m_etoeb1
NTuple::Item< double > m_etoeb2
NTuple::Item< long > m_mucinfo1
NTuple::Item< long > m_mucinfo2
NTuple::Array< double > m_delang
NTuple::Array< double > m_delphi
NTuple::Array< double > m_delthe
NTuple::Array< long > m_nSeed
NTuple::Array< long > m_npart
NTuple::Array< long > m_module
NTuple::Array< long > m_nemchits
NTuple::Array< double > m_x
NTuple::Array< double > m_y
NTuple::Array< double > m_z
NTuple::Array< double > m_dx
NTuple::Array< double > m_dy
NTuple::Array< double > m_dz
NTuple::Array< double > m_dtheta
NTuple::Array< double > m_dphi
NTuple::Array< double > m_theta
NTuple::Array< double > m_phi
NTuple::Array< double > m_energy
NTuple::Array< double > m_dE
NTuple::Array< double > m_eSeed
NTuple::Array< double > m_e3x3
NTuple::Array< double > m_e5x5
NTuple::Array< double > m_secondMoment
NTuple::Array< double > m_latMoment
NTuple::Array< double > m_a20Moment
NTuple::Array< double > m_a42Moment
NTuple::Array< double > m_getTime
NTuple::Array< double > m_getEAll
NTuple::Array< long > m_charge
NTuple::Array< double > m_vx0
NTuple::Array< double > m_vy0
NTuple::Array< double > m_vz0
NTuple::Array< double > m_px
NTuple::Array< double > m_py
NTuple::Array< double > m_pz
NTuple::Array< double > m_p
NTuple::Array< double > m_kal_vx0
NTuple::Array< double > m_kal_vy0
NTuple::Array< double > m_kal_vz0
NTuple::Array< double > m_kal_px
NTuple::Array< double > m_kal_py
NTuple::Array< double > m_kal_pz
NTuple::Array< double > m_kal_p
NTuple::Array< float > m_probPH
NTuple::Array< float > m_normPH
NTuple::Array< float > m_chie
NTuple::Array< float > m_chimu
NTuple::Array< float > m_chipi
NTuple::Array< float > m_chik
NTuple::Array< float > m_chip
NTuple::Array< float > m_ghit
NTuple::Array< float > m_thit
NTuple::Array< float > m_e_emc
NTuple::Array< float > m_theta_emc
NTuple::Array< float > m_phi_emc
NTuple::Array< float > m_nhit_muc
NTuple::Array< float > m_nlay_muc
NTuple::Array< double > m_qual_etof
NTuple::Array< double > m_tof_etof
NTuple::Array< double > m_te_etof
NTuple::Array< double > m_tmu_etof
NTuple::Array< double > m_tpi_etof
NTuple::Array< double > m_tk_etof
NTuple::Array< double > m_tp_etof
NTuple::Array< double > m_qual_btof1
NTuple::Array< double > m_tof_btof1
NTuple::Array< double > m_te_btof1
NTuple::Array< double > m_tmu_btof1
NTuple::Array< double > m_tpi_btof1
NTuple::Array< double > m_tk_btof1
NTuple::Array< double > m_tp_btof1
NTuple::Array< double > m_t_btof
NTuple::Array< double > m_t_etof
NTuple::Array< double > m_qual_btof2
NTuple::Array< double > m_tof_btof2
NTuple::Array< double > m_te_btof2
NTuple::Array< double > m_tmu_btof2
NTuple::Array< double > m_tpi_btof2
NTuple::Array< double > m_tk_btof2
NTuple::Array< double > m_tp_btof2
NTuple::Array< long > m_pidcode
NTuple::Array< double > m_pidprob
NTuple::Array< double > m_pidchiDedx
NTuple::Array< double > m_pidchiTof1
NTuple::Array< double > m_pidchiTof2
NTuple::Item< double > m_px_cms_ep
NTuple::Item< double > m_py_cms_ep
NTuple::Item< double > m_pz_cms_ep
NTuple::Item< double > m_e_cms_ep
NTuple::Item< double > m_cos_ep
NTuple::Item< double > m_px_cms_em
NTuple::Item< double > m_py_cms_em
NTuple::Item< double > m_pz_cms_em
NTuple::Item< double > m_e_cms_em
NTuple::Item< double > m_cos_em
NTuple::Item< double > m_mass_ee
NTuple::Item< double > m_emax
NTuple::Item< double > m_esum
NTuple::Item< long > m_npip
NTuple::Item< long > m_npim
NTuple::Item< long > m_nkp
NTuple::Item< long > m_nkm
NTuple::Item< long > m_np
NTuple::Item< long > m_npb
NTuple::Item< long > m_nep
NTuple::Item< long > m_nem
NTuple::Item< long > m_nmup
NTuple::Item< long > m_nmum


Detailed Description

Definition at line 24 of file DQASelHadron.h.


Constructor & Destructor Documentation

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

Definition at line 65 of file DQASelHadron.cxx.

References m_acoll_h_cut, m_beamangle, m_br_h_cut, m_bz_h_cut, m_coscut, m_dtof_h_cut, m_ecms, m_energyThreshold, m_eop_h_cut, m_etotal_h_cut, m_gammaPhiCut, m_gammathCut, m_gammaThetaCut, m_gammatlCut, m_gammaTrkCut, m_ngam_h_cut, m_poeb_h_cut, m_thr_h_cut, m_useDEDX, m_useEMC, m_useEMConly, m_useMDC, m_useMUC, m_usePID, m_useTOF, m_vr0cut, m_vz0cut, and m_writentuple.

00065                                                                           :
00066   Algorithm(name, pSvcLocator) {
00067   
00068   //Declare the properties 
00069   declareProperty("writentuple",m_writentuple = false);
00070   declareProperty("ecms",m_ecms = 3.097);
00071   declareProperty("beamangle",m_beamangle = 0.022); 
00072   declareProperty("Vr0cut", m_vr0cut=1.0);
00073   declareProperty("Vz0cut", m_vz0cut=10.0);
00074   declareProperty("Coscut", m_coscut=0.93);
00075 
00076   declareProperty("EnergyThreshold", m_energyThreshold=0.04);
00077   declareProperty("GammaPhiCut", m_gammaPhiCut=20.0);
00078   declareProperty("GammaThetaCut", m_gammaThetaCut=20.0);
00079   declareProperty("GammaTrkCut", m_gammaTrkCut=20.0);
00080    declareProperty("GammaTLCut", m_gammatlCut=0);
00081    declareProperty("GammaTHCut", m_gammathCut=60);
00082 
00083 
00084 
00085   declareProperty ("acoll_h_cut",  m_acoll_h_cut=10.);
00086   declareProperty ("poeb_h_cut",  m_poeb_h_cut=0.2);  
00087   declareProperty ("dtof_h_cut",  m_dtof_h_cut=6.);
00088   declareProperty ("eop_h_cut",  m_eop_h_cut=0.2);
00089   declareProperty ("etotal_h_cut",  m_etotal_h_cut=0.2);
00090   declareProperty ("ngam_h_cut",  m_ngam_h_cut=2);
00091   declareProperty ("br_h_cut",  m_br_h_cut=0.65);  
00092   declareProperty ("bz_h_cut",  m_bz_h_cut=0.7); 
00093   declareProperty ("thr_h_cut",  m_thr_h_cut=0.5); 
00094         
00095   //normally, MDC+EMC, otherwise EMC only
00096   declareProperty ("m_useEMConly",  m_useEMConly= false);
00097   declareProperty ("m_usePID",  m_usePID= false);// sub-system is under study
00098   declareProperty ("m_useMDC",  m_useMDC= true);
00099   declareProperty ("m_useDEDX",  m_useDEDX= false);// not used
00100   declareProperty ("m_useTOF",  m_useTOF= false);//sub-system is under study
00101   declareProperty ("m_useEMC",  m_useEMC= true);
00102   declareProperty ("m_useMUC",  m_useMUC= false);// efficiency 
00103   
00104  
00105 }


Member Function Documentation

StatusCode DQASelHadron::execute (  ) 

Definition at line 336 of file DQASelHadron.cxx.

References VFHelix::a(), DstEmcShower::a20Moment(), DstEmcShower::a42Moment(), FastVertexFit::addTrack(), EmcID::barrel_ec(), DstMdcTrack::charge(), cos(), counter, DstEmcShower::dE(), Bes_Common::DEBUG, DstEmcShower::dphi(), DstEmcShower::dtheta(), DstEmcShower::dx(), DstEmcShower::dy(), DstEmcShower::dz(), DstEmcShower::e3x3(), DstEmcShower::e5x5(), DstExtTrack::emcPosition(), DstExtTrack::emcVolumeNumber(), DstEmcShower::energy(), energy, showlog::err, DstMdcKalTrack::err(), DstMdcTrack::err(), DstEmcShower::eSeed(), EventModel::EvtRec::EvtRecEvent, EventModel::EvtRec::EvtRecTrackCol, Bes_Common::FATAL, FastVertexFit::Fit(), RecEmcShower::getEAll(), RecEmcShower::getShowerId(), DstMdcKalTrack::helix(), DstMdcTrack::helix(), genRecEmupikp::i, Bes_Common::INFO, FastVertexFit::init(), FastVertexFit::instance(), ParticleID::instance(), IVertexDbSvc::isVertexValid(), ganga-rec::j, DstEmcShower::latMoment(), m_a20Moment, m_a42Moment, m_acoll, m_acoll_h_cut, m_acopl, m_beamangle, m_br, m_br_h_cut, m_bz, m_bz_h_cut, m_charge, m_chie, m_chik, m_chimu, m_chip, m_chipi, m_cos_em, m_cos_ep, m_dE, m_delang, m_delphi, m_deltatof, m_delthe, m_dphi, m_dtheta, m_dtof_h_cut, m_dx, m_dy, m_dz, m_e3x3, m_e5x5, m_e_cms_em, m_e_cms_ep, m_e_emc, m_ecms, m_emax, m_energy, m_energyThreshold, m_eoeb1, m_eoeb2, m_eop1, m_eop2, m_eop_h_cut, m_eSeed, m_esum, m_etoeb1, m_etoeb2, m_evis, m_gammathCut, m_gammatlCut, m_gammaTrkCut, m_getEAll, m_getTime, m_ghit, m_ha_br, m_ha_bz, m_ha_costheta, m_ha_emax, m_ha_etot, m_ha_nchg, m_ha_nneu, m_ha_phi, m_ha_pmax, m_ha_vx, m_ha_vy, m_ha_vz, m_hadrontag, m_kal_p, m_kal_px, m_kal_py, m_kal_pz, m_kal_vx0, m_kal_vy0, m_kal_vz0, m_latMoment, m_mass_ee, m_module, m_mucinfo1, m_mucinfo2, m_ncharg, m_nem, m_nemchits, m_nep, m_nGam, m_ngam_h_cut, m_ngch, m_nhit_muc, m_nlay_muc, m_nmum, m_nmup, m_nneu, m_normPH, m_npart, m_nSeed, m_p, m_phi, m_phi_emc, m_pidchiDedx, m_pidchiTof1, m_pidchiTof2, m_pidcode, m_pidprob, m_poeb1, m_poeb2, m_probPH, m_px, m_px_cms_em, m_px_cms_ep, m_py, m_py_cms_em, m_py_cms_ep, m_pz, m_pz_cms_em, m_pz_cms_ep, m_qual_btof1, m_qual_btof2, m_qual_etof, m_rec, m_run, m_secondMoment, m_t_btof, m_t_etof, m_theta, m_theta_emc, m_thit, m_thr, m_thr_h_cut, m_tof_btof1, m_tof_btof2, m_tof_etof, m_tuple1, m_useDEDX, m_useEMC, m_useMUC, m_usePID, m_useTOF, m_vr0cut, m_vx0, m_vy0, m_vz0, m_writentuple, m_x, m_y, m_z, DstEmcShower::module(), msgSvc(), n0prong, n2prong, n4prong, ng4prong, nhadron, DstEmcShower::numHits(), WTrackParameter::p(), DstMdcKalTrack::p(), DstMdcTrack::p(), p_cms(), DstMdcTrack::phi(), DstEmcShower::phi(), pi, pid, DstMdcKalTrack::pion, VFHelix::pivot(), IVertexDbSvc::PrimaryVertex(), DstMdcKalTrack::px(), DstMdcTrack::px(), DstMdcKalTrack::pxy(), DstMdcKalTrack::py(), DstMdcTrack::py(), DstMdcKalTrack::pz(), DstMdcTrack::pz(), DstEmcShower::secondMoment(), DstMdcKalTrack::setPidType(), IVertexDbSvc::SigmaPrimaryVertex(), sin(), DstMdcTrack::theta(), DstEmcShower::theta(), DstEmcShower::time(), u_cms, velc, FastVertexFit::Vx(), DstMdcKalTrack::x(), x, DstEmcShower::x(), DstMdcTrack::x(), xmass, DstMdcKalTrack::y(), DstEmcShower::y(), DstMdcTrack::y(), DstMdcKalTrack::z(), DstEmcShower::z(), and DstMdcTrack::z().

00336                                  {
00337   setFilterPassed(false);  
00338   const double beamEnergy = m_ecms/2.;
00339   const HepLorentzVector p_cms(m_ecms*sin(m_beamangle*0.5),0.0,0.0,m_ecms);
00340   const Hep3Vector u_cms = -p_cms.boostVector();    
00341   MsgStream log(msgSvc(), name());
00342   log << MSG::INFO << "in execute()" << endreq;
00343 
00344 
00345   SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader");
00346   if (!eventHeader) 
00347     {
00348       log << MSG::FATAL << "Could not find Event Header" << endreq;
00349       return StatusCode::SUCCESS;
00350     }
00351 
00352   m_run = eventHeader->runNumber();
00353   m_rec = eventHeader->eventNumber();
00354  
00355 
00356 
00357 
00358   SmartDataPtr<EvtRecEvent> evtRecEvent(eventSvc(), EventModel::EvtRec::EvtRecEvent);
00359   if (!evtRecEvent) 
00360     {
00361       log << MSG::FATAL << "Could not find EvtRecEvent" << endreq;
00362       return StatusCode::SUCCESS;
00363     }
00364   log << MSG::INFO <<"ncharg, nneu, tottks = " 
00365       << evtRecEvent->totalCharged() << " , "
00366       << evtRecEvent->totalNeutral() << " , "
00367       << evtRecEvent->totalTracks() <<endreq;
00368   //  if(evtRecEvent->totalNeutral()>30)return sc;
00369   m_ncharg  = evtRecEvent->totalCharged();
00370 
00371   m_nneu = evtRecEvent->totalNeutral();
00372 
00373 
00374 
00375   HepPoint3D vx(0., 0., 0.);
00376   HepSymMatrix Evx(3, 0);
00377   IVertexDbSvc*  vtxsvc;
00378   Gaudi::svcLocator()->service("VertexDbSvc", vtxsvc);
00379   if(vtxsvc->isVertexValid()){
00380     double* dbv = vtxsvc->PrimaryVertex(); 
00381     double*  vv = vtxsvc->SigmaPrimaryVertex(); 
00382     //  if (m_reader.isRunNumberValid( m_run)) {
00383     //   HepVector dbv = m_reader.PrimaryVertex( m_run);
00384     //    HepVector vv = m_reader.SigmaPrimaryVertex( m_run);
00385     vx.setX(dbv[0]);
00386     vx.setY(dbv[1]);
00387     vx.setZ(dbv[2]);
00388     Evx[0][0]=vv[0]*vv[0];
00389     Evx[0][1]=vv[0]*vv[1];
00390     Evx[1][1]=vv[1]*vv[1];
00391     Evx[1][2]=vv[1]*vv[2];
00392     Evx[2][2]=vv[2]*vv[2];
00393   }
00394 
00395   SmartDataPtr<EvtRecTrackCol> evtRecTrkCol(eventSvc(),  EventModel::EvtRec::EvtRecTrackCol);
00396   if (!evtRecTrkCol) 
00397     {
00398       log << MSG::FATAL << "Could not find EvtRecTrackCol" << endreq;
00399       return StatusCode::SUCCESS;
00400     }
00401   Vint iGood;
00402   iGood.clear();
00403   
00404   int nCharge = 0;
00405 
00406   for(int i = 0; i < evtRecEvent->totalCharged(); i++){
00407     EvtRecTrackIterator itTrk=evtRecTrkCol->begin() + i;
00408     if(!(*itTrk)->isMdcTrackValid()) continue;
00409     if(!(*itTrk)->isMdcKalTrackValid()) continue;
00410 
00411     RecMdcTrack *mdcTrk = (*itTrk)->mdcTrack();
00412     double pch=mdcTrk->p();
00413     double x0=mdcTrk->x();
00414     double y0=mdcTrk->y();
00415     double z0=mdcTrk->z();
00416 //     double phi0=mdcTrk->helix(1);
00417 //     double xv=vx.x();
00418 //     double yv=vx.y();
00419 //     double zv=vx.z();
00420 //     double Rxy=(x0-xv)*cos(phi0)+(y0-yv)*sin(phi0);
00421 //     double m_vx0 = x0;
00422 //     double m_vy0 = y0;
00423 //     double m_vz0 = z0;
00424 //     double m_vr0 = Rxy;
00425 //     if(fabs(z0) >= m_vz0cut) continue;
00426 //     if(fabs(Rxy) >= m_vr0cut) continue;
00427 
00428 
00429 //     if(fabs(m_vz0) >= m_vz0cut) continue;
00430 //     if(m_vr0 >= m_vr0cut) continue;
00431 
00432 
00433     HepVector a = mdcTrk->helix();
00434     HepSymMatrix Ea = mdcTrk->err();
00435     HepPoint3D point0(0.,0.,0.);  
00436     HepPoint3D IP(vx[0],vx[1],vx[2]);
00437     VFHelix helixip(point0,a,Ea);
00438     helixip.pivot(IP);
00439     HepVector vecipa = helixip.a();
00440     double  Rvxy0=fabs(vecipa[0]); //the distance to IP in xy plane
00441     double  Rvz0=vecipa[3];    //the distance to IP in z direction
00442     double  Rvphi0=vecipa[1];
00443     if(fabs(Rvz0) >= m_vr0cut) continue;
00444     if(fabs(Rvxy0) >= m_vr0cut) continue;
00445 
00446 
00447     // double cost = cos(mdcTrk->theta());
00448     // if(fabs(cost) >= m_coscut ) continue; 
00449 //     iGood.push_back((*itTrk)->trackId());
00450     iGood.push_back(i);
00451     nCharge += mdcTrk->charge();
00452 
00453   }
00454 
00455 
00456 
00457 
00458   
00459   //
00460   // Finish Good Charged Track Selection
00461   //
00462   int nGood = iGood.size();
00463   m_ngch=nGood;
00464   log << MSG::DEBUG << "ngood, totcharge = " << nGood << " , " << nCharge << endreq;
00465 
00466 
00467     if(m_ngch<2 ||m_ngch>20||(nCharge >4) ) {  return StatusCode::SUCCESS;  }
00468   counter[1]++;
00469 
00470   //
00471   // Particle ID
00472   // 
00473   Vint ipip, ipim, iep,iem,imup,imum;
00474   ipip.clear();
00475   ipim.clear();
00476   iep.clear();
00477   iem.clear();
00478   imup.clear();
00479   imum.clear();  
00480 
00481   if (m_usePID){
00482     ParticleID *pid = ParticleID::instance();
00483     for(int i = 0; i < m_ngch; i++) {
00484       EvtRecTrackIterator itTrk = evtRecTrkCol->begin() + iGood[i]; 
00485       //    if(pid) delete pid;
00486       pid->init();
00487       pid->setMethod(pid->methodProbability());
00488       pid->setChiMinCut(4);
00489       pid->setRecTrack(*itTrk);
00490       pid->usePidSys(pid->useDedx() | pid->useTof1() | pid->useTof2());//|pid->useEmc()|pid->useMuc()); // use PID sub-system
00491       pid->identify(pid->onlyElectron()|pid->onlyMuon()|pid->onlyPion());                 // seperater Pion/Kaon/Proton
00492       pid->calculate();
00493       if(!(pid->IsPidInfoValid())) continue;
00494       RecMdcTrack* mdcTrk = (*itTrk)->mdcTrack();
00497       double  prob_pi = pid->probPion();
00498       double  prob_K  = pid->probKaon();
00499       double  prob_p  = pid->probProton();
00500       double  prob_e  = pid->probElectron();
00501       double prob_mu = pid->probMuon();    
00502       //    std::cout << "prob "<< prob_pi << ", "<< prob_K << ", "<< prob_p << std::endl; 
00503       HepLorentzVector ptrk;
00504       ptrk.setPx(mdcTrk->px()) ; 
00505       ptrk.setPy(mdcTrk->py()) ;
00506       ptrk.setPz(mdcTrk->pz()) ; 
00507       double p3 = ptrk.mag()   ; 
00508 
00509       
00510       
00511         m_pidcode[i]=1;
00512         m_pidprob[i]=pid->prob(1);
00513         m_pidchiDedx[i]=pid->chiDedx(1);
00514         m_pidchiTof1[i]=pid->chiTof1(1);
00515         m_pidchiTof2[i]=pid->chiTof2(1);
00516         if(mdcTrk->charge() > 0) {
00517           imup.push_back(iGood[i]);
00518           
00519         }
00520         if (mdcTrk->charge() < 0) {
00521           imum.push_back(iGood[i]);
00522         
00523         }
00524       
00525     
00526     }
00527   }
00528   m_nep  = iep.size() ; 
00529   m_nem = iem.size() ;  
00530   m_nmup  = imup.size() ; 
00531   m_nmum = imum.size() ;
00532   
00533   counter[2]++;
00534 
00535   // 
00536   // Good neutral track selection
00537   //
00538   Vint iGam;
00539   iGam.clear();
00540   int iphoton=0;
00541   for(int i = evtRecEvent->totalCharged(); i< evtRecEvent->totalTracks(); i++) {
00542     if(i>=evtRecTrkCol->size())break;
00543     EvtRecTrackIterator itTrk=evtRecTrkCol->begin() + i;
00544     if(!(*itTrk)->isEmcShowerValid()) continue;
00545     RecEmcShower *emcTrk = (*itTrk)->emcShower();
00546     Hep3Vector emcpos(emcTrk->x(), emcTrk->y(), emcTrk->z());
00547            
00548             RecEmcID showerId = emcTrk->getShowerId();
00549             unsigned int npart = EmcID::barrel_ec(showerId);
00550             int n = emcTrk->numHits();
00551         int module=emcTrk->module(); 
00552                 double x = emcTrk->x();
00553             double y = emcTrk->y();
00554             double z = emcTrk->z();
00555             double dx = emcTrk->dx();
00556             double dy = emcTrk->dy();
00557             double dth = emcTrk->dtheta();
00558             double dph = emcTrk->dphi();
00559             double dz = emcTrk->dz();
00560             double energy = emcTrk->energy();
00561             double dE = emcTrk->dE();
00562             double eSeed = emcTrk->eSeed();
00563             double e3x3 = emcTrk->e3x3();
00564             double e5x5 = emcTrk->e5x5();
00565             double secondMoment = emcTrk->secondMoment();
00566             double latMoment = emcTrk->latMoment();
00567             double getTime = emcTrk->time();
00568             double getEAll = emcTrk->getEAll();
00569             double a20Moment = emcTrk->a20Moment();
00570             double a42Moment = emcTrk->a42Moment();
00571             //           int phigap=emcTrk->PhiGap();
00572             //            int thetagap=emcTrk->ThetaGap();
00573             //      double getETof2x1 = emcTrk->getETof2x1();
00574             //      double getETof2x3 = emcTrk->getETof2x3();
00575             //      double getELepton = emcTrk->getELepton();
00576             double nseed=0;//(emcTrk->getCluster() )->getSeedSize()  ;
00577             HepPoint3D EmcPos(x,y,z);
00578             m_nemchits[iphoton]=n;
00579             m_npart[iphoton]=npart;
00580             m_module[iphoton]=module;
00581             m_theta[iphoton]=EmcPos.theta();
00582             m_phi[iphoton]=EmcPos.phi();
00583             m_x[iphoton]=x;
00584             m_y[iphoton]=y;
00585             m_z[iphoton]=z;
00586             m_dx[iphoton]=dx;
00587             m_dy[iphoton]=dy;
00588             m_dz[iphoton]=dz;
00589             m_dtheta[iphoton]=dth;
00590             m_dphi[iphoton]=dph;
00591             m_energy[iphoton]=energy;
00592             m_dE[iphoton]=dE;
00593             m_eSeed[iphoton]=eSeed;
00594             m_nSeed[iphoton]=nseed;
00595             m_e3x3[iphoton]=e3x3;
00596             m_e5x5[iphoton]=e5x5;
00597             m_secondMoment[iphoton]=secondMoment;
00598             m_latMoment[iphoton]=latMoment;
00599             m_getTime[iphoton]=getTime;
00600             m_getEAll[iphoton]=getEAll;
00601             m_a20Moment[iphoton]=a20Moment;
00602             m_a42Moment[iphoton]=a42Moment;
00603 
00604             //            m_getELepton[iphoton]=getELepton;
00605             //            m_getETof2x1[iphoton]=getETof2x1;
00606             //            m_getETof2x3[iphoton]=getETof2x3;
00607             //      m_PhiGap[iphoton]=phigap;
00608             //      m_ThetaGap[iphoton]=thetagap;
00609             double dthe = 200.;
00610             double dphi = 200.;
00611             double dang = 200.; 
00612             
00613             // find the nearest charged track
00614             for(int j = 0; j < nGood; j++) {
00615               
00616               
00617               EvtRecTrackIterator jtTrk = evtRecTrkCol->begin() +iGood[j];
00618               if (!(*jtTrk)->isMdcTrackValid()) continue; 
00619               RecMdcTrack *jtmdcTrk = (*jtTrk)->mdcTrack(); 
00620               double jtcharge = jtmdcTrk->charge(); 
00621               if(!(*jtTrk)->isExtTrackValid()) continue;
00622               RecExtTrack *extTrk = (*jtTrk)->extTrack();
00623               if(extTrk->emcVolumeNumber() == -1) continue;
00624               Hep3Vector extpos = extTrk->emcPosition();
00625               //      double ctht = extpos.cosTheta(emcpos);
00626               double angd = extpos.angle(emcpos);
00627               double thed = extpos.theta() - emcpos.theta();
00628               double phid = extpos.deltaPhi(emcpos);
00629               thed = fmod(thed+CLHEP::twopi+CLHEP::twopi+pi, CLHEP::twopi) - CLHEP::pi;
00630               phid = fmod(phid+CLHEP::twopi+CLHEP::twopi+pi, CLHEP::twopi) - CLHEP::pi;
00631 
00632               if(fabs(thed) < fabs(dthe)) dthe = thed;
00633               if(fabs(phid) < fabs(dphi)) dphi = phid;
00634               if(angd < dang) dang = angd;
00635         
00636             }
00637             
00638 
00639 
00640     //
00641     // good photon cut will be set here
00642     //
00643 
00644     dthe = dthe * 180 / (CLHEP::pi);
00645     dphi = dphi * 180 / (CLHEP::pi);
00646     dang = dang * 180 / (CLHEP::pi);     
00647     double eraw = emcTrk->energy();
00648     double phi = emcTrk->phi();
00649     double the = emcTrk->theta();     
00650    
00651     m_delphi[iphoton]=dphi;
00652     m_delthe[iphoton]=dthe;
00653     m_delang[iphoton]=dang;
00654     if(energy < m_energyThreshold) continue;
00655     if(getTime>m_gammathCut||getTime<m_gammatlCut)continue;
00656     //     if((fabs(dthe) < m_gammaThetaCut) && (fabs(dphi)<m_gammaPhiCut) ) continue;
00657     if(dang< m_gammaTrkCut) continue; 
00658     iphoton++;  
00659     iGam.push_back(i);
00660     if(iphoton>=40)return StatusCode::SUCCESS; 
00661   }
00662 
00663   int nGam = iGam.size();
00664   m_nGam=nGam;
00665   //  std::cout  << "num Good Photon " << m_nGam  << " , " <<evtRecEvent->totalNeutral()<<std::endl;
00666   //std::cout<<"dbg_4"<<std::endl;
00667   counter[3]++;
00668 
00669   double egam_ext=0;
00670   double                        ex_gam=0;
00671   double            ey_gam=0;
00672   double            ez_gam=0;  
00673   double            et_gam=0;
00674   double            e_gam=0;
00675   for(int i = 0; i < m_nGam; i++) {
00676     EvtRecTrackIterator itTrk = evtRecTrkCol->begin()+ iGam[i]; 
00677     if(!(*itTrk)->isEmcShowerValid()) continue;
00678     RecEmcShower* emcTrk = (*itTrk)->emcShower();
00679     double eraw = emcTrk->energy();
00680     double phi = emcTrk->phi();
00681     double the = emcTrk->theta();
00682     HepLorentzVector ptrk;
00683     ex_gam+=eraw*sin(the)*cos(phi);
00684     ey_gam+=eraw*sin(the)*sin(phi);
00685     ez_gam+=eraw*cos(the);
00686     et_gam+=eraw*sin(the);
00687     e_gam+=eraw  ;  
00688     if(eraw>=egam_ext)
00689       {
00690         egam_ext=eraw;           
00691       }
00692 
00693   }
00694 
00695 
00696 
00697 
00698 
00699   double                        px_had=0;
00700   double            py_had=0;
00701   double            pz_had=0;
00702   double            pt_had=0;
00703   double            p_had=0;
00704   double            e_had=0;
00705   double p_max=0.;
00706   double e_max=0.; 
00707   //
00708   // check good charged track's infomation
00709   //
00710 
00711 
00712 
00713   for(int i = 0; i < m_ngch; i++ ){
00714 
00715     EvtRecTrackIterator  itTrk = evtRecTrkCol->begin() + iGood[i];
00716 
00717     if(!(*itTrk)->isMdcTrackValid()) continue;  //  MDC information 
00718     if(!(*itTrk)->isMdcKalTrackValid()) continue;
00719     
00720     RecMdcTrack* mdcTrk = (*itTrk)->mdcTrack();
00721     RecMdcKalTrack *mdcKalTrk = (*itTrk)->mdcKalTrack();
00722 
00723 
00724     //    if ( m_ngch==2 &&mdcTrk->charge()>0) i = 0 ;  
00725     //    if ( m_ngch==2 &&mdcTrk->charge()<0) i = 1 ; 
00726     m_charge[i] = mdcTrk->charge();
00727     m_vx0[i]    = mdcTrk->x();
00728     m_vy0[i]    = mdcTrk->y();
00729     m_vz0[i]    = mdcTrk->z();
00730     m_px[i]   = mdcTrk->px();
00731     m_py[i]   = mdcTrk->py();
00732     m_pz[i]   = mdcTrk->pz();
00733     m_p[i]    = mdcTrk->p();
00734     m_theta[i]=mdcTrk->theta();
00735     m_phi[i]=mdcTrk->phi();
00736     mdcKalTrk->setPidType(RecMdcKalTrack::pion);
00737     double ptrk = mdcKalTrk->p() ;
00738     m_kal_vx0[i]    = mdcKalTrk->x();
00739     m_kal_vy0[i]    = mdcKalTrk->y();
00740     m_kal_vz0[i]    = mdcKalTrk->z();
00741 
00742 
00743     m_kal_px[i]   = mdcKalTrk->px();
00744     m_kal_py[i]   = mdcKalTrk->py();
00745     m_kal_pz[i]   = mdcKalTrk->pz();
00746     m_kal_p[i]    = mdcKalTrk->p(); 
00747     px_had+=mdcKalTrk->px();
00748     py_had+=mdcKalTrk->py();
00749     pz_had+=mdcKalTrk->pz();
00750     pt_had+=mdcKalTrk->pxy();
00751     p_had+=mdcKalTrk->p();
00752     e_had+=sqrt(mdcKalTrk->p()*mdcKalTrk->p()+xmass[2]*xmass[2]);
00753     if(m_useDEDX&&(*itTrk)->isMdcDedxValid()) { // DEDX information 
00754 
00755       RecMdcDedx* dedxTrk = (*itTrk)->mdcDedx();
00756       m_probPH[i]= dedxTrk->probPH();
00757       m_normPH[i]= dedxTrk->normPH();
00758       
00759       m_chie[i]  = dedxTrk->chiE();
00760       m_chimu[i] = dedxTrk->chiMu();
00761       m_chipi[i] = dedxTrk->chiPi();
00762       m_chik[i]  = dedxTrk->chiK();
00763       m_chip[i]  = dedxTrk->chiP();
00764       m_ghit[i]  = dedxTrk->numGoodHits();
00765       m_thit[i]  = dedxTrk->numTotalHits();
00766     }
00767     
00768     if((*itTrk)->isEmcShowerValid()) {
00769       
00770       RecEmcShower *emcTrk = (*itTrk)->emcShower();
00771       m_e_emc[i] = emcTrk->energy();
00772       m_phi_emc[i] = emcTrk->phi();
00773       m_theta_emc[i] = emcTrk->theta();
00774       if(m_e_emc[i]>e_max){
00775         p_max=m_p[i];
00776         e_max=m_e_emc[i];
00777       }      
00778     }
00779  
00780  
00781     
00782     if(m_useMUC&&(*itTrk)->isMucTrackValid()){
00783       
00784       RecMucTrack* mucTrk = (*itTrk)->mucTrack()   ;
00785       m_nhit_muc[i] = mucTrk->numHits() ; 
00786       m_nlay_muc[i] = mucTrk->numLayers()    ;
00787 
00788     }    
00789   
00790     
00791     if(m_useTOF&&(*itTrk)->isTofTrackValid()) {  //TOF information
00792   
00793       SmartRefVector<RecTofTrack> tofTrkCol = (*itTrk)->tofTrack();
00794       
00795       SmartRefVector<RecTofTrack>::iterator iter_tof = tofTrkCol.begin();
00796 
00797       for(;iter_tof != tofTrkCol.end(); iter_tof++ ) { 
00798         TofHitStatus *status = new TofHitStatus; 
00799         status->setStatus((*iter_tof)->status());
00800 
00801         if(!(status->is_barrel())){//endcap
00802           if( (status->is_cluster()) )  m_t_etof[i]  = (*iter_tof)->tof();
00803           if( !(status->is_counter()) ){if(status) delete status; continue;} // ? 
00804           if( status->layer()!=0 ){if(status) delete status; continue;}//layer1
00805           double path=(*iter_tof)->path(); // ? 
00806           double tof  = (*iter_tof)->tof();
00807           double ph   = (*iter_tof)->ph();
00808           double rhit = (*iter_tof)->zrhit();
00809           double qual = 0.0 + (*iter_tof)->quality();
00810           double cntr = 0.0 + (*iter_tof)->tofID();
00811           double texp[5];
00812           for(int j = 0; j < 5; j++) {
00813             double gb = ptrk/xmass[j];
00814             double beta = gb/sqrt(1+gb*gb);
00815             texp[j] = path /beta/velc;
00816           }
00817           
00818           m_qual_etof[i]  = qual;
00819           m_tof_etof[i]   = tof ; 
00820         }
00821         else {//barrel
00822           if( (status->is_cluster()) )  m_t_btof[i]  = (*iter_tof)->tof();
00823           if( !(status->is_counter()) ){if(status) delete status; continue;} // ? 
00824           if(status->layer()==1){ //layer1
00825             double path=(*iter_tof)->path(); // ? 
00826             double tof  = (*iter_tof)->tof();
00827             double ph   = (*iter_tof)->ph();
00828             double rhit = (*iter_tof)->zrhit();
00829             double qual = 0.0 + (*iter_tof)->quality();
00830             double cntr = 0.0 + (*iter_tof)->tofID();
00831             double texp[5];
00832             for(int j = 0; j < 5; j++) {
00833               double gb = ptrk/xmass[j];
00834               double beta = gb/sqrt(1+gb*gb);
00835               texp[j] = path /beta/velc;
00836             }
00837             
00838             m_qual_btof1[i]  = qual;
00839             m_tof_btof1[i]   = tof ; 
00840           }
00841 
00842           if(status->layer()==2){//layer2
00843             double path=(*iter_tof)->path(); // ? 
00844             double tof  = (*iter_tof)->tof();
00845             double ph   = (*iter_tof)->ph();
00846             double rhit = (*iter_tof)->zrhit();
00847             double qual = 0.0 + (*iter_tof)->quality();
00848             double cntr = 0.0 + (*iter_tof)->tofID();
00849             double texp[5];
00850             for(int j = 0; j < 5; j++) {
00851               double gb = ptrk/xmass[j];
00852               double beta = gb/sqrt(1+gb*gb);
00853               texp[j] = path /beta/velc;
00854             }
00855  
00856             m_qual_btof2[i]  = qual;
00857             m_tof_btof2[i]   = tof ; 
00858           } 
00859         }
00860         if(status) delete status;
00861       }
00862 
00863 
00864 
00865     }
00866     
00867   }
00868 
00869   //tag
00870 
00871  
00872   m_hadrontag=0;
00873   FastVertexFit* fvtxfit = FastVertexFit::instance();
00874   if(m_ngch != 2  )m_hadrontag=11111;
00875   else if(m_ngch == 2 &&nCharge==0) {  
00876     EvtRecTrackIterator  itTrk1; 
00877     
00878     EvtRecTrackIterator  itTrk2; 
00879     
00880     RecMdcKalTrack *mdcKalTrk1;
00881 
00882     RecMdcKalTrack *mdcKalTrk2;
00883         
00884     HepLorentzVector p41e,p42e,p4le;
00885     Hep3Vector p31e,p32e,p3le;
00886     HepLorentzVector p41m,p42m,p4lm;
00887     Hep3Vector p31m,p32m,p3lm;  
00888     HepLorentzVector p41h,p42h,p4lh;
00889     Hep3Vector p31h,p32h,p3lh;  
00890     WTrackParameter w1_ini,w1_ve,w1_vmu;
00891     WTrackParameter w2_ini,w2_ve,w2_vmu;
00892     int iip=0;
00893     int iim=0;
00894     for(int i = 0; i < m_ngch; i++ ){  
00895       if(m_charge[i]>0)itTrk1= evtRecTrkCol->begin() + iGood[i];
00896       if(m_charge[i]<0)    itTrk2= evtRecTrkCol->begin() + iGood[i];  
00897       if(m_charge[i]>0)    mdcKalTrk1 = (*itTrk1)->mdcKalTrack(); 
00898       if(m_charge[i]<0)    mdcKalTrk2 = (*itTrk2)->mdcKalTrack();
00899       if(m_charge[i]>0)iip=i;
00900       if(m_charge[i]<0)iim=i;     
00901 
00902       
00903         
00904         if(m_charge[i]>0)      w1_ini=WTrackParameter (xmass[2],mdcKalTrk1->helix(),mdcKalTrk1->err());
00905         if(m_charge[i]<0)      w2_ini=WTrackParameter (xmass[2],mdcKalTrk2 ->helix(),mdcKalTrk2 ->err());       
00906         if(m_charge[i]>0)      p41h =w1_ini.p();
00907         if(m_charge[i]<0)      p42h =w2_ini.p();
00908         if(m_charge[i]>0)      p41h.boost(u_cms);               
00909         if(m_charge[i]<0)      p42h.boost(u_cms);       
00910         if(m_charge[i]>0)      p31h = p41h.vect();
00911         if(m_charge[i]<0)      p32h = p42h.vect();                              
00912  
00913       if(m_charge[i]>0)      p41e =w1_ini.p();
00914       if(m_charge[i]<0)      p42e =w2_ini.p();  
00915       if(m_charge[i]>0)      p41e.boost(u_cms);         
00916       if(m_charge[i]<0)      p42e.boost(u_cms);         
00917       if(m_charge[i]>0)      p31e = p41e.vect();
00918       if(m_charge[i]<0)      p32e = p42e.vect();       
00919       
00920       
00921                 
00922      
00923         if(m_charge[i]>0){
00924           m_px_cms_ep=p41h.px();
00925           m_py_cms_ep=p41h.py();
00926           m_pz_cms_ep=p41h.pz();
00927           m_e_cms_ep=p41h.e();
00928         }
00929         if(m_charge[i]<0){
00930           m_px_cms_em=p42h.px();
00931           m_py_cms_em=p42h.py();
00932           m_pz_cms_em=p42h.pz();
00933           m_e_cms_em=p42h.e();
00934         }
00935       
00936     }
00937      double e01=m_e_emc[iip];//m_e_cms_ep;
00938     double e02=m_e_emc[iim];//m_e_cms_em;
00939 
00940   int ilarge=( e01 > e02 ) ?iip:iim;
00941 
00942   p4lh=( e01 > e02 ) ?p41h:p42h;
00943 
00944   p3lh=( e01 > e02 ) ?p31h:p32h;
00945    
00946   double acollh=   180.-p31h.angle(p32h)* 180.0 / CLHEP::pi;
00947   double acoplh=   180.- (p31h.perpPart()).angle(p32h.perpPart ())* 180.0 / CLHEP::pi;
00948   double poeb1h=p41h.rho()/beamEnergy;
00949   double poeb2h=p42h.rho()/beamEnergy;
00950   double poeblh=p4lh.rho()/beamEnergy;
00951     
00952   double eoeb1=m_e_emc[iip]/beamEnergy;         
00953   double eoeb2=m_e_emc[iim]/beamEnergy; 
00954   double eop1=0;
00955   if(p41h.rho()>0)eop1=m_e_emc[iip]/p41h.rho();         
00956   double eop2=0;
00957   if(p42h.rho()>0)eop2=m_e_emc[iim]/p42h.rho();  
00958   
00959   double eope1=0;
00960   if(p41e.rho()>0)eope1=m_e_emc[iip]/p41e.rho();        
00961   double eope2=0;
00962   if(p42e.rho()>0)eope2=m_e_emc[iim]/p42e.rho(); 
00963   double eopm1=0;
00964   if(p41m.rho()>0)eopm1=m_e_emc[iip]/p41m.rho();        
00965   double eopm2=0;
00966   if(p42m.rho()>0)eopm2=m_e_emc[iim]/p42m.rho();
00967   
00968   double exoeb1=  m_e_emc[iip]*sin(m_theta_emc[iip])*cos(m_phi_emc[iip])/beamEnergy;
00969   double eyoeb1=  m_e_emc[iip]*sin(m_theta_emc[iip])*sin(m_phi_emc[iip])/beamEnergy;    
00970   double ezoeb1=m_e_emc[iip]*cos(m_theta_emc[iip])/beamEnergy;
00971   double etoeb1=m_e_emc[iip]*sin(m_theta_emc[iip])/beamEnergy;
00972   
00973   double exoeb2=  m_e_emc[iim]*sin(m_theta_emc[iim])*cos(m_phi_emc[iim])/beamEnergy;
00974   double eyoeb2=  m_e_emc[iim]*sin(m_theta_emc[iim])*sin(m_phi_emc[iim])/beamEnergy;    
00975   double ezoeb2=m_e_emc[iim]*cos(m_theta_emc[iim])/beamEnergy;
00976   double etoeb2=m_e_emc[iim]*sin(m_theta_emc[iim])/beamEnergy;          
00977   
00978   double eoebl=m_e_emc[ilarge]/beamEnergy;      
00979   
00980   double eopl=0;
00981   if(p4lh.rho()>0)eopl=m_e_emc[ilarge]/p4lh.rho();      
00982   
00983   double exoebl=  m_e_emc[ilarge]*sin(m_theta_emc[ilarge])*cos(m_phi_emc[ilarge])/beamEnergy;
00984   double eyoebl=  m_e_emc[ilarge]*sin(m_theta_emc[ilarge])*sin(m_phi_emc[ilarge])/beamEnergy;           
00985   double ezoebl=m_e_emc[ilarge]*cos(m_theta_emc[ilarge])/beamEnergy;
00986   double etoebl=m_e_emc[ilarge]*sin(m_theta_emc[ilarge])/beamEnergy;
00987   
00988   int mucinfo1=(m_nhit_muc[iip]>=2&&m_nlay_muc[iip]>=2 ) ? 1 : 0;
00989   int mucinfo2=(m_nhit_muc[iim]>=2&&m_nlay_muc[iim]>=2) ? 1 : 0;
00990   int mucinfol=(m_nhit_muc[ilarge]>=2&&m_nlay_muc[ilarge]>=2) ? 1 : 0;
00991   int pidel=( e01 > e02 ) ? m_nep : m_nem;      
00992   int pidmul=( e01 > e02 ) ? m_nmup : m_nmum;                   
00993   double deltatof=0.0;
00994   
00995 
00996 //   if(m_tof_btof2[iip]*m_tof_btof2[iim]!=0) deltatof+=fabs(m_tof_btof2[iip]-m_tof_btof2[iim]);
00997 //   if(m_tof_btof1[iip]*m_tof_btof1[iim]!=0)deltatof+=fabs(m_tof_btof1[iip]-m_tof_btof1[iim]);
00998 //   if(m_tof_etof[iip]*m_tof_etof[iim]!=0)deltatof+=fabs(m_tof_etof[iip]-m_tof_etof[iim]);
00999   
01000     //    if(!m_endcap)  {
01001       if(m_t_btof[iip]*m_t_btof[iim]!=0) deltatof=fabs(m_t_btof[iip]-m_t_btof[iim]);
01002       //    }
01003       //    else      {
01004       //      if(m_t_etof[iip]*m_t_etof[iim]!=0)deltatof=fabs(m_t_etof[iip]-m_t_etof[iim]);
01005       //    }   
01006 
01007 
01008 
01009 
01010  
01011 
01012   //   if (acollh>m_acoll_h_cut)m_hadrontag+=1;
01013     if ((acollh>m_acoll_h_cut)||(!m_useEMC||m_nGam>=m_ngam_h_cut))m_hadrontag+=11;
01014     if (!m_useTOF||(deltatof<m_dtof_h_cut))m_hadrontag+=100;
01015     if (!m_useMUC||(mucinfo1==0||mucinfo2==0))m_hadrontag+=1000; 
01016     if (!m_useEMC||(fabs(eope1-1)>m_eop_h_cut&&fabs(eope2-1)>m_eop_h_cut))m_hadrontag+=10000;   
01017 
01018  
01019 
01020     m_deltatof=deltatof;                
01021     m_eop1=eope1;
01022     m_eop2=eope2;
01023     m_eoeb1=eoeb1;
01024     m_eoeb2=eoeb2;
01025     
01026     m_etoeb1=etoeb1;
01027     m_etoeb2=etoeb2;
01028     m_mucinfo1=mucinfo1;
01029     m_mucinfo2=mucinfo2;
01030 
01031 
01032 
01033 
01034  
01035       m_acoll=acollh; 
01036       m_acopl=acoplh;
01037       m_poeb1=poeb1h;
01038       m_poeb2=poeb2h;
01039       m_cos_ep=p41h.cosTheta ();
01040       m_cos_em=p42h.cosTheta ();
01041       m_mass_ee=(p41h+p42h).m();
01042 
01043  
01044 
01045     
01046   
01047   }
01048   double br=0;
01049   double bz=0;
01050   double thr=0;
01051   double evis=0;
01052   WTrackParameter w1_vh,w2_vh,w3_vh;
01053   
01054     br=sqrt((px_had+ex_gam)*(px_had+ex_gam)+
01055             (py_had+ey_gam)*(py_had+ey_gam))/(pt_had+et_gam);
01056     bz= fabs(pz_had+ez_gam)/(p_had+e_gam);
01057     thr=p_had+e_gam;
01058     evis=e_had+e_gam;
01059     if(!m_useEMC||((br<m_br_h_cut)&&(bz<m_bz_h_cut)))m_hadrontag+=100000;
01060     if(!m_useEMC||thr/beamEnergy>m_thr_h_cut) m_hadrontag+=1000000;
01061     m_emax=egam_ext;
01062     m_esum=e_gam;
01063     m_br=br;
01064     m_bz=bz;
01065     m_thr=thr;
01066     m_evis=evis;        
01067     log << MSG::INFO << "m_hadrontag= "<<m_hadrontag << endreq;   
01068 //  std::cout<<"m_sbhabhatag= "<<m_sbhabhatag<<std::endl;
01069 //  std::cout<<"m_sdimutag= "<<m_sdimutag<<std::endl;
01070 //  std::cout<<"m_hadrontag= "<<m_hadrontag<<std::endl;
01071   if(m_hadrontag==1111111){
01072     nhadron++; 
01073     if(m_writentuple)m_tuple1 -> write();
01074   for(int i = 0; i < m_ngch; i++ ){
01075   m_ha_costheta->Fill(cos(m_theta[i]));
01076    m_ha_phi->Fill(m_phi[i]);
01077   }
01078     if(m_ngch >= 3){
01079       RecMdcKalTrack *ktrk0 =   (*(evtRecTrkCol->begin() + iGood[0]))->mdcKalTrack();
01080       RecMdcKalTrack *ktrk1 =   (*(evtRecTrkCol->begin() + iGood[1]))->mdcKalTrack();
01081       RecMdcKalTrack *ktrk2 =   (*(evtRecTrkCol->begin() + iGood[2]))->mdcKalTrack();     
01082 //       w1_vh=WTrackParameter (xmass[2],ktrk0->getZHelix(),ktrk0->getZError());
01083 //       w2_vh=WTrackParameter (xmass[2],ktrk1->getZHelix(),ktrk1->getZError());
01084 //       w3_vh=WTrackParameter (xmass[2],ktrk2->getZHelix(),ktrk2->getZError());
01085 //       vtxfit->init();
01086 //       vtxfit->AddTrack(0, w1_vh);
01087 //       vtxfit->AddTrack(1, w2_vh);
01088 //       vtxfit->AddTrack(2, w3_vh);
01089 //       vtxfit->AddVertex(0, vxpar,0, 1);
01090 //        if(vtxfit->Fit(0)) {
01091 //          m_ha_vx->Fill((vtxfit->vx(0)).x());
01092 //          m_ha_vy->Fill((vtxfit->vx(0)).y());
01093 //          m_ha_vz->Fill((vtxfit->vx(0)).z());
01094 //        }
01095 
01096       //ktrk0->setPidType(RecMdcKalTrack::pion);
01097       //        ktrk1->setPidType(RecMdcKalTrack::pion);
01098       //        ktrk2->setPidType(RecMdcKalTrack::pion);
01099         fvtxfit->init();
01100         fvtxfit->addTrack(0,ktrk0->helix(), ktrk0->err());
01101         fvtxfit->addTrack(1,ktrk1->helix(), ktrk1->err());
01102         fvtxfit->addTrack(2,ktrk2->helix(), ktrk2->err());
01103         if(fvtxfit->Fit()) {
01104           m_ha_vx->Fill((fvtxfit->Vx())[0]);
01105           m_ha_vy->Fill((fvtxfit->Vx())[1]);
01106           m_ha_vz->Fill((fvtxfit->Vx())[2]);
01107         }
01108         
01109         
01110     }
01111     
01112      m_ha_br->Fill(br);
01113     m_ha_bz->Fill(bz); 
01114     m_ha_pmax->Fill(p_max);
01115     m_ha_emax->Fill(e_max);
01116     m_ha_etot->Fill(evis);
01117     m_ha_nneu->Fill(nGam);
01118     m_ha_nchg->Fill(m_ngch);
01119     setFilterPassed(true);
01120     if(m_ngch==0){
01121       n0prong++;
01122   
01123     }  
01124     if(m_ngch==2&&nCharge == 0){
01125       n2prong++;
01126   
01127     }
01128     if(m_ngch==4&&nCharge == 0){
01129       n4prong++;
01130   
01131     }
01132 
01133     if(m_ngch>4){
01134       ng4prong++;
01135   
01136     }
01137 
01138   }
01139 
01140 
01141 
01142 
01143 
01144 
01145     
01146 
01147 
01148 
01149   
01150 
01151 
01152 
01153 
01154   return StatusCode::SUCCESS;
01155 
01156  
01157 
01158   
01159  
01160 
01161 }

StatusCode DQASelHadron::finalize (  ) 

Definition at line 1164 of file DQASelHadron.cxx.

References Bes_Common::INFO, and msgSvc().

01164                                   {
01165 
01166   MsgStream log(msgSvc(), name());
01167   log << MSG::INFO << "in finalize()" << endmsg;
01168   return StatusCode::SUCCESS;
01169 }

StatusCode DQASelHadron::initialize (  ) 

Definition at line 109 of file DQASelHadron.cxx.

References calibUtil::ERROR, Bes_Common::INFO, m_a20Moment, m_a42Moment, m_acoll, m_acopl, m_br, m_bz, m_charge, m_chie, m_chik, m_chimu, m_chip, m_chipi, m_cos_em, m_cos_ep, m_dE, m_delang, m_delphi, m_deltatof, m_delthe, m_dphi, m_dtheta, m_dx, m_dy, m_dz, m_e3x3, m_e5x5, m_e_cms_em, m_e_cms_ep, m_e_emc, m_emax, m_energy, m_eoeb1, m_eoeb2, m_eop1, m_eop2, m_eSeed, m_esum, m_etoeb1, m_etoeb2, m_evis, m_getEAll, m_getTime, m_ghit, m_ha_br, m_ha_bz, m_ha_costheta, m_ha_emax, m_ha_etot, m_ha_nchg, m_ha_nneu, m_ha_phi, m_ha_pmax, m_ha_vx, m_ha_vy, m_ha_vz, m_hadrontag, m_kal_p, m_kal_px, m_kal_py, m_kal_pz, m_kal_vx0, m_kal_vy0, m_kal_vz0, m_latMoment, m_mass_ee, m_module, m_mucinfo1, m_mucinfo2, m_ncharg, m_nem, m_nemchits, m_nep, m_nGam, m_ngch, m_nhit_muc, m_nkm, m_nkp, m_nlay_muc, m_nmum, m_nmup, m_nneu, m_normPH, m_np, m_npart, m_npb, m_npim, m_npip, m_nSeed, m_p, m_phi, m_phi_emc, m_pidchiDedx, m_pidchiTof1, m_pidchiTof2, m_pidcode, m_pidprob, m_poeb1, m_poeb2, m_probPH, m_px, m_px_cms_em, m_px_cms_ep, m_py, m_py_cms_em, m_py_cms_ep, m_pz, m_pz_cms_em, m_pz_cms_ep, m_qual_btof1, m_qual_btof2, m_qual_etof, m_rec, m_run, m_secondMoment, m_t_btof, m_t_etof, m_te_btof1, m_te_btof2, m_te_etof, m_theta, m_theta_emc, m_thistsvc, m_thit, m_thr, m_tk_btof1, m_tk_btof2, m_tk_etof, m_tmu_btof1, m_tmu_btof2, m_tmu_etof, m_tof_btof1, m_tof_btof2, m_tof_etof, m_tp_btof1, m_tp_btof2, m_tp_etof, m_tpi_btof1, m_tpi_btof2, m_tpi_etof, m_tuple1, m_vx0, m_vy0, m_vz0, m_x, m_y, m_z, msgSvc(), and ntupleSvc().

00109                                    {
00110   MsgStream log(msgSvc(), name());
00111 
00112   log << MSG::INFO << "in initialize()" << endmsg;
00113   StatusCode status;
00114   status = service("THistSvc", m_thistsvc);
00115   if(status.isFailure() ){
00116     log << MSG::INFO << "Unable to retrieve pointer to THistSvc" << endreq;
00117     return status;
00118   }
00119 
00120 
00121   m_ha_costheta = new TH1F( "PHY_HAD_SUM_costheta", "PHY_HAD_SUM_costheta", 100, -1, 1 );
00122   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_costheta", m_ha_costheta);
00123      m_ha_phi = new TH1F( "PHY_HAD_SUM_phi", "PHY_HAD_SUM_phi", 128, -3.2, 3.2 );
00124   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_phi", m_ha_phi);
00125      m_ha_pmax = new TH1F( "PHY_HAD_SUM_pmax", "PHY_HAD_SUM_pmax", 100, 0, 2 );
00126   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_pmax", m_ha_pmax);
00127      m_ha_emax = new TH1F( "PHY_HAD_SUM_emax", "PHY_HAD_SUM_emax", 100, 0, 2 );
00128   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_emax", m_ha_emax);
00129      m_ha_etot = new TH1F( "PHY_HAD_SUM_etot", "PHY_HAD_SUM_etot", 100, 0, 4 );
00130   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_etot", m_ha_etot);
00131      m_ha_br = new TH1F( "PHY_HAD_SUM_br", "PHY_HAD_SUM_br", 100, 0, 2 );
00132   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_br", m_ha_br);
00133      m_ha_bz = new TH1F( "PHY_HAD_SUM_bz", "PHY_HAD_SUM_bz", 100, 0, 2 );
00134   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_bz", m_ha_bz);
00135      m_ha_nneu = new TH1I( "PHY_HAD_SUM_nneu", "PHY_HAD_SUM_nneu", 20, 0, 20 );
00136   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_nneu", m_ha_nneu);
00137      m_ha_nchg = new TH1I( "PHY_HAD_SUM_nchg", "PHY_HAD_SUM_nchg", 20, 0, 20 );
00138   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_nchg", m_ha_nchg);
00139  
00140      m_ha_vx = new TH1F( "PHY_HAD_FLS_vx", "PHY_HAD_FLS_vx", 100, -1., 1.); 
00141   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_vx", m_ha_vx);
00142      m_ha_vy = new TH1F( "PHY_HAD_FLS_vy", "PHY_HAD_FLS_vy", 100, -1., 1.);
00143   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_vy", m_ha_vy);
00144      m_ha_vz = new TH1F( "PHY_HAD_FLS_vz", "PHY_HAD_FLS_vz", 100, -10.0, 10.);
00145   status = m_thistsvc->regHist("/DQAHist/Hadron/ha_vz", m_ha_vz);
00146 
00147 
00148 
00149   
00150   
00151   
00152 NTuplePtr nt1(ntupleSvc(), "DQAFILE/Hadron");
00153 if ( nt1 ) m_tuple1 = nt1;
00154 else {
00155   m_tuple1 = ntupleSvc()->book ("DQAFILE/Hadron", CLID_ColumnWiseTuple, "N-Tuple");
00156   if ( m_tuple1 )    {
00157     status = m_tuple1->addItem ("run",   m_run);
00158     status = m_tuple1->addItem ("rec", m_rec);
00159     status = m_tuple1->addItem ("Nchrg",  m_ncharg);
00160     status = m_tuple1->addItem ("Nneu",   m_nneu,0,40);
00161     status = m_tuple1->addItem ("NGch",   m_ngch, 0, 40);
00162     status = m_tuple1->addItem ("NGam",   m_nGam);
00163 
00164 
00165     status = m_tuple1->addItem ("hadrontag",   m_hadrontag);
00166 
00167     status = m_tuple1->addItem ("br",  m_br);
00168     status = m_tuple1->addItem ("bz",  m_bz);
00169     status = m_tuple1->addItem ("evis",  m_evis);
00170     status = m_tuple1->addItem ("thr",  m_thr);
00171 
00172       status = m_tuple1->addItem ("acoll",  m_acoll);
00173       status = m_tuple1->addItem ("acopl",  m_acopl);
00174       status = m_tuple1->addItem ("deltatof",  m_deltatof);
00175       status = m_tuple1->addItem ("eop1",  m_eop1);
00176       status = m_tuple1->addItem ("eop2",  m_eop2);
00177       status = m_tuple1->addItem ("eoeb1",  m_eoeb1);
00178       status = m_tuple1->addItem ("eoeb2",  m_eoeb2);
00179       status = m_tuple1->addItem ("poeb1",  m_poeb1);
00180       status = m_tuple1->addItem ("poeb2",  m_poeb2);
00181       status = m_tuple1->addItem ("etoeb1",  m_etoeb1);
00182       status = m_tuple1->addItem ("etoeb2",  m_etoeb2);
00183       status = m_tuple1->addItem ("mucinfo1",  m_mucinfo1);
00184       status = m_tuple1->addItem ("mucinfo2",  m_mucinfo2);
00185 
00186     status = m_tuple1->addIndexedItem ("delang",m_nneu,  m_delang);
00187     status = m_tuple1->addIndexedItem ("delphi",m_nneu,  m_delphi);
00188     status = m_tuple1->addIndexedItem ("delthe",m_nneu,  m_delthe);
00189     status = m_tuple1->addIndexedItem ("npart",m_nneu,   m_npart);
00190     status = m_tuple1->addIndexedItem ("nemchits",m_nneu,   m_nemchits);
00191     status = m_tuple1->addIndexedItem ("module",m_nneu,   m_module);
00192     status = m_tuple1->addIndexedItem ("x",m_nneu,   m_x);
00193     status = m_tuple1->addIndexedItem ("y",m_nneu,   m_y);   
00194     status = m_tuple1->addIndexedItem ("z",m_nneu,   m_z);
00195     status = m_tuple1->addIndexedItem ("px",m_nneu,   m_px);
00196     status = m_tuple1->addIndexedItem ("py",m_nneu,   m_py);   
00197     status = m_tuple1->addIndexedItem ("pz",m_nneu,   m_pz);
00198     status = m_tuple1->addIndexedItem ("theta",m_nneu,   m_theta);
00199     status = m_tuple1->addIndexedItem ("phi",m_nneu,   m_phi);
00200     status = m_tuple1->addIndexedItem ("dx",m_nneu,   m_dx);
00201     status = m_tuple1->addIndexedItem ("dy",m_nneu,   m_dy);
00202     status = m_tuple1->addIndexedItem ("dz",m_nneu,   m_dz);
00203     status = m_tuple1->addIndexedItem ("dtheta",m_nneu,   m_dtheta);
00204     status = m_tuple1->addIndexedItem ("dphi",m_nneu,   m_dphi);
00205     status = m_tuple1->addIndexedItem ("energy",m_nneu,   m_energy);
00206     status = m_tuple1->addIndexedItem ("dE",m_nneu,   m_dE);
00207     status = m_tuple1->addIndexedItem ("eSeed",m_nneu,   m_eSeed);
00208     status = m_tuple1->addIndexedItem ("nSeed",m_nneu,   m_nSeed);
00209     status = m_tuple1->addIndexedItem ("e3x3",m_nneu,   m_e3x3);   
00210     status = m_tuple1->addIndexedItem ("e5x5",m_nneu,   m_e5x5);
00211     status = m_tuple1->addIndexedItem ("secondMoment",m_nneu,   m_secondMoment); 
00212     status = m_tuple1->addIndexedItem ("latMoment",m_nneu,   m_latMoment);
00213     status = m_tuple1->addIndexedItem ("a20Moment",m_nneu,   m_a20Moment);
00214     status = m_tuple1->addIndexedItem ("a42Moment",m_nneu,   m_a42Moment);
00215     status = m_tuple1->addIndexedItem ("getTime",m_nneu,   m_getTime);   
00216     status = m_tuple1->addIndexedItem ("getEAll",m_nneu,   m_getEAll);
00217 
00218    
00219 
00220     status = m_tuple1->addIndexedItem("charge", m_ngch, m_charge);
00221     status = m_tuple1->addIndexedItem ("vx",    m_ngch, m_vx0);
00222     status = m_tuple1->addIndexedItem ("vy",    m_ngch, m_vy0);
00223     status = m_tuple1->addIndexedItem ("vz",    m_ngch, m_vz0);
00224 
00225 
00226     status = m_tuple1->addIndexedItem ("px",    m_ngch, m_px) ;
00227     status = m_tuple1->addIndexedItem ("py",    m_ngch, m_py) ;
00228     status = m_tuple1->addIndexedItem ("pz",    m_ngch, m_pz) ;
00229     status = m_tuple1->addIndexedItem ("p",     m_ngch, m_p)  ;
00230 
00231 
00232 
00233     status = m_tuple1->addIndexedItem ("kal_vx",    m_ngch, m_kal_vx0);
00234     status = m_tuple1->addIndexedItem ("kal_vy",    m_ngch, m_kal_vy0);
00235     status = m_tuple1->addIndexedItem ("kal_vz",    m_ngch, m_kal_vz0);
00236 
00237 
00238     status = m_tuple1->addIndexedItem ("kal_px",    m_ngch, m_kal_px) ;
00239     status = m_tuple1->addIndexedItem ("kal_py",    m_ngch, m_kal_py) ;
00240     status = m_tuple1->addIndexedItem ("kal_pz",    m_ngch, m_kal_pz) ;
00241     status = m_tuple1->addIndexedItem ("kal_p",     m_ngch, m_kal_p)  ;
00242 
00243 
00244     status = m_tuple1->addIndexedItem ("probPH" , m_ngch, m_probPH) ;
00245     status = m_tuple1->addIndexedItem ("normPH" , m_ngch, m_normPH) ;
00246     status = m_tuple1->addIndexedItem ("chie"   , m_ngch, m_chie)   ;
00247     status = m_tuple1->addIndexedItem ("chimu"  , m_ngch, m_chimu)  ;
00248     status = m_tuple1->addIndexedItem ("chipi"  , m_ngch, m_chipi)  ;
00249     status = m_tuple1->addIndexedItem ("chik"   , m_ngch, m_chik)   ;
00250     status = m_tuple1->addIndexedItem ("chip"   , m_ngch, m_chip)   ;
00251     status = m_tuple1->addIndexedItem ("ghit"   , m_ngch, m_ghit)   ;
00252     status = m_tuple1->addIndexedItem ("thit"   , m_ngch, m_thit)   ;
00253 
00254     status = m_tuple1->addIndexedItem ("e_emc"   , m_ngch, m_e_emc)   ;
00255     status = m_tuple1->addIndexedItem ("phi_emc"   , m_ngch, m_phi_emc)   ;
00256     status = m_tuple1->addIndexedItem ("theta_emc"   , m_ngch, m_theta_emc)   ;
00257 
00258     status = m_tuple1->addIndexedItem ("nhit_muc"   , m_ngch, m_nhit_muc)   ;
00259     status = m_tuple1->addIndexedItem ("nlay_muc"   , m_ngch, m_nlay_muc)   ;      
00260     status = m_tuple1->addIndexedItem ("t_btof" , m_ngch,   m_t_btof  );
00261     status = m_tuple1->addIndexedItem ("t_etof" , m_ngch,   m_t_etof  );
00262     status = m_tuple1->addIndexedItem ("qual_etof" , m_ngch,   m_qual_etof  );
00263     status = m_tuple1->addIndexedItem ("tof_etof"  , m_ngch,   m_tof_etof   );
00264     status = m_tuple1->addIndexedItem ("te_etof"   , m_ngch,   m_te_etof    );
00265     status = m_tuple1->addIndexedItem ("tmu_etof"  , m_ngch,   m_tmu_etof   );
00266     status = m_tuple1->addIndexedItem ("tpi_etof"  , m_ngch,   m_tpi_etof   );
00267     status = m_tuple1->addIndexedItem ("tk_etof"   , m_ngch,   m_tk_etof    );
00268     status = m_tuple1->addIndexedItem ("tp_etof"   , m_ngch,   m_tp_etof    );
00269 
00270     status = m_tuple1->addIndexedItem ("qual_btof1", m_ngch,   m_qual_btof1 );
00271     status = m_tuple1->addIndexedItem ("tof_btof1" , m_ngch,   m_tof_btof1  );
00272     status = m_tuple1->addIndexedItem ("te_btof1"  , m_ngch,   m_te_btof1   );
00273     status = m_tuple1->addIndexedItem ("tmu_btof1" , m_ngch,   m_tmu_btof1  );
00274     status = m_tuple1->addIndexedItem ("tpi_btof1" , m_ngch,   m_tpi_btof1  );
00275     status = m_tuple1->addIndexedItem ("tk_btof1"  , m_ngch,   m_tk_btof1   );
00276     status = m_tuple1->addIndexedItem ("tp_btof1"  , m_ngch,   m_tp_btof1   );
00277 
00278     status = m_tuple1->addIndexedItem ("qual_btof2", m_ngch,   m_qual_btof2 );
00279     status = m_tuple1->addIndexedItem ("tof_btof2" , m_ngch,   m_tof_btof2  );
00280     status = m_tuple1->addIndexedItem ("te_btof2"  , m_ngch,   m_te_btof2   );
00281     status = m_tuple1->addIndexedItem ("tmu_btof2" , m_ngch,   m_tmu_btof2  );
00282     status = m_tuple1->addIndexedItem ("tpi_btof2" , m_ngch,   m_tpi_btof2  );
00283     status = m_tuple1->addIndexedItem ("tk_btof2"  , m_ngch,   m_tk_btof2   );
00284     status = m_tuple1->addIndexedItem ("tp_btof2"  , m_ngch,   m_tp_btof2   );
00285     status = m_tuple1->addIndexedItem ("pidcode"  , m_ngch,       m_pidcode);
00286     status = m_tuple1->addIndexedItem ("pidprob"  , m_ngch,       m_pidprob);
00287     status = m_tuple1->addIndexedItem ("pidchiDedx"  , m_ngch,       m_pidchiDedx);
00288     status = m_tuple1->addIndexedItem ("pidchiTof1"  , m_ngch,       m_pidchiTof1);
00289     status = m_tuple1->addIndexedItem ("pidchiTof2"  , m_ngch,       m_pidchiTof2);     
00290       
00291     status = m_tuple1->addItem ("px_cms_ep",   m_px_cms_ep); //momentum of electron+
00292     status = m_tuple1->addItem ("py_cms_ep",   m_py_cms_ep); //momentum of electron+
00293     status = m_tuple1->addItem ("pz_cms_ep",   m_pz_cms_ep); //momentum of electron+
00294     status = m_tuple1->addItem ("e_cms_ep",   m_e_cms_ep); //momentum of electron+
00295     status = m_tuple1->addItem ("cos_ep",   m_cos_ep); //momentum of electron+ 
00296     status = m_tuple1->addItem ("px_cms_em",   m_px_cms_em); //momentum of electron-
00297     status = m_tuple1->addItem ("py_cms_em",   m_py_cms_em); //momentum of electron-
00298     status = m_tuple1->addItem ("pz_cms_em",   m_pz_cms_em); //momentum of electron-
00299     status = m_tuple1->addItem ("e_cms_em",   m_e_cms_em); //momentum of electron-      
00300     status = m_tuple1->addItem ("cos_em",   m_cos_em); //momentum of electron-      
00301     status = m_tuple1->addItem ("mass_ee",   m_mass_ee); // 
00302     status = m_tuple1->addItem ("emax",   m_emax); // 
00303     status = m_tuple1->addItem ("esum",   m_esum); // 
00304     status = m_tuple1->addItem ( "npip", m_npip );
00305     status = m_tuple1->addItem ( "npim", m_npim );
00306     status = m_tuple1->addItem ( "nkp",  m_nkp );
00307     status = m_tuple1->addItem ( "nkm",  m_nkm );
00308     status = m_tuple1->addItem ( "np",   m_np   );
00309     status = m_tuple1->addItem ( "npb",  m_npb  );
00310 
00311     status = m_tuple1->addItem ( "nep", m_nep );
00312     status = m_tuple1->addItem ( "nem", m_nem );
00313     status = m_tuple1->addItem ( "nmup", m_nmup );
00314     status = m_tuple1->addItem ( "nmum", m_nmum );
00315 
00316   }
00317   else    { 
00318     log << MSG::ERROR << "    Cannot book N-tuple:" << long(m_tuple1) << endmsg;
00319     return StatusCode::FAILURE;
00320   }
00321 }
00322 
00323 //
00324 //--------end of book--------
00325 //
00326 
00327 log << MSG::INFO << "successfully return from initialize()" <<endmsg;
00328 return StatusCode::SUCCESS;
00329 
00330 
00331 
00332 
00333 }


Member Data Documentation

NTuple::Array<double> DQASelHadron::m_a20Moment [private]

Definition at line 146 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_a42Moment [private]

Definition at line 147 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_acoll [private]

Definition at line 107 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_acoll_h_cut [private]

Definition at line 79 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<double> DQASelHadron::m_acopl [private]

Definition at line 108 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_beamangle [private]

Definition at line 53 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<double> DQASelHadron::m_br [private]

Definition at line 104 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_br_h_cut [private]

Definition at line 85 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<double> DQASelHadron::m_bz [private]

Definition at line 105 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_bz_h_cut [private]

Definition at line 86 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<long> DQASelHadron::m_charge [private]

Definition at line 154 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_chie [private]

Definition at line 181 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_chik [private]

Definition at line 184 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_chimu [private]

Definition at line 182 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_chip [private]

Definition at line 185 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_chipi [private]

Definition at line 183 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_cos_em [private]

Definition at line 235 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_cos_ep [private]

Definition at line 230 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_coscut [private]

Definition at line 56 of file DQASelHadron.h.

Referenced by DQASelHadron().

NTuple::Array<double> DQASelHadron::m_dE [private]

Definition at line 140 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_delang [private]

Definition at line 122 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_delphi [private]

Definition at line 123 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_deltatof [private]

Definition at line 109 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_delthe [private]

Definition at line 124 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_dphi [private]

Definition at line 136 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_dtheta [private]

Definition at line 135 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_dtof_h_cut [private]

Definition at line 81 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_dx [private]

Definition at line 132 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_dy [private]

Definition at line 133 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_dz [private]

Definition at line 134 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_e3x3 [private]

Definition at line 142 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_e5x5 [private]

Definition at line 143 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_e_cms_em [private]

Definition at line 234 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_e_cms_ep [private]

Definition at line 229 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_e_emc [private]

Definition at line 189 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_ecms [private]

Definition at line 52 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<double> DQASelHadron::m_emax [private]

Definition at line 237 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_energy [private]

Definition at line 139 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_energyThreshold [private]

Definition at line 70 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<double> DQASelHadron::m_eoeb1 [private]

Definition at line 112 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_eoeb2 [private]

Definition at line 113 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_eop1 [private]

Definition at line 110 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_eop2 [private]

Definition at line 111 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_eop_h_cut [private]

Definition at line 82 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_eSeed [private]

Definition at line 141 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_esum [private]

Definition at line 238 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_etoeb1 [private]

Definition at line 116 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_etoeb2 [private]

Definition at line 117 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_etotal_h_cut [private]

Definition at line 83 of file DQASelHadron.h.

Referenced by DQASelHadron().

NTuple::Item<double> DQASelHadron::m_evis [private]

Definition at line 102 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_gammaPhiCut [private]

Definition at line 71 of file DQASelHadron.h.

Referenced by DQASelHadron().

double DQASelHadron::m_gammathCut [private]

Definition at line 74 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

double DQASelHadron::m_gammaThetaCut [private]

Definition at line 72 of file DQASelHadron.h.

Referenced by DQASelHadron().

double DQASelHadron::m_gammatlCut [private]

Definition at line 75 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

double DQASelHadron::m_gammaTrkCut [private]

Definition at line 73 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_getEAll [private]

Definition at line 149 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_getTime [private]

Definition at line 148 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_ghit [private]

Definition at line 186 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_br [private]

Definition at line 43 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_bz [private]

Definition at line 44 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_costheta [private]

Definition at line 36 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_emax [private]

Definition at line 39 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_etot [private]

Definition at line 40 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1I* DQASelHadron::m_ha_nchg [private]

Definition at line 42 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1I* DQASelHadron::m_ha_nneu [private]

Definition at line 41 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_phi [private]

Definition at line 37 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_pmax [private]

Definition at line 38 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_vx [private]

Definition at line 45 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_vy [private]

Definition at line 46 of file DQASelHadron.h.

Referenced by execute(), and initialize().

TH1F* DQASelHadron::m_ha_vz [private]

Definition at line 47 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_hadrontag [private]

Definition at line 100 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_p [private]

Definition at line 174 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_px [private]

Definition at line 171 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_py [private]

Definition at line 172 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_pz [private]

Definition at line 173 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_vx0 [private]

Definition at line 166 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_vy0 [private]

Definition at line 167 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_kal_vz0 [private]

Definition at line 168 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_latMoment [private]

Definition at line 145 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_mass_ee [private]

Definition at line 236 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<long> DQASelHadron::m_module [private]

Definition at line 127 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_mucinfo1 [private]

Definition at line 118 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_mucinfo2 [private]

Definition at line 119 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_ncharg [private]

Definition at line 96 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nem [private]

Definition at line 246 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<long> DQASelHadron::m_nemchits [private]

Definition at line 128 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nep [private]

Definition at line 245 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nGam [private]

Definition at line 99 of file DQASelHadron.h.

Referenced by execute(), and initialize().

int DQASelHadron::m_ngam_h_cut [private]

Definition at line 84 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Item<long> DQASelHadron::m_ngch [private]

Definition at line 98 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_nhit_muc [private]

Definition at line 193 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nkm [private]

Definition at line 242 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Item<long> DQASelHadron::m_nkp [private]

Definition at line 241 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<float> DQASelHadron::m_nlay_muc [private]

Definition at line 194 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nmum [private]

Definition at line 248 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nmup [private]

Definition at line 247 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_nneu [private]

Definition at line 97 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_normPH [private]

Definition at line 180 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_np [private]

Definition at line 243 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<long> DQASelHadron::m_npart [private]

Definition at line 126 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_npb [private]

Definition at line 244 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Item<long> DQASelHadron::m_npim [private]

Definition at line 240 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Item<long> DQASelHadron::m_npip [private]

Definition at line 239 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<long> DQASelHadron::m_nSeed [private]

Definition at line 125 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_p [private]

Definition at line 163 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_phi [private]

Definition at line 138 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_phi_emc [private]

Definition at line 191 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_pidchiDedx [private]

Definition at line 222 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_pidchiTof1 [private]

Definition at line 223 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_pidchiTof2 [private]

Definition at line 224 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<long> DQASelHadron::m_pidcode [private]

Definition at line 220 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_pidprob [private]

Definition at line 221 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_poeb1 [private]

Definition at line 114 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_poeb2 [private]

Definition at line 115 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_poeb_h_cut [private]

Definition at line 80 of file DQASelHadron.h.

Referenced by DQASelHadron().

NTuple::Array<float> DQASelHadron::m_probPH [private]

Definition at line 179 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_px [private]

Definition at line 160 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_px_cms_em [private]

Definition at line 231 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_px_cms_ep [private]

Definition at line 226 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_py [private]

Definition at line 161 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_py_cms_em [private]

Definition at line 232 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_py_cms_ep [private]

Definition at line 227 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_pz [private]

Definition at line 162 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_pz_cms_em [private]

Definition at line 233 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_pz_cms_ep [private]

Definition at line 228 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_qual_btof1 [private]

Definition at line 204 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_qual_btof2 [private]

Definition at line 213 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_qual_etof [private]

Definition at line 196 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_rec [private]

Definition at line 95 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<long> DQASelHadron::m_run [private]

Definition at line 94 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_secondMoment [private]

Definition at line 144 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_t_btof [private]

Definition at line 211 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_t_etof [private]

Definition at line 212 of file DQASelHadron.h.

Referenced by execute(), and initialize().

bool DQASelHadron::m_tagHadron [private]

Definition at line 59 of file DQASelHadron.h.

NTuple::Array<double> DQASelHadron::m_te_btof1 [private]

Definition at line 206 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_te_btof2 [private]

Definition at line 215 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_te_etof [private]

Definition at line 198 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_theta [private]

Definition at line 137 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<float> DQASelHadron::m_theta_emc [private]

Definition at line 190 of file DQASelHadron.h.

Referenced by execute(), and initialize().

ITHistSvc* DQASelHadron::m_thistsvc [private]

Definition at line 34 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<float> DQASelHadron::m_thit [private]

Definition at line 187 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Item<double> DQASelHadron::m_thr [private]

Definition at line 103 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_thr_h_cut [private]

Definition at line 87 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_tk_btof1 [private]

Definition at line 209 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tk_btof2 [private]

Definition at line 218 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tk_etof [private]

Definition at line 201 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tmu_btof1 [private]

Definition at line 207 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tmu_btof2 [private]

Definition at line 216 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tmu_etof [private]

Definition at line 199 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tof_btof1 [private]

Definition at line 205 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_tof_btof2 [private]

Definition at line 214 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_tof_etof [private]

Definition at line 197 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_tp_btof1 [private]

Definition at line 210 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tp_btof2 [private]

Definition at line 219 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tp_etof [private]

Definition at line 202 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tpi_btof1 [private]

Definition at line 208 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tpi_btof2 [private]

Definition at line 217 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Array<double> DQASelHadron::m_tpi_etof [private]

Definition at line 200 of file DQASelHadron.h.

Referenced by initialize().

NTuple::Tuple* DQASelHadron::m_tuple1 [private]

Definition at line 93 of file DQASelHadron.h.

Referenced by execute(), and initialize().

bool DQASelHadron::m_useDEDX [private]

Definition at line 66 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

bool DQASelHadron::m_useEMC [private]

Definition at line 63 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

bool DQASelHadron::m_useEMConly [private]

Definition at line 67 of file DQASelHadron.h.

Referenced by DQASelHadron().

bool DQASelHadron::m_useMDC [private]

Definition at line 65 of file DQASelHadron.h.

Referenced by DQASelHadron().

bool DQASelHadron::m_useMUC [private]

Definition at line 64 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

bool DQASelHadron::m_usePID [private]

Definition at line 62 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

bool DQASelHadron::m_useTOF [private]

Definition at line 61 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

double DQASelHadron::m_vr0cut [private]

Definition at line 54 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_vx0 [private]

Definition at line 155 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_vy0 [private]

Definition at line 156 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_vz0 [private]

Definition at line 157 of file DQASelHadron.h.

Referenced by execute(), and initialize().

double DQASelHadron::m_vz0cut [private]

Definition at line 55 of file DQASelHadron.h.

Referenced by DQASelHadron().

bool DQASelHadron::m_writentuple [private]

Definition at line 50 of file DQASelHadron.h.

Referenced by DQASelHadron(), and execute().

NTuple::Array<double> DQASelHadron::m_x [private]

Definition at line 129 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_y [private]

Definition at line 130 of file DQASelHadron.h.

Referenced by execute(), and initialize().

NTuple::Array<double> DQASelHadron::m_z [private]

Definition at line 131 of file DQASelHadron.h.

Referenced by execute(), and initialize().


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