//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of class TrackFitStatTask // see TrackFitStatTask.h for details // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- // Panda Headers ---------------------- // This Class' Header ------------------ #include "TrackFitStatTask.h" // C/C++ Headers ---------------------- #include #include #include // Collaborating Class Headers -------- #include "CbmRootManager.h" #include "TClonesArray.h" #include "Track.h" #include "TrackFitStat.h" TrackFitStatTask::TrackFitStatTask() : CbmTask("TrackFitStatistics"), _persistence(kFALSE)//, app("app",0,NULL) { _trackBranchName = "TrackPreFit"; } TrackFitStatTask::~TrackFitStatTask() { } InitStatus TrackFitStatTask::Init() { //Get ROOT Manager CbmRootManager* ioman= CbmRootManager::Instance(); if(ioman==0) { Error("TrackReadTask::Init","RootManager not instantiated!"); return kERROR; } // Get input collection _trackArray=(TClonesArray*) ioman->GetObject(_trackBranchName); if(_trackArray==0) { Error("TrackFitStatTask::Init","Track-array not found!"); return kERROR; } // Create output collection _fitstatArray = new TClonesArray("TrackFitStat"); ioman->Register("TrackFitStat","GenFit",_fitstatArray,_persistence); return kSUCCESS; } void TrackFitStatTask::Exec(Option_t* opt) { std::cout << "TrackFitStatTask::Exec" << std::endl; // clear output if(_fitstatArray==0) Fatal("TrackFitStat::Exec)","No OutputArray"); _fitstatArray->Delete(); Int_t nTracks=_trackArray->GetEntriesFast(); for(Int_t i=0; iGetEntriesFast(); TrackFitStat* stat=new ((*_fitstatArray)[size]) TrackFitStat(); // fill tpc residuals std::vector res; Track* track=(Track*)_trackArray->At(i); track->getResiduals(2,0,0,res); stat->fillTpcResX(res); res.clear(); track->getResiduals(2,1,0,res); stat->fillTpcResY(res); } // end loop over tracks return; } ClassImp(TrackFitStatTask)