111 std::map<Int_t, PndMCTrack*> mcmap;
113 for(Int_t imc=0;imc<nmc;++imc){
121 std::map<Int_t, GFTrackCand*> trackMap;
123 Int_t nPndHypHits=
fHitArray->GetEntriesFast();
124 cout<<nPndHypHits<<endl;
127 for(Int_t iHit=0;iHit<nPndHypHits;++iHit)
130 Int_t clustid=hit->GetRefIndex();
131 Int_t digiid,pointid,MCid;
147 MCid = point->GetTrackID();
161 if(trackMap[MCid]==0)
165 trackMap[MCid]=
new ((*fTrackOutputArray)[size])
GFTrackCand();
168 if( mcmap[MCid]==0)
continue;
170 pdgcode = mcmap[MCid]->GetPdgCode();
173 TParticlePDG pdgpart(pdgcode);
174 Int_t mcCharge = (Int_t)pdgpart.Charge();
176 TVector3 vtx = mcmap[MCid]->GetStartVertex();
177 TVector3
mom = mcmap[MCid]->GetMomentum();
181 Double_t dxdz = invp*mom.x()*mom.z();
182 Double_t dydz = invp*mom.y()*mom.z();
183 Double_t sigx = 0.01, sigy = 0.01, sigdxdz = 0.01, sigdydz = 0.01, siginvp = 0.01;
191 if(
fVerbose>1) std::cout<<
"PndHypIdealTrackingTask::Exec(), Particle Info: "
192 <<pdgpart.GetName()<<
" ("<<pdgcode<<
") Q="<<mcCharge<<std::endl;
196 trackMap[MCid]->setInverted(
false);
207 trackMap[MCid]->addHit(3,iHit);
216 <<
" Tracks created"<<std::endl;
Class to store the Digis which belong to one cluster This class holds the information which Digi belo...
TClonesArray * fPointArray
TClonesArray * fDigiStripArray
TClonesArray * fTrackOutputArray
Int_t GetBotIndex() const
TClonesArray * fClusterStripArray
Track candidate – a list of cluster indices.
Double_t GetTrackDip(PndMCTrack *myTrack)
Base class for Digi information.
Double_t GetTrackCurvature(PndMCTrack *myTrack)
TClonesArray * fMctruthArray