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

#include <PndKFParticleFinderPID.h>

Inheritance diagram for PndKFParticleFinderPID:

Public Member Functions

 PndKFParticleFinderPID (const char *name="PndKFParticleFinderPID", Int_t iVerbose=0)
 
 ~PndKFParticleFinderPID ()
 
void SetMCTrackBranchName (const TString &name)
 
void SetChargedTrackBranchName (const TString &name)
 
void SetNeutralTrackBranchName (const TString &name)
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void Finish ()
 
void SetPIDMode (int mode)
 
void UseNoPID ()
 
void UseMCPID ()
 
void UseRecoPID ()
 
const std::vector< int > & GetPID () const
 

Private Member Functions

void SetMCPID ()
 
void SetRecoPID ()
 
 ClassDef (PndKFParticleFinderPID, 1)
 

Private Attributes

TString fChargedTrackBranchName
 
TString fNeutralTrackBranchName
 Name of the input TCA. More...
 
TString fMCTracksBranchName
 Name of the input TCA. More...
 
TClonesArray * fChargedTrackArray
 Name of the input TCA with MC tracks. More...
 
TClonesArray * fNeutralTrackArray
 
TClonesArray * fMCTrackArray
 
Int_t fPIDMode
 
std::vector< int > fPID
 

Detailed Description

Definition at line 17 of file PndKFParticleFinderPID.h.

Constructor & Destructor Documentation

PndKFParticleFinderPID::PndKFParticleFinderPID ( const char *  name = "PndKFParticleFinderPID",
Int_t  iVerbose = 0 
)

Definition at line 17 of file PndKFParticleFinderPID.cxx.

17  :
20  fPIDMode(0), fPID(0)
21 {
22 }
TString fMCTracksBranchName
Name of the input TCA.
TString fNeutralTrackBranchName
Name of the input TCA.
TString name
Int_t iVerbose
TClonesArray * fChargedTrackArray
Name of the input TCA with MC tracks.
PndKFParticleFinderPID::~PndKFParticleFinderPID ( )

Definition at line 24 of file PndKFParticleFinderPID.cxx.

25 {
26 }

Member Function Documentation

PndKFParticleFinderPID::ClassDef ( PndKFParticleFinderPID  ,
 
)
private
void PndKFParticleFinderPID::Exec ( Option_t *  opt)
virtual

Definition at line 68 of file PndKFParticleFinderPID.cxx.

References fChargedTrackArray, fPID, fPIDMode, SetMCPID(), and SetRecoPID().

69 {
70  fPID.clear();
71 
72  Int_t nTracks=fChargedTrackArray->GetEntriesFast();
73  fPID.resize(nTracks, -1);
74 
75  if(fPIDMode==1)
76  SetMCPID();
77  if(fPIDMode==2)
78  SetRecoPID();
79 }
TClonesArray * fChargedTrackArray
Name of the input TCA with MC tracks.
void PndKFParticleFinderPID::Finish ( )
virtual

Definition at line 81 of file PndKFParticleFinderPID.cxx.

82 {
83 }
const std::vector<int>& PndKFParticleFinderPID::GetPID ( ) const
inline

Definition at line 36 of file PndKFParticleFinderPID.h.

References fPID.

Referenced by PndKFParticleFinder::Exec().

36 { return fPID; }
InitStatus PndKFParticleFinderPID::Init ( )
virtual

Definition at line 28 of file PndKFParticleFinderPID.cxx.

References fChargedTrackArray, fChargedTrackBranchName, fMCTrackArray, fMCTracksBranchName, fNeutralTrackArray, fNeutralTrackBranchName, and fPIDMode.

29 {
30  //Get ROOT Manager
31  FairRootManager* ioman= FairRootManager::Instance();
32 
33  if(ioman==0)
34  {
35  Error("PndKFParticleFinderPID::Init","RootManager not instantiated!");
36  return kERROR;
37  }
38 
39  // Get charged tracks
40  fChargedTrackArray=(TClonesArray*) ioman->GetObject(fChargedTrackBranchName);
41  if(fChargedTrackArray==0)
42  {
43  Error("PndKFParticleFinderPID::Init","Charged track array not found! Stop the execution.");
44  return kERROR;
45  }
46 
47  // Get neutral tracks
48  fNeutralTrackArray=(TClonesArray*) ioman->GetObject(fNeutralTrackBranchName);
49  if(fNeutralTrackArray==0)
50  {
51  Error("PndKFParticleFinderPID::Init","Neutral track array not found! Will continue without gamma reconstruction.");
52  }
53 
54  if(fPIDMode==1)
55  {
56  //MC Tracks
57  fMCTrackArray=(TClonesArray*) ioman->GetObject(fMCTracksBranchName);
58  if(fMCTrackArray==0)
59  {
60  Error("StandaloneHitGenerator::Init","MC track array not found! Stop the execution.");
61  return kERROR;
62  }
63  }
64 
65  return kSUCCESS;
66 }
TString fMCTracksBranchName
Name of the input TCA.
TString fNeutralTrackBranchName
Name of the input TCA.
TClonesArray * fChargedTrackArray
Name of the input TCA with MC tracks.
void PndKFParticleFinderPID::SetChargedTrackBranchName ( const TString name)
inline

Definition at line 25 of file PndKFParticleFinderPID.h.

References fChargedTrackBranchName, and name.

Referenced by kfparticle().

void PndKFParticleFinderPID::SetMCPID ( )
private

Definition at line 85 of file PndKFParticleFinderPID.cxx.

References CAMath::Abs(), fChargedTrackArray, fMCTrackArray, fPID, PndPidCandidate::GetMcIndex(), and PndMCTrack::GetPdgCode().

Referenced by Exec().

86 {
87  Int_t nTracks=fChargedTrackArray->GetEntriesFast();
88  for(int iTr=0; iTr<nTracks; iTr++)
89  {
91  if(!inTrack) continue;
92  Int_t iMC = inTrack->GetMcIndex();
93 
94  if(iMC >= 0)
95  {
96  PndMCTrack *pndMCTrack = (PndMCTrack*)fMCTrackArray->At(iMC);
97  if(TMath::Abs(pndMCTrack->GetPdgCode()) > 2500)
98  continue;
99  fPID[iTr] = pndMCTrack->GetPdgCode();
100  }
101  }
102 }
Int_t GetPdgCode() const
Definition: PndMCTrack.h:73
Int_t GetMcIndex() const
static T Abs(const T &x)
Definition: PndCAMath.h:39
TClonesArray * fChargedTrackArray
Name of the input TCA with MC tracks.
void PndKFParticleFinderPID::SetMCTrackBranchName ( const TString name)
inline

Definition at line 24 of file PndKFParticleFinderPID.h.

References fMCTracksBranchName, and name.

Referenced by kfparticle().

TString fMCTracksBranchName
Name of the input TCA.
TString name
void PndKFParticleFinderPID::SetNeutralTrackBranchName ( const TString name)
inline

Definition at line 26 of file PndKFParticleFinderPID.h.

References fNeutralTrackBranchName, and name.

Referenced by kfparticle().

TString fNeutralTrackBranchName
Name of the input TCA.
TString name
void PndKFParticleFinderPID::SetPIDMode ( int  mode)
inline

Definition at line 32 of file PndKFParticleFinderPID.h.

References fPIDMode, and mode.

Referenced by kfparticle().

32 { fPIDMode = mode; }
Int_t mode
Definition: autocutx.C:47
void PndKFParticleFinderPID::SetRecoPID ( )
private

Definition at line 104 of file PndKFParticleFinderPID.cxx.

Referenced by Exec().

105 {
106 }
void PndKFParticleFinderPID::UseMCPID ( )
inline

Definition at line 34 of file PndKFParticleFinderPID.h.

References fPIDMode.

void PndKFParticleFinderPID::UseNoPID ( )
inline

Definition at line 33 of file PndKFParticleFinderPID.h.

References fPIDMode.

void PndKFParticleFinderPID::UseRecoPID ( )
inline

Definition at line 35 of file PndKFParticleFinderPID.h.

References fPIDMode.

Member Data Documentation

TClonesArray* PndKFParticleFinderPID::fChargedTrackArray
private

Name of the input TCA with MC tracks.

Definition at line 50 of file PndKFParticleFinderPID.h.

Referenced by Exec(), Init(), and SetMCPID().

TString PndKFParticleFinderPID::fChargedTrackBranchName
private

Definition at line 45 of file PndKFParticleFinderPID.h.

Referenced by Init(), and SetChargedTrackBranchName().

TClonesArray* PndKFParticleFinderPID::fMCTrackArray
private

Definition at line 52 of file PndKFParticleFinderPID.h.

Referenced by Init(), and SetMCPID().

TString PndKFParticleFinderPID::fMCTracksBranchName
private

Name of the input TCA.

Definition at line 47 of file PndKFParticleFinderPID.h.

Referenced by Init(), and SetMCTrackBranchName().

TClonesArray* PndKFParticleFinderPID::fNeutralTrackArray
private

Definition at line 51 of file PndKFParticleFinderPID.h.

Referenced by Init().

TString PndKFParticleFinderPID::fNeutralTrackBranchName
private

Name of the input TCA.

Definition at line 46 of file PndKFParticleFinderPID.h.

Referenced by Init(), and SetNeutralTrackBranchName().

std::vector<int> PndKFParticleFinderPID::fPID
private

Definition at line 56 of file PndKFParticleFinderPID.h.

Referenced by Exec(), GetPID(), and SetMCPID().

Int_t PndKFParticleFinderPID::fPIDMode
private

Definition at line 55 of file PndKFParticleFinderPID.h.

Referenced by Exec(), Init(), SetPIDMode(), UseMCPID(), UseNoPID(), and UseRecoPID().


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