ValidRecMdcTrackAlg Class Reference

#include <ValidRecMdcTrackAlg.h>

List of all members.

Public Member Functions

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

Private Attributes

NTuple::Tuple * m_tuple1
NTuple::Item< long > g_hits
NTuple::Item< float > g_eventNo
NTuple::Item< float > g_runNo
NTuple::Item< float > g_track_id
NTuple::Item< float > g_phi0
NTuple::Item< float > g_kappa
NTuple::Item< float > g_tanl
NTuple::Item< float > g_p
NTuple::Item< float > g_dr
NTuple::Item< float > g_dz
NTuple::Item< float > g_chisq_of_fit
NTuple::Item< float > g_phi_terminal
NTuple::Item< float > g_number_of_hits
NTuple::Item< float > g_number_of_stereo_hits
NTuple::Item< double > g_px
NTuple::Item< double > g_py
NTuple::Item< double > g_pxy
NTuple::Item< double > g_pz
NTuple::Item< float > g_charge
NTuple::Item< float > g_stat
NTuple::Item< double > g_x
NTuple::Item< double > g_y
NTuple::Item< double > g_z
NTuple::Item< double > g_r
NTuple::Item< double > g_chi2
NTuple::Item< float > g_ndof
NTuple::Item< float > g_firstLayer
NTuple::Item< float > g_lastLayer
NTuple::Item< double > g_theta
NTuple::Item< double > g_phi
NTuple::Tuple * m_tuple2
NTuple::Item< float > g_hits_id
NTuple::Item< float > g_hits_ddl
NTuple::Item< float > g_hits_ddr
NTuple::Item< float > g_doca
NTuple::Item< float > g_hits_mdc_id
NTuple::Item< float > g_layer
NTuple::Item< float > g_wire
NTuple::Item< float > g_hits_tdc
NTuple::Item< float > g_hits_adc


Detailed Description

Definition at line 18 of file ValidRecMdcTrackAlg.h.


Constructor & Destructor Documentation

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

Definition at line 16 of file ValidRecMdcTrackAlg.cxx.

00016                                                                                         :
00017    Algorithm(name, pSvcLocator) {
00018    
00019     
00020     
00021    // m_tuple1 = 0;
00022    // m_tuple2 = 0;
00023     
00024 
00025 }


Member Function Documentation

StatusCode ValidRecMdcTrackAlg::execute (  ) 

Definition at line 150 of file ValidRecMdcTrackAlg.cxx.

References Bes_Common::DEBUG, calibUtil::ERROR, eventNo, Bes_Common::FATAL, g_charge, g_chi2, g_chisq_of_fit, g_doca, g_dr, g_dz, g_eventNo, g_firstLayer, g_hits, g_hits_adc, g_hits_ddl, g_hits_ddr, g_hits_id, g_hits_mdc_id, g_hits_tdc, g_kappa, g_lastLayer, g_layer, g_ndof, g_number_of_hits, g_number_of_stereo_hits, g_p, g_phi0, g_phi_terminal, g_px, g_pxy, g_py, g_pz, g_r, g_runNo, g_stat, g_tanl, g_track_id, g_wire, g_x, g_y, g_z, Bes_Common::INFO, MdcID::layer(), m_tuple1, m_tuple2, msgSvc(), runNo, and MdcID::wire().

00150                                         {
00151    MsgStream log(msgSvc(), name());
00152 
00153 
00154    int ntrk=0;
00155   
00156     SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader");
00157     if (!eventHeader) {
00158       log << MSG::FATAL << "Could not find Event Header" << endreq;
00159      return( StatusCode::SUCCESS);
00160       }
00161 
00162     log << MSG::INFO << "retrieved event: " << eventHeader->eventNumber()  << "  run: " <<  eventHeader->runNumber() << endreq;
00163     int eventNo=eventHeader->eventNumber();
00164     int runNo=eventHeader->runNumber();
00165     if(m_tuple1){
00166       g_eventNo = eventNo; 
00167       g_runNo = runNo; 
00168     }
00169 
00170    SmartDataPtr<RecMdcTrackCol> mdcTracks(eventSvc(),"/Event/Recon/RecMdcTrackCol");
00171    if( ! mdcTracks )
00172       {
00173          log << MSG::ERROR << "Unable to retrieve RecMdcTrackCol" << endreq;
00174          return  StatusCode::FAILURE;
00175       } else {
00176          log << MSG::DEBUG << "RecMdcTrackCol retrieved of size "<< mdcTracks->size() << endreq;
00177          for(RecMdcTrackCol::iterator it=mdcTracks->begin(); it!=mdcTracks->end(); it++)
00178             {  
00179 
00180 /*               g_hits=0;
00181 
00182                HitRefVec gothits = (*it)->getVecHits();
00183                HitRefVec::iterator it_gothit = gothits.begin();
00184                for( ; it_gothit != gothits.end(); it_gothit++){
00185                  g_hits_id  = (*it_gothit)->getId();
00186                  g_hits_ddl = (*it_gothit)->getDriftDistLeft();
00187                  g_hits_ddr = (*it_gothit)->getDriftDistRight();
00188                  g_doca        = (*it_gothit)->getDoca();
00189                  g_hits_mdc_id = (*it_gothit)->getMdcId();
00190                  g_layer       = MdcID::layer((*it_gothit)->getMdcId());
00191                  g_wire        = MdcID::wire((*it_gothit)->getMdcId());
00192 
00193 
00194 
00195                  g_hits_tdc    = (*it_gothit)->getTdc();
00196                  g_hits_adc    = (*it_gothit)->getAdc();
00197 
00198                  g_hits++;
00199                  m_tuple2->write();
00200            }*/
00201 
00202                g_track_id       = (*it)->trackId();
00203                g_phi0           = (*it)->helix()[1];
00204                g_kappa          = (*it)->helix()[2];
00205                g_tanl           = (*it)->helix()[4];
00206     
00207                g_dr             = (*it)->helix()[0];
00208                g_dz             = (*it)->helix()[3];
00209                g_chisq_of_fit   = (*it)->chi2();
00210                g_phi_terminal   = (*it)->getFiTerm();
00211                g_number_of_hits = (*it)->getNhits();
00212                g_number_of_stereo_hits=(*it)->nster();
00213                g_p              = (*it)->p();
00214 
00215                g_px             = (*it)->px();
00216                g_py             = (*it)->py();
00217                g_pz             = (*it)->pz();
00218                g_pxy            = (*it)->pxy();
00219                g_charge         = (*it)->charge();
00220                g_stat           = (*it)->stat();
00221                g_x              = (*it)->x();
00222                g_y              = (*it)->y();
00223                g_z              = (*it)->z();
00224                g_r              = (*it)->r();
00225                g_chi2           = (*it)->chi2();
00226                g_ndof           = (*it)->ndof();
00227                g_firstLayer     = (*it)->firstLayer();
00228                g_lastLayer      = (*it)->lastLayer();             
00229                
00230                
00231                g_hits=0;
00232                HitRefVec gothits = (*it)->getVecHits();
00233                HitRefVec::iterator it_gothit = gothits.begin();
00234                for( ; it_gothit != gothits.end(); it_gothit++){
00235                  g_hits_id  = (*it_gothit)->getId();
00236                  
00237                  g_hits_ddl = (*it_gothit)->getDriftDistLeft();
00238                  g_hits_ddr = (*it_gothit)->getDriftDistRight();
00239 
00240                  g_doca        = (*it_gothit)->getDoca();
00241                  g_hits_mdc_id = (*it_gothit)->getMdcId();
00242                  g_layer       = MdcID::layer((*it_gothit)->getMdcId());
00243                  g_wire        = MdcID::wire((*it_gothit)->getMdcId());
00244                
00245                
00246               
00247 
00248                  g_hits_tdc    = (*it_gothit)->getTdc();
00249                  g_hits_adc    = (*it_gothit)->getAdc();
00250 
00251                  g_hits++;
00252                  m_tuple2->write(); 
00253            } 
00254 
00255            m_tuple1->write(); 
00256               
00257 
00258             
00259              
00260               
00261 
00262              
00263 
00264           
00265        
00266             
00267       }
00268      
00269    }
00270    return StatusCode::SUCCESS;
00271 }

StatusCode ValidRecMdcTrackAlg::finalize (  ) 

Definition at line 274 of file ValidRecMdcTrackAlg.cxx.

References Bes_Common::INFO, and msgSvc().

00274                                          {
00275 
00276    MsgStream log(msgSvc(), name());
00277    log << MSG::INFO << "Finalizing..." << endreq;
00278    return StatusCode::SUCCESS;
00279 
00280 }

StatusCode ValidRecMdcTrackAlg::initialize (  ) 

Definition at line 27 of file ValidRecMdcTrackAlg.cxx.

References calibUtil::ERROR, g_charge, g_chi2, g_chisq_of_fit, g_doca, g_dr, g_dz, g_eventNo, g_firstLayer, g_hits, g_hits_adc, g_hits_ddl, g_hits_ddr, g_hits_id, g_hits_mdc_id, g_hits_tdc, g_kappa, g_lastLayer, g_layer, g_ndof, g_number_of_hits, g_number_of_stereo_hits, g_p, g_phi, g_phi0, g_phi_terminal, g_px, g_pxy, g_py, g_pz, g_r, g_runNo, g_stat, g_tanl, g_theta, g_track_id, g_wire, g_x, g_y, g_z, Bes_Common::INFO, m_tuple1, m_tuple2, msgSvc(), and ntupleSvc().

00027                                           {
00028    MsgStream log( msgSvc(), name() );
00029    log << MSG::INFO << "Booking Histograms" << endreq;
00030 
00031 
00032    NTuplePtr nt1(ntupleSvc(),"FILE101/mdcTrack");
00033    if( nt1 ) m_tuple1 = nt1;
00034    else{
00035          m_tuple1 = ntupleSvc()->book("FILE101/mdcTrack",CLID_RowWiseTuple,"ValidRecMdcTrackNTuple1");
00036 
00037          if( m_tuple1 ) {
00038              m_tuple1->addItem ("eventNo",g_eventNo);
00039              m_tuple1->addItem ("runNo", g_runNo);
00040              m_tuple1->addItem("nhits",g_hits);
00041              m_tuple1->addItem ("Id",g_track_id);
00042              m_tuple1->addItem ("Phi0",g_phi0);
00043              m_tuple1->addItem ("Cpa",g_kappa);
00044              m_tuple1->addItem ("Tanl",g_tanl);
00045              m_tuple1->addItem ("p",g_p);
00046 
00047              m_tuple1->addItem ("Dr",g_dr);
00048              m_tuple1->addItem ("Dz",g_dz);
00049              m_tuple1->addItem ("Chisq",g_chisq_of_fit);
00050              m_tuple1->addItem ("FiTerm",g_phi_terminal);
00051              m_tuple1->addItem ("Nhits",g_number_of_hits);
00052              m_tuple1->addItem ("Nster",g_number_of_stereo_hits);
00053     
00054              m_tuple1->addItem ("px",g_px);
00055              m_tuple1->addItem ("py",g_py);
00056              m_tuple1->addItem ("pz",g_pz);
00057              m_tuple1->addItem ("pxy",g_pxy);
00058              m_tuple1->addItem ("charge",g_charge);             
00059              m_tuple1->addItem ("stat",g_stat);
00060              m_tuple1->addItem ("x",g_x);
00061              m_tuple1->addItem ("y",g_y);
00062              m_tuple1->addItem ("z",g_z);
00063              m_tuple1->addItem ("r",g_r);
00064              m_tuple1->addItem ("chi2",g_chi2);
00065              m_tuple1->addItem ("ndof",g_ndof);
00066              m_tuple1->addItem ("firstLayer",g_firstLayer);
00067              m_tuple1->addItem ("lastLayer",g_lastLayer);
00068              m_tuple1->addItem ("theta",g_theta);
00069              m_tuple1->addItem ("phi",g_phi);    
00070 
00071          } else { 
00072                  log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq;
00073                  return StatusCode::FAILURE;
00074          }
00075    }
00076    NTuplePtr nt2(ntupleSvc(),"FILE101/mdcHit");
00077    if( nt2 ) m_tuple2 = nt2;
00078    else{
00079          m_tuple2 = ntupleSvc()->book("FILE101/mdcHit",CLID_RowWiseTuple,"ValidRecMdcHitNTuple1");
00080 
00081          if( m_tuple2 ) {
00082              m_tuple2->addItem ("Hits_id",g_hits_id);
00083              m_tuple2->addItem ("Hits_ddl",g_hits_ddl);
00084              m_tuple2->addItem ("Hits_ddr",g_hits_ddr);
00085 
00086              m_tuple2->addItem ("doca",g_doca);
00087              m_tuple2->addItem ("Hits_mdc_id",g_hits_mdc_id);
00088              m_tuple2->addItem ("layer", g_layer);
00089              m_tuple2->addItem ("wire",  g_wire );
00090 
00091              m_tuple2->addItem ("Hits_tdc",g_hits_tdc);
00092              m_tuple2->addItem ("Hits_adc",g_hits_adc);
00093          } else { 
00094                  log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq;
00095                  return StatusCode::FAILURE;
00096          }
00097    }
00098   
00099     log << MSG::INFO << "Finished booking Histograms" << endreq;
00100     return StatusCode::SUCCESS;
00101 
00102 /*
00103   
00104    NTuplePtr nt2(ntupleSvc(),"FILE101/mdcHit");
00105    if( nt2 ) m_tuple2 = nt2;
00106    else{
00107          m_tuple2 = ntupleSvc()->book("FILE101/mdcHit",CLID_ColumnWiseTuple,"ValidRecMdcTrackNTuple2");
00108 
00109          if( m_tuple2 ) {
00110              m_tuple1->addItem ("eventNo",g_eventNo);
00111              m_tuple1->addItem ("runNo", g_runNo);
00112              m_tuple1->addItem("nhits",g_hits,0,5000);
00113              m_tuple1->addItem ("Id",g_track_id);
00114              m_tuple1->addItem ("Phi0",g_phi0);
00115              m_tuple1->addItem ("Cpa",g_kappa);
00116              m_tuple1->addItem ("Tanl",g_tanl);
00117              m_tuple1->addItem ("p",g_p);
00118 
00119              m_tuple1->addItem ("Dr",g_dr);
00120              m_tuple1->addItem ("Dz",g_dz);
00121              m_tuple1->addItem ("Chisq",g_chisq_of_fit);
00122              m_tuple1->addItem ("FiTerm",g_phi_terminal);
00123              m_tuple1->addItem ("Nhits",g_number_of_hits);
00124              m_tuple1->addItem ("Nster",g_number_of_stereo_hits);
00125 
00126              m_tuple2->addItem ("Hits_id",g_hits_id);
00127              m_tuple2->addItem ("Hits_ddl",g_hits_ddl);
00128              m_tuple2->addItem ("Hits_ddr",g_hits_ddr);
00129 
00130              m_tuple2->addItem ("doca",g_doca);
00131              m_tuple2->addItem ("Hits_mdc_id",g_hits_mdc_id);
00132              m_tuple2->addItem ("layer",g_layer);
00133              m_tuple2->addItem ("wire",g_wire );
00134 
00135              m_tuple2->addItem ("Hits_tdc",g_hits_tdc);
00136              m_tuple2->addItem ("Hits_adc",g_hits_adc);
00137      }
00138      else { 
00139     log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq;
00140     return StatusCode::FAILURE;
00141       }
00142 
00143     log << MSG::INFO << "Finished booking Histograms" << endreq;
00144     return StatusCode::SUCCESS;
00145 
00146   }*/
00147 
00148  }


Member Data Documentation

NTuple::Item<float> ValidRecMdcTrackAlg::g_charge [private]

Definition at line 52 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_chi2 [private]

Definition at line 58 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_chisq_of_fit [private]

Definition at line 42 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_doca [private]

Definition at line 83 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_dr [private]

Definition at line 40 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_dz [private]

Definition at line 41 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_eventNo [private]

Definition at line 31 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_firstLayer [private]

Definition at line 60 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<long> ValidRecMdcTrackAlg::g_hits [private]

Definition at line 30 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_adc [private]

Definition at line 89 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_ddl [private]

Definition at line 80 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_ddr [private]

Definition at line 81 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_id [private]

Definition at line 79 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_mdc_id [private]

Definition at line 85 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_tdc [private]

Definition at line 88 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_kappa [private]

Definition at line 37 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_lastLayer [private]

Definition at line 61 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_layer [private]

Definition at line 86 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_ndof [private]

Definition at line 59 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_number_of_hits [private]

Definition at line 44 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_number_of_stereo_hits [private]

Definition at line 45 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_p [private]

Definition at line 39 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_phi [private]

Definition at line 63 of file ValidRecMdcTrackAlg.h.

Referenced by initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_phi0 [private]

Definition at line 36 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_phi_terminal [private]

Definition at line 43 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_px [private]

Definition at line 48 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_pxy [private]

Definition at line 50 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_py [private]

Definition at line 49 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_pz [private]

Definition at line 51 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_r [private]

Definition at line 57 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_runNo [private]

Definition at line 32 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_stat [private]

Definition at line 53 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_tanl [private]

Definition at line 38 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_theta [private]

Definition at line 62 of file ValidRecMdcTrackAlg.h.

Referenced by initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_track_id [private]

Definition at line 35 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<float> ValidRecMdcTrackAlg::g_wire [private]

Definition at line 87 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_x [private]

Definition at line 54 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_y [private]

Definition at line 55 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcTrackAlg::g_z [private]

Definition at line 56 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

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

Definition at line 29 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().

NTuple::Tuple* ValidRecMdcTrackAlg::m_tuple2 [private]

Definition at line 78 of file ValidRecMdcTrackAlg.h.

Referenced by execute(), and initialize().


Generated on Tue Nov 29 23:36:20 2016 for BOSS_7.0.2 by  doxygen 1.4.7