10 #include "TClonesArray.h"
11 #include "FairRootManager.h"
24 FairRootManager* ioman = FairRootManager::Instance();
27 std::cout <<
"-E- PndTrackSmearTask::Init: "
28 <<
"RootManager not instantiated!" << std::endl;
35 std::cout<<
"PndTrackSmearTask::Init(): Adding track branch "<<branchname.Data()<<std::endl;
36 fTracks.push_back( (TClonesArray*) ioman->GetObject(branchname));
52 std::cout <<
"============= Begin PndTrackSmearTask::Exec" << std::endl;
53 std::cout << std::endl;
62 if(trkArray==NULL)
continue;
63 TClonesArray* trkOutArray=fOutputTracks[
i];
64 if(trkOutArray==NULL)
continue;
66 for (
int j = 0; j < trkArray->GetEntriesFast(); j++)
74 FairRootManager::Instance()->GetBranchId(trkbranchname));
83 TVector3
mom=par.GetMomentum();
85 par.GetMARSCov(Cov66);
88 FairTrackParP result(par.GetPosition(),
mom, Cov66,par.GetQ(), par.GetOrigin(), par.GetJVer(), par.GetKVer());
98 rannn = gRandom->Gaus(vec.X(),vec.X()*
fMomSigma.X());
101 rannn = gRandom->Gaus(vec.Y(),vec.Y()*
fMomSigma.Y());
104 rannn = gRandom->Gaus(vec.Z(),vec.Z()*
fMomSigma.Z());
virtual void FinishEvent()
virtual void Exec(Option_t *opt)
std::vector< TString > fInputTrackBranches
void SmearMom(TVector3 &vec, Double_t Cov66[6][6])
virtual InitStatus Init()
PndTrackCand GetTrackCand()
FairTrackParP GetParamLast()
std::vector< TClonesArray * > fTracks
virtual void SetParContainers()
std::vector< TClonesArray * > fOutputTracks
FairTrackParP SmearTrackPar(FairTrackParP par)
ClassImp(PndTrackSmearTask)
std::vector< TString > fOutputTrackBranches
TVector3 fMomSigma
Momentum smearing sigma (dp/p)
FairTrackParP GetParamFirst()