LCDVToplBase Class Reference

#include <LCDVToplBase.h>

List of all members.

Public Member Functions

 LCDVToplBase ()
 ~LCDVToplBase ()
LCDVToplTRKAddTrack (Int_t tkid, Double_t *tkpar, Double_t *e_tkpar, Double_t chrg, Double_t mfld, Int_t mc_ind, const TVector3 &ipv)
void AddVrtTrack (LCDVToplTRK *trk)
Bool_t CheckKs0Vertex (LCDVToplVRT *vrt)
Bool_t CheckLambda0Vertex (LCDVToplVRT *vrt)
void DeleteTracks (Int_t iflg=0)
void DeleteVertices (Int_t iflg=0)
TClonesArray * GetTracks ()
LCDVToplTRKGetTrackAt (Int_t i)
Int_t GetTrackIdx (LCDVToplTRK *trk)
Int_t GetTrackEntries ()
TClonesArray * GetVertices ()
LCDVToplVRTGetVertexAt (Int_t i)
Int_t GetVertexIdx (LCDVToplVRT *vrt)
Int_t GetVertexEntries ()
Int_t GetVertexEntriesExceptV0 ()
Int_t GetVrtTrackEntries ()
LCDVToplTRKGetVrtTrackAt (Int_t itrk)
Double_t GetVertexCharge ()
Int_t GetDebugLevel ()
Double_t GetRipe ()
Double_t GetZipe ()
TVector3 * GetPja ()
TVector3 GetInitialVertexT2T (LCDVToplTRK *trk1, LCDVToplTRK *trk2, Double_t l1=0, Double_t l2=0)
TVector3 GetBeamIP ()
TVector3 * GetBeamIPPtr ()
void GetBeamIPErrorMatrix (TMatrixD &a)
void GetBeamIPErrorMatrixInv (TMatrixD &a)
Int_t GetNTrk2Vrt ()
Int_t * GetTrk2Vrt ()
Int_t GetNVrt2Trk ()
Int_t * GetVrt2Trk ()
Double_t * GetTrkL ()
void InitBase ()
void RemoveVertexAt (Int_t)
void RemoveVertex (LCDVToplVRT *vrt)
void SetDebugLevel (Int_t a)
void SetRipe (Double_t a)
void SetZipe (Double_t a)
void SetPja (const TVector3 &a)
void SetUp (const TVector3 &ipv, const TVector3 &bfldv)
void SetUp (const TVector3 &ipv, const TVector3 &bfldv, const TVector3 &jeta)
void SetIP (const TVector3 &ipv)
void SetBField (const TVector3 &bfieldv)
void SetBeamIPErrorMatrix (TMatrixD &a)
void SetBeamIPErrorMatrixInv (TMatrixD &a)
void CalcIPErrorMatrix ()
void CleanBase (Int_t iflg=0)
void CompressVerticesList ()
virtual Int_t GetSeedVertex ()
Int_t GetSeedVertexByClassicMethod ()
Double_t GetSeedVrtRMax ()
Double_t GetSeedVrtK0Mass ()
Double_t GetSeedVrtLambda0Mass ()
Double_t GetSeedVrtSigMin ()
Bool_t GetTrackAttachByClassicMethod (LCDVToplTRK *ltrk, LCDVToplVRT *vrt, TVector3 *xdir)
Double_t GetTrdiMax ()
Double_t GetLodiMin ()
Double_t GetLodrMin ()
Double_t GetLodrMax ()
Double_t GetAntaMax ()
Double_t * GetPTIP ()
Double_t GetPTIPXY ()
Double_t GetPTIPZ ()
Double_t GetNVsigma ()
Double_t GetRawMass ()
Double_t GetPtMass ()
Double_t GetPtMassErr ()
Double_t GetMassTag ()
Double_t GetMissPt ()
TLorentzVector GetP4Vertex ()
Bool_t GetUseNN ()
Double_t GetSeedVertexNN ()
Double_t GetTrackAttachNN ()
Double_t GetHFSelectNN ()
Int_t GetMcJetFlav ()
void SetSeedVrtRMax (Double_t a)
void SetSeedVrtK0Mass (Double_t a)
void SetSeedVrtLambda0Mass (Double_t a)
void SetSeedVrtSigMin (Double_t a)
void SetTrdiMax (Double_t a)
void SetLodiMin (Double_t a)
void SetLodrMin (Double_t a)
void SetLodrMax (Double_t a)
void SetAntaMax (Double_t a)
void SetPTIP (Double_t *a)
void SetPTIPXY (Double_t a)
void SetPTIPZ (Double_t a)
void SetNVsigma (Double_t a)
void SetUseNN (Bool_t a)
void SetSeedVertexNN (Double_t a)
void SetTrackAttachNN (Double_t a)
void SetHFSelectNN (Double_t a)
void SetMcJetFlav (Int_t a)
void SetPtrVertexTrack ()
virtual void CalcPTMass ()
virtual void CalcPTMass (Int_t iseedvrt)

Private Attributes

Double_t m_ripe
Double_t m_zipe
TVector3 m_ipv
Double_t m_iper [6]
Double_t m_iper_inv [6]
TVector3 m_bfield
TVector3 m_pja
Int_t m_nvtrack
TClonesArray * m_vtrack_list
Int_t m_nvertex
TClonesArray * m_vertex_list
Int_t m_nvrttrack
Int_t m_vrttrack_list [100]
Int_t m_dblevel
Double_t m_SeedVrtRMax
Double_t m_SeedVrtK0Mass
Double_t m_SeedVrtLambda0Mass
Double_t m_SeedVrtSigMin
Double_t m_TrdiMax
Double_t m_LodiMin
Double_t m_LodrMin
Double_t m_LodrMax
Double_t m_AntaMax
Double_t m_PTIP [2]
Double_t m_NVsigma
Bool_t m_UseNN
Double_t m_SeedVrtNN
Double_t m_TrackAttNN
Double_t m_SelectNN
Double_t m_Rmass
Double_t m_PtMass
Double_t m_PtMassEr
Double_t m_Masstag
Double_t m_MissPt
TLorentzVector m_p4Vertex
Int_t m_mcjetflav
Int_t m_ntrk2vrt
Int_t * m_trk2vrt
Int_t m_nvrt2trk
Int_t * m_vrt2trk
Double_t * m_trkl

Friends

class LCDVToplGhost


Detailed Description

Definition at line 12 of file LCDVToplBase.h.


Constructor & Destructor Documentation

LCDVToplBase::LCDVToplBase  ) 
 

LCDVToplBase::~LCDVToplBase  ) 
 

Definition at line 20 of file LCDVToplBase.cxx.

References CleanBase().

00020                            {
00021   CleanBase(1);
00022 }


Member Function Documentation

LCDVToplTRK * LCDVToplBase::AddTrack Int_t  tkid,
Double_t *  tkpar,
Double_t *  e_tkpar,
Double_t  chrg,
Double_t  mfld,
Int_t  mc_ind,
const TVector3 &  ipv
 

Definition at line 282 of file LCDVToplBase.cxx.

References LCDVToplTRK::GetMomentumVector(), m_nvtrack, and m_pja.

00288                                                          {
00289   LCDVToplTRK* trk = new((*m_vtrack_list)[m_nvtrack++]) 
00290     LCDVToplTRK(tkid,tkpar,e_tkpar,chrg,mfld,mc_ind,ipv);
00291   m_pja += trk->GetMomentumVector(0.0);
00292   return trk;
00293 }

void LCDVToplBase::AddVrtTrack LCDVToplTRK trk  ) 
 

Definition at line 472 of file LCDVToplBase.cxx.

References GetTracks(), m_nvrttrack, and m_vrttrack_list.

00472                                                {
00473   if(m_nvrttrack < 100) {
00474     m_vrttrack_list[m_nvrttrack++]=GetTracks()->IndexOf(trk);
00475   } else {
00476     printf("LCDVToplGhost::AddVrtTrack m_nvrttrack >= 100\n");
00477   }
00478 }

void LCDVToplBase::CalcIPErrorMatrix  ) 
 

Definition at line 181 of file LCDVToplBase.cxx.

References GetBeamIPErrorMatrix(), m_iper, m_ripe, m_zipe, and SetBeamIPErrorMatrixInv().

Referenced by SetUp().

00181                                     {
00182   Double_t ripe2=m_ripe*m_ripe;
00183   Double_t zipe2=m_zipe*m_zipe;
00184   m_iper[0]=ripe2/2.0;
00185   m_iper[1]=0.0      ; m_iper[2]=ripe2/2.0;
00186   m_iper[3]=0.0      ; m_iper[4]=0.0      ; m_iper[5]=zipe2;
00187   TMatrixD t(3,3);
00188   GetBeamIPErrorMatrix(t);
00189   Double_t det_iper;
00190   t.Invert(&det_iper);
00191   SetBeamIPErrorMatrixInv(t);
00192 }

virtual void LCDVToplBase::CalcPTMass Int_t  iseedvrt  )  [inline, virtual]
 

Definition at line 207 of file LCDVToplBase.h.

00207 {}

virtual void LCDVToplBase::CalcPTMass  )  [inline, virtual]
 

Definition at line 206 of file LCDVToplBase.h.

00206 {}

Bool_t LCDVToplBase::CheckKs0Vertex LCDVToplVRT vrt  ) 
 

Definition at line 410 of file LCDVToplBase.cxx.

References LCDVToplVRT::GetMass(), LCDVToplVRT::GetTrackEntries(), LCDVToplVRT::GetVertexCharge(), and m_SeedVrtK0Mass.

Referenced by GetVertexEntriesExceptV0().

00410                                                     {
00411   Bool_t fk0s=kFALSE;
00412 
00413   Int_t    ntrks     = vrt->GetTrackEntries();
00414   Double_t netCharge = vrt->GetVertexCharge();
00415   if (ntrks == 2 && netCharge == 0.) {
00416     Double_t reconMass = vrt->GetMass();
00417     if ( TMath::Abs(reconMass - 0.49767) < m_SeedVrtK0Mass ) fk0s=kTRUE;
00418   }
00419   
00420   return fk0s;
00421 }

Bool_t LCDVToplBase::CheckLambda0Vertex LCDVToplVRT vrt  ) 
 

Definition at line 425 of file LCDVToplBase.cxx.

References LCDVToplVRT::GetTrackEntries(), LCDVToplVRT::GetTrackMomentumVector(), LCDVToplVRT::GetVertexCharge(), and m_SeedVrtLambda0Mass.

Referenced by GetVertexEntriesExceptV0().

00425                                                         {
00426   Bool_t flambda=kFALSE;
00427 
00428   Double_t mpi = 0.13957;
00429   Double_t mp  = 0.93827;
00430 
00431   Int_t    ntrks     = vrt->GetTrackEntries();
00432   Double_t netCharge = vrt->GetVertexCharge();
00433   if (ntrks == 2 && netCharge == 0.) {
00434     TVector3 p3trk1=vrt->GetTrackMomentumVector(0);
00435     TVector3 p3trk2=vrt->GetTrackMomentumVector(1);
00436     TLorentzVector p4trk1a(p3trk1,TMath::Sqrt(p3trk1.Mag2()+mpi*mpi));
00437     TLorentzVector p4trk2a(p3trk2,TMath::Sqrt(p3trk1.Mag2()+mp *mp ));
00438     TLorentzVector p4vrta=p4trk1a+p4trk2a;
00439     if ( TMath::Abs(p4vrta.M() - 1.1157) < m_SeedVrtLambda0Mass ) {
00440       flambda=kTRUE;
00441     } else {
00442       TLorentzVector p4trk1b(p3trk1,TMath::Sqrt(p3trk1.Mag2()+mp *mp ));
00443       TLorentzVector p4trk2b(p3trk2,TMath::Sqrt(p3trk1.Mag2()+mpi*mpi));
00444       TLorentzVector p4vrtb=p4trk1b+p4trk2b;
00445       if ( TMath::Abs(p4vrtb.M() - 1.1157) < m_SeedVrtLambda0Mass ) 
00446         flambda=kTRUE;
00447     }
00448   }
00449   
00450   return flambda;
00451 }

void LCDVToplBase::CleanBase Int_t  iflg = 0  ) 
 

Definition at line 160 of file LCDVToplBase.cxx.

References DeleteTracks(), DeleteVertices(), m_ntrk2vrt, m_nvrt2trk, m_trk2vrt, m_trkl, and m_vrt2trk.

Referenced by SetUp(), and ~LCDVToplBase().

00160                                        {
00161   DeleteTracks(iflg);
00162   DeleteVertices(iflg);
00163   if (m_trk2vrt) {
00164     delete [] m_trk2vrt;
00165     m_trk2vrt=0;
00166   }
00167   if (m_vrt2trk) {
00168     delete [] m_vrt2trk;
00169     m_vrt2trk=0;
00170   }
00171   if (m_trkl) {
00172     delete [] m_trkl;
00173     m_trkl=0;
00174   }
00175   m_ntrk2vrt=0;
00176   m_nvrt2trk=0;
00177 }

void LCDVToplBase::CompressVerticesList  ) 
 

Definition at line 404 of file LCDVToplBase.cxx.

References GetVertices().

Referenced by RemoveVertex().

00404                                         {
00405   GetVertices()->Compress();
00406 }

void LCDVToplBase::DeleteTracks Int_t  iflg = 0  ) 
 

Definition at line 134 of file LCDVToplBase.cxx.

References m_nvrttrack, m_nvtrack, m_vrttrack_list, and m_vtrack_list.

Referenced by CleanBase().

00134                                          {
00135   if (m_vtrack_list)   m_vtrack_list->Delete();
00136   m_nvtrack=0;
00137   if (iflg) {
00138     delete m_vtrack_list;
00139     m_vtrack_list=0;
00140   }
00141   m_nvrttrack=0;
00142   for(Int_t i=0 ; i < 100 ; i++) {
00143     m_vrttrack_list[i]=0;
00144   }
00145 }

void LCDVToplBase::DeleteVertices Int_t  iflg = 0  ) 
 

Definition at line 149 of file LCDVToplBase.cxx.

References m_vertex_list.

Referenced by CleanBase().

00149                                            {
00150   if (m_vertex_list) m_vertex_list->Delete();
00151   if (iflg) {
00152     delete m_vertex_list;
00153     m_vertex_list=0;
00154   }
00155 }

Double_t LCDVToplBase::GetAntaMax  )  [inline]
 

Definition at line 144 of file LCDVToplBase.h.

References m_AntaMax.

00144 { return m_AntaMax; }

TVector3 LCDVToplBase::GetBeamIP  )  [inline]
 

Definition at line 71 of file LCDVToplBase.h.

References m_ipv.

00071 { return  m_ipv; } // Get given beam IP.

void LCDVToplBase::GetBeamIPErrorMatrix TMatrixD &  a  ) 
 

Definition at line 196 of file LCDVToplBase.cxx.

References m_iper.

Referenced by CalcIPErrorMatrix(), and GetSeedVertexByClassicMethod().

00196                                                    {
00197   t(0,0)=m_iper[0]; t(0,1)=m_iper[1]; t(0,2)=m_iper[3];
00198   t(1,0)=m_iper[1]; t(1,1)=m_iper[2]; t(1,2)=m_iper[4];
00199   t(2,0)=m_iper[3]; t(2,1)=m_iper[4]; t(2,2)=m_iper[5];
00200 }

void LCDVToplBase::GetBeamIPErrorMatrixInv TMatrixD &  a  ) 
 

Definition at line 204 of file LCDVToplBase.cxx.

References m_iper_inv.

00204                                                       {
00205   t(0,0)=m_iper_inv[0]; t(0,1)=m_iper_inv[1]; t(0,2)=m_iper_inv[3];
00206   t(1,0)=m_iper_inv[1]; t(1,1)=m_iper_inv[2]; t(1,2)=m_iper_inv[4];
00207   t(2,0)=m_iper_inv[3]; t(2,1)=m_iper_inv[4]; t(2,2)=m_iper_inv[5];
00208 }

TVector3* LCDVToplBase::GetBeamIPPtr  )  [inline]
 

Definition at line 72 of file LCDVToplBase.h.

References m_ipv.

00072 { return &m_ipv; } // Get given beam IP.

Int_t LCDVToplBase::GetDebugLevel  )  [inline]
 

Definition at line 60 of file LCDVToplBase.h.

References m_dblevel.

00060 { return m_dblevel; } // Get debug level.

Double_t LCDVToplBase::GetHFSelectNN  )  [inline]
 

Definition at line 164 of file LCDVToplBase.h.

References m_SelectNN.

00164 { return m_SelectNN; }

TVector3 LCDVToplBase::GetInitialVertexT2T LCDVToplTRK trk1,
LCDVToplTRK trk2,
Double_t  l1 = 0,
Double_t  l2 = 0
 

Definition at line 298 of file LCDVToplBase.cxx.

References LCDVToplTRK::GetErrorEtaApprox(), LCDVToplTRK::GetErrorTsiApprox(), LCDVToplTRK::GetMomentumVector(), LCDVToplTRK::GetPositionVector(), LCDVToplTRK::GetTrackParameter(), and m_ipv.

00300                                                                      {
00301   //initial vertex point for given tracks
00302 
00303   TVector3 posv1   = trk1->GetPositionVector(l1);
00304   TVector3 momv1   = trk1->GetMomentumVector(l1);
00305   TVector3 ip2pos1(m_ipv - posv1);
00306   if (l1 != 0.0) {
00307     Double_t mu1   = momv1.X()*ip2pos1.X() + momv1.Y()*ip2pos1.Y();
00308     mu1 /= (momv1.X()*momv1.X() + momv1.Y()*momv1.Y());
00309     posv1 += mu1*momv1;
00310   }
00311   // Double_t omega1  = trk1->GetTrackParameter(2);
00312   // Double_t phi0pr1 = trk1->GetTrackParameter(1) - TMath::Pi()/2.0 + l1/omega1;
00313   Double_t phi0pr1 = momv1.Phi() - TMath::Pi()/2.0;
00314   Double_t cspr1   = TMath::Cos(phi0pr1);
00315   Double_t snpr1   = TMath::Sin(phi0pr1);
00316   Double_t tanlpr1 = trk1->GetTrackParameter(4);
00317   Double_t z0pr1   = posv1.Z();
00318   Double_t x0pr1   = cspr1*(posv1[0] - m_ipv[0]) + snpr1*(posv1[1] - m_ipv[1]);
00319   Double_t s1spr1  = trk1->GetErrorTsiApprox(l1);
00320   Double_t s2spr1  = trk1->GetErrorEtaApprox(l1)*(1.0 + tanlpr1*tanlpr1);
00321 
00322   TVector3 posv2   = trk2->GetPositionVector(l2);
00323   TVector3 momv2   = trk2->GetMomentumVector(l2);
00324   TVector3 ip2pos2(m_ipv - posv2);
00325   if (l2 != 0.0) {
00326     Double_t mu2   = momv2.X()*ip2pos2.X() + momv2.Y()*ip2pos2.Y();
00327     mu2 /= (momv2.X()*momv2.X() + momv2.Y()*momv2.Y());
00328     posv2 += mu2*momv2;
00329   }
00330   // Double_t omega2  = trk2->GetTrackParameter(2);
00331   // Double_t phi0pr2 = trk2->GetTrackParameter(1) - TMath::Pi()/2.0 + l2/omega2;
00332   Double_t phi0pr2 = momv2.Phi() - TMath::Pi()/2.0;
00333   Double_t cspr2   = TMath::Cos(phi0pr2);
00334   Double_t snpr2   = TMath::Sin(phi0pr2);
00335   Double_t tanlpr2 = trk2->GetTrackParameter(4);
00336   Double_t z0pr2   = posv2.Z();
00337   Double_t x0pr2   = cspr2*(posv2[0] - m_ipv[0]) + snpr2*(posv2[1] - m_ipv[1]);
00338   Double_t s1spr2  = trk2->GetErrorTsiApprox(l2);
00339   Double_t s2spr2  = trk2->GetErrorEtaApprox(l2)*(1.0 + tanlpr2*tanlpr2);
00340 
00341   Double_t c1 = 
00342     cspr1*cspr1/s1spr1 + tanlpr1*tanlpr1*snpr1*snpr1/s2spr1 +
00343     cspr2*cspr2/s1spr2 + tanlpr2*tanlpr2*snpr2*snpr2/s2spr2;
00344   Double_t c2 =
00345     snpr1*snpr1/s1spr1 + tanlpr1*tanlpr1*cspr1*cspr1/s2spr1 +
00346     snpr2*snpr2/s1spr2 + tanlpr2*tanlpr2*cspr2*cspr2/s2spr2;
00347   Double_t c3 = 1/s2spr1 + 1/s2spr2;
00348   Double_t c4 =
00349     cspr1*snpr1/s1spr1 - tanlpr1*tanlpr1*snpr1*cspr1/s2spr1 +
00350     cspr2*snpr2/s1spr2 - tanlpr2*tanlpr2*snpr2*cspr2/s2spr2;
00351   Double_t c5 = tanlpr1*snpr1/s2spr1 + tanlpr2*snpr2/s2spr2;
00352   Double_t c6 =-(tanlpr1*cspr1/s2spr1 + tanlpr2*cspr2/s2spr2);
00353   Double_t c7 =
00354     cspr1*x0pr1/s1spr1 + z0pr1*tanlpr1*snpr1/s2spr1 +
00355     cspr2*x0pr2/s1spr2 + z0pr2*tanlpr2*snpr2/s2spr2;
00356   Double_t c8 =
00357     snpr1*x0pr1/s1spr1 - z0pr1*tanlpr1*cspr1/s2spr1 +
00358     snpr2*x0pr2/s1spr2 - z0pr2*tanlpr2*cspr2/s2spr2;
00359   Double_t c9 =z0pr1/s2spr1 + z0pr2/s2spr2;
00360 
00361   TMatrixD rot(3,3);
00362   rot(0,0) = c1; rot(0,1) = c4; rot(0,2)= c5;
00363   rot(1,0) = c4; rot(1,1) = c2; rot(1,2)= c6;
00364   rot(2,0) = c5; rot(2,1) = c6; rot(2,2)= c3;
00365   TMatrixD tmp(3,1);
00366   tmp(0,0) = c7;
00367   tmp(1,0) = c8;
00368   tmp(2,0) = c9;
00369   
00370   TVector3 xdv=m_ipv;
00371   Double_t det_rot;
00372   rot.Invert(&det_rot);
00373   if (det_rot) {
00374     TMatrixD tmp1(rot,TMatrixD::kMult,tmp);
00375     // tmp1.Mult(rot,tmp);
00376     xdv.SetXYZ(tmp1(0,0)+m_ipv.X(),tmp1(1,0)+m_ipv.Y(),tmp1(2,0));
00377     // xdv.SetXYZ(tmp1(0,0)+m_ipv[0],tmp1(1,0)+m_ipv[1],tmp1(2,0));
00378     // avoid being too far off
00379     // TVector3 xdv2(xdv[0],xdv[1],xdv[2]-m_ipv[2]);
00380     // if ( xdv2.Mag2() > 16.0 ) {
00381     //  xdv=m_ipv;
00382     // }
00383   }
00384 
00385   return xdv;
00386 }

Double_t LCDVToplBase::GetLodiMin  )  [inline]
 

Definition at line 141 of file LCDVToplBase.h.

References m_LodiMin.

00141 { return m_LodiMin; }

Double_t LCDVToplBase::GetLodrMax  )  [inline]
 

Definition at line 143 of file LCDVToplBase.h.

References m_LodrMax.

00143 { return m_LodrMax; }

Double_t LCDVToplBase::GetLodrMin  )  [inline]
 

Definition at line 142 of file LCDVToplBase.h.

References m_LodrMin.

00142 { return m_LodrMin; }

Double_t LCDVToplBase::GetMassTag  )  [inline]
 

Definition at line 156 of file LCDVToplBase.h.

References m_Masstag.

00156 { return m_Masstag;  }

Int_t LCDVToplBase::GetMcJetFlav  )  [inline]
 

Definition at line 168 of file LCDVToplBase.h.

References m_mcjetflav.

00168 { return m_mcjetflav; }

Double_t LCDVToplBase::GetMissPt  )  [inline]
 

Definition at line 157 of file LCDVToplBase.h.

References m_MissPt.

00157 { return m_MissPt;   }

Int_t LCDVToplBase::GetNTrk2Vrt  )  [inline]
 

Definition at line 76 of file LCDVToplBase.h.

References m_ntrk2vrt.

00076 {return m_ntrk2vrt;}

Int_t LCDVToplBase::GetNVrt2Trk  )  [inline]
 

Definition at line 78 of file LCDVToplBase.h.

References m_nvrt2trk.

00078 {return m_nvrt2trk;}

Double_t LCDVToplBase::GetNVsigma  )  [inline]
 

Definition at line 150 of file LCDVToplBase.h.

References m_NVsigma.

00150 { return m_NVsigma; }

TLorentzVector LCDVToplBase::GetP4Vertex  )  [inline]
 

Definition at line 158 of file LCDVToplBase.h.

References m_p4Vertex.

00158 { return m_p4Vertex; }

TVector3* LCDVToplBase::GetPja  )  [inline]
 

Definition at line 65 of file LCDVToplBase.h.

References m_pja.

00065 { return &m_pja; } //summed track momenta.

Double_t* LCDVToplBase::GetPTIP  )  [inline]
 

Definition at line 147 of file LCDVToplBase.h.

References m_PTIP.

00147 { return m_PTIP;    }

Double_t LCDVToplBase::GetPTIPXY  )  [inline]
 

Definition at line 148 of file LCDVToplBase.h.

References m_PTIP.

00148 { return m_PTIP[0]; }

Double_t LCDVToplBase::GetPTIPZ  )  [inline]
 

Definition at line 149 of file LCDVToplBase.h.

References m_PTIP.

00149 { return m_PTIP[1]; }

Double_t LCDVToplBase::GetPtMass  )  [inline]
 

Definition at line 154 of file LCDVToplBase.h.

References m_PtMass.

00154 { return m_PtMass;   }

Double_t LCDVToplBase::GetPtMassErr  )  [inline]
 

Definition at line 155 of file LCDVToplBase.h.

References m_PtMassEr.

00155 { return m_PtMassEr; }

Double_t LCDVToplBase::GetRawMass  )  [inline]
 

Definition at line 153 of file LCDVToplBase.h.

References m_Rmass.

00153 { return m_Rmass;    }

Double_t LCDVToplBase::GetRipe  )  [inline]
 

Definition at line 63 of file LCDVToplBase.h.

References m_ripe.

00063 { return m_ripe; } //xy error on IP ellipsoid, cm.

virtual Int_t LCDVToplBase::GetSeedVertex  )  [inline, virtual]
 

Definition at line 125 of file LCDVToplBase.h.

References GetSeedVertexByClassicMethod().

00125 { return GetSeedVertexByClassicMethod(); } // Get seed vertex.

Int_t LCDVToplBase::GetSeedVertexByClassicMethod  ) 
 

Definition at line 499 of file LCDVToplBase.cxx.

References GetBeamIPErrorMatrix(), LCDVToplVRT::GetDecayLength(), LCDVToplVRT::GetErrorDecayLength(), LCDVToplVRT::GetFourVector(), LCDVToplVRT::GetMass(), LCDVToplVRT::GetTrackEntries(), GetVertexAt(), LCDVToplVRT::GetVertexCharge(), GetVertexEntries(), LCDVToplVRT::GetVertexVector(), LCDVToplVRT::GetVsig(), m_ipv, m_pja, m_SeedVrtK0Mass, m_SeedVrtRMax, and m_SeedVrtSigMin.

Referenced by GetSeedVertex().

00499                                                  {
00500   Int_t nseedvrt = -1;
00501   Int_t nvrt = GetVertexEntries();  
00502   if (nvrt < 2) return nseedvrt;
00503 
00504   Double_t maxvsig = -1.;
00505   LCDVToplVRT* vrt=GetVertexAt(0);
00506   for(Int_t ivrt =1; ivrt < nvrt ; ivrt++){
00507     vrt = GetVertexAt(ivrt);    
00508     
00509     // Apply cuts to select seed vertex candidates
00510 
00511     // Cut 1
00512     Double_t decayL  = vrt->GetDecayLength(m_ipv);
00513     if (decayL > m_SeedVrtRMax) continue;
00514 
00515     // Cut 2
00516     Int_t ntrks = vrt->GetTrackEntries();
00517     Double_t netCharge = vrt->GetVertexCharge();
00518     if (ntrks == 2 && netCharge == 0.) {      
00519       Double_t reconMass = vrt->GetMass();
00520       if ( TMath::Abs(reconMass - 0.49767) < m_SeedVrtK0Mass ) continue;
00521     }
00522 
00523     // Cut 3
00524     TVector3 vrtpos(vrt->GetVertexVector() - m_ipv);
00525     if (vrtpos*m_pja < 0.) continue;
00526 
00527     // Cut 4
00528     TVector3 vrtmon(vrt->GetFourVector().Vect());
00529     if (vrtpos*vrtmon < 0.) continue;
00530 
00531     TMatrixD iper(3,3); GetBeamIPErrorMatrix(iper);
00532     Double_t decayLerr = TMath::Sqrt(vrt->GetErrorDecayLength(m_ipv,iper));
00533     Double_t vrtsig = decayL/decayLerr;
00534     if (vrtsig < m_SeedVrtSigMin) continue;
00535 
00536     // Select the closest vertex
00537     Double_t vsig=vrt->GetVsig();
00538     if (nseedvrt < 0 || vsig > maxvsig) {
00539       maxvsig = vsig;  nseedvrt  = ivrt;
00540     }
00541   }  
00542 
00543   return nseedvrt;
00544 }

Double_t LCDVToplBase::GetSeedVertexNN  )  [inline]
 

Definition at line 162 of file LCDVToplBase.h.

References m_SeedVrtNN.

00162 { return m_SeedVrtNN; }

Double_t LCDVToplBase::GetSeedVrtK0Mass  )  [inline]
 

Definition at line 130 of file LCDVToplBase.h.

References m_SeedVrtK0Mass.

00130 { return m_SeedVrtK0Mass;      }

Double_t LCDVToplBase::GetSeedVrtLambda0Mass  )  [inline]
 

Definition at line 131 of file LCDVToplBase.h.

References m_SeedVrtLambda0Mass.

00131 { return m_SeedVrtLambda0Mass; }

Double_t LCDVToplBase::GetSeedVrtRMax  )  [inline]
 

Definition at line 129 of file LCDVToplBase.h.

References m_SeedVrtRMax.

00129 { return m_SeedVrtRMax;        }

Double_t LCDVToplBase::GetSeedVrtSigMin  )  [inline]
 

Definition at line 132 of file LCDVToplBase.h.

References m_SeedVrtSigMin.

00132 { return m_SeedVrtSigMin;      }

LCDVToplTRK * LCDVToplBase::GetTrackAt Int_t  i  ) 
 

Definition at line 228 of file LCDVToplBase.cxx.

References GetTracks().

Referenced by SetPtrVertexTrack(), and SetUp().

00228                                                 {
00229   return (LCDVToplTRK*)(GetTracks()->At(itrk));
00230 }

Bool_t LCDVToplBase::GetTrackAttachByClassicMethod LCDVToplTRK ltrk,
LCDVToplVRT vrt,
TVector3 *  xdir
 

Definition at line 548 of file LCDVToplBase.cxx.

References LCDVToplTRK::GetTrdiLodiAnta(), LCDVToplVRT::GetVertexVector(), m_AntaMax, m_ipv, m_LodiMin, m_LodrMax, m_LodrMin, and m_TrdiMax.

00550                                                                    {
00551   Double_t dist = (seedvrt->GetVertexVector() - m_ipv).Mag();
00552 
00553   Double_t l    = 0;
00554   Double_t lodi = 0;
00555   Double_t trdi = 0;
00556   Double_t anta = 0;
00557   TVector3 xseedvrt;
00558   if (xdir) {
00559     xseedvrt=*xdir;
00560   } else {
00561     xseedvrt=seedvrt->GetVertexVector(); xseedvrt += m_ipv;
00562   }
00563 
00564   ltrk->GetTrdiLodiAnta(l,m_ipv,xseedvrt,&trdi,&lodi,&anta);
00565   Double_t ldst = lodi/dist;
00566 
00567   // Apply cuts to select track attachment
00568   Bool_t f_ret=kTRUE;
00569   if (trdi  > m_TrdiMax ) f_ret=kFALSE;
00570   if (lodi  < m_LodiMin ) f_ret=kFALSE;
00571   if (ldst  < m_LodrMin ) f_ret=kFALSE;
00572   if (ldst  > m_LodrMax ) f_ret=kFALSE;
00573   if (anta  > m_AntaMax ) f_ret=kFALSE;
00574   if (trdi  > lodi      ) f_ret=kFALSE;
00575 
00576   return f_ret;
00577 }

Double_t LCDVToplBase::GetTrackAttachNN  )  [inline]
 

Definition at line 163 of file LCDVToplBase.h.

References m_TrackAttNN.

00163 { return m_TrackAttNN;}

Int_t LCDVToplBase::GetTrackEntries  ) 
 

Definition at line 241 of file LCDVToplBase.cxx.

References m_nvtrack.

00241                                    {
00242   return m_nvtrack;
00243   // return GetTracks()->GetEntries();
00244 }

Int_t LCDVToplBase::GetTrackIdx LCDVToplTRK trk  ) 
 

Definition at line 234 of file LCDVToplBase.cxx.

References GetTracks().

00234                                                 {
00235   return GetTracks()->IndexOf(trk);
00236 }

TClonesArray* LCDVToplBase::GetTracks  )  [inline]
 

Definition at line 44 of file LCDVToplBase.h.

References m_vtrack_list.

Referenced by AddVrtTrack(), GetTrackAt(), GetTrackIdx(), and GetVrtTrackAt().

00044 { return m_vtrack_list; }  // Get Track array.

Double_t LCDVToplBase::GetTrdiMax  )  [inline]
 

Definition at line 140 of file LCDVToplBase.h.

References m_TrdiMax.

00140 { return m_TrdiMax; }

Int_t* LCDVToplBase::GetTrk2Vrt  )  [inline]
 

Definition at line 77 of file LCDVToplBase.h.

References m_trk2vrt.

00077 {return m_trk2vrt;}

Double_t* LCDVToplBase::GetTrkL  )  [inline]
 

Definition at line 80 of file LCDVToplBase.h.

References m_trkl.

00080 {return m_trkl;}

Bool_t LCDVToplBase::GetUseNN  )  [inline]
 

Definition at line 161 of file LCDVToplBase.h.

References m_UseNN.

00161 { return m_UseNN;     }

LCDVToplVRT * LCDVToplBase::GetVertexAt Int_t  i  ) 
 

Definition at line 248 of file LCDVToplBase.cxx.

References GetVertices().

Referenced by GetSeedVertexByClassicMethod(), GetVertexEntriesExceptV0(), RemoveVertexAt(), and SetPtrVertexTrack().

00248                                                  {
00249   return (LCDVToplVRT*)(GetVertices()->At(ivrt));
00250 }

Double_t LCDVToplBase::GetVertexCharge  ) 
 

Definition at line 483 of file LCDVToplBase.cxx.

References GetVrtTrackAt(), and GetVrtTrackEntries().

00483                                        {
00484   Int_t nvtrks=GetVrtTrackEntries();
00485   Double_t q_vertex=0;
00486   for (Int_t itrk=0 ; itrk < nvtrks ; itrk++) {
00487     q_vertex += GetVrtTrackAt(itrk)->GetCharge();
00488   }
00489   return q_vertex;
00490 }

Int_t LCDVToplBase::GetVertexEntries  ) 
 

Definition at line 260 of file LCDVToplBase.cxx.

References m_nvertex.

Referenced by GetSeedVertexByClassicMethod(), and GetVertexEntriesExceptV0().

00260                                     {
00261   return m_nvertex;
00262   //    return GetVertices()->GetEntries();
00263 }

Int_t LCDVToplBase::GetVertexEntriesExceptV0  ) 
 

Definition at line 267 of file LCDVToplBase.cxx.

References CheckKs0Vertex(), CheckLambda0Vertex(), GetVertexAt(), and GetVertexEntries().

00267                                             {
00268   Int_t nvrt=GetVertexEntries();
00269   Int_t nvrtnov0=0;
00270   LCDVToplVRT* vrt;
00271   for (Int_t ivrt=0 ; ivrt < nvrt ; ivrt++) {
00272     vrt=GetVertexAt(ivrt);
00273     if (CheckKs0Vertex(vrt))     continue;
00274     if (CheckLambda0Vertex(vrt)) continue;
00275     nvrtnov0++;
00276   }
00277   return nvrtnov0;
00278 }

Int_t LCDVToplBase::GetVertexIdx LCDVToplVRT vrt  ) 
 

Definition at line 254 of file LCDVToplBase.cxx.

References GetVertices().

00254                                                  {
00255   return GetVertices()->IndexOf(vrt);
00256 }

TClonesArray* LCDVToplBase::GetVertices  )  [inline]
 

Definition at line 49 of file LCDVToplBase.h.

References m_vertex_list.

Referenced by CompressVerticesList(), GetVertexAt(), GetVertexIdx(), and RemoveVertex().

00049 { return m_vertex_list; }  // Get Vertex array.

Int_t* LCDVToplBase::GetVrt2Trk  )  [inline]
 

Definition at line 79 of file LCDVToplBase.h.

References m_vrt2trk.

00079 {return m_vrt2trk;}

LCDVToplTRK * LCDVToplBase::GetVrtTrackAt Int_t  itrk  ) 
 

Definition at line 461 of file LCDVToplBase.cxx.

References GetTracks(), m_nvrttrack, and m_vrttrack_list.

Referenced by GetVertexCharge().

00461                                                    {
00462   LCDVToplTRK* trk=0;
00463   if (itrk < m_nvrttrack) {
00464     trk=(LCDVToplTRK*)GetTracks()->At(m_vrttrack_list[itrk]);
00465   }
00466   return trk;
00467 }

Int_t LCDVToplBase::GetVrtTrackEntries  ) 
 

Definition at line 455 of file LCDVToplBase.cxx.

References m_nvrttrack.

Referenced by GetVertexCharge().

00455                                       {
00456   return m_nvrttrack;
00457 }

Double_t LCDVToplBase::GetZipe  )  [inline]
 

Definition at line 64 of file LCDVToplBase.h.

References m_ripe.

00064 { return m_ripe; } //z  error on IP ellipsoid, cm.

void LCDVToplBase::InitBase  ) 
 

Definition at line 70 of file LCDVToplBase.cxx.

References m_nvertex, m_nvrttrack, m_nvtrack, m_vertex_list, m_vrttrack_list, and m_vtrack_list.

00070                             {
00071   m_nvtrack       = 0;
00072   m_vertex_list   = new TClonesArray("LCDVToplVRT",100);
00073   m_nvertex       = 0;
00074   m_vtrack_list   = new TClonesArray("LCDVToplTRK",100);
00075   m_nvrttrack     = 0;
00076   for(Int_t i=0 ; i < 100 ; i++) {
00077     m_vrttrack_list[i]=0;
00078   }
00079     
00080   m_ripe  = 3.0e-4;
00081   m_zipe  = 6.0e-4;
00082 
00083   // Initialize jet total momentum
00084   m_pja.SetXYZ(0.0,0.0,0.0); 
00085 
00086   //Set Beam Position (Temporary)  
00087   m_ipv.SetXYZ(0.0,0.0,0.0); 
00088 
00089   // m_dblevel=0;
00090 
00091   //
00092   // Pt corrected mass relates.
00093   //
00094   m_Rmass    = 0.;
00095   m_PtMass   = 0.;
00096   m_PtMassEr = 0.;
00097   m_Masstag  = 0.;
00098   m_MissPt   = 0.;
00099 
00100   m_SeedVrtRMax  =2.3  ;
00101   m_SeedVrtK0Mass=0.015;
00102   m_SeedVrtLambda0Mass=0.015;
00103   m_SeedVrtSigMin=2.0  ;
00104 
00105   m_TrdiMax=0.1;
00106   m_LodiMin=0.05;
00107   m_LodrMin=0.25;
00108   m_LodrMax=100.0;
00109   m_AntaMax=TMath::Pi()/2.0;
00110 
00111   m_PTIP[0]=1.5*m_ripe;
00112   m_PTIP[1]=1.5*m_zipe;
00113   m_NVsigma=1.0;
00114 
00115   m_UseNN     =kFALSE;
00116   m_SeedVrtNN =0.4;
00117   m_TrackAttNN=0.6;
00118   m_SelectNN  =0.5;
00119 
00120   m_p4Vertex.SetXYZT(0.,0.,0.,0.);
00121 
00122   m_mcjetflav=0;
00123 
00124   m_ntrk2vrt=0;
00125   m_trk2vrt=0;
00126   m_nvrt2trk=0;
00127   m_vrt2trk=0;
00128   m_trkl=0;
00129 
00130 }

void LCDVToplBase::RemoveVertex LCDVToplVRT vrt  ) 
 

Definition at line 396 of file LCDVToplBase.cxx.

References CompressVerticesList(), GetVertices(), and m_nvertex.

Referenced by RemoveVertexAt().

00396                                                 {
00397   GetVertices()->Remove(vrt);
00398   CompressVerticesList();
00399   m_nvertex--;
00400 }

void LCDVToplBase::RemoveVertexAt Int_t   ) 
 

Definition at line 390 of file LCDVToplBase.cxx.

References GetVertexAt(), and RemoveVertex().

00390                                          {
00391   RemoveVertex(GetVertexAt(i));
00392 }

void LCDVToplBase::SetAntaMax Double_t  a  )  [inline]
 

Definition at line 185 of file LCDVToplBase.h.

References m_AntaMax.

00185 { m_AntaMax=a; }

void LCDVToplBase::SetBeamIPErrorMatrix TMatrixD &  a  ) 
 

Definition at line 212 of file LCDVToplBase.cxx.

References m_iper.

00212                                                    {
00213   m_iper[0]=t(0,0);
00214   m_iper[1]=t(1,0); m_iper[2]=t(1,1);
00215   m_iper[3]=t(2,0); m_iper[4]=t(2,1); m_iper[5]=t(2,2);
00216 }

void LCDVToplBase::SetBeamIPErrorMatrixInv TMatrixD &  a  ) 
 

Definition at line 220 of file LCDVToplBase.cxx.

References m_iper_inv.

Referenced by CalcIPErrorMatrix().

00220                                                       {
00221   m_iper_inv[0]=t(0,0);
00222   m_iper_inv[1]=t(1,0); m_iper_inv[2]=t(1,1);
00223   m_iper_inv[3]=t(2,0); m_iper_inv[4]=t(2,1); m_iper_inv[5]=t(2,2);
00224 }

void LCDVToplBase::SetBField const TVector3 &  bfieldv  )  [inline]
 

Definition at line 107 of file LCDVToplBase.h.

References m_bfield.

Referenced by SetUp().

00107 { m_bfield = bfieldv; } // Set Magnetic Field.

void LCDVToplBase::SetDebugLevel Int_t  a  )  [inline]
 

Definition at line 96 of file LCDVToplBase.h.

References m_dblevel.

00096 { m_dblevel = a; } // Set debug level.

void LCDVToplBase::SetHFSelectNN Double_t  a  )  [inline]
 

Definition at line 197 of file LCDVToplBase.h.

References m_SelectNN.

00197 { m_SelectNN=a;  }

void LCDVToplBase::SetIP const TVector3 &  ipv  )  [inline]
 

Definition at line 106 of file LCDVToplBase.h.

References m_ipv.

Referenced by SetUp().

00106 { m_ipv = ipv; } // Set ip position.

void LCDVToplBase::SetLodiMin Double_t  a  )  [inline]
 

Definition at line 182 of file LCDVToplBase.h.

References m_LodiMin.

00182 { m_LodiMin=a; }

void LCDVToplBase::SetLodrMax Double_t  a  )  [inline]
 

Definition at line 184 of file LCDVToplBase.h.

References m_LodrMax.

00184 { m_LodrMax=a; }

void LCDVToplBase::SetLodrMin Double_t  a  )  [inline]
 

Definition at line 183 of file LCDVToplBase.h.

References m_LodrMin.

00183 { m_LodrMin=a; }

void LCDVToplBase::SetMcJetFlav Int_t  a  )  [inline]
 

Definition at line 199 of file LCDVToplBase.h.

References m_mcjetflav.

00199 { m_mcjetflav=a; } // Set MC information.

void LCDVToplBase::SetNVsigma Double_t  a  )  [inline]
 

Definition at line 191 of file LCDVToplBase.h.

References m_NVsigma.

00191 { m_NVsigma = a; }

void LCDVToplBase::SetPja const TVector3 &  a  )  [inline]
 

Definition at line 101 of file LCDVToplBase.h.

References m_pja.

00101 { m_pja =a; } //summed track momenta.

void LCDVToplBase::SetPTIP Double_t *  a  )  [inline]
 

Definition at line 188 of file LCDVToplBase.h.

References m_PTIP.

00188 { m_PTIP[0] = a[0]; m_PTIP[1] = a[1];}

void LCDVToplBase::SetPTIPXY Double_t  a  )  [inline]
 

Definition at line 189 of file LCDVToplBase.h.

References m_PTIP.

00189 { m_PTIP[0] = a; }

void LCDVToplBase::SetPTIPZ Double_t  a  )  [inline]
 

Definition at line 190 of file LCDVToplBase.h.

References m_PTIP.

00190 { m_PTIP[1] = a; }

void LCDVToplBase::SetPtrVertexTrack  ) 
 

Definition at line 581 of file LCDVToplBase.cxx.

References GetTrackAt(), GetVertexAt(), m_ntrk2vrt, m_trk2vrt, LCDVToplTRK::SetVertexAt(), and LCDVToplTRK::SetVertexEntries().

00581                                      {
00582   LCDVToplTRK* trk=0;
00583   LCDVToplVRT* vrt=0;
00584 
00585   // Set pointers (track->vertex)
00586   Int_t itrk=0;
00587   Int_t ntrk=m_ntrk2vrt;
00588   for (itrk=0 ; itrk < m_ntrk2vrt ; itrk++) {
00589     trk=GetTrackAt(itrk);
00590     if (m_trk2vrt[itrk] >= 0) {
00591       vrt=GetVertexAt(m_trk2vrt[itrk]);
00592       trk->SetVertexEntries(1);
00593       trk->SetVertexAt(vrt,0);
00594     } else {
00595       trk->SetVertexEntries(0);
00596     }
00597   }
00598   
00599   // Set pointers (vertex->track)
00600   Int_t ivrt=0;
00601   Int_t nvrt=GetVertexEntries();
00602   Int_t jtrk=0;
00603   for (ivrt=0; ivrt < nvrt ; ivrt++) {
00604     vrt =GetVertexAt(ivrt);
00605     ntrk=vrt->GetTrackEntries();
00606     for (itrk=0 ; itrk < ntrk ; itrk++) {
00607       vrt->SetTrackAt(GetTrackAt(m_vrt2trk[jtrk++]),itrk);
00608     }
00609   }
00610   if (jtrk != m_nvrt2trk) {
00611     printf("???? jtrk != m_nvrt2trk in LCDVToplBase::SetPtrVertexTrack\n");
00612     printf("???? jtrk = %d m_nvrt2trk=%d\n",jtrk,m_nvrt2trk);
00613   }
00614 }

void LCDVToplBase::SetRipe Double_t  a  )  [inline]
 

Definition at line 99 of file LCDVToplBase.h.

References m_ripe.

00099 { m_ripe=a; } //xy error on IP ellipsoid, cm.

void LCDVToplBase::SetSeedVertexNN Double_t  a  )  [inline]
 

Definition at line 195 of file LCDVToplBase.h.

References m_SeedVrtNN.

00195 { m_SeedVrtNN=a; }

void LCDVToplBase::SetSeedVrtK0Mass Double_t  a  )  [inline]
 

Definition at line 176 of file LCDVToplBase.h.

References m_SeedVrtK0Mass.

00176 { m_SeedVrtK0Mass=a;      }

void LCDVToplBase::SetSeedVrtLambda0Mass Double_t  a  )  [inline]
 

Definition at line 177 of file LCDVToplBase.h.

References m_SeedVrtLambda0Mass.

00177 { m_SeedVrtLambda0Mass=a; }

void LCDVToplBase::SetSeedVrtRMax Double_t  a  )  [inline]
 

Definition at line 175 of file LCDVToplBase.h.

References m_SeedVrtRMax.

00175 { m_SeedVrtRMax=a;        }

void LCDVToplBase::SetSeedVrtSigMin Double_t  a  )  [inline]
 

Definition at line 178 of file LCDVToplBase.h.

References m_SeedVrtSigMin.

00178 { m_SeedVrtSigMin=a;      }

void LCDVToplBase::SetTrackAttachNN Double_t  a  )  [inline]
 

Definition at line 196 of file LCDVToplBase.h.

References m_TrackAttNN.

00196 { m_TrackAttNN=a;}

void LCDVToplBase::SetTrdiMax Double_t  a  )  [inline]
 

Definition at line 181 of file LCDVToplBase.h.

References m_TrdiMax.

00181 { m_TrdiMax=a; }

void LCDVToplBase::SetUp const TVector3 &  ipv,
const TVector3 &  bfldv,
const TVector3 &  jeta
 

Definition at line 50 of file LCDVToplBase.cxx.

References CalcIPErrorMatrix(), CleanBase(), m_dblevel, m_pja, SetBField(), and SetIP().

00052                                                {
00053   if (m_dblevel > 9) 
00054     cout << " <<LCDVToplBase::SetUp2>> Start..." << endl;
00055 
00056   CleanBase(0);
00057 
00058   SetIP(ipv);
00059   SetBField(bfldv);
00060   m_pja=jeta;
00061   CalcIPErrorMatrix();
00062 
00063   if (m_dblevel > 9) 
00064     cout << " <<LCDVToplBase::SetUp2>> End..." << endl;
00065 }

void LCDVToplBase::SetUp const TVector3 &  ipv,
const TVector3 &  bfldv
 

Definition at line 26 of file LCDVToplBase.cxx.

References GetTrackAt(), m_dblevel, m_nvtrack, and m_pja.

00027                                                 {
00028 
00029   if (m_dblevel > 9) 
00030     cout << " <<LCDVToplBase::SetUp1>> Start..." << endl;
00031 
00032   //This loop to make sure position and momentum in trk at 2d POCA
00033   // and  to make LCDVToplTRK.
00034   TVector3 pja(0.0,0.0,0.0); 
00035   if (m_pja.Mag2() == 0 && m_nvtrack ) {
00036     for (Int_t i=0; i < m_nvtrack ; i++) {
00037       //Accumurate track momentum.
00038       pja += GetTrackAt(i)->GetMomentumVector(0.0);
00039     } //loop over zxtrks
00040   }
00041 
00042   SetUp(ipv,bfldv,pja);
00043 
00044   if (m_dblevel > 9) 
00045     cout << " <<LCDVToplBase::SetUp1>> End..." << endl;
00046 }

void LCDVToplBase::SetUseNN Bool_t  a  )  [inline]
 

Definition at line 194 of file LCDVToplBase.h.

References m_UseNN.

00194 { m_UseNN=a;     }

void LCDVToplBase::SetZipe Double_t  a  )  [inline]
 

Definition at line 100 of file LCDVToplBase.h.

References m_zipe.

00100 { m_zipe=a; } //z  error on IP ellipsoid, cm.


Friends And Related Function Documentation

friend class LCDVToplGhost [friend]
 

Definition at line 14 of file LCDVToplBase.h.


Member Data Documentation

Double_t LCDVToplBase::m_AntaMax [private]
 

Definition at line 262 of file LCDVToplBase.h.

Referenced by GetAntaMax(), GetTrackAttachByClassicMethod(), and SetAntaMax().

TVector3 LCDVToplBase::m_bfield [private]
 

Definition at line 234 of file LCDVToplBase.h.

Referenced by SetBField().

Int_t LCDVToplBase::m_dblevel [private]
 

Definition at line 245 of file LCDVToplBase.h.

Referenced by GetDebugLevel(), SetDebugLevel(), and SetUp().

Double_t LCDVToplBase::m_iper[6] [private]
 

Definition at line 231 of file LCDVToplBase.h.

Referenced by CalcIPErrorMatrix(), GetBeamIPErrorMatrix(), and SetBeamIPErrorMatrix().

Double_t LCDVToplBase::m_iper_inv[6] [private]
 

Definition at line 232 of file LCDVToplBase.h.

Referenced by GetBeamIPErrorMatrixInv(), and SetBeamIPErrorMatrixInv().

TVector3 LCDVToplBase::m_ipv [private]
 

Definition at line 230 of file LCDVToplBase.h.

Referenced by GetBeamIP(), GetBeamIPPtr(), GetInitialVertexT2T(), GetSeedVertexByClassicMethod(), GetTrackAttachByClassicMethod(), and SetIP().

Double_t LCDVToplBase::m_LodiMin [private]
 

Definition at line 259 of file LCDVToplBase.h.

Referenced by GetLodiMin(), GetTrackAttachByClassicMethod(), and SetLodiMin().

Double_t LCDVToplBase::m_LodrMax [private]
 

Definition at line 261 of file LCDVToplBase.h.

Referenced by GetLodrMax(), GetTrackAttachByClassicMethod(), and SetLodrMax().

Double_t LCDVToplBase::m_LodrMin [private]
 

Definition at line 260 of file LCDVToplBase.h.

Referenced by GetLodrMin(), GetTrackAttachByClassicMethod(), and SetLodrMin().

Double_t LCDVToplBase::m_Masstag [private]
 

Definition at line 278 of file LCDVToplBase.h.

Referenced by GetMassTag().

Int_t LCDVToplBase::m_mcjetflav [private]
 

Definition at line 283 of file LCDVToplBase.h.

Referenced by GetMcJetFlav(), and SetMcJetFlav().

Double_t LCDVToplBase::m_MissPt [private]
 

Definition at line 279 of file LCDVToplBase.h.

Referenced by GetMissPt().

Int_t LCDVToplBase::m_ntrk2vrt [private]
 

Definition at line 285 of file LCDVToplBase.h.

Referenced by CleanBase(), GetNTrk2Vrt(), and SetPtrVertexTrack().

Int_t LCDVToplBase::m_nvertex [private]
 

Definition at line 240 of file LCDVToplBase.h.

Referenced by GetVertexEntries(), InitBase(), and RemoveVertex().

Int_t LCDVToplBase::m_nvrt2trk [private]
 

Definition at line 287 of file LCDVToplBase.h.

Referenced by CleanBase(), and GetNVrt2Trk().

Int_t LCDVToplBase::m_nvrttrack [private]
 

Definition at line 242 of file LCDVToplBase.h.

Referenced by AddVrtTrack(), DeleteTracks(), GetVrtTrackAt(), GetVrtTrackEntries(), and InitBase().

Double_t LCDVToplBase::m_NVsigma [private]
 

Definition at line 266 of file LCDVToplBase.h.

Referenced by GetNVsigma(), and SetNVsigma().

Int_t LCDVToplBase::m_nvtrack [private]
 

Definition at line 238 of file LCDVToplBase.h.

Referenced by AddTrack(), DeleteTracks(), GetTrackEntries(), InitBase(), and SetUp().

TLorentzVector LCDVToplBase::m_p4Vertex [private]
 

Definition at line 280 of file LCDVToplBase.h.

Referenced by GetP4Vertex().

TVector3 LCDVToplBase::m_pja [private]
 

Definition at line 236 of file LCDVToplBase.h.

Referenced by AddTrack(), GetPja(), GetSeedVertexByClassicMethod(), SetPja(), and SetUp().

Double_t LCDVToplBase::m_PTIP[2] [private]
 

Definition at line 265 of file LCDVToplBase.h.

Referenced by GetPTIP(), GetPTIPXY(), GetPTIPZ(), SetPTIP(), SetPTIPXY(), and SetPTIPZ().

Double_t LCDVToplBase::m_PtMass [private]
 

Definition at line 276 of file LCDVToplBase.h.

Referenced by GetPtMass().

Double_t LCDVToplBase::m_PtMassEr [private]
 

Definition at line 277 of file LCDVToplBase.h.

Referenced by GetPtMassErr().

Double_t LCDVToplBase::m_ripe [private]
 

Definition at line 226 of file LCDVToplBase.h.

Referenced by CalcIPErrorMatrix(), GetRipe(), GetZipe(), and SetRipe().

Double_t LCDVToplBase::m_Rmass [private]
 

Definition at line 275 of file LCDVToplBase.h.

Referenced by GetRawMass().

Double_t LCDVToplBase::m_SeedVrtK0Mass [private]
 

Definition at line 253 of file LCDVToplBase.h.

Referenced by CheckKs0Vertex(), GetSeedVertexByClassicMethod(), GetSeedVrtK0Mass(), and SetSeedVrtK0Mass().

Double_t LCDVToplBase::m_SeedVrtLambda0Mass [private]
 

Definition at line 254 of file LCDVToplBase.h.

Referenced by CheckLambda0Vertex(), GetSeedVrtLambda0Mass(), and SetSeedVrtLambda0Mass().

Double_t LCDVToplBase::m_SeedVrtNN [private]
 

Definition at line 270 of file LCDVToplBase.h.

Referenced by GetSeedVertexNN(), and SetSeedVertexNN().

Double_t LCDVToplBase::m_SeedVrtRMax [private]
 

Definition at line 252 of file LCDVToplBase.h.

Referenced by GetSeedVertexByClassicMethod(), GetSeedVrtRMax(), and SetSeedVrtRMax().

Double_t LCDVToplBase::m_SeedVrtSigMin [private]
 

Definition at line 255 of file LCDVToplBase.h.

Referenced by GetSeedVertexByClassicMethod(), GetSeedVrtSigMin(), and SetSeedVrtSigMin().

Double_t LCDVToplBase::m_SelectNN [private]
 

Definition at line 272 of file LCDVToplBase.h.

Referenced by GetHFSelectNN(), and SetHFSelectNN().

Double_t LCDVToplBase::m_TrackAttNN [private]
 

Definition at line 271 of file LCDVToplBase.h.

Referenced by GetTrackAttachNN(), and SetTrackAttachNN().

Double_t LCDVToplBase::m_TrdiMax [private]
 

Definition at line 258 of file LCDVToplBase.h.

Referenced by GetTrackAttachByClassicMethod(), GetTrdiMax(), and SetTrdiMax().

Int_t* LCDVToplBase::m_trk2vrt [private]
 

Definition at line 286 of file LCDVToplBase.h.

Referenced by CleanBase(), GetTrk2Vrt(), and SetPtrVertexTrack().

Double_t* LCDVToplBase::m_trkl [private]
 

Definition at line 289 of file LCDVToplBase.h.

Referenced by CleanBase(), and GetTrkL().

Bool_t LCDVToplBase::m_UseNN [private]
 

Definition at line 269 of file LCDVToplBase.h.

Referenced by GetUseNN(), and SetUseNN().

TClonesArray* LCDVToplBase::m_vertex_list [private]
 

Definition at line 241 of file LCDVToplBase.h.

Referenced by DeleteVertices(), GetVertices(), and InitBase().

Int_t* LCDVToplBase::m_vrt2trk [private]
 

Definition at line 288 of file LCDVToplBase.h.

Referenced by CleanBase(), and GetVrt2Trk().

Int_t LCDVToplBase::m_vrttrack_list[100] [private]
 

Definition at line 243 of file LCDVToplBase.h.

Referenced by AddVrtTrack(), DeleteTracks(), GetVrtTrackAt(), and InitBase().

TClonesArray* LCDVToplBase::m_vtrack_list [private]
 

Definition at line 239 of file LCDVToplBase.h.

Referenced by DeleteTracks(), GetTracks(), and InitBase().

Double_t LCDVToplBase::m_zipe [private]
 

Definition at line 227 of file LCDVToplBase.h.

Referenced by CalcIPErrorMatrix(), and SetZipe().


The documentation for this class was generated from the following files:
Generated on Tue Jul 18 18:34:07 2006 for LCDROOT by  doxygen 1.4.6