FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PndMCTrack Class Reference

#include <PndMCTrack.h>

Inheritance diagram for PndMCTrack:

Public Member Functions

 PndMCTrack ()
 
 PndMCTrack (const PndMCTrack &track)
 
 PndMCTrack (TParticle *particle)
 
virtual ~PndMCTrack ()
 
void Print (Int_t iTrack=0) const
 
Int_t GetPdgCode () const
 
Int_t GetMotherID () const
 
Int_t GetSecondMotherID () const
 
TVector3 GetStartVertex () const
 
Double_t GetStartTime () const
 
TVector3 GetMomentum () const
 
Double_t GetPt () const
 
Bool_t IsGeneratorCreated (void) const
 
Bool_t IsGeneratorDecayed (void) const
 
Bool_t IsGeneratorLast (void) const
 
void SetGeneratorCreated (void)
 
void SetGeneratorDecayed (void)
 
Int_t GetNPoints (DetectorId detId) const
 
void SetMotherID (Int_t id)
 
void SetSecondMotherID (Int_t id)
 
void SetNPoints (Int_t iDet, Int_t np)
 
TLorentzVector Get4Momentum () const
 

Private Member Functions

 ClassDef (PndMCTrack, 1)
 

Private Attributes

Int_t fPdgCode
 
Double32_t fPx
 
Double32_t fPy
 
Double32_t fPz
 
Double32_t fE
 
Int_t fMotherID
 
Int_t fSecondMotherID
 
Int_t fGeneratorFlags
 
Double32_t fStartX
 
Double32_t fStartY
 
Double32_t fStartZ
 
Double32_t fStartT
 
Int_t fPoints
 

Friends

std::ostreamoperator<< (std::ostream &out, PndMCTrack &track)
 

Detailed Description

PndMCTrack.h

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e

Data class for storing Monte Carlo tracks processed by the PndStack. A MCTrack can be a primary track put into the simulation or a secondary one produced by the transport through decay or interaction.

Definition at line 35 of file PndMCTrack.h.

Constructor & Destructor Documentation

PndMCTrack::PndMCTrack ( )

Default constructor

Definition at line 14 of file PndMCTrack.cxx.

14  : TObject(),
15  fPdgCode(0),
16  fPx(0), fPy(0), fPz(0), fE(0),
17  fMotherID(-1),
18  fSecondMotherID(-1),
19  fGeneratorFlags(0),
20  fStartX(0), fStartY(0), fStartZ(0), fStartT(0),
21  fPoints(0)
22 {
23 }
Int_t fPoints
Definition: PndMCTrack.h:150
Double32_t fE
Definition: PndMCTrack.h:117
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fStartX
Definition: PndMCTrack.h:127
Double32_t fPz
Definition: PndMCTrack.h:117
Int_t fMotherID
Definition: PndMCTrack.h:120
Double32_t fStartT
Definition: PndMCTrack.h:127
Int_t fSecondMotherID
Definition: PndMCTrack.h:121
Double32_t fStartZ
Definition: PndMCTrack.h:127
Double32_t fStartY
Definition: PndMCTrack.h:127
Int_t fPdgCode
Definition: PndMCTrack.h:114
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
PndMCTrack::PndMCTrack ( const PndMCTrack track)

Standard constructor Copy constructor

Definition at line 53 of file PndMCTrack.cxx.

53  : TObject(track),
54  fPdgCode(track.fPdgCode),
55  fPx(track.fPx), fPy(track.fPy), fPz(track.fPz), fE(track.fE),
56  fMotherID(track.fMotherID),
59  fStartX(track.fStartX), fStartY(track.fStartY), fStartZ(track.fStartZ), fStartT(track.fStartT),
60  fPoints(track.fPoints)
61 {
62 }
Int_t fPoints
Definition: PndMCTrack.h:150
Double32_t fE
Definition: PndMCTrack.h:117
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fStartX
Definition: PndMCTrack.h:127
Double32_t fPz
Definition: PndMCTrack.h:117
Int_t fMotherID
Definition: PndMCTrack.h:120
Double32_t fStartT
Definition: PndMCTrack.h:127
Int_t fSecondMotherID
Definition: PndMCTrack.h:121
Double32_t fStartZ
Definition: PndMCTrack.h:127
Double32_t fStartY
Definition: PndMCTrack.h:127
Int_t fPdgCode
Definition: PndMCTrack.h:114
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
PndMCTrack::PndMCTrack ( TParticle *  particle)

Constructor from TParticle

Definition at line 68 of file PndMCTrack.cxx.

68  : TObject(),
69  fPdgCode(part->GetPdgCode()),
70  fPx(part->Px()),
71  fPy(part->Py()),
72  fPz(part->Pz()),
73  fE(part->Energy()),
74  fMotherID(part->GetMother(0)),
75  fSecondMotherID(part->GetMother(1)),
76  fGeneratorFlags(0),
77  fStartX(part->Vx()),
78  fStartY(part->Vy()),
79  fStartZ(part->Vz()),
80  fStartT(part->T()*1e09),
81  fPoints(0)
82 {
83 }
Int_t fPoints
Definition: PndMCTrack.h:150
Double32_t fE
Definition: PndMCTrack.h:117
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fStartX
Definition: PndMCTrack.h:127
Double32_t fPz
Definition: PndMCTrack.h:117
Int_t fMotherID
Definition: PndMCTrack.h:120
Double32_t fStartT
Definition: PndMCTrack.h:127
Int_t fSecondMotherID
Definition: PndMCTrack.h:121
Double32_t fStartZ
Definition: PndMCTrack.h:127
Double32_t fStartY
Definition: PndMCTrack.h:127
Int_t fPdgCode
Definition: PndMCTrack.h:114
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
PndMCTrack::~PndMCTrack ( )
virtual

Destructor

Definition at line 89 of file PndMCTrack.cxx.

89 { }

Member Function Documentation

PndMCTrack::ClassDef ( PndMCTrack  ,
 
)
private
TLorentzVector PndMCTrack::Get4Momentum ( ) const

Definition at line 102 of file PndMCTrack.cxx.

References fE, fPx, fPy, and fPz.

Referenced by analysis_cluster_energyCorrection_Ntuple(), PndAnalysis::BuildMcCands(), emc_correction_hist(), emc_correction_parametrization(), PndMcListConverter::Exec(), PndEmcAnalysis::Exec(), for(), propagate_mclist(), reco_analys(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), and track_check_4pi_tpc().

102  {
103 /*
104  Double_t mass=0.0;
105  Double_t ene=0.0;
106  TParticlePDG*
107  fParticlePDG = TDatabasePDG::Instance()->GetParticle(fPdgCode);
108 
109  if (fParticlePDG)
110  mass = fParticlePDG->Mass();
111 
112  if ( mass >= 0 ) {
113  ene = TMath::Sqrt(mass*mass + fPx*fPx +fPy*fPy +fPz*fPz);
114  }
115 */
116  return TLorentzVector(fPx,fPy,fPz,fE);
117 }
Double32_t fE
Definition: PndMCTrack.h:117
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fPz
Definition: PndMCTrack.h:117
TVector3 PndMCTrack::GetMomentum ( ) const
inline

Definition at line 78 of file PndMCTrack.h.

References fPx, fPy, and fPz.

Referenced by PndHypIdealPRTask::AddHitToTrack(), AllNeutronAnalysis(), AllNeutronAnalysis_job(), AllNeutronAnalysis_job_edit(), anaGemPointrate(), PndTrackingQA::AnalyseEvent(), PndTrackingQualityBarrelAnalysisNewLinks::AnalyseEvent(), analysis_cluster_energyCorrection_Ntuple(), analysis_digi_cluster_7gammaAnalysis_FullEmc(), analysis_digi_cluster_allGammasAnalysis_FullEmc(), analysis_digi_cluster_allGammasAnalysis_fwendcap(), analysis_digi_cluster_fwendcap(), anaRadLength(), PndMvdRiemannTrackFinderTaskCutPar::CalcParHists(), Check_particle_path(), PndMvdRiemannTrackFinderTaskEff::ComparingFandR(), PndTrkComparisonMCtruth::ComparisonwithMC(), PndDrcReco::DetermineCherenkov(), PndSttTrackFinderReal::DoFind(), PndSttTrackFinderIdeal::DoFind(), MyMainFrame::DoInfoStatusBar(), emc_correction_hist(), emc_correction_parametrization(), emc_correction_QA(), error_matrix_fit(), PndMvdRiemannTrackFinderTaskEff::Exec(), FairGeaneTrEmc::Exec(), PndKFParticleFinderQA::Exec(), PndFtsDataAccessor::Exec(), PndHypGeGammaAna::Exec(), PndFtsCATracking::Exec(), PndSttTrackFitterQATask::Exec(), PndGemTrackFinderQA::Exec(), PndMvdEventAnaTask::Exec(), PndCATracking::Exec(), PndDrcReco::Exec(), PndMvdMSAnaTask::Exec(), PndLmdBPtestTask::Exec(), PndTrackingQualityBarrelTaskNewLinks::Exec(), PndLmdDigiQTask::Exec(), PndLmdTrkQTask::Exec(), PndMvdGemTrackFinderOnHits::Exec(), PndTrackingQATask::Exec(), PndSciTAnaIdeal::Exec(), PndHypDPatternRecoTask::Exec(), PndDrcTimeDigiTask::Exec(), PndEmcAnalysis::Exec(), PndLmdPerformanceTask::Exec(), PndGemMagneticFieldVsTrackParameters::Fill1StationHistograms(), PndGemMagneticFieldVsTrackParameters::Fill2StationsHistograms(), PndPatternDBGenerator::FillSectorPatterns(), PndPatternDBGenerator::FillTrackPatterns(), PndSttMvdGemTracking::FillTrueDistances(), for(), gem_material_ana1(), GetEntriesFast(), PndTrkComparisonMCtruth::getMCInfo(), PndSttTrackFinderIdeal::GetTrack(), PndMQStraightLineTrackFinder::GetTrackCurvature(), PndHypIdealTrackingTask::GetTrackCurvature(), PndHypIdealTrackFinderTask::GetTrackCurvature(), PndLmdTrackFinderTask::GetTrackCurvature(), PndMvdIdealTrackFinderTask::GetTrackCurvature(), PndStraightLineTrackFinderTask::GetTrackCurvature(), PndLmdTrackFinderCATask::GetTrackCurvature(), PndMQStraightLineTrackFinder::GetTrackDip(), PndHypIdealTrackingTask::GetTrackDip(), PndHypIdealTrackFinderTask::GetTrackDip(), PndLmdTrackFinderTask::GetTrackDip(), PndMvdIdealTrackFinderTask::GetTrackDip(), PndStraightLineTrackFinderTask::GetTrackDip(), PndLmdTrackFinderCATask::GetTrackDip(), load_vectors(), PndDrcReco::LookUpTable(), PndDrcLutReco::LoopOverMcTracks(), main(), materialana(), NeutronAnalysis_COSY(), online_monitoring_studies(), PndGemTrackFinderOnHits::PrintMCTracks(), PndGemTrackFinderOnHitsTB::PrintMCTracks(), PndGemTrackFinderOnHits::PrintMCTrackSegments(), PndGemTrackFinderOnHitsTB::PrintMCTrackSegments(), PndDrcLutFill::ProcessPhotonHit(), PndPhoGunShortP::ProcessPhotonHit(), DrawHits::ProcessPhotonHit(), PndPhoGunShort::ProcessPhotonHit(), PndDrcRecoLookupMapS::ProcessPhotonHit(), PndDrcRecoLookupMap::ProcessPhotonHit(), DrawHits::ProcessPhotonMC(), PndDrcHitProducerReal::ProcessPhotonPoint(), QAmacro_emc_3(), PndLmdQATask::ResoAndPulls(), run_ana_eta_c_stt(), run_ana_eta_c_tpc(), runOnlineDisplayMCCheck(), runOnlineDisplayMCCheckFaster(), runOnlineDisplayMCCheckFaster2(), runOnlineDisplayMCCheckFaster3(), runTripletFinderMini(), scattered_particles(), PndFTSCAMCTrack::SetMCTrack(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), track_check_4pi_tpc(), PndTrkPlotMacros::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsConformalwithMCspecial(), PndTrkPlotMacros::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneral(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros::WriteMacroParallelHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC_Degree(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSttParallelAssociatedHitsandMvdwithMC(), and PndTrkPlotMacros2::WriteMacroSttParallelAssociatedHitsandMvdwithMC().

78 { return TVector3(fPx, fPy, fPz); }
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fPz
Definition: PndMCTrack.h:117
Int_t PndMCTrack::GetMotherID ( ) const
inline

Definition at line 74 of file PndMCTrack.h.

References fMotherID.

Referenced by AllNeutronAnalysis(), AllNeutronAnalysis_job(), AllNeutronAnalysis_job_edit(), ana_check(), ana_check_psi(), ana_invariantmass_2pi_tpc(), anaRadLength(), PndMvdRiemannTrackFinderTaskCutPar::CalcRiemannTracks(), PndMvdRiemannVertexFinderTask::CheckRecoTrack(), PndEmcMakeCluster::cleansortmclist(), PndEmcHitProducer::cleansortmclist(), PndMcCloner::CorrectMotherIndices(), PndMcCloner2::CorrectMotherIndices(), PndDrcReco::DetermineCherenkov(), PndGemTrackFinderIdeal::DoFind(), PndSttMvdGemTracking::EvaluatePerformances(), PndMvdRiemannTrackFinderTaskEff::Exec(), PndMcListConverter::Exec(), PndKFParticleFinderQA::Exec(), PndHypGeGammaAna::Exec(), PndFtsDataAccessor::Exec(), PndSttMvdGemTracking::Exec(), PndHypGeIdealTrackFinderTask::Exec(), PndHypSimpleAna::Exec(), PndHypFullAna::Exec(), PndHypFullIdealAna::Exec(), PndMvdEventAnaTask::Exec(), PndCATracking::Exec(), PndHypMSAnaTask::Exec(), PndDrcReco::Exec(), PndMvdMSAnaTask::Exec(), PndLmdBPtestTask::Exec(), PndLmdDigiQTask::Exec(), PndLmdTrkQTask::Exec(), PndSciTAnaIdeal::Exec(), PndHypDPatternRecoTask::Exec(), PndDrcTimeDigiTask::Exec(), PndEmcAnalysis::Exec(), PndTimeStructureAnaTask::Exec(), PndGemMagneticFieldVsTrackParameters::Fill2StationsHistograms(), PndTrackingQA::FillMapTrackQualifikation(), PndTrackingQualityBarrelAnalysisNewLinks::FillMapTrackQualifikation(), PndKFParticleFinderQA::FindEmcClusterMother(), PndMcCloner::FindUsedMCIndices(), PndMcCloner2::FindUsedMCIndices(), for(), gem_material_ana1(), PndAnalysis::GetMcCandList(), PndTrackingQATask::GetMCInfoFromIdealTrack(), PndDrcLutReco::LoopOverMcTracks(), main(), NeutronAnalysis_COSY(), DrawHits::ProcessBarHit(), DrawHits::ProcessPhotonHit(), PndDrcRecoLookupMapS::ProcessPhotonHit(), PndDrcRecoLookupMap::ProcessPhotonHit(), DrawHits::ProcessPhotonMC(), propagate_mclist(), QAmacro_evtgen_3(), QAmacro_evtgen_4(), QAmacro_stt_4(), ReadHCal(), run_ana_eta_c_stt(), run_ana_eta_c_tpc(), run_ana_invariantmass_2pi_stt(), run_ana_invariantmass_2pi_tpc(), run_ana_invariantmass_4pi_stt(), run_ana_invariantmass_4pi_tpc(), runOnlineDisplayMCCheck(), runOnlineDisplayMCCheckFaster(), runOnlineDisplayMCCheckFaster2(), runOnlineDisplayMCCheckFaster3(), runTripletFinderMini(), PndStack::SetGeneratorFlags(), PndFTSCAMCTrack::SetMCTrack(), test_check(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), track_check_4pi_tpc(), and PndStack::UpdateTrackIndex().

74 { return fMotherID; }
Int_t fMotherID
Definition: PndMCTrack.h:120
Int_t PndMCTrack::GetNPoints ( DetectorId  detId) const

Definition at line 120 of file PndMCTrack.cxx.

References fPoints, kDRC, kDSK, kEMC, kFTOF, kFTS, kGEM, kHYP, kHYPG, kLUMI, kMDT, kMVD, kRICH, kRPC, kSTT, and kTOF.

Referenced by PndGemTrackFinderIdeal::DoFind(), PndSttTrackFinderIdeal::DoFind(), PndMdtTrkProducerIdeal::Exec(), PndGemTrackFinderQA::Exec(), PndEmcAnalysis::Exec(), run_ana_eta_c_stt(), run_ana_eta_c_tpc(), runOnlineDisplayMCCheck(), runOnlineDisplayMCCheckFaster(), runOnlineDisplayMCCheckFaster2(), runOnlineDisplayMCCheckFaster3(), runTripletFinderMini(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), and track_check_4pi_tpc().

120  {
121  if ( detId == kDRC ) return ( (fPoints & (3 << 0) ) >> 0 );
122  else if ( detId == kMDT ) return ( (fPoints & (3 << 2) ) >> 2 );
123  else if ( detId == kMVD ) return ( (fPoints & (3 << 4) ) >> 4 );
124  else if ( detId == kRICH) return ( (fPoints & (3 << 6) ) >> 6 );
125  else if ( detId == kEMC ) return ( (fPoints & (3 << 8) ) >> 8 );
126  else if ( detId == kSTT ) return ( (fPoints & (3 << 10) ) >> 10 );
127  else if ( detId == kFTOF) return ( (fPoints & (3 << 12) ) >> 12 );
128  else if ( detId == kTOF ) return ( (fPoints & (3 << 14) ) >> 14 );
129  else if ( detId == kGEM ) return ( (fPoints & (3 << 16) ) >> 16 );
130  else if ( detId == kDSK ) return ( (fPoints & (3 << 18) ) >> 18 );
131  else if ( detId == kHYP ) return ( (fPoints & (3 << 20) ) >> 20 );
132  else if ( detId == kRPC ) return ( (fPoints & (3 << 22) ) >> 22 );
133  else if ( detId == kLUMI) return ( (fPoints & (3 << 24) ) >> 24 );
134  else if ( detId == kHYPG) return ( (fPoints & (3 << 26) ) >> 26 );
135  else if ( detId == kFTS) return ( (fPoints & (3 << 28) ) >> 28 );
136 
137  else {
138  cout << "-E- PndMCTrack::GetNPoints: Unknown detector ID "
139  << detId << endl;
140  return 0;
141  }
142 }
Int_t fPoints
Definition: PndMCTrack.h:150
Int_t PndMCTrack::GetPdgCode ( ) const
inline

Accessors

Definition at line 73 of file PndMCTrack.h.

References fPdgCode.

Referenced by PndHypIdealPRTask::AddHitToTrack(), AllNeutronAnalysis(), AllNeutronAnalysis_job(), AllNeutronAnalysis_job_edit(), ana_check(), ana_check_psi(), ana_invariantmass_2pi_tpc(), PndAnalysis::BuildMcCands(), Check_particle_path(), PndTrkComparisonMCtruth::ComparisonwithMC(), PndPidCorrelator::ConstructChargedCandidate(), PndIdealTrackFinder::CreateTracks(), PndGemTrackFinderIdeal::DoFind(), PndSttTrackFinderReal::DoFind(), PndSttTrackFinderIdeal::DoFind(), MyMainFrame::DoInfoStatusBar(), PndPidIdealFwdOnlyAssociatorTask::DoPidMatch(), PndPidIdealAssociatorTask::DoPidMatch(), MyMainFrame::DrawPoints(), PndMcListConverter::Exec(), FairGeaneTrEmc::Exec(), PndKFParticleFinderQA::Exec(), PndMvdRadDamTask::Exec(), PndFtsDataAccessor::Exec(), PndSttTrackFitterQATask::Exec(), PndFtsCATracking::Exec(), PndSttMvdGemTracking::Exec(), PndFtsTrackerIdeal::Exec(), PndHypGeIdealTrackFinderTask::Exec(), PndHypFullAna::Exec(), PndHypFullIdealAna::Exec(), PndHypSimpleAna::Exec(), PndCATracking::Exec(), PndHypMSAnaTask::Exec(), PndMvdMSAnaTask::Exec(), PndTrackingQualityBarrelTaskNewLinks::Exec(), PndLmdDigiQTask::Exec(), PndTrackingQATask::Exec(), PndLmdTrkQTask::Exec(), PndSciTAnaIdeal::Exec(), PndHypDPatternRecoTask::Exec(), PndRecoKalmanTask2::Exec(), PndDrcTimeDigiTask::Exec(), PndEmcAnalysis::Exec(), PndRecoKalmanTask::Exec(), PndMdtPointsToWaveform::exec_e(), PndMdtPointsToWaveform::exec_t(), PndMvdRiemannVertexFinderTask::FindVertex(), for(), GetEntriesFast(), PndTrkComparisonMCtruth::getMCInfo(), PndSttMvdGemTracking::GetPdgFromMC(), PndSttTrackFinderIdeal::GetTrack(), load_vectors(), PndDrcLutReco::LoopOverMcTracks(), main(), NeutronAnalysis_COSY(), NeutronAnalysis_COSY_CrossSec(), online_monitoring_studies(), DrawHits::ProcessBarHit(), DrawHits::ProcessPhotonHit(), PndDrcRecoLookupMapS::ProcessPhotonHit(), PndDrcRecoLookupMap::ProcessPhotonHit(), DrawHits::ProcessPhotonMC(), propagate_mclist(), QAmacro_mdt_2(), QAmacro_stt_4(), ReadHCal(), run_ana_eta_c_stt(), run_ana_eta_c_tpc(), run_ana_invariantmass_2pi_stt(), run_ana_invariantmass_2pi_tpc(), run_ana_invariantmass_4pi_stt(), run_ana_invariantmass_4pi_tpc(), run_ana_mertens_evt7(), runOnlineDisplayMCCheck(), runOnlineDisplayMCCheckFaster(), runOnlineDisplayMCCheckFaster2(), runOnlineDisplayMCCheckFaster3(), runTripletFinderMini(), scattered_particles(), PndKFParticleFinderPID::SetMCPID(), PndFTSCAMCTrack::SetMCTrack(), PndSttMvdGemTracking::SetStartParameters(), test_check(), track_check(), track_check_2pi_stt(), track_check_2pi_tpc(), track_check_4pi_stt(), track_check_4pi_tpc(), PndFtsCATracking::WriteFTSHits(), PndTrkPlotMacros::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsConformalwithMCspecial(), PndTrkPlotMacros::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneral(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros::WriteMacroParallelHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC_Degree(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSttParallelAssociatedHitsandMvdwithMC(), and PndTrkPlotMacros2::WriteMacroSttParallelAssociatedHitsandMvdwithMC().

73 { return fPdgCode; }
Int_t fPdgCode
Definition: PndMCTrack.h:114
Double_t PndMCTrack::GetPt ( ) const
inline

Definition at line 79 of file PndMCTrack.h.

References fPx, fPy, and CAMath::Sqrt().

Referenced by PndMvdRiemannTrackFinderTaskCutPar::CalcParHists().

79 { return TMath::Sqrt(fPx*fPx+fPy*fPy); }
static T Sqrt(const T &x)
Definition: PndCAMath.h:37
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Int_t PndMCTrack::GetSecondMotherID ( ) const
inline
Double_t PndMCTrack::GetStartTime ( ) const
inline

Definition at line 77 of file PndMCTrack.h.

References fStartT.

Referenced by PndDrcTimeDigiTask::Exec(), PndDrcRecoLookupMapS::ProcessPhotonHit(), and PndDrcRecoLookupMap::ProcessPhotonHit().

77 { return fStartT; }
Double32_t fStartT
Definition: PndMCTrack.h:127
TVector3 PndMCTrack::GetStartVertex ( ) const
inline

Definition at line 76 of file PndMCTrack.h.

References fStartX, fStartY, and fStartZ.

Referenced by PndHypIdealPRTask::AddHitToTrack(), AllNeutronAnalysis_job(), ana_check(), PndAnalysis::BuildMcCands(), Check_particle_path(), PndEmcHitProducer::cleansortmclist(), PndTrkComparisonMCtruth::ComparisonwithMC(), PndGemTrackFinderIdeal::DoFind(), PndSttTrackFinderReal::DoFind(), MyMainFrame::DoInfoStatusBar(), MyMainFrame::DrawPoints(), PndMcListConverter::Exec(), FairGeaneTrEmc::Exec(), PndKFParticleFinderQA::Exec(), PndFtsDataAccessor::Exec(), PndHypGeCOSYBackgroundAna::Exec(), PndHypGeGammaAna::Exec(), PndSttTrackFitterQATask::Exec(), PndGemTrackFinderQA::Exec(), PndHypFullAna::Exec(), PndHypFullIdealAna::Exec(), PndHypSimpleAna::Exec(), PndMvdEventAnaTask::Exec(), PndCATracking::Exec(), PndMvdMSAnaTask::Exec(), PndLmdBPtestTask::Exec(), PndLmdTrkQTask::Exec(), PndHypDPatternRecoTask::Exec(), PndDrcTimeDigiTask::Exec(), PndLmdPerformanceTask::Exec(), PndSttMvdGemTracking::FillTrueDistances(), PndKFParticleFinderQA::FindClosestMCTrackToBump(), PndKFParticleFinderQA::FindEmcClusterMother(), PndMvdRiemannVertexFinderTask::FindVertex(), for(), PndTrkComparisonMCtruth::getMCInfo(), PndTrackingQATask::GetMCInfoFromIdealTrack(), PndSttTrackFinderIdeal::GetTrack(), load_vectors(), main(), NeutronAnalysis_COSY(), NeutronAnalysis_COSY_edit(), online_monitoring_studies(), PndPhoGunShortP::ProcessPhotonHit(), PndPhoGunShort::ProcessPhotonHit(), DrawHits::ProcessPhotonHit(), PndDrcRecoLookupMapS::ProcessPhotonHit(), PndDrcRecoLookupMap::ProcessPhotonHit(), PndDrcHitProducerReal::ProcessPhotonPoint(), propagate_mclist(), ReadHCal(), PndLmdQATask::ResoAndPulls(), run_ana_eta_c_stt(), run_ana_eta_c_tpc(), run_ana_mertens_evt7(), runOnlineDisplayMCCheck(), runOnlineDisplayMCCheckFaster(), runOnlineDisplayMCCheckFaster3(), runTripletFinderMini(), scattered_particles(), PndFTSCAMCTrack::SetMCTrack(), PndTrkComparisonMCtruth::stampaMCTracks(), PndTrkPlotMacros::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallel_MvdHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsConformalwithMCspecial(), PndTrkPlotMacros::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneral(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneral(), PndTrkPlotMacros::WriteMacroParallelHitsGeneralConformalwithMC(), PndTrkPlotMacros2::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitsGeneralConformalwithMC(), PndSttTrackFinderReal::WriteMacroParallelHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithMC(), PndTrkPlotMacros2::WriteMacroSkewAssociatedHitswithMC_Degree(), PndSttTrackFinderReal::WriteMacroSkewAssociatedHitswithRfromMC(), PndTrkPlotMacros::WriteMacroSttParallelAssociatedHitsandMvdwithMC(), and PndTrkPlotMacros2::WriteMacroSttParallelAssociatedHitsandMvdwithMC().

76 { return TVector3(fStartX, fStartY,fStartZ);}
Double32_t fStartX
Definition: PndMCTrack.h:127
Double32_t fStartZ
Definition: PndMCTrack.h:127
Double32_t fStartY
Definition: PndMCTrack.h:127
Bool_t PndMCTrack::IsGeneratorCreated ( void  ) const
inline
Bool_t PndMCTrack::IsGeneratorDecayed ( void  ) const
inline

Definition at line 85 of file PndMCTrack.h.

References fGeneratorFlags.

85 { return (fGeneratorFlags&0x2)!=0; }
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
Bool_t PndMCTrack::IsGeneratorLast ( void  ) const
inline

Definition at line 86 of file PndMCTrack.h.

References fGeneratorFlags.

86 { return (fGeneratorFlags&0x1)!=0 && (fGeneratorFlags&0x2)==0; }
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
void PndMCTrack::Print ( Int_t  iTrack = 0) const

Output to screen

Definition at line 95 of file PndMCTrack.cxx.

References fE, fGeneratorFlags, fMotherID, fPdgCode, fPx, fPy, fPz, fSecondMotherID, fStartT, fStartX, fStartY, and fStartZ.

Referenced by PndMvdEventAnaTask::Exec(), and PndEmcAnalysis::Exec().

95  {
96  cout << "Track " << trackID << ", mother : " << fMotherID <<", secondmother : " << fSecondMotherID << ", Type "
97  << fPdgCode << ", momentum (" << fPx << "/" << fPy << "/" << fPz<< "/" << fE
98  << ") GeV" << ", position (" << fStartX << "/" << fStartY << "/" << fStartZ << "/" << fStartT << ") cm,s, Generatorflags: "<<fGeneratorFlags<<endl;
99 }
Double32_t fE
Definition: PndMCTrack.h:117
Double32_t fPx
Definition: PndMCTrack.h:117
Double32_t fPy
Definition: PndMCTrack.h:117
Double32_t fStartX
Definition: PndMCTrack.h:127
Double32_t fPz
Definition: PndMCTrack.h:117
Int_t fMotherID
Definition: PndMCTrack.h:120
Double32_t fStartT
Definition: PndMCTrack.h:127
Int_t fSecondMotherID
Definition: PndMCTrack.h:121
Double32_t fStartZ
Definition: PndMCTrack.h:127
Double32_t fStartY
Definition: PndMCTrack.h:127
Int_t fPdgCode
Definition: PndMCTrack.h:114
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
void PndMCTrack::SetGeneratorCreated ( void  )
inline

Definition at line 87 of file PndMCTrack.h.

References fGeneratorFlags.

Referenced by PndStack::SetGeneratorFlags().

87 { fGeneratorFlags|=0x1; }
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
void PndMCTrack::SetGeneratorDecayed ( void  )
inline

Definition at line 88 of file PndMCTrack.h.

References fGeneratorFlags.

Referenced by PndStack::SetGeneratorFlags().

88 { fGeneratorFlags|=0x2; }
Int_t fGeneratorFlags
Definition: PndMCTrack.h:124
void PndMCTrack::SetMotherID ( Int_t  id)
inline

Modifiers

Definition at line 93 of file PndMCTrack.h.

References fMotherID.

Referenced by PndMcCloner::CorrectMotherIndices(), PndMcCloner2::CorrectMotherIndices(), and PndStack::UpdateTrackIndex().

93 { fMotherID = id; }
Int_t fMotherID
Definition: PndMCTrack.h:120
void PndMCTrack::SetNPoints ( Int_t  iDet,
Int_t  np 
)

Add one detector point to the fPoint variable

Definition at line 143 of file PndMCTrack.cxx.

References fPoints, kDRC, kDSK, kEMC, kFTOF, kFTS, kGEM, kHYP, kHYPG, kLUMI, kMDT, kMVD, kRICH, kRPC, kSTT, and kTOF.

Referenced by PndStack::FillTrackArray().

143  {
144 
145  if ( iDet == kDRC ) {
146  if ( nPoints < 0 ) nPoints = 0;
147  else if ( nPoints > 3 ) nPoints = 3;
148  fPoints = ( fPoints & ( ~ ( 3 << 0 ) ) ) | ( nPoints << 0 );
149  }
150 
151  else if ( iDet == kMDT ) {
152  if ( nPoints < 0 ) nPoints = 0;
153  else if ( nPoints > 3 ) nPoints = 3;
154  fPoints = ( fPoints & ( ~ ( 3 << 2 ) ) ) | ( nPoints << 2 );
155  }
156 
157  else if ( iDet == kMVD ) {
158  if ( nPoints < 0 ) nPoints = 0;
159  else if ( nPoints > 3 ) nPoints = 3;
160  fPoints = ( fPoints & ( ~ ( 3 << 4 ) ) ) | ( nPoints << 4 );
161  }
162 
163  else if ( iDet == kRICH ) {
164  if ( nPoints < 0 ) nPoints = 0;
165  else if ( nPoints > 3 ) nPoints = 3;
166  fPoints = ( fPoints & ( ~ ( 3 << 6 ) ) ) | ( nPoints << 6);
167  }
168 
169  else if ( iDet == kEMC ) {
170  if ( nPoints < 0 ) nPoints = 0;
171  else if ( nPoints > 3 ) nPoints = 3;
172  fPoints = ( fPoints & ( ~ ( 3 << 8 ) ) ) | ( nPoints << 8 );
173  }
174 
175  else if ( iDet == kSTT ) {
176  if ( nPoints < 0 ) nPoints = 0;
177  else if ( nPoints > 3 ) nPoints = 3;
178  fPoints = ( fPoints & ( ~ ( 3 << 10 ) ) ) | ( nPoints << 10 );
179  }
180 
181  else if ( iDet == kFTOF ) {
182  if ( nPoints < 0 ) nPoints = 0;
183  else if ( nPoints > 3 ) nPoints = 3;
184  fPoints = ( fPoints & ( ~ ( 3 << 12 ) ) ) | ( nPoints << 12 );
185  }
186 
187  else if ( iDet == kTOF ) {
188  if ( nPoints < 0 ) nPoints = 0;
189  else if ( nPoints > 3 ) nPoints = 3;
190  fPoints = ( fPoints & ( ~ ( 3 << 14 ) ) ) | ( nPoints << 14 );
191  }
192 
193  else if ( iDet == kGEM ) {
194  if ( nPoints < 0 ) nPoints = 0;
195  else if ( nPoints > 3 ) nPoints = 3;
196  fPoints = ( fPoints & ( ~ ( 3 << 16 ) ) ) | ( nPoints << 16 );
197  }
198  else if ( iDet == kDSK ) {
199  if ( nPoints < 0 ) nPoints = 0;
200  else if ( nPoints > 3 ) nPoints = 3;
201  fPoints = ( fPoints & ( ~ ( 3 << 18 ) ) ) | ( nPoints << 18 );
202  }
203 
204  else if ( iDet == kHYP ) {
205  if ( nPoints < 0 ) nPoints = 0;
206  else if ( nPoints > 3 ) nPoints = 3;
207  fPoints = ( fPoints & ( ~ ( 3 << 20 ) ) ) | ( nPoints << 20 );
208  }
209  else if ( iDet == kRPC ) {
210  if ( nPoints < 0 ) nPoints = 0;
211  else if ( nPoints > 3 ) nPoints = 3;
212  fPoints = ( fPoints & ( ~ ( 3 << 22 ) ) ) | ( nPoints << 22 );
213  }
214 
215  else if ( iDet == kLUMI ) {
216  if ( nPoints < 0 ) nPoints = 0;
217  else if ( nPoints > 3 ) nPoints = 3;
218  fPoints = ( fPoints & ( ~ ( 3 << 24 ) ) ) | ( nPoints << 24 );
219  }
220 
221  else if ( iDet == kHYPG ) {
222  if ( nPoints < 0 ) nPoints = 0;
223  else if ( nPoints > 3 ) nPoints = 3;
224  fPoints = ( fPoints & ( ~ ( 3 << 26 ) ) ) | ( nPoints << 26 );
225  }
226 
227  else if ( iDet == kFTS ) {
228  if ( nPoints < 0 ) nPoints = 0;
229  else if ( nPoints > 3 ) nPoints = 3;
230  fPoints = ( fPoints & ( ~ ( 3 << 28 ) ) ) | ( nPoints << 28 );
231  }
232 
233 
234 
235  else cout << "-E- PndMCTrack::SetNPoints: Unknown detector ID "
236  << iDet << endl;
237 
238 }
Int_t fPoints
Definition: PndMCTrack.h:150
void PndMCTrack::SetSecondMotherID ( Int_t  id)
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream out,
PndMCTrack track 
)
friend

Definition at line 66 of file PndMCTrack.h.

66  {
67  track.Print();
68  return out;
69  }
void Print(Int_t iTrack=0) const
Definition: PndMCTrack.cxx:95
TFile * out
Definition: reco_muo.C:20

Member Data Documentation

Double32_t PndMCTrack::fE
private

Definition at line 117 of file PndMCTrack.h.

Referenced by Get4Momentum(), and Print().

Int_t PndMCTrack::fGeneratorFlags
private

Flag if particle was created (bit 0) and/or decayed (bit 1) by generator

Definition at line 124 of file PndMCTrack.h.

Referenced by IsGeneratorCreated(), IsGeneratorDecayed(), IsGeneratorLast(), Print(), SetGeneratorCreated(), and SetGeneratorDecayed().

Int_t PndMCTrack::fMotherID
private

Index of mother track. Zero( Minus One???) for primary particles.

Definition at line 120 of file PndMCTrack.h.

Referenced by GetMotherID(), Print(), and SetMotherID().

Int_t PndMCTrack::fPdgCode
private

PDG particle code

Definition at line 114 of file PndMCTrack.h.

Referenced by GetPdgCode(), and Print().

Int_t PndMCTrack::fPoints
private

Bitvector representing the number of MCPoints for this track in each subdetector. The detectors are represented by This goes to fPoints: DRC: Bit 0 - 1 (2 bit max. value 3) MDT: Bit 2 - 3 (2 bit max. value 3) MVD: Bit 4 - 5 (2 bit max. value 3) DCH: Bit 6 - 7 (2 bit max. value 3) EMC: Bit 8 - 9 (2 bit max. value 3) STT: Bit 10 - 11 (2 bit max. value 3) TPC: Bit 12 - 13 (2 bit max. value 3) TOF: Bit 14 - 15 (2 bit max. value 3) GEM: Bit 16 - 17 (2 bit max. value 3) DSK: Bit 18 - 19 (2 bit max. value 3) HYP: Bit 20 - 21 (2 bit max. value 3) RPC: Bit 22 - 23 (2 bit max. value 3) LUMI: Bit 24 - 25 (2 bit max. value 3) HYPG: Bit 26 - 27 (2 bit max. value 3) FTS: Bit 28 - 29 (2 bit max. value 3)

The respective point numbers can be accessed and modified

Definition at line 150 of file PndMCTrack.h.

Referenced by GetNPoints(), and SetNPoints().

Double32_t PndMCTrack::fPx
private

Momentum components at production [GeV]

Definition at line 117 of file PndMCTrack.h.

Referenced by Get4Momentum(), GetMomentum(), GetPt(), and Print().

Double32_t PndMCTrack::fPy
private

Definition at line 117 of file PndMCTrack.h.

Referenced by Get4Momentum(), GetMomentum(), GetPt(), and Print().

Double32_t PndMCTrack::fPz
private

Definition at line 117 of file PndMCTrack.h.

Referenced by Get4Momentum(), GetMomentum(), and Print().

Int_t PndMCTrack::fSecondMotherID
private

Definition at line 121 of file PndMCTrack.h.

Referenced by GetSecondMotherID(), Print(), and SetSecondMotherID().

Double32_t PndMCTrack::fStartT
private

Definition at line 127 of file PndMCTrack.h.

Referenced by GetStartTime(), and Print().

Double32_t PndMCTrack::fStartX
private

Coordinates of start vertex [cm, ns]

Definition at line 127 of file PndMCTrack.h.

Referenced by GetStartVertex(), and Print().

Double32_t PndMCTrack::fStartY
private

Definition at line 127 of file PndMCTrack.h.

Referenced by GetStartVertex(), and Print().

Double32_t PndMCTrack::fStartZ
private

Definition at line 127 of file PndMCTrack.h.

Referenced by GetStartVertex(), and Print().


The documentation for this class was generated from the following files: