14 #include "TClonesArray.h"
15 #include "TVirtualMC.h"
16 #include "TDatabasePDG.h"
17 #include "TParticlePDG.h"
20 #include "FairRootManager.h"
21 #include "FairRunAna.h"
22 #include "FairRuntimeDb.h"
28 #include "LSLTrackRep.h"
35 #include "FairRuntimeDb.h"
54 FairTask(
"FastSim Dump") {
83 cout <<
" Inside the Init function****" << endl;
90 FairRootManager* ioman = FairRootManager::Instance();
92 cout <<
"-E- PndHypMicroWriter::Init: "
93 <<
"RootManager not instantiated!" << endl;
97 fTrArray = (TClonesArray*) ioman->GetObject(
"Track");
99 cout <<
"-W- PndHypMicroWriter::Init: "
100 <<
"No TpcTrack array!" << endl;
101 fTrArray=
new TClonesArray(
"GFTrack");
106 fHitArray = (TClonesArray*) ioman->GetObject(
"HypHit");
108 cout <<
"-W- PndHypMicroWriter::Init: "
109 <<
"No Hit array!" << endl;
136 FairRootManager::Instance()->Register(
"PndPidCandidates",
"FullSim",
fMicroCandidates, kTRUE);
142 cout <<
"-I- PndHypMicroWriter: Intialization successfull" << endl;
155 FairRunAna* ana = FairRunAna::Instance();
156 FairRuntimeDb*
rtdb=ana->GetRuntimeDb();
203 TLorentzVector McSumP4(0,0,0,0);
204 TVector3 McAvgVtx(0,0,0);
218 for (Int_t
i=0;
i<nTracks;
i++)
222 Int_t micsize = microCandidates.GetEntriesFast();
230 std::cout<<
"Discarding track. Status flag !=0" <<std::endl;
249 TVector3 vtx(pos.x(),pos.y(),pos.z());
252 lv.SetXYZM(mom.x(),mom.y(),mom.z(),0.13957);
274 unsigned int detId, hitId;
275 unsigned int numhits=0,mvdhits=0,stthits=0,tpchits=0;
285 for (ii=0;ii<numhits;++ii)
291 case 2:
mvd_hitidx[mvdhits]=hitId;
if(mvdhits<1000) mvdhits++;
break;
293 default:
tpc_hitidx[tpchits]=hitId;
if(tpchits<1000) tpchits++;
break;
317 GFDetPlane pinit(init,TVector3(1,0,0),TVector3(0,1,0));
369 double calFactor=1.035;
Base Class for genfit track representations. Defines interface for track parameterizations.
virtual void SetParContainers()
TClonesArray * fMicroCandidates
TClonesArray * fEventInfo
Detector plane genfit geometry class.
Track object for genfit. genfit algorithms work on these objects.
TVector3 GetPosition() const
unsigned int getNHits() const
virtual InitStatus Init()
TClonesArray * fMcCandidates
void SetMvdHits(Int_t val)
virtual TVector3 getMom(const GFDetPlane &pl)=0
TClonesArray * fNeutralCandidates
virtual TVector3 getPos(const GFDetPlane &pl)=0
virtual void Exec(Option_t *opt)
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
virtual double getCharge() const
GFAbsTrackRep * getTrackRep(int id) const
Accessor for track representations.
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
const GFTrackCand & getCand() const
TClonesArray * fChargedCandidates
TMatrixT< double > TMatrixD