RecMdcDedxCnv Class Reference

#include <RecMdcDedxCnv.h>

Inheritance diagram for RecMdcDedxCnv:

RootEventBaseCnv Converter< Ty1, Ty2 > List of all members.

Public Types

typedef Ty1 source
typedef Ty2 destination

Public Member Functions

virtual ~RecMdcDedxCnv ()
virtual long repSvcType () const
virtual StatusCode initialize ()
virtual StatusCode finalize ()
void declareObject (const std::string &fullPath, const CLID &clid, const std::string &treename, const std::string &branchname)
 Store TDS path to link a particular converter to an object on the TDS.
virtual StatusCode createObj (IOpaqueAddress *addr, DataObject *&dat)
 Convert the persistent object to transient.
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
 Convert the transient object to the requested representation.
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
virtual StatusCode fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
TObject * getReadObject () const
 get the object to be read
destinationoperator (const source &) const

Static Public Member Functions

static const CLID & classID ()
static const unsigned char storageType ()
 Storage type and class ID.

Protected Member Functions

 RecMdcDedxCnv (ISvcLocator *svc)
virtual StatusCode DataObjectToTObject (DataObject *obj, RootAddress *addr)
 transformation to root
virtual StatusCode TObjectToDataObject (DataObject *&obj)
 transformation from root
virtual destinationconvert (const source &) const =0

Protected Attributes

RootCnvSvcm_cnvSvc
std::vector< RootCnvSvc::Leafm_leaves
RootInterfacem_rootInterface
 pointer to the RootInterface
IDataProviderSvc * m_eds
 pointer to eventdataservice
int m_branchNr
 the branchNr of this converter for writing
int m_branchNrDst
int m_branchNrMc
int m_branchNrRecon
int m_branchNrEvtRec
int m_branchNrEvtHeader
int m_branchNrEvtNavigator
TObject * m_objRead
 the object that was read
CLID CLID_top
 the CLID of the upper converter if any
TArrayS * m_branchNumbers
 array with number of branches for reading
std::string m_rootBranchname
 root branchname (may be concatenated of severals)
std::string m_rootTreename
 each converter knows it's treename
std::string m_currentFileName
std::vector< void * > m_adresses
 each converter knows the corresponding adresses
RootEvtSelectorm_evtsel

Private Attributes

commonData m_common
 relational maps
TObjArray * m_recMdcDedxCol
 root object to be read

Friends

class CnvFactory< RecMdcDedxCnv >

Detailed Description

Definition at line 15 of file RecMdcDedxCnv.h.


Member Typedef Documentation

template<class Ty1, class Ty2>
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited]

Definition at line 19 of file Converter.h.

template<class Ty1, class Ty2>
typedef Ty1 Converter< Ty1, Ty2 >::source [inherited]

Definition at line 18 of file Converter.h.


Constructor & Destructor Documentation

virtual RecMdcDedxCnv::~RecMdcDedxCnv (  )  [inline, virtual]

Definition at line 25 of file RecMdcDedxCnv.h.

00025 { };

RecMdcDedxCnv::RecMdcDedxCnv ( ISvcLocator *  svc  )  [protected]

Definition at line 30 of file RecMdcDedxCnv.cxx.

References RootEventBaseCnv::m_adresses, m_recMdcDedxCol, RootEventBaseCnv::m_rootBranchname, and msgSvc().

00031 : RootEventBaseCnv(classID(), svc)
00032 {
00033 
00034     // Here we associate this converter with the /Event path on the TDS.
00035     MsgStream log(msgSvc(), "RecMdcDedxCnv");
00036     //log << MSG::DEBUG << "Constructor called for " << objType() << endreq;
00037     //m_rootTreename ="Rec";
00038     m_rootBranchname ="m_recMdcDedxCol";
00039     // declareObject(EventModel::Recon::RecMdcDedxCol, objType(), m_rootTreename, m_rootBranchname);
00040     m_adresses.push_back(&m_recMdcDedxCol);
00041     m_recMdcDedxCol=0;
00042 }


Member Function Documentation

static const CLID& RecMdcDedxCnv::classID (  )  [inline, static]

Definition at line 20 of file RecMdcDedxCnv.h.

References CLID_RecMdcDedxCol.

Referenced by RootCnvSvc::addConverters().

00021   {
00022        return CLID_RecMdcDedxCol; 
00023   }

template<class Ty1, class Ty2>
virtual destination* Converter< Ty1, Ty2 >::convert ( const source  )  const [protected, pure virtual, inherited]

StatusCode RootEventBaseCnv::createObj ( IOpaqueAddress *  addr,
DataObject *&  dat 
) [virtual, inherited]

Convert the persistent object to transient.

Reimplemented in EventCnv.

Definition at line 157 of file RootEventBaseCnv.cxx.

References RootEventBaseCnv::CLID_top, Bes_Common::DEBUG, calibUtil::ERROR, RootInterface::getBranchEntry(), RootAddress::getBranchname(), RootInterface::getCurrentFileName(), RootInterface::getENDFILE(), RootInterface::getEntries(), RootAddress::getEntryNr(), RootAddress::getNrBranches(), RootAddress::getPath(), RootEventBaseCnv::getReadObject(), RootEvtSelector::getRecId(), RootInterface::getSelectFromTag(), RootAddress::getTreename(), Bes_Common::INFO, RootEventBaseCnv::m_adresses, RootEventBaseCnv::m_branchNumbers, RootEventBaseCnv::m_currentFileName, RootEventBaseCnv::m_eds, RootEventBaseCnv::m_evtsel, RootEventBaseCnv::m_objRead, RootEventBaseCnv::m_rootInterface, msgSvc(), RootInterface::setBranchAddress(), RootAddress::setEntryNr(), subSeperate::temp, and RootEventBaseCnv::TObjectToDataObject().

00158                                                            {
00159   // transform ROOT object to TDS object
00160   MsgStream log(msgSvc(), "RootEventBaseCnv");
00161   log << MSG::DEBUG << "RootEventBaseCnv::createObj with clid " <<addr->clID()<< endreq;
00162   StatusCode sc;
00163 
00164   // add 2005-11-29
00165   // log<<MSG::INFO<<"######### RootEventBaseCnv ::createObj begin of createObj:  m_branchNumbers "<<m_branchNumbers->GetSize()<<"###############"<<endreq;
00166 
00167   RootAddress *raddr=dynamic_cast<RootAddress *>(addr);
00168   if (!raddr) {
00169     log << MSG::ERROR << "Could not downcast to Root address" << endreq;
00170     return StatusCode::FAILURE;
00171   }
00172  
00173   static int temp =0;   //control the begin of each files 2005-12-01
00174   static int entryN =0; //control the event number of each files 2005-21-01
00175   static int brN =0; //control munber of branch of the tree;
00176   int lastBrn = brN;
00177   //lastBrn = brN; 
00178   static int branchN=0;
00179   static bool isSet=true;
00180 
00181   static int entryBefore = 0;
00182   static bool addEntryEachFile = true;
00183  
00184  
00185    if(m_rootInterface->getENDFILE() || (temp >0 && temp < branchN)){ // if the file has get the end:y the go to next file to create a new tree
00186     
00187     if(m_rootInterface->getENDFILE() ) {
00188       entryN = 0;
00189     }
00190     
00191     temp++;
00192     
00193     delete m_branchNumbers;
00194     m_branchNumbers = new TArrayS(0);
00195    
00196     if(temp == branchN) {
00197       temp =0;
00198     }
00199    }
00200 
00201    if(m_rootInterface->getENDFILE()) addEntryEachFile = true;
00202    // the 2nd method 
00203    if(m_evtsel->getRecId() - entryBefore == 0) { // first event in this file
00204      delete m_branchNumbers;
00205      m_branchNumbers = new TArrayS(0);
00206    }
00207 
00208    //new method to initialize the branchNumber 
00209    if(m_currentFileName=="") m_currentFileName = m_rootInterface->getCurrentFileName();
00210    if(!(m_currentFileName == m_rootInterface->getCurrentFileName())){ 
00211            m_currentFileName = m_rootInterface->getCurrentFileName();
00212            delete m_branchNumbers;
00213            m_branchNumbers = new TArrayS(0);
00214    }   
00215    //---------------------------------------- 
00216    
00217   if (m_branchNumbers->GetSize()<=0) {
00218     if(isSet) brN++;
00219     int branchNumber;
00220     for (int nb=0;nb<raddr->getNrBranches();nb++) {
00221       sc=m_rootInterface->setBranchAddress(raddr->getTreename().c_str(),raddr->getBranchname(nb).c_str(),m_adresses[nb],branchNumber);
00222       if (!sc.isSuccess()) 
00223       {
00224         if(isSet) brN--;    //liangyt: if fail to retrieve this branch, this will be not a effective branch.
00225         //entryN++;   //liangyt: this is the second method
00226         if(temp>0) temp--;  //temp > 0 means recording effective branch number.
00227         return sc;
00228       }
00229       m_branchNumbers->Set(nb+1);
00230       m_branchNumbers->AddAt(branchNumber,nb);
00231      
00232     }
00233   }
00234 
00236   if(addEntryEachFile&&(m_evtsel->getRecId()>entryBefore)){   // for a new file, add entry for ONLY one time.
00237     entryBefore += m_rootInterface->getEntries();
00238     addEntryEachFile = false;
00239   }
00240 
00241   if(lastBrn == brN && isSet ){
00242     branchN = brN;
00243     isSet=false;    
00244   }
00245 
00246   if(isSet==false) log << MSG::INFO <<" 1st method set event as : "<<int(entryN/branchN)<<endreq;
00247   if(isSet==false) raddr->setEntryNr(int(entryN/branchN));//former method, keep it to be backup.
00248   if(m_evtsel) log << MSG::INFO <<" event id = "<<m_evtsel->getRecId()<<endreq;
00249 
00250 
00251   int eventID = 0;
00252   if(entryBefore > m_evtsel->getRecId())
00253     eventID = m_evtsel->getRecId() + m_rootInterface->getEntries() - entryBefore;
00254   else if(entryBefore == m_evtsel->getRecId()) eventID = 0;
00255   else log << MSG::ERROR <<"eventId error!!!"<<endreq;
00256   
00257   log << MSG::INFO <<" 2nd  method set event as : "<<eventID<<endreq;
00258   
00259   if(m_evtsel) raddr->setEntryNr(eventID);
00260 
00261   //add dengzy
00262   if(m_rootInterface->getSelectFromTag()!=0)
00263   {
00264     if(m_evtsel)
00265       raddr->setEntryNr( m_evtsel->getRecId() );
00266   }//end of add by dengzy
00267 
00268   // read branch
00269   
00270   if (m_branchNumbers->GetSize()>0) {
00271     int nbtot=0,nb;
00272     for (int ib=0;ib<m_branchNumbers->GetSize();ib++) {
00273       //sc=m_rootInterface->getBranchEntry(m_branchNumbers->At(ib),raddr->getEntryNr(),nb);
00274       //change to get branch entry with addr(set address for each entry) liangyt
00275       sc=m_rootInterface->getBranchEntry(m_branchNumbers->At(ib),raddr->getEntryNr(),m_adresses[ib],nb);      
00276       if (sc.isFailure()) {
00277         log << MSG::ERROR << "Could not read branch " << raddr->getBranchname(nb) << endreq;
00278         return sc;
00279       }
00280       nbtot+=nb;
00281     }
00282   }
00283      
00284   else {   // get ROOT object
00285     if (CLID_top) {
00286       IConverter *p=conversionSvc()->converter(CLID_top);
00287       RootEventBaseCnv *cnv=dynamic_cast<RootEventBaseCnv *>(p);
00288       if (!cnv) {
00289         log << MSG::ERROR << "Could not downcast to RootEventBaseCnv "  << endreq;
00290         return StatusCode::FAILURE;
00291       }
00292       m_objRead=cnv->getReadObject();
00293     }
00294   }
00295 
00296   //do concrete transformation in derived converter
00297   sc = TObjectToDataObject(refpObject);
00298   if (sc.isFailure()) {
00299     log << MSG::ERROR << "Could not transform object" << endreq;
00300     return sc;
00301   }
00302 
00303   // verify if we have to register
00304   IRegistry* ent = addr->registry();
00305   if ( ent == 0)   {
00306        sc=m_eds->registerObject(raddr->getPath(),refpObject);
00307        if (sc.isFailure()) {
00308          log << MSG::ERROR << "Could not register object " << raddr->getPath()<<" status "<<sc.getCode()<<endreq;
00309        }
00310        //    }
00311   }
00312 
00313   entryN++;
00314   return StatusCode::SUCCESS;
00315 }

StatusCode RootEventBaseCnv::createRep ( DataObject *  pObject,
IOpaqueAddress *&  refpAddress 
) [virtual, inherited]

Convert the transient object to the requested representation.

Definition at line 78 of file RootEventBaseCnv.cxx.

References RootCnvSvc::createAddress(), RootEventBaseCnv::DataObjectToTObject(), calibUtil::ERROR, RootEventBaseCnv::m_cnvSvc, and msgSvc().

Referenced by TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), and EmcDigiCnv::DataObjectToTObject().

00079                                                            {
00080   // Purpose and Method: Convert the transient object to ROOT
00081 
00082   MsgStream log(msgSvc(), "RootEventBaseCnv");
00083  
00084   StatusCode sc= StatusCode::SUCCESS;
00085   // get the corresponding address 
00086   RootAddress *rootaddr;
00087   sc=m_cnvSvc->createAddress(obj,addr);
00088 
00089   rootaddr = dynamic_cast<RootAddress *>(addr);
00090 
00091   if (sc.isFailure() || !rootaddr  ) { 
00092     log << MSG::ERROR << "Could not create address for clid " <<obj->clID()<<", objname "<<obj->name()<<endreq;
00093     return StatusCode::FAILURE;
00094   }
00095 
00096   //  do the real conversion in the derived converter
00097   sc = DataObjectToTObject(obj,rootaddr);
00098 
00099   delete addr;
00100   addr = NULL;
00101 
00102   if (sc.isFailure()) {
00103     log << MSG::ERROR << "Could not transform object" << endreq;
00104     return sc;
00105   }
00106 
00107   return StatusCode::SUCCESS;
00108 }

StatusCode RecMdcDedxCnv::DataObjectToTObject ( DataObject *  obj,
RootAddress addr 
) [protected, virtual]

transformation to root

Implements RootEventBaseCnv.

Definition at line 247 of file RecMdcDedxCnv.cxx.

References TRecTrackEvent::addRecMdcDedx(), TRecTrackEvent::clearRecMdcDedxCol(), RootEventBaseCnv::createRep(), Bes_Common::DEBUG, calibUtil::ERROR, EventModel::Recon::Event, Bes_Common::FATAL, TRecTrackEvent::getRecMdcDedxCol(), RootCnvSvc::getRecTrackCnv(), RecTrackCnv::getWriteObject(), genRecEmupikp::i, Bes_Common::INFO, RootEventBaseCnv::m_cnvSvc, RootEventBaseCnv::m_eds, m_recMdcDedxCol, msgSvc(), EventModel::Recon::RecMdcDedxCol, EventModel::Recon::RecMdcKalTrackCol, EventModel::Recon::RecMdcTrackCol, TRecMdcDedx::setChi(), TRecMdcDedx::setChiE(), TRecMdcDedx::setChiK(), TRecMdcDedx::setChiMu(), TRecMdcDedx::setChiP(), TRecMdcDedx::setChiPi(), TRecMdcDedx::setDedxEsat(), TRecMdcDedx::setDedxExpect(), TRecMdcDedx::setDedxHit(), TRecMdcDedx::setDedxMoment(), TRecMdcDedx::setDedxNoRun(), TRecMdcDedx::setErrorPH(), TRecMdcDedx::setMdcKalTrackId(), TRecMdcDedx::setMdcTrackId(), TRecMdcDedx::setNormPH(), TRecMdcDedx::setNumGoodHits(), TRecMdcDedx::setNumTotalHits(), TRecMdcDedx::setParticleId(), TRecMdcDedx::setPidProb(), TRecMdcDedx::setProbPH(), TRecMdcDedx::setSigmaDedx(), TRecMdcDedx::setStatus(), TRecMdcDedx::setTrackId(), TRecMdcDedx::setTruncAlg(), and TRecMdcDedx::setTwentyPH().

00247                                                                                    {
00248     MsgStream log(msgSvc(), "RecMdcDedxCnv");
00249     log << MSG::DEBUG << "RecMdcDedxCnv::DataObjectToTObject" << endreq;
00250     StatusCode sc=StatusCode::SUCCESS;
00251 
00252     RecMdcDedxCol * recMdcDedxCol=dynamic_cast<RecMdcDedxCol *> (obj);
00253     if (!recMdcDedxCol) {
00254         log << MSG::ERROR << "Could not downcast to RecMdcDedxCol" << endreq;
00255         return StatusCode::FAILURE;
00256     }
00257 
00258     DataObject *evt;
00259     m_eds->findObject(EventModel::Recon::Event,evt);
00260     if (evt==NULL) {
00261         log << MSG::ERROR << "Could not get RecEvent in TDS "  << endreq;
00262         return StatusCode::FAILURE;
00263     }
00264     ReconEvent * devtTds=dynamic_cast<ReconEvent *> (evt);
00265     if (!devtTds) {
00266         log << MSG::ERROR << "RecMdcDedxCnv:Could not downcast to TDS RecEvent" << endreq;
00267     }
00268 
00269     IOpaqueAddress *addr;
00270     m_cnvSvc->getRecTrackCnv()->createRep(evt,addr); 
00271     TRecTrackEvent *recEvt=m_cnvSvc->getRecTrackCnv()->getWriteObject();
00272 
00273     const TObjArray *m_recMdcDedxCol = recEvt->getRecMdcDedxCol();
00274     if (!m_recMdcDedxCol) return sc;
00275     recEvt->clearRecMdcDedxCol(); //necessary in case there is I/O at the same time since array is static
00276 
00277     //******************** get according mdcTrack and MdcKalmanTrack of MdcDedx  ****************
00278 
00279     RecMdcTrackCol::iterator    recMdcTrackColbegin,    recMdcTrackColend;
00280     RecMdcKalTrackCol::iterator recMdcKalTrackColbegin, recMdcKalTrackColend;
00281 
00282     IDataProviderSvc* dataSvc = 0;
00283     sc = serviceLocator()->getService("EventDataSvc", 
00284                 IDataProviderSvc::interfaceID(), (IInterface*&)dataSvc);
00285     if ( sc.isFailure() ) {
00286         log << MSG::FATAL << "Could not get EventDataSvc in RecMdcDedxCnv" << endreq;
00287         return sc;
00288     }
00289     SmartDataPtr<RecMdcTrackCol> recMdcTrackCol(dataSvc, EventModel::Recon::RecMdcTrackCol);
00290     if (!recMdcTrackCol) {
00291         log << MSG::ERROR << "Could not downcast to RecMdcTrackCol" << endreq;
00292         return StatusCode::FAILURE;
00293     }
00294     else {
00295         recMdcTrackColbegin = recMdcTrackCol->begin();
00296         recMdcTrackColend   = recMdcTrackCol->end();
00297     }
00298 
00299     SmartDataPtr<RecMdcKalTrackCol> recMdcKalTrackCol(dataSvc, EventModel::Recon::RecMdcKalTrackCol);
00300     if (!recMdcKalTrackCol) {
00301         log << MSG::ERROR << "Could not downcast to RecMdcKalTrackCol" << endreq;
00302         return StatusCode::FAILURE;
00303     }
00304     else {
00305         recMdcKalTrackColbegin = recMdcKalTrackCol->begin();
00306         recMdcKalTrackColend   = recMdcKalTrackCol->end();
00307     }
00308     //******************************************************************************
00309 
00310     RecMdcDedxCol::const_iterator recMdcDedx;
00311 
00312     for (recMdcDedx = recMdcDedxCol->begin(); recMdcDedx != recMdcDedxCol->end(); recMdcDedx++) {
00313         Int_t trackId = (*recMdcDedx)->trackId();
00314         Int_t particleId = (*recMdcDedx)->particleId(); 
00315         Int_t status = (*recMdcDedx)->status();     
00316         Int_t truncAlg = (*recMdcDedx)->truncAlg();
00317         // Double_t pb[5];
00318         // for (Int_t i = 0; i < 5; i++) 
00319         // pb[i] = (*dedxTds)->prob(i);
00320         Double_t dedxHit    = (*recMdcDedx)->getDedxHit();
00321         Double_t dedxEsat   = (*recMdcDedx)->getDedxEsat();
00322         Double_t dedxNoRun  = (*recMdcDedx)->getDedxNoRun();
00323         Double_t dedxMoment = (*recMdcDedx)->getDedxMoment();    
00324 
00325 
00326         Double_t chiE  = (*recMdcDedx)->chi(0);   
00327         Double_t chiMu = (*recMdcDedx)->chi(1);  
00328         Double_t chiPi = (*recMdcDedx)->chi(2);  
00329         Double_t chiK = (*recMdcDedx)->chi(3);   
00330         Double_t chiP = (*recMdcDedx)->chi(4);   
00331 
00332         Int_t numGoodHits = (*recMdcDedx)->numGoodHits(); 
00333         Int_t numTotalHits = (*recMdcDedx)->numTotalHits();
00334 
00335         Double_t probPH = (*recMdcDedx)->probPH();
00336         Double_t normPH = (*recMdcDedx)->normPH();
00337         Double_t errorPH = (*recMdcDedx)->errorPH();
00338         Double_t twentyPH = (*recMdcDedx)->twentyPH();
00339         //Double_t fracErrPH = (*dedxTds)-> fracErrPH();  
00340         //Double_t minIronPH = (*dedxTds)->minIronPH();   
00341         //Double_t corrPH = (*dedxTds)->corrPH();      
00342         double dedxExpect[5],sigmaDedx[5],pidProb[5],chi[5];
00343         for (int i=0; i<5; i++){
00344             chi[i] = (*recMdcDedx)->chi(i);
00345             dedxExpect[i] = (*recMdcDedx)->getDedxExpect(i);
00346             sigmaDedx[i] = (*recMdcDedx)->getSigmaDedx(i);
00347             pidProb[i] = (*recMdcDedx)->getPidProb(i);
00348         }
00349 
00350         log << MSG::DEBUG<<"DataObjectToTObject: check Reconstrunction of dE/dx::"<<" trackId: "<<trackId<<" particleId: "<<particleId<<" status: "<<status<<" truncAlg: "<<truncAlg<<" chiPi: "<<chiPi<<" numTotalHits: "<<numTotalHits<<" probPH: "<<probPH<<" errorPH: "<<errorPH<<" dedxExpect[2]: "<<dedxExpect[2]<<endreq;
00351 
00352 
00353         TRecMdcDedx *recMdcDedxRoot = new TRecMdcDedx();
00354         //m_common.m_recMdcDedxMap[(*recMdcDedx)] = recMdcDedxRoot;
00355         //std::cout<<"check write to Reconstrunction root particle Id is "<<dedxRoot->particleId()<<endl; 
00356         recMdcDedxRoot->setTrackId(trackId);
00357         recMdcDedxRoot->setParticleId(particleId);  
00358         recMdcDedxRoot->setStatus (status); 
00359         recMdcDedxRoot->setTruncAlg(truncAlg);
00360         
00361         //dedxRoot->setProb(pb); 
00362         recMdcDedxRoot->setChiE(chiE);       
00363         recMdcDedxRoot->setChiMu(chiMu);     
00364         recMdcDedxRoot->setChiPi(chiPi);     
00365         recMdcDedxRoot->setChiK(chiK);       
00366         recMdcDedxRoot->setChiP(chiP);       
00367 
00368         recMdcDedxRoot->setNumGoodHits( numGoodHits);     
00369         recMdcDedxRoot->setNumTotalHits(   numTotalHits); 
00370 
00371         recMdcDedxRoot->setProbPH(probPH);             
00372         recMdcDedxRoot->setNormPH(normPH);
00373         recMdcDedxRoot->setErrorPH(errorPH);
00374         recMdcDedxRoot->setTwentyPH(twentyPH);
00375         //  for (int i=0; i<5; i++){
00376         recMdcDedxRoot->setChi(chi);
00377         recMdcDedxRoot->setDedxExpect(dedxExpect);
00378         recMdcDedxRoot->setSigmaDedx(sigmaDedx);
00379         recMdcDedxRoot->setPidProb(pidProb);
00380 
00381         recMdcDedxRoot->setDedxHit(dedxHit);   
00382         recMdcDedxRoot->setDedxEsat(dedxEsat);
00383         recMdcDedxRoot->setDedxNoRun(dedxNoRun);
00384         recMdcDedxRoot->setDedxMoment(dedxMoment);    
00385         //}
00386 
00387         if ( (*recMdcDedx)->isMdcTrackValid() ) {
00388             RecMdcTrackCol::iterator it = find(recMdcTrackColbegin, recMdcTrackColend, (*recMdcDedx)->getMdcTrack());
00389             recMdcDedxRoot->setMdcTrackId( it - recMdcTrackColbegin );
00390         }
00391         else {
00392             recMdcDedxRoot->setMdcTrackId( -1 );
00393         }
00394 
00395         if ( (*recMdcDedx)->isMdcKalTrackValid() ) {  
00396             RecMdcKalTrackCol::iterator it = find(recMdcKalTrackColbegin, recMdcKalTrackColend, (*recMdcDedx)->getMdcKalTrack());
00397             recMdcDedxRoot->setMdcKalTrackId( it - recMdcKalTrackColbegin );
00398         }
00399         else {
00400             recMdcDedxRoot->setMdcKalTrackId( -1 );
00401         }
00402 
00403         log << MSG::INFO<<"check Reconstrunction root"<<" particle Id is : "<<particleId
00404             <<"track id is : "<<trackId
00405             <<" and status is : "<<status<<endreq;
00406 
00407         // dedxRoot->setFracErrPH(fracErrPH);       
00408         //dedxRoot->setMinIronPH(minIronPH);       
00409         //dedxRoot->setCorrPH(corrPH);             
00410         recEvt->addRecMdcDedx(recMdcDedxRoot);
00411     }
00412 
00413     return StatusCode::SUCCESS;
00414 }

void RootEventBaseCnv::declareObject ( const std::string fullPath,
const CLID &  clid,
const std::string treename,
const std::string branchname 
) [inherited]

Store TDS path to link a particular converter to an object on the TDS.

Definition at line 150 of file RootEventBaseCnv.cxx.

References RootEventBaseCnv::m_leaves.

Referenced by RecMucRecHitCnv::RecMucRecHitCnv().

00151                                                                                       {
00152     // Purpose and Method:  Save the path on the TDS, treename, pathname in the m_leaves vector, 
00153     //   corresponding to the DataObject that the converter handles.
00154    m_leaves.push_back(RootCnvSvc::Leaf(path, cl,treename,branchname));
00155 }

StatusCode RootEventBaseCnv::fillObjRefs ( IOpaqueAddress *  pAddress,
DataObject *  pObject 
) [virtual, inherited]

Resolve the references of the converted object.

Definition at line 117 of file RootEventBaseCnv.cxx.

References msgSvc().

00118                                                  {
00119     // Purpose and Method:  Resolve the references of the converted object.
00120     //     It is expected that derived classes will override this method.
00121     MsgStream log(msgSvc(), "RootEventBaseCnv");
00122     return StatusCode::SUCCESS;
00123 }

StatusCode RootEventBaseCnv::fillRepRefs ( IOpaqueAddress *  pAddress,
DataObject *  pObject 
) [virtual, inherited]

Resolve the references of the converted object.

Definition at line 109 of file RootEventBaseCnv.cxx.

References msgSvc().

00110                                                  {
00111     // Purpose and Method:  Resolve the references of the converted object.
00112     //     It is expected that derived classes will override this method.
00113     MsgStream log(msgSvc(), "RootEventBaseCnv");
00114     return StatusCode::SUCCESS;
00115 }

StatusCode RootEventBaseCnv::finalize (  )  [virtual, inherited]

Definition at line 142 of file RootEventBaseCnv.cxx.

References RootEventBaseCnv::m_cnvSvc.

00142                                         {
00143     if ( m_cnvSvc )     {
00144         m_cnvSvc->release();
00145         m_cnvSvc=0;
00146     }
00147     return Converter::finalize();
00148 }

TObject* RootEventBaseCnv::getReadObject (  )  const [inline, inherited]

get the object to be read

Definition at line 125 of file RootEventBaseCnv.h.

References RootEventBaseCnv::m_objRead.

Referenced by RootEventBaseCnv::createObj().

00125 { return m_objRead;} 

StatusCode RootEventBaseCnv::initialize (  )  [virtual, inherited]

Reimplemented in DigiCnv, DstCnv, EvtHeaderCnv, EvtNavigatorCnv, EvtRecCnv, HltCnv, McCnv, RecTrackCnv, and TrigCnv.

Definition at line 126 of file RootEventBaseCnv.cxx.

References IID_IRootCnvSvc, and RootEventBaseCnv::m_cnvSvc.

Referenced by TrigCnv::initialize(), RecTrackCnv::initialize(), McCnv::initialize(), HltCnv::initialize(), EvtRecCnv::initialize(), EvtNavigatorCnv::initialize(), EvtHeaderCnv::initialize(), DstCnv::initialize(), and DigiCnv::initialize().

00126                                           {
00127  
00128   StatusCode status = Converter::initialize();
00129 
00130   if ( status.isSuccess() )   {
00131     IService* isvc = 0;
00132     status = serviceLocator()->service("RootCnvSvc", isvc, false);
00133     if ( !status.isSuccess() )   status = serviceLocator()->service("EventCnvSvc", isvc, true);
00134     if ( status.isSuccess() )   {
00135       status = isvc->queryInterface(IID_IRootCnvSvc, (void**)&m_cnvSvc);
00136     }
00137   }
00138   
00139   return status;
00140 }

template<class Ty1, class Ty2>
destination* Converter< Ty1, Ty2 >::operator ( const source  )  const [inline, inherited]

virtual long RootEventBaseCnv::repSvcType (  )  const [inline, virtual, inherited]

Definition at line 88 of file RootEventBaseCnv.h.

References ROOT_StorageType.

00088                                     { 
00089       return ROOT_StorageType; 
00090     } 

static const unsigned char RootEventBaseCnv::storageType (  )  [inline, static, inherited]

Storage type and class ID.

Definition at line 84 of file RootEventBaseCnv.h.

References ROOT_StorageType.

00084                                                   {
00085       return ROOT_StorageType;
00086     }

StatusCode RecMdcDedxCnv::TObjectToDataObject ( DataObject *&  obj  )  [protected, virtual]

transformation from root

Implements RootEventBaseCnv.

Definition at line 44 of file RecMdcDedxCnv.cxx.

References TRecMdcDedx::chiE(), TRecMdcDedx::chiK(), TRecMdcDedx::chiMu(), TRecMdcDedx::chiP(), TRecMdcDedx::chiPi(), Bes_Common::DEBUG, TRecMdcDedx::dedxEsat(), TRecMdcDedx::dedxExpect(), TRecMdcDedx::dedxHit(), TRecMdcDedx::dedxMoment(), TRecMdcDedx::dedxNoRun(), TRecMdcDedx::errorPH(), Bes_Common::FATAL, RecMdcDedx::getVecDedxHits(), genRecEmupikp::i, Bes_Common::INFO, iter(), MdcID::layer(), m_common, m_recMdcDedxCol, commonData::m_rootRecMdcDedxMap, TRecMdcDedx::mdcKalTrackId(), TRecMdcDedx::mdcTrackId(), msgSvc(), TRecMdcDedx::normPH(), TRecMdcDedx::numGoodHits(), TRecMdcDedx::numTotalHits(), TRecMdcDedx::particleId(), TRecMdcDedx::pidProb(), TRecMdcDedx::probPH(), EventModel::Recon::RecMdcDedxCol, EventModel::Recon::RecMdcKalTrackCol, EventModel::Recon::RecMdcTrackCol, DstMdcDedx::setChi(), RecMdcDedx::setDedxEsat(), RecMdcDedx::setDedxExpect(), RecMdcDedx::setDedxHit(), RecMdcDedx::setDedxMoment(), RecMdcDedx::setDedxNoRun(), DstMdcDedx::setErrorPH(), RecMdcDedx::setMdcKalTrack(), RecMdcDedx::setMdcTrack(), DstMdcDedx::setNormPH(), DstMdcDedx::setNumGoodHits(), DstMdcDedx::setNumTotalHits(), DstMdcDedx::setParticleId(), RecMdcDedx::setPidProb(), DstMdcDedx::setProbPH(), RecMdcDedx::setSigmaDedx(), DstMdcDedx::setStatus(), DstMdcDedx::setTrackId(), DstMdcDedx::setTruncAlg(), DstMdcDedx::setTwentyPH(), RecMdcDedx::setVecDedxHits(), TRecMdcDedx::sigmaDedx(), TRecMdcDedx::status(), TRecMdcDedx::trackId(), TRecMdcDedx::truncAlg(), TRecMdcDedx::twentyPH(), and MdcID::wire().

00044                                                                      {
00045   // creation of TDS object from root object
00046     MsgStream log(msgSvc(), "RecMdcDedxCnv");
00047     log << MSG::DEBUG << "RecMdcDedxCnv::TObjectToDataObject" << endreq;
00048     StatusCode sc=StatusCode::SUCCESS;
00049 
00050     // create the TDS location for the Dedx Collection
00051     RecMdcDedxCol* recMdcDedxCol = new RecMdcDedxCol;
00052     refpObject=recMdcDedxCol;
00053 
00054     if (!m_recMdcDedxCol) return sc;
00055     
00056     //*******************Dst to Rec convert in case of no Rec data in TDS****************************
00057     IDataProviderSvc* dataSvc = 0;
00058     sc = serviceLocator()->getService("EventDataSvc",
00059                 IDataProviderSvc::interfaceID(), (IInterface*&)dataSvc);
00060     if ( sc.isFailure() ) {
00061         log << MSG::FATAL << "Could not get EventDataSvc in RecMdcDedxCnv" << endreq;
00062         return sc;
00063     }
00064 
00065     //----------get hit smartRefVector--------
00066     SmartDataPtr<RecMdcDedxHitCol> recMdcDedxHitCol(dataSvc,"/Event/Recon/RecMdcDedxHitCol");
00067     if (!recMdcDedxHitCol) {
00068         log << MSG::FATAL << "Could not find RecMdcDedxHitCol" << endreq;
00069         return( StatusCode::FAILURE);
00070     }
00071 
00072 
00073     int trackID;
00074     // Retrieve Mdc Track     
00075     SmartDataPtr<RecMdcTrackCol> mdcTrackCol(dataSvc, EventModel::Recon::RecMdcTrackCol);
00076     if(!mdcTrackCol)
00077     {
00078         log << MSG::INFO << "Could not find RecMdcTrackCol" << endreq;
00079         SmartDataPtr<DstMdcTrackCol> dstMdcTrackCol(dataSvc,"/Event/Dst/DstMdcTrackCol");
00080         if (!dstMdcTrackCol) {
00081             log << MSG::INFO << "Could not find DstMdcTrackCol" << endreq;
00082         } 
00083         else {
00084             RecMdcTrackCol* mdcTrackCol = new RecMdcTrackCol();
00085             DstMdcTrackCol::iterator iter_mdc = dstMdcTrackCol->begin();
00086             trackID = 0;
00087             for (;iter_mdc != dstMdcTrackCol->end(); iter_mdc++, trackID++) {
00088                 RecMdcTrack* recMdcTrack = new RecMdcTrack(); 
00089                 *recMdcTrack = **iter_mdc; 
00090                 (*mdcTrackCol).push_back(recMdcTrack);
00091                 log << MSG::INFO 
00092                     << " Mdc Track ID = " << trackID
00093                     << " Mdc Track Nster = " << (*iter_mdc)->nster()
00094                     << endreq; 
00095             }       
00096             sc = dataSvc->registerObject(EventModel::Recon::RecMdcTrackCol,mdcTrackCol);
00097         }
00098     }
00099 
00100     // Retrieve MdcKal track 
00101     SmartDataPtr<RecMdcKalTrackCol> mdcKalTrackCol(dataSvc, EventModel::Recon::RecMdcKalTrackCol);
00102     if (!mdcKalTrackCol) {
00103         log << MSG::INFO << "Could not find RecMdcKalTrackCol" << endreq;
00104         SmartDataPtr<DstMdcKalTrackCol> dstMdcKalTrackCol(dataSvc,"/Event/Dst/DstMdcKalTrackCol");
00105         if(!dstMdcKalTrackCol) {
00106             log << MSG::INFO << "Could not find DstMdcKalTrackCol" << endreq;
00107         }
00108         else {
00109             RecMdcKalTrackCol* mdcKalTrackCol = new RecMdcKalTrackCol();
00110             DstMdcKalTrackCol::iterator iter_mdc = dstMdcKalTrackCol->begin();
00111             trackID = 0;
00112             for (;iter_mdc != dstMdcKalTrackCol->end(); iter_mdc++, trackID++) {
00113                 RecMdcKalTrack* recMdcKalTrack = new RecMdcKalTrack();
00114                 *recMdcKalTrack = **iter_mdc;
00115                 (*mdcKalTrackCol).push_back(recMdcKalTrack);
00116                 log << MSG::INFO
00117                     << " MdcKalTrack ID = " << trackID
00118                     << " MdcKalTrack Nster = " << (*iter_mdc)->nster()
00119                     << " MdcKalTrack poca = " << (*iter_mdc)->poca()
00120                     << endreq;
00121             }
00122             sc = dataSvc->registerObject(EventModel::Recon::RecMdcKalTrackCol, mdcKalTrackCol);
00123         }
00124     }
00125 
00126 
00127     //**********************************************************************
00128     // now convert
00129     TIter dedxIter(m_recMdcDedxCol);
00130     TRecMdcDedx *recMdcDedxRoot = 0;
00131     while ((recMdcDedxRoot = (TRecMdcDedx*)dedxIter.Next())) {
00132         double dedxHit = recMdcDedxRoot->dedxHit();
00133         double dedxEsat = recMdcDedxRoot->dedxEsat();
00134         double dedxNoRun = recMdcDedxRoot->dedxNoRun();
00135         double dedxMoment = recMdcDedxRoot->dedxMoment();        
00136 
00137         int trackId =  recMdcDedxRoot->trackId();           
00138         int particleId = recMdcDedxRoot->particleId(); 
00139         int status = recMdcDedxRoot->status();
00140         int truncAlg = recMdcDedxRoot->truncAlg(); 
00141         // double pb[5];
00142         // for ( int i = 0; i < 5; i++) 
00143         //      pb[i] = dedxRoot->prob(i);
00144 
00145         // double numSigmaE  = dedxRoot->numSigmaE();   
00146         // double numSigmaMu = dedxRoot->numSigmaMu();  
00147         // double numSigmaPi = dedxRoot->numSigmaPi();  
00148         // double numSigmaK = dedxRoot->numSigmaK();   
00149         // double numSigmaP = dedxRoot->numSigmaP();   
00150         double chi[5];
00151         chi[0] = recMdcDedxRoot->chiE();
00152         chi[1] = recMdcDedxRoot->chiMu();
00153         chi[2] = recMdcDedxRoot->chiPi();
00154         chi[3] = recMdcDedxRoot->chiK();
00155         chi[4] = recMdcDedxRoot->chiP();
00156         int numGoodHits = recMdcDedxRoot->numGoodHits(); 
00157         int numTotalHits = recMdcDedxRoot->numTotalHits();
00158 
00159         double probPH = recMdcDedxRoot->probPH();      
00160         double normPH = recMdcDedxRoot->normPH();
00161         double errorPH = recMdcDedxRoot->errorPH();
00162         double twentyPH = recMdcDedxRoot->twentyPH(); 
00163         double dedxExpect[5],sigmaDedx[5],pidProb[5];
00164 
00165         for (int i=0; i<5; i++){
00166             dedxExpect[i] = recMdcDedxRoot->dedxExpect(i);
00167             sigmaDedx[i] = recMdcDedxRoot->sigmaDedx(i);
00168             pidProb[i] = recMdcDedxRoot->pidProb(i);}
00169 
00170             log << MSG::DEBUG<<"TObjectToDataObject: check Reconstrunction of dE/dx root::"<<" trackId: "<<trackId<<" particleId: "<<particleId<<" status: "<<status<<" truncAlg: "<<truncAlg<<" chi[2]: "<<chi[2]<<" numTotalHits: "<<numTotalHits<<" probPH: "<<probPH<<" errorPH: "<<errorPH<<" dedxExpect[2]: "<<dedxExpect[2]<<endreq;
00171 
00172             RecMdcDedx *recMdcDedx = new RecMdcDedx();
00173             m_common.m_rootRecMdcDedxMap[recMdcDedxRoot] = recMdcDedx;
00174 
00175             recMdcDedx->setTrackId(trackId);
00176             recMdcDedx->setParticleId(particleId);
00177             recMdcDedx->setStatus (status);
00178             recMdcDedx->setTruncAlg(truncAlg);
00179             // dedxTds->setProb(pb); 
00180             // dedxTds->setNumSigmaE(numSigmaE);       
00181             // dedxTds->setNumSigmaMu(numSigmaMu);     
00182             // dedxTds->setNumSigmaPi(numSigmaPi);     
00183             // dedxTds->setNumSigmaK(numSigmaK);       
00184             // dedxTds->setNumSigmaP(numSigmaP);       
00185             recMdcDedx->setChi(chi);
00186             recMdcDedx->setNumGoodHits( numGoodHits);     
00187             recMdcDedx->setNumTotalHits( numTotalHits); 
00188 
00189             recMdcDedx->setProbPH(probPH);             
00190             recMdcDedx->setNormPH(normPH);
00191             recMdcDedx->setErrorPH(errorPH);
00192             recMdcDedx->setTwentyPH(twentyPH);
00193             //for (int i=0; i<5; i++){
00194             recMdcDedx->setDedxExpect(dedxExpect);
00195             recMdcDedx->setSigmaDedx(sigmaDedx);
00196             recMdcDedx->setPidProb(pidProb);
00197 
00198             recMdcDedx->setDedxHit(dedxHit);   
00199             recMdcDedx->setDedxEsat(dedxEsat);  
00200             recMdcDedx->setDedxNoRun(dedxNoRun); 
00201             recMdcDedx->setDedxMoment(dedxMoment);     
00202             //}
00203 
00204             DedxHitRefVec theDedxHitRefVec;
00205             RecMdcDedxHitCol::iterator iter = recMdcDedxHitCol->begin();
00206             for (;iter != recMdcDedxHitCol->end(); iter++){
00207                 if((*iter)->getTrkId() == trackId){
00208                     SmartRef<RecMdcDedxHit> refDedxHit(*iter);
00209                     theDedxHitRefVec.push_back(refDedxHit);
00210                 }
00211             }
00212             recMdcDedx->setVecDedxHits(theDedxHitRefVec);
00213             int nhits = recMdcDedx->getVecDedxHits().size();
00214             //std::cout<<" mdc hits: "<<nhits<< std::endl;
00215             for(int ii=0; ii <nhits ; ii++){
00216                 Identifier id(recMdcDedx->getVecDedxHits()[ii]->getMdcId());
00217                 int layer = MdcID::layer(id);
00218                 int wire = MdcID::wire(id);
00219                 //cout<<"layer: "<<layer<<" wire: "<<wire<<endl;
00220             }
00221 
00222             int mdcTrackId = recMdcDedxRoot->mdcTrackId();
00223             //std::cout << __FILE__ << __LINE__ << " size: " << mdcTrackCol->size() << "  id: " << mdcTrackId << std::endl;
00224             if ( mdcTrackId >= 0 ) { 
00225                 recMdcDedx->setMdcTrack(
00226                             dynamic_cast<RecMdcTrack*>(mdcTrackCol->containedObject(mdcTrackId)));
00227             }
00228             int mdcKalTrackId = recMdcDedxRoot->mdcKalTrackId();
00229             //std::cout << __FILE__ << __LINE__ << " size: " << mdcKalTrackCol->size() << "  id: " << mdcKalTrackId<< std::endl;
00230             if ( mdcKalTrackId >= 0 ) {
00231                 recMdcDedx->setMdcKalTrack(
00232                             dynamic_cast<RecMdcKalTrack*>(mdcKalTrackCol->containedObject(mdcKalTrackId)));
00233             }
00234 
00235             recMdcDedxCol->push_back(recMdcDedx); 
00236             //delete dedxTds;
00237             // dedxTds = NULL;
00238     }
00239     //m_dedxCol->Delete();
00240     delete m_recMdcDedxCol;
00241     m_recMdcDedxCol = 0;
00242 
00243     return StatusCode::SUCCESS;
00244 }


Friends And Related Function Documentation

friend class CnvFactory< RecMdcDedxCnv > [friend]

Definition at line 17 of file RecMdcDedxCnv.h.


Member Data Documentation

CLID RootEventBaseCnv::CLID_top [protected, inherited]

the CLID of the upper converter if any

Definition at line 61 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().

std::vector<void *> RootEventBaseCnv::m_adresses [protected, inherited]

each converter knows the corresponding adresses

Definition at line 73 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), DigiCnv::DigiCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv::EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTofTrackCnv::RecTofTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().

int RootEventBaseCnv::m_branchNr [protected, inherited]

the branchNr of this converter for writing

Definition at line 49 of file RootEventBaseCnv.h.

Referenced by TrigCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrDst [protected, inherited]

Definition at line 50 of file RootEventBaseCnv.h.

Referenced by DstCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtHeader [protected, inherited]

Definition at line 54 of file RootEventBaseCnv.h.

Referenced by EvtHeaderCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtNavigator [protected, inherited]

Definition at line 55 of file RootEventBaseCnv.h.

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrEvtRec [protected, inherited]

Definition at line 53 of file RootEventBaseCnv.h.

Referenced by EvtRecCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrMc [protected, inherited]

Definition at line 51 of file RootEventBaseCnv.h.

Referenced by McCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

int RootEventBaseCnv::m_branchNrRecon [protected, inherited]

Definition at line 52 of file RootEventBaseCnv.h.

Referenced by RecTrackCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

TArrayS* RootEventBaseCnv::m_branchNumbers [protected, inherited]

array with number of branches for reading

Definition at line 64 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().

RootCnvSvc* RootEventBaseCnv::m_cnvSvc [protected, inherited]

Definition at line 39 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createRep(), TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), EmcDigiCnv::DataObjectToTObject(), RootEventBaseCnv::finalize(), TrigCnv::initialize(), RootEventBaseCnv::initialize(), RecTrackCnv::initialize(), McCnv::initialize(), HltCnv::initialize(), EvtRecCnv::initialize(), EvtNavigatorCnv::initialize(), EvtHeaderCnv::initialize(), DstCnv::initialize(), and DigiCnv::initialize().

commonData RecMdcDedxCnv::m_common [private]

relational maps

Definition at line 38 of file RecMdcDedxCnv.h.

Referenced by TObjectToDataObject().

std::string RootEventBaseCnv::m_currentFileName [protected, inherited]

Definition at line 71 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj().

IDataProviderSvc* RootEventBaseCnv::m_eds [protected, inherited]

pointer to eventdataservice

Definition at line 46 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), TrigDataCnv::DataObjectToTObject(), RecZddChannelCnv::DataObjectToTObject(), RecTofTrackCnv::DataObjectToTObject(), RecMucTrackCnv::DataObjectToTObject(), RecMdcTrackCnv::DataObjectToTObject(), RecMdcKalTrackCnv::DataObjectToTObject(), RecMdcKalHelixSegCnv::DataObjectToTObject(), RecMdcHitCnv::DataObjectToTObject(), RecMdcDedxHitCnv::DataObjectToTObject(), DataObjectToTObject(), RecExtTrackCnv::DataObjectToTObject(), RecEvTimeCnv::DataObjectToTObject(), RecEmcShowerCnv::DataObjectToTObject(), RecEmcHitCnv::DataObjectToTObject(), RecEmcClusterCnv::DataObjectToTObject(), TofMcHitCnv::DataObjectToTObject(), MucMcHitCnv::DataObjectToTObject(), MdcMcHitCnv::DataObjectToTObject(), McParticleCnv::DataObjectToTObject(), EmcMcHitCnv::DataObjectToTObject(), HltRawCnv::DataObjectToTObject(), HltInfCnv::DataObjectToTObject(), DstHltInfCnv::DataObjectToTObject(), EvtRecVeeVertexCnv::DataObjectToTObject(), EvtRecTrackCnv::DataObjectToTObject(), EvtRecPrimaryVertexCnv::DataObjectToTObject(), EvtRecPi0Cnv::DataObjectToTObject(), EvtRecEventCnv::DataObjectToTObject(), EvtRecEtaToGGCnv::DataObjectToTObject(), EvtRecDTagCnv::DataObjectToTObject(), TofTrackCnv::DataObjectToTObject(), MucTrackCnv::DataObjectToTObject(), MdcTrackCnv::DataObjectToTObject(), MdcKalTrackCnv::DataObjectToTObject(), MdcDedxCnv::DataObjectToTObject(), ExtTrackCnv::DataObjectToTObject(), EmcTrackCnv::DataObjectToTObject(), TofDigiCnv::DataObjectToTObject(), MucDigiCnv::DataObjectToTObject(), MdcDigiCnv::DataObjectToTObject(), LumiDigiCnv::DataObjectToTObject(), EmcDigiCnv::DataObjectToTObject(), RootEventBaseCnv::RootEventBaseCnv(), and McCnv::TObjectToDataObject().

RootEvtSelector* RootEventBaseCnv::m_evtsel [protected, inherited]

Definition at line 75 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), and RootEventBaseCnv::RootEventBaseCnv().

std::vector<RootCnvSvc::Leaf> RootEventBaseCnv::m_leaves [protected, inherited]

Definition at line 40 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::declareObject().

TObject* RootEventBaseCnv::m_objRead [protected, inherited]

the object that was read

Definition at line 58 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), RootEventBaseCnv::getReadObject(), and RootEventBaseCnv::RootEventBaseCnv().

TObjArray* RecMdcDedxCnv::m_recMdcDedxCol [private]

root object to be read

Definition at line 41 of file RecMdcDedxCnv.h.

Referenced by DataObjectToTObject(), RecMdcDedxCnv(), and TObjectToDataObject().

std::string RootEventBaseCnv::m_rootBranchname [protected, inherited]

root branchname (may be concatenated of severals)

Definition at line 67 of file RootEventBaseCnv.h.

Referenced by DigiCnv::DigiCnv(), DstCnv::DstCnv(), DstHltInfCnv::DstHltInfCnv(), EmcDigiCnv::EmcDigiCnv(), EmcMcHitCnv::EmcMcHitCnv(), EmcTrackCnv::EmcTrackCnv(), EvtHeaderCnv::EvtHeaderCnv(), EvtNavigatorCnv::EvtNavigatorCnv(), EvtRecCnv::EvtRecCnv(), EvtRecDTagCnv::EvtRecDTagCnv(), EvtRecEtaToGGCnv::EvtRecEtaToGGCnv(), EvtRecEventCnv::EvtRecEventCnv(), EvtRecPi0Cnv::EvtRecPi0Cnv(), EvtRecPrimaryVertexCnv::EvtRecPrimaryVertexCnv(), EvtRecTrackCnv::EvtRecTrackCnv(), EvtRecVeeVertexCnv::EvtRecVeeVertexCnv(), ExtTrackCnv::ExtTrackCnv(), HltInfCnv::HltInfCnv(), HltRawCnv::HltRawCnv(), LumiDigiCnv::LumiDigiCnv(), McParticleCnv::McParticleCnv(), MdcDedxCnv::MdcDedxCnv(), MdcDigiCnv::MdcDigiCnv(), MdcKalTrackCnv::MdcKalTrackCnv(), MdcMcHitCnv::MdcMcHitCnv(), MdcTrackCnv::MdcTrackCnv(), MucDigiCnv::MucDigiCnv(), MucMcHitCnv::MucMcHitCnv(), MucTrackCnv::MucTrackCnv(), RecBTofCalHitCnv::RecBTofCalHitCnv(), RecEmcClusterCnv::RecEmcClusterCnv(), RecEmcHitCnv::RecEmcHitCnv(), RecEmcShowerCnv::RecEmcShowerCnv(), RecETofCalHitCnv::RecETofCalHitCnv(), RecEvTimeCnv::RecEvTimeCnv(), RecExtTrackCnv::RecExtTrackCnv(), RecMdcDedxCnv(), RecMdcDedxHitCnv::RecMdcDedxHitCnv(), RecMdcHitCnv::RecMdcHitCnv(), RecMdcKalHelixSegCnv::RecMdcKalHelixSegCnv(), RecMdcKalTrackCnv::RecMdcKalTrackCnv(), RecMdcTrackCnv::RecMdcTrackCnv(), RecMucRecHitCnv::RecMucRecHitCnv(), RecMucTrackCnv::RecMucTrackCnv(), RecTrackCnv::RecTrackCnv(), RecZddChannelCnv::RecZddChannelCnv(), TofDigiCnv::TofDigiCnv(), TofMcHitCnv::TofMcHitCnv(), TofTrackCnv::TofTrackCnv(), and TrigDataCnv::TrigDataCnv().

RootInterface* RootEventBaseCnv::m_rootInterface [protected, inherited]

pointer to the RootInterface

Definition at line 43 of file RootEventBaseCnv.h.

Referenced by RootEventBaseCnv::createObj(), TrigCnv::DataObjectToTObject(), RecTrackCnv::DataObjectToTObject(), McCnv::DataObjectToTObject(), HltCnv::DataObjectToTObject(), EvtRecCnv::DataObjectToTObject(), EvtNavigatorCnv::DataObjectToTObject(), EvtHeaderCnv::DataObjectToTObject(), DstCnv::DataObjectToTObject(), DigiCnv::DataObjectToTObject(), and RootEventBaseCnv::RootEventBaseCnv().

std::string RootEventBaseCnv::m_rootTreename [protected, inherited]

each converter knows it's treename

Definition at line 69 of file RootEventBaseCnv.h.

Referenced by EmcTrackCnv::EmcTrackCnv(), RecEmcHitCnv::RecEmcHitCnv(), and RecMucRecHitCnv::RecMucRecHitCnv().


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