BrMainDb *mainDb = BrMainDb::Instance(); mainDb->SetUserName("query"); mainDb->SetHostName("rcas0005.rcf.bnl.gov"); mainDb->SetDbName("BrahmsMain"); mainDb->Connect(); mainDb->ConnectToCalib(); mainDb->ConnectToRun(); // here, DO NOT initialize anything. This is done in the BrDbUpdateModule BrCalibrationManager * calibManager = BrCalibrationManager::Instance(); BrRunInfoManager* runMan = BrRunInfoManager::Instance(); runMan->Register(runno); BrDbUpdateModule * dbMod = new BrDbUpdateModule("DB","DB Update"); // here, the BB calibration objects will be internally registered BrBbCalHitsModule * bbHits = new BrBbCalHitsModule("BB","BB Calibrated hit Module"); bbHits->SetTreeOn(kFALSE); bbHits->SetUseOldCal(kFALSE); bbHits->SetMaxTdc(3800); bbHits->SetMinTdc(10); // here, no DB reference at all BrBbVertexModule * bbVtx = new BrBbVertexModule("BB","BB Rdo Module"); bbVtx->SetTreeOn(kFALSE); bbVtx->SetMaxTimeDiff(0.5); bbVtx->SetZOffBig(19.64); bbVtx->SetZOffSmall(18.1); bbVtx->SetZOffFastest(0); // you can see here that nothing has been initialized yet. // now comes the time to do it dbMod->Init(); // initialize runinfo and calib managers bbHits->Init(); bbVtx->Init(); // now you have to begin explicitely since you don't use any module // container or main module dbMod->Begin(); // begin (extremely important) runinfo and calib managers bbHits->Begin(); bbVtx->Begin(); // note that you should be careful since your Begin should be // in a loop over sequences of files // event loop Ok. BrEventNode * bbHitNode = new BrEventNode("bbHit","bbHit"); dbMod->Event(nextevent, nextevent); bbHits->Event(nextevent, bbHitNode); bbVtx->Event(bbHitNode,bbHitNode); delete bbHitNode;