#include <PndHypIdealPRTask.h>
Definition at line 47 of file PndHypIdealPRTask.h.
PndHypIdealPRTask::PndHypIdealPRTask |
( |
| ) |
|
PndHypIdealPRTask::~PndHypIdealPRTask |
( |
| ) |
|
void PndHypIdealPRTask::AddHitBranch |
( |
unsigned int |
detId, |
|
|
const TString & |
m |
|
) |
| |
|
inline |
void PndHypIdealPRTask::AddHitToTrack |
( |
Int_t |
trackID, |
|
|
Int_t |
detnum, |
|
|
Int_t |
iHit |
|
) |
| |
|
private |
Definition at line 228 of file PndHypIdealPRTask.cxx.
References fMcArray, fTrackCandMap, GetChargeIon(), PndMCTrack::GetMomentum(), PndMCTrack::GetPdgCode(), PndMCTrack::GetStartVertex(), GFTrackCand::setMcTrackId(), GFTrackCand::setPdgCode(), and GFTrackCand::setTrackSeed().
Referenced by Exec().
245 std::cout<<
" particle "<<pdg<<std::endl;
252 else { q=TDatabasePDG::Instance()->GetParticle(pdg)->Charge()/3.;
Int_t GetChargeIon(Int_t ion)
TVector3 GetMomentum() const
void setMcTrackId(int i)
set the MCT track id, for MC simulations
void setTrackSeed(const TVector3 &pos, const TVector3 &direction, const double qop)
set the seed values for track: pos, direction, q/p
Track candidate – a list of cluster indices.
void setPdgCode(int pdgCode)
set a particle hypothesis in form of a PDG code
std::map< Int_t, GFTrackCand * > fTrackCandMap
TVector3 GetStartVertex() const
void PndHypIdealPRTask::ClearTrackCandMap |
( |
| ) |
|
|
private |
void PndHypIdealPRTask::Exec |
( |
Option_t * |
opt | ) |
|
|
virtual |
Virtual method Exec
Definition at line 131 of file PndHypIdealPRTask.cxx.
References AddHitToTrack(), ClearTrackCandMap(), fEventNr, fHitArray, fHitBranchMap, fMcArray, fPH, fPointArray, fSdsArray, fTrackArray, fTrackCandMap, GFTrackCand::getHit(), GFTrackCand::getNHits(), hit, and point.
133 std::cout<<
"PndHypIdealPRTask::Exec"<<std::endl;
135 if(
fTrackArray==0) Fatal(
"PndHypIdealPR::Exec)",
"No TrackArray");
140 std::cout<<
"<<<<< Event "<<
fEventNr++<<
" <<<"<<std::endl;
143 std::map<unsigned int,TClonesArray*>::iterator iter=
fHitBranchMap.begin();
152 for(Int_t ip=0; ip<np; ++ip){
159 else if(iter->first==3){
163 if(point==0)
continue;
165 unsigned int id=point->GetTrackID();
167 if(
id>10000)
continue;
189 std::map<Int_t ,GFTrackCand*>::iterator candIter=
fTrackCandMap.begin();
197 unsigned int detId, hitId;
198 cand->
getHit(0, detId, hitId);
203 if(detId==2) pointF =(FairMCPoint*)
fPointArray->At(myHit->GetRefIndex());
204 std::cout <<
"Detector no. " << detId <<
": "<< *pointF;
205 pointF->Momentum(frmom);
206 fPH->Fill(frmom.Mag());
217 std::cout<<
fTrackArray->GetEntriesFast()<<
" tracks created "<<std::endl;
TClonesArray * fPointArray
unsigned int getNHits() const
std::map< unsigned int, TClonesArray * > fHitBranchMap
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
void AddHitToTrack(Int_t trackID, Int_t detnum, Int_t iHit)
Track candidate – a list of cluster indices.
TClonesArray * fTrackArray
std::map< Int_t, GFTrackCand * > fTrackCandMap
Int_t PndHypIdealPRTask::GetChargeIon |
( |
Int_t |
ion | ) |
|
|
private |
Definition at line 275 of file PndHypIdealPRTask.cxx.
References L, and Z.
Referenced by AddHitToTrack().
279 if(ion>1000000000&&(ion<1010000000))
284 cout<<
" ion charge "<<Z<<endl;
289 if((ion>1010000000||ion>1020000000))
297 cout<<L<<
" hypernuclei charge "<<Z<<endl;
InitStatus PndHypIdealPRTask::Init |
( |
| ) |
|
|
virtual |
Virtual method Init
Definition at line 69 of file PndHypIdealPRTask.cxx.
References fHitBranchMap, fHitBranchNameMap, fMcArray, fPersistence, fPH, fPointArray, fSdsArray, and fTrackArray.
72 FairRootManager* ioman= FairRootManager::Instance();
76 Error(
"PndHypIdealPRTask::Init",
"RootManager not instantiated!");
83 TClonesArray* ar=(TClonesArray*) ioman->GetObject(iter->second);
85 Error(
"PndHypDPRTask::Init",
"point-array %s not found!",iter->second.Data());
95 fMcArray=(TClonesArray*) ioman->GetObject(
"MCTrack");
97 Error(
"PndHypDPRTask::Init",
"mctrack-array not found!");
101 fPointArray=(TClonesArray*) ioman->GetObject(
"HypPoint");
103 Error(
"PndHypDPRTask::Init",
"hyp hit-array not found!");
107 fSdsArray=(TClonesArray*) ioman->GetObject(
"MVDPoint");
109 Error(
"PndHypDPRTask::Init",
"mvd hit-array not found!");
120 fPH=
new TH1D(
"pH",
"p",1000,0.02,0.3);
123 std::cout <<
"-I- PndHypIdealPRTask: Initialisation successfull" << std::endl;
TClonesArray * fPointArray
std::map< unsigned int, TString > fHitBranchNameMap
std::map< unsigned int, TClonesArray * > fHitBranchMap
TClonesArray * fTrackArray
InitStatus PndHypIdealPRTask::ReInit |
( |
| ) |
|
|
virtual |
void PndHypIdealPRTask::SetPersistence |
( |
Bool_t |
opt = kTRUE | ) |
|
|
inline |
void PndHypIdealPRTask::WriteHistograms |
( |
| ) |
|
Definition at line 314 of file PndHypIdealPRTask.cxx.
References file, and fPH.
315 TFile*
file = FairRootManager::Instance()->GetOutFile();
317 file->mkdir(
"HypPrefit");
318 file->cd(
"HypPrefit");
int PndHypIdealPRTask::fEventNr |
|
private |
TClonesArray* PndHypIdealPRTask::fHitArray |
|
private |
std::map<unsigned int,TClonesArray*> PndHypIdealPRTask::fHitBranchMap |
|
private |
TClonesArray* PndHypIdealPRTask::fMcArray |
|
private |
Bool_t PndHypIdealPRTask::fPersistence |
|
private |
TH1D* PndHypIdealPRTask::fPH |
|
private |
TClonesArray* PndHypIdealPRTask::fPointArray |
|
private |
TClonesArray* PndHypIdealPRTask::fSdsArray |
|
private |
TClonesArray* PndHypIdealPRTask::fTrackArray |
|
private |
The documentation for this class was generated from the following files: