#include <PndMvdRiemannTrackFinderTaskEff.h>
PndMvdRiemannTrackFinderTaskEff::PndMvdRiemannTrackFinderTaskEff |
( |
| ) |
|
Definition at line 32 of file PndMvdRiemannTrackFinderTaskEff.cxx.
32 : FairTask(
"MVD Riemann Track Finder"),
TClonesArray * fHitArray2
TClonesArray * fMCTracksArray
TString fIdealTrackBranch
TClonesArray * fTrackCandArray
TClonesArray * fIdealTrackCandArray
PndMvdRiemannTrackFinderTaskEff::~PndMvdRiemannTrackFinderTaskEff |
( |
| ) |
|
|
virtual |
void PndMvdRiemannTrackFinderTaskEff::AddGhostTrack |
( |
int |
trackF | ) |
|
|
private |
Definition at line 231 of file PndMvdRiemannTrackFinderTaskEff.cxx.
References PndRiemannTrack::addHit(), CAMath::Cos(), PndRiemannTrack::dip(), Double_t, fHitArray, fHitArray2, fHitBranch, fHitBranch2, fTrackCandArray, GhH, hit, i, P, Pi, point, R, PndRiemannTrack::r(), PndRiemannTrack::refit(), PndRiemannHit::setDXYZ(), PndRiemannHit::setXYZ(), sign(), PndRiemannTrack::szFit(), CAMath::Tan(), and track.
Referenced by ComparingFandR().
234 unsigned int detID, hitID;
240 if ((
int)detID == FairRootManager::Instance()->GetBranchId(
fHitBranch))
242 else if ((
int)detID == FairRootManager::Instance()->GetBranchId(
fHitBranch2))
247 hit.
setXYZ(point->GetX(),point->GetY(),point->GetZ());
248 hit.
setDXYZ(point->GetDx(),point->GetDy(),point->GetDz());
252 if (point->GetZ()>0){
264 if (sign) Theta=(TMath::ATan(TMath::Power(
TMath::Tan(TMath::ACos(dip)),-1)))*180/
TMath::Pi();
TClonesArray * fHitArray2
void setDXYZ(double dx, double dy, double dz)
void setXYZ(double x, double y, double z)
void refit(bool withErrorCalc=true)
void szFit(bool withErrorCalc=true)
void addHit(PndRiemannHit &hit)
TClonesArray * fTrackCandArray
Definition at line 147 of file PndMvdRiemannTrackFinderTaskEff.cxx.
References a, count, fHitArray, fHitArray2, fHitBranch, fHitBranch2, fMinPointDist, PndTrackCandHit::GetDetId(), PndTrackCandHit::GetHitId(), PndTrackCand::GetNHits(), PndSdsHit::GetPosition(), PndTrackCand::GetSortedHit(), and i.
Referenced by Exec().
151 unsigned int detIDi, hitIDi;
152 unsigned int detIDj, hitIDj;
157 if ((
int)detIDi == FairRootManager::Instance()->GetBranchId(
fHitBranch))
159 else if ((
int)detIDi == FairRootManager::Instance()->GetBranchId(
fHitBranch2))
163 for(
unsigned int j=0;j<cand->
GetNHits();j++){
167 if ((
int)detIDj == FairRootManager::Instance()->GetBranchId(
fHitBranch))
169 else if ((
int)detIDj == FairRootManager::Instance()->GetBranchId(
fHitBranch2))
173 if ((pointI!=0) && (pointJ!=0) && (
i!=j)){
182 std::cout <<
"Less then 3 base points in RecoTrack"<<
" "<<cand->
GetNHits()<<
" "<<count <<std::endl;
TVector3 GetPosition() const
TClonesArray * fHitArray2
PndTrackCandHit GetSortedHit(UInt_t i)
void PndMvdRiemannTrackFinderTaskEff::ComparingFandR |
( |
std::vector< PndTrackCand * > |
RecoT | ) |
|
|
private |
Definition at line 190 of file PndMvdRiemannTrackFinderTaskEff.cxx.
References AddGhostTrack(), effH, fMCTracksArray, fTrackCandArray, PndMCTrack::GetMomentum(), P, and Pi.
Referenced by Exec().
192 unsigned int detidRC, hitidRC;
193 unsigned int detidF, hitidF;
195 for(
unsigned int trackRC=0;trackRC<RecoT.size();trackRC++){
200 for(
unsigned int iRC=0;iRC<RecoT[trackRC]->GetNHits();iRC++){
201 detidRC=RecoT[trackRC]->GetSortedHit(iRC).GetDetId();
202 hitidRC=RecoT[trackRC]->GetSortedHit(iRC).GetHitId();
203 if (detidRC==detidF && hitidRC==hitidF){
211 std::cout<<
"TRUE FOUND"<<std::endl;
213 double Theta=180.0*Pvec.Theta()/
TMath::Pi();
216 RecoT.erase(RecoT.begin()+trackRC);
220 if ((trackRC)==RecoT.size()-1){
221 std::cout<<
" FALSE FOUND"<<std::endl;
void AddGhostTrack(int trackF)
TVector3 GetMomentum() const
TClonesArray * fMCTracksArray
TClonesArray * fTrackCandArray
void PndMvdRiemannTrackFinderTaskEff::Exec |
( |
Option_t * |
opt | ) |
|
|
virtual |
Virtual method Exec
Definition at line 122 of file PndMvdRiemannTrackFinderTaskEff.cxx.
References PndTrackCand::AddHit(), CheckRecoTrack(), ComparingFandR(), eff0H, fEventNr, fIdealTrackCandArray, fMCTracksArray, PndTrackCand::getMcTrackId(), PndMCTrack::GetMomentum(), PndMCTrack::GetMotherID(), i, P, and Pi.
125 std::vector<PndTrackCand*> RecoT;
132 RecoT.push_back(cand);
134 double Theta=180.0*Pvec.Theta()/
TMath::Pi();
136 eff0H->Fill(P,Theta);
140 std::cout<<
" Event n: "<<
fEventNr++<<std::endl;
TVector3 GetMomentum() const
void ComparingFandR(std::vector< PndTrackCand * > RecoT)
void AddHit(UInt_t detId, UInt_t hitId, Double_t rho)
TClonesArray * fMCTracksArray
bool CheckRecoTrack(PndTrackCand *cand, PndMCTrack *myTrack)
Int_t GetMotherID() const
TClonesArray * fIdealTrackCandArray
void PndMvdRiemannTrackFinderTaskEff::FinishEvent |
( |
| ) |
|
|
virtual |
InitStatus PndMvdRiemannTrackFinderTaskEff::Init |
( |
| ) |
|
|
virtual |
Definition at line 69 of file PndMvdRiemannTrackFinderTaskEff.cxx.
References eff0H, effH, fFTrackBranch, fHitArray, fHitArray2, fHitBranch, fHitBranch2, fIdealTrackBranch, fIdealTrackCandArray, fMCTrackBranch, fMCTracksArray, fTrackCandArray, and GhH.
72 FairRootManager* ioman = FairRootManager::Instance();
76 std::cout <<
"-E- PndMvdRiemannTrackFinderTask::Init: "
77 <<
"RootManager not instantiated!" << std::endl;
84 std::cout <<
"-W- PndMvdRiemannTrackFinderTask::Init: " <<
"No hitArray!" << std::endl;
90 std::cout <<
"-W- PndMvdRiemannTrackFinderTask::Init: " <<
"No hitArray2!" << std::endl;
96 std::cout <<
"-W- PndMvdRiemannTrackFinderTask::Init: " <<
"No MCtracks!" << std::endl;
102 std::cout <<
"-W- PndMvdRiemannTrackFinderTask::Init: " <<
"No IdealTrackCands!" << std::endl;
107 std::cout <<
"-W- PndMvdRiemannTrackFinderTask::Init: " <<
"No FTrackCands!" << std::endl;
112 eff0H =
new TH2F(
"eff0H",
"eff0H",Nbin,0.1,1,Nbin,15,150);
113 effH =
new TH2F(
"effH",
"effH",Nbin,0.1,1,Nbin,15,150);
115 GhH =
new TH2F(
"GhH",
"GhH",Nbin,0.1,1,Nbin,15,150);
117 std::cout <<
"-I- PndMvdRiemannTrackFinderTask: Initialisation successfull" << std::endl;
TClonesArray * fHitArray2
TClonesArray * fMCTracksArray
TString fIdealTrackBranch
TClonesArray * fTrackCandArray
TClonesArray * fIdealTrackCandArray
void PndMvdRiemannTrackFinderTaskEff::ProduceHits |
( |
| ) |
|
|
private |
void PndMvdRiemannTrackFinderTaskEff::Register |
( |
| ) |
|
|
private |
InitStatus PndMvdRiemannTrackFinderTaskEff::ReInit |
( |
| ) |
|
|
virtual |
void PndMvdRiemannTrackFinderTaskEff::Reset |
( |
| ) |
|
|
private |
void PndMvdRiemannTrackFinderTaskEff::SetMaxDist |
( |
double |
val | ) |
|
|
inline |
void PndMvdRiemannTrackFinderTaskEff::SetMaxSZChi2 |
( |
double |
val | ) |
|
|
inline |
void PndMvdRiemannTrackFinderTaskEff::SetMaxSZDist |
( |
double |
val | ) |
|
|
inline |
void PndMvdRiemannTrackFinderTaskEff::SetMinPointDist |
( |
double |
val | ) |
|
|
inline |
void PndMvdRiemannTrackFinderTaskEff::SetParContainers |
( |
| ) |
|
|
virtual |
void PndMvdRiemannTrackFinderTaskEff::SetVerbose |
( |
Int_t |
verbose | ) |
|
|
inline |
TH2F* PndMvdRiemannTrackFinderTaskEff::eff0H |
TH2F* PndMvdRiemannTrackFinderTaskEff::effH |
int PndMvdRiemannTrackFinderTaskEff::fEventNr |
|
private |
TString PndMvdRiemannTrackFinderTaskEff::fFTrackBranch |
|
private |
TClonesArray* PndMvdRiemannTrackFinderTaskEff::fHitArray |
|
private |
TClonesArray* PndMvdRiemannTrackFinderTaskEff::fHitArray2 |
|
private |
TString PndMvdRiemannTrackFinderTaskEff::fHitBranch |
|
private |
TString PndMvdRiemannTrackFinderTaskEff::fHitBranch2 |
|
private |
TString PndMvdRiemannTrackFinderTaskEff::fIdealTrackBranch |
|
private |
TClonesArray* PndMvdRiemannTrackFinderTaskEff::fIdealTrackCandArray |
|
private |
double PndMvdRiemannTrackFinderTaskEff::fMaxDist |
|
private |
double PndMvdRiemannTrackFinderTaskEff::fMaxSZChi2 |
|
private |
double PndMvdRiemannTrackFinderTaskEff::fMaxSZDist |
|
private |
TString PndMvdRiemannTrackFinderTaskEff::fMCTrackBranch |
|
private |
TClonesArray* PndMvdRiemannTrackFinderTaskEff::fMCTracksArray |
|
private |
double PndMvdRiemannTrackFinderTaskEff::fMinPointDist |
|
private |
TClonesArray* PndMvdRiemannTrackFinderTaskEff::fTrackCandArray |
|
private |
TH2F* PndMvdRiemannTrackFinderTaskEff::GhH |
The documentation for this class was generated from the following files: