5 #include "TClonesArray.h"
7 #include "FairRootManager.h"
8 #include "FairRunAna.h"
9 #include "FairRuntimeDb.h"
12 #include "FairRuntimeDb.h"
19 #include "TClonesArray.h"
20 #include "TParticle.h"
21 #include "TDatabasePDG.h"
22 #include "TParticlePDG.h"
34 FairTask(
"Panda MCTracks to RhoCandidates Converter")
59 FairRootManager* ioman = FairRootManager::Instance();
61 cout <<
"-E- PndMcListConverter::Init: "
62 <<
"RootManager not instantiated!" << endl;
67 fMcTracks = (TClonesArray*) ioman->GetObject(
"MCTrack");
71 cout <<
"-W- PndMcListConverter::Init: "
72 <<
"No MCTracks array!" << endl;
77 ioman->Register(
"PndMcTracks",
"PndMcTracks",
fMcCandidates, kTRUE);
80 cout <<
"-I- PndMcListConverter: Intialization successfull" << endl;
90 FairRun*
run = FairRun::Instance();
91 if ( ! run ) { Fatal(
"SetParContainers",
"No analysis run"); }
105 if(
fVerbose) { cout <<
"-I- Start PndMcListConverter. "<<endl; }
106 if(
fVerbose) { cout <<
"-I- PndMcListConverter: nMcTracks="<<
fMcTracks->GetEntriesFast()<<endl; }
116 TParticlePDG* ppdg = TDatabasePDG::Instance()->GetParticle(part->
GetPdgCode());
120 if (ppdg) { charge=ppdg->Charge(); }
121 else if (
fVerbose) { cout <<
"-W- PndMcListConverter: strange PDG code:"<<part->
GetPdgCode()<<endl; }
122 if (
fabs(charge)>2) { charge/=3.; }
125 Int_t size = ref.GetEntriesFast();
135 if(
fVerbose) { cout <<
"-I- PndMcListConverter: found primaries="<<
fMcCandidates->GetEntriesFast()<<endl; }
void SetPos(const TVector3 &pos)
virtual InitStatus Init()
virtual void Exec(Option_t *opt)
TLorentzVector Get4Momentum() const
TClonesArray * fMcCandidates
void SetType(const TParticlePDG *pdt)
void SetP4(Double_t mass, const TVector3 &p3)
virtual void FinishEvent()
friend F32vec4 fabs(const F32vec4 &a)
void SetMcTruth(RhoCandidate *mct)
virtual void SetParContainers()
TVector3 GetStartVertex() const
Int_t GetMotherID() const