#include <RecMdcDedxCnv.h>
Inheritance diagram for RecMdcDedxCnv:
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 | |
destination * | operator (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 destination * | convert (const source &) const =0 |
Protected Attributes | |
RootCnvSvc * | m_cnvSvc |
std::vector< RootCnvSvc::Leaf > | m_leaves |
RootInterface * | m_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 | |
RootEvtSelector * | m_evtsel |
Private Attributes | |
commonData | m_common |
relational maps | |
TObjArray * | m_recMdcDedxCol |
root object to be read | |
Friends | |
class | CnvFactory< RecMdcDedxCnv > |
Definition at line 15 of file RecMdcDedxCnv.h.
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited] |
Definition at line 19 of file Converter.h.
Definition at line 18 of file Converter.h.
virtual RecMdcDedxCnv::~RecMdcDedxCnv | ( | ) | [inline, virtual] |
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 }
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 }
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 }
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 }
friend class CnvFactory< RecMdcDedxCnv > [friend] |
Definition at line 17 of file RecMdcDedxCnv.h.
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] |
std::string RootEventBaseCnv::m_currentFileName [protected, inherited] |
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] |
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().