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

#include <PndLmdBPRungeKuttaTask.h>

Inheritance diagram for PndLmdBPRungeKuttaTask:

Public Member Functions

 PndLmdBPRungeKuttaTask ()
 
 PndLmdBPRungeKuttaTask (Double_t pBeam, TVector3 IP)
 Set up beam momuntum value and position of interaction point. More...
 
 ~PndLmdBPRungeKuttaTask ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void Finish ()
 

Private Member Functions

void Register ()
 
void Reset ()
 
void ProduceHits ()
 
std::map< int, std::vector< int > > AssignHitsToTracks ()
 
 ClassDef (PndLmdBPRungeKuttaTask, 1)
 

Private Attributes

TClonesArray * fTrackParGeane
 
TClonesArray * fTrackParIni
 
TClonesArray * fTrackParFinal
 
TClonesArray * fDetName
 
PndGeoHandlingfGeoH
 
int fEventNr
 
bool fUseMVDPoint
 
Double_t fPbeam
 
Int_t fPDGid
 
TVector3 vtx
 
std::map< int, std::vector< int > > fTrackPixHitIdMap
 
std::map< int, std::vector< int > > fTrackStripHitIdMap
 
TClonesArray * fMCHits
 
TClonesArray * fMCTracks
 
TClonesArray * fTracks
 
TClonesArray * fHits
 

Detailed Description

Definition at line 29 of file PndLmdBPRungeKuttaTask.h.

Constructor & Destructor Documentation

PndLmdBPRungeKuttaTask::PndLmdBPRungeKuttaTask ( )

Default constructor

Definition at line 43 of file PndLmdBPRungeKuttaTask.cxx.

44  : FairTask("Back Propagation Task for PANDA Lmd (with RK)"),
45  fEventNr(0),
46  fUseMVDPoint(false) {}
PndLmdBPRungeKuttaTask::PndLmdBPRungeKuttaTask ( Double_t  pBeam,
TVector3  IP 
)

Set up beam momuntum value and position of interaction point.

Definition at line 49 of file PndLmdBPRungeKuttaTask.cxx.

References fPbeam, fPDGid, and vtx.

50  : FairTask("Geane Task for PANDA Lmd"), fEventNr(0), fUseMVDPoint(false) {
51  fPbeam = pBeam;
52  // if(fPDGid!=-2212){ //calculate momentum if particle is not antiproton
53  // }
54  cout << "Beam Momentum for particle with PDGid#" << fPDGid << " this run is "
55  << fPbeam << endl;
56  vtx = IP;
57  cout << "Interaction Point:" << endl;
58  vtx.Print();
59 
60  // hxpull = new TH1D("hxpull","x/#sigma_{x}",1e2,-10,10.);
61  // hypull = new TH1D("hypull","y/#sigma_{y}",1e2,-10,10.);
62  // hzpull = new TH1D("hzpull","z/#sigma_{z}",1e2,-10,10.);
63  // // hxresstep = new TH2D("hxresstep","x_{PCA} vs. z cood of back-propag
64  // start",1e2,0,1200,1e3,-0.5,0.5); //15 GeV
65  // hxresstep = new TH2D("hxresstep","x_{PCA} vs. z cood of back-propag
66  // start",5e2,0,1500,1e3,-5,5);//1.5 GeV
67 }
PndLmdBPRungeKuttaTask::~PndLmdBPRungeKuttaTask ( )

Destructor

Definition at line 70 of file PndLmdBPRungeKuttaTask.cxx.

70 {}

Member Function Documentation

std::map< int, std::vector< int > > PndLmdBPRungeKuttaTask::AssignHitsToTracks ( )
private

Definition at line 425 of file PndLmdBPRungeKuttaTask.cxx.

References fMCHits, and i.

Referenced by Exec().

425  {
426  std::map<int, std::vector<int> > result;
427  for (int i = 0; i < fMCHits->GetEntriesFast(); i++) { // get all MC Hits
428  PndSdsMCPoint* myPoint =
429  (PndSdsMCPoint*)(fMCHits->At(i)); // sort MCHits with Tracks
430  result[myPoint->GetTrackID()].push_back(i);
431  }
432  return result;
433 }
Int_t i
Definition: run_full.C:25
PndLmdBPRungeKuttaTask::ClassDef ( PndLmdBPRungeKuttaTask  ,
 
)
private
void PndLmdBPRungeKuttaTask::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Get parameters of real track

Definition at line 126 of file PndLmdBPRungeKuttaTask.cxx.

References AssignHitsToTracks(), Bool_t, Double_t, RKTrackRep::extrapolateToPoint(), fDetName, fEventNr, fParticle, fPbeam, fTrackParFinal, fTrackParGeane, fTrackParIni, fTracks, fVerbose, PndTrack::GetParamFirst(), RKTrackRep::getPosMomCov(), i, p, GFAbsTrackRep::Print(), sqrt(), v, and vtx.

126  {
127  std::map<int, std::vector<int> > mcHitMap; // Track -> MCHits
128  fTrackParGeane->Delete();
129  fTrackParIni->Delete();
130  fTrackParFinal->Delete();
131  fDetName->Delete();
132 
133  mcHitMap = AssignHitsToTracks();
134  fEventNr++;
135 
136  // Charge & mass of particle
137  Int_t PDGCode = -2212; // antiproton
138  // Int_t PDGCode = fPDGid;
139  TDatabasePDG* fdbPDG = TDatabasePDG::Instance();
140  TParticlePDG* fParticle = fdbPDG->GetParticle(PDGCode);
141  Double_t fCharge = fParticle->Charge() / 3.;
142  // cout<<"fCharge = "<<fCharge<<endl;
143 
144  // go through all tracks
145  int glI = fTracks->GetEntriesFast();
146  Int_t counterGeaneTrk = 0;
147  for (Int_t i = 0; i < glI; i++) {
148  TVector3 StartPos, StartPosErr, StartMom, StartMomErr, StartO, StartU,
149  StartV;
150  int p = 0;
151 
153  // PndLinTrack* recTrack = (PndLinTrack*)(fTracks->At(i));
154  // TString DecName = recTrack->GetDetName();
155  // if(DecName!="Lumi") continue;
156 
157  // //Vector of particle momentum and starting point
158  // TVector3 DirVec = recTrack->GetDirectionVec();
159  // StartPos = recTrack->GetStartVec();
160  // StartPosErr = recTrack->GetStartErrVec();
161  // double zerradd = hypot(StartPosErr.Z(),5e-04);
162  // StartPosErr.SetZ(zerradd);//value for err_z is unknown from fit TODO: why
163  // ???
164  // StartMomErr = recTrack->GetDirectionErrVec();
165  // StartMom = fPbeam*DirVec;
166  // StartMomErr *=fPbeam;
167 
168  PndTrack* recTrack = (PndTrack*)(fTracks->At(i));
169  FairTrackParP fFittedTrkP = recTrack->GetParamFirst();
170  TVector3 PosRecLMD(fFittedTrkP.GetX(), fFittedTrkP.GetY(),
171  fFittedTrkP.GetZ());
172  TVector3 MomRecLMD(fFittedTrkP.GetPx(), fFittedTrkP.GetPy(),
173  fFittedTrkP.GetPz());
174  MomRecLMD *= fPbeam / MomRecLMD.Mag();
175  double covMARS[6][6];
176  fFittedTrkP.GetMARSCov(covMARS);
177  TVector3 errMomRecLMD(sqrt(covMARS[0][0]), sqrt(covMARS[1][1]),
178  sqrt(covMARS[2][2]));
179  TVector3 errPosRecLMD(sqrt(covMARS[3][3]), sqrt(covMARS[4][4]),
180  sqrt(covMARS[5][5]));
181 
182  StartPos = PosRecLMD;
183  StartPosErr = errPosRecLMD;
184  StartMom = MomRecLMD;
185  StartMomErr = errMomRecLMD;
186 
187  if (fVerbose > 2) {
188  cout << "------------------------------------------" << endl;
189  cout << "StartPos:" << endl;
190  StartPos.Print();
191  cout << "StartPosErr:" << endl;
192  StartPosErr.Print();
193  cout << "" << endl;
194  cout << "StartMom: " << StartMom.Mag() << endl;
195  StartMom.Print();
196  cout << "StartMomErr: " << StartMomErr.Mag() << endl;
197  StartMomErr.Print();
198  }
199  TClonesArray& clref1 = *fTrackParIni;
200  Int_t size1 = clref1.GetEntriesFast();
201 
202  // Runge-Kutta --------------------------------------
203 
204  // TMatrixT<double> aCov;
205  // aCov.ResizeTo(7,7);
206  // aCov[0][0] = covMARS[0][0];
207  // aCov[1][1] = covMARS[2][2];
208  // aCov[2][2] = covMARS[4][4];
209  // aCov[3][3] = covMARS[1][1];
210  // aCov[4][4] = covMARS[3][3];
211  // aCov[5][5] = covMARS[5][5];
212  // aCov[6][6] = 0.;
213 
214  // aCov[0][1] = covMARS[0][2];
215  // aCov[1][0] = covMARS[0][2];
216  // aCov[0][2] = covMARS[0][4];
217  // aCov[2][0] = covMARS[0][4];
218  // aCov[0][3] = covMARS[0][1];
219  // aCov[3][0] = covMARS[0][1];
220  // aCov[0][4] = covMARS[0][3];
221  // aCov[4][0] = covMARS[0][3];
222  // aCov[0][5] = covMARS[0][5];
223  // aCov[5][0] = covMARS[0][5];
224  // aCov[0][6] = 0.;
225  // aCov[6][0] = 0.;
226 
227  // aCov[1][2] = covMARS[2][4];
228  // aCov[2][1] = covMARS[2][4];
229  // aCov[1][3] = covMARS[2][1];
230  // aCov[3][1] = covMARS[2][1];
231  // aCov[1][4] = covMARS[2][3];
232  // aCov[4][1] = covMARS[2][3];
233  // aCov[1][5] = covMARS[2][5];
234  // aCov[5][1] = covMARS[2][5];
235  // aCov[1][6] = 0.;
236  // aCov[6][1] = 0.;
237 
238  // aCov[2][3] = covMARS[4][1];
239  // aCov[3][2] = covMARS[4][1];
240  // aCov[2][4] = covMARS[4][3];
241  // aCov[4][2] = covMARS[4][3];
242  // aCov[2][5] = covMARS[4][5];
243  // aCov[5][2] = covMARS[4][5];
244  // aCov[2][6] = 0.;
245  // aCov[6][2] = 0.;
246 
247  // aCov[3][4] = covMARS[1][3];
248  // aCov[4][3] = covMARS[1][3];
249  // aCov[3][5] = covMARS[1][5];
250  // aCov[5][3] = covMARS[1][5];
251  // aCov[3][6] = 0.;
252  // aCov[6][3] = 0.;
253 
254  // aCov[4][5] = covMARS[3][5];
255  // aCov[5][4] = covMARS[3][5];
256  // aCov[4][6] = 0.;
257  // aCov[6][4] = 0.;
258 
259  // aCov[5][6] = 0.;
260  // aCov[6][5] = 0.;
261 
262  // repfi->setCov(aCov); //TODO: aCov has to be converted in correct
263  // variable. see RKTrackRep constructor for calculation diagonal elements
264 
265  // Propagate from 12m to 2m with small steps (if onve can call 6m as as
266  // small step =\)
267  const int nstep = 7;
268  // double zstep = 1124/nstep;
269  TVector3 g3Pos = StartPos;
270  TVector3 g3Mom = StartMom;
271  TVector3 g3ErrPos = StartPosErr;
272  TVector3 g3ErrMom = StartMomErr;
273  TVector3 gErrPos, gErrMom;
274  // for(int js=1;js<nstep;js++){
275  // Comment: seems back propagation in one step (for 11 m) is too much, while
276  // it's divided only on steps 1m size within Runge-Kutta
277  // try do smooth it by small step
278  double zbend[nstep] = {661, 660.5, 660., 659,
279  319, 316, 220}; // entarance and exit mag.field
280  for (int js = 0; js < nstep; js++) {
281  if (fVerbose > 2) {
282  cout << "current : step#" << js << endl;
283  cout << "We start from:" << endl;
284  g3Pos.Print();
285  g3ErrPos.Print();
286  }
287  RKTrackRep* repfi3 =
288  new RKTrackRep(g3Pos, g3Mom, g3ErrPos, g3ErrMom, PDGCode);
289  double znew = zbend[js];
290  TVector3 vtx2(0, 0, znew);
291  TVector3 u(1, 0, 0);
292  TVector3 v(0, 1, 0);
293  GFDetPlane pl(vtx2, u, v);
294 
295  TMatrixT<double> cov2;
296  TVector3 g2Pos, g2Mom;
297  TVector3 g2ErrPos, g2ErrMom;
298  repfi3->getPosMomCov(pl, g2Pos, g2Mom, cov2);
299 
300  // TODO: use full covariance matrix and not only diagonal elements
301  if (cov2[0][0] != 0) {
302  g2ErrPos.SetXYZ(sqrt(cov2[0][0]), sqrt(cov2[1][1]), sqrt(cov2[2][2]));
303  g2ErrMom.SetXYZ(sqrt(cov2[3][3]), sqrt(cov2[4][4]), sqrt(cov2[5][5]));
304  if (cov2[2][2] == 0) g2ErrPos.SetZ(StartPosErr.Z());
305  gErrMom *= fPbeam;
306  } else {
307  g2ErrPos = StartPosErr;
308  g2ErrMom = StartMomErr;
309  }
310  // if(fVerbose>2){
311  // cout<<"current Mom: "<<endl;
312  // g2Mom.Print();
313  // }
314  // RKTrackRep *repfi2 = new
315  // RKTrackRep(g2Pos,g2Mom,g2ErrPos,g2ErrMom,PDGCode);
316  // repfi2->extrapolateToPoint(vtx,gPos,gMom,gCov);
317  // if(fVerbose>2){
318  // cout<<"if try we go to IP now, gPos:"<<endl;
319  // gPos.Print();
320  // }
321 
322  // if(gCov[0][0]!=0){
323  // gErrPos.SetXYZ(sqrt(gCov[0][0]),sqrt(gCov[1][1]),sqrt(gCov[2][2]));
324  // gErrMom.SetXYZ(sqrt(gCov[3][3]),sqrt(gCov[4][4]),sqrt(gCov[5][5]));
325  // gErrMom *=fPbeam;
326  // }
327  // else{
328  // gErrPos = g2ErrPos;
329  // gErrMom = g2ErrMom;
330  // }
331  // if(fVerbose>2){
332  // gErrPos.Print();
333  // }
334  g3Pos = g2Pos;
335  g3Mom = g2Mom;
336  g3ErrPos = g2ErrPos;
337  g3ErrMom = g2ErrMom;
338  // gMom*=fPbeam;
339  // hxresstep->Fill(znew,gPos.X());
340  // delete repfi2;
341  delete repfi3;
342  }
343 
344  // And now propagate 2m
345  RKTrackRep* repfi =
346  new RKTrackRep(g3Pos, g3Mom, g3ErrPos, g3ErrMom, PDGCode);
347  TVector3 gPos, gMom;
348  TMatrixT<double> gCov(7, 7);
349  repfi->extrapolateToPoint(vtx, gPos, gMom);
350  // RKTrackRep doesn't contain extrapolateToPoint method with cov.mtx
351  // calculation
352  // the trick is to construct a GFDetPlane(poca, dirInPoca)
353  // and the extrapolate again to that DetPlane
354  // with the extrapolate function that gives you state and covariance
355  // prediction. [Johannes Rauch]
356  TVector3 gDir = gMom;
357  gDir *= (1. / gMom.Mag());
358  GFDetPlane plv(gPos, gDir);
359  repfi->getPosMomCov(plv, gPos, gMom, gCov);
360  gErrPos.SetXYZ(sqrt(gCov[0][0]), sqrt(gCov[1][1]), sqrt(gCov[2][2]));
361  gErrMom.SetXYZ(sqrt(gCov[3][3]), sqrt(gCov[4][4]), sqrt(gCov[5][5]));
362  // gErrMom *=fPbeam;
363  Bool_t isProp = true;
364  FairTrackParH* fRes = new (clref1[size1])
365  FairTrackParH(gPos, gMom, gErrPos, gErrMom, fCharge);
366  // fRes->CalCov();
367  delete repfi;
368  // Runge-Kutta(END) --------------------------------
369 
370  if (fVerbose > 2) {
371  cout << "gPos:" << endl;
372  gPos.Print();
373  // cout<<"difference between final and initial point =
374  // "<<(-StartPos.Mag()+gPos.Mag())<<endl;
375  cout << "gErrPos:" << endl;
376  gErrPos.Print();
377  // cout<<"difference between final and initial point error =
378  // "<<(-StartPosErr.Mag()+gErrPos.Mag())<<endl;
379  cout << "gMom: " << gMom.Mag() << endl;
380  gMom.Print();
381  // cout<<"difference between initial and final momentum =
382  // "<<(StartMom.Mag()-gMom.Mag())<<endl;
383  cout << "gErrMom: " << gErrMom.Mag() << endl;
384  // cout<<"difference between initial and final momentum error=
385  // "<<(StartMomErr.Mag()-gErrMom.Mag())<<endl;
386  gErrMom.Print();
387  // if(gErrPos.X()!=0) hxpull->Fill(gPos.X()/gErrPos.X());
388  // if(gErrPos.Y()!=0) hypull->Fill(gPos.Y()/gErrPos.Y());
389  // if(gErrPos.Z()!=0) hzpull->Fill(gPos.Z()/gErrPos.Z());
390  }
391  //------------------------------------------
392 
393  if (isProp == kTRUE) {
394  new ((*fTrackParFinal)[counterGeaneTrk])
395  FairTrackParH(*(fRes)); // save Track
396  // new((*fTrackParFinal)[counterGeaneTrk]) FairTrackParP(*(fRes));
398  counterGeaneTrk++;
399  // cout<<"***** isProp TRUE *****"<<endl;
400  } else {
401  if (fVerbose > 2) {
402  cout << "!!! Back-propagation with Runge-Kutta didn't return result !!!"
403  << endl;
404  cout << "StartPos:" << endl;
405  StartPos.Print();
406  cout << "StartPosErr:" << endl;
407  StartPosErr.Print();
408 
409  cout << "StartMom: " << StartMom.Mag() << endl;
410  StartMom.Print();
411  cout << "StartMomErr: " << StartMomErr.Mag() << endl;
412  StartMomErr.Print();
413  }
414  new ((*fTrackParFinal)[counterGeaneTrk]) FairTrackParH(); // save NULL
415  // new((*fTrackParFinal)[counterGeaneTrk]) FairTrackParP(); //save
416  //NULL
417  counterGeaneTrk++;
418  }
419  }
420  if (fVerbose > 2) cout << "PndLmdBPRungeKuttaTask::Exec END!" << endl;
421 }
int fVerbose
Definition: poormantracks.C:24
Int_t i
Definition: run_full.C:25
Detector plane genfit geometry class.
Definition: GFDetPlane.h:59
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
std::map< int, std::vector< int > > AssignHitsToTracks()
__m128 v
Definition: P4_F32vec4.h:4
Double_t p
Definition: anasim.C:58
Int_t * fParticle
Definition: run_full.C:24
Track Representation module based on a Runge-Kutta algorithm including a full material model...
Double_t
void getPosMomCov(const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< double > &cov)
method which gets position, momentum and 6x6 covariance matrix
void extrapolateToPoint(const TVector3 &pos, TVector3 &poca, TVector3 &dirInPoca)
This method is to extrapolate the track to point of closest approach to a point in space...
Definition: RKTrackRep.cxx:329
virtual void Print() const
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49
void PndLmdBPRungeKuttaTask::Finish ( )
virtual

Definition at line 423 of file PndLmdBPRungeKuttaTask.cxx.

423 {}
InitStatus PndLmdBPRungeKuttaTask::Init ( )
virtual

Definition at line 73 of file PndLmdBPRungeKuttaTask.cxx.

References fDetName, fGeoH, fMCHits, fRun, fTrackParFinal, fTrackParGeane, fTrackParIni, fTracks, GFFieldManager::getInstance(), GFFieldManager::init(), PndGeoHandling::Instance(), and rtdb.

Referenced by runLumi5RungeKutta().

73  {
74  // Get RootManager
75  FairRootManager* ioman = FairRootManager::Instance();
76  if (!ioman) {
77  std::cout << "-E- PndLmdBPRungeKuttaTask::Init: "
78  << "RootManager not instantiated!" << std::endl;
79  return kFATAL;
80  }
81 
82  fMCHits = (TClonesArray*)ioman->GetObject("LMDPoint");
83  if (!fMCHits) {
84  std::cout << "-W- PndLmdBPRungeKuttaTask::Init: "
85  << "No LMDPoint"
86  << " array!" << std::endl;
87  return kERROR;
88  }
89 
90  // fTracks = (TClonesArray*) ioman->GetObject("LMDTrack");
91  fTracks = (TClonesArray*)ioman->GetObject("LMDPndTrackFilt");
92  if (!fTracks) {
93  std::cout << "-W- PndLmdBPRungeKuttaTask::Init: "
94  << "No Track"
95  << " array!" << std::endl;
96  return kERROR;
97  }
98 
99  fTrackParGeane = new TClonesArray("FairTrackParH");
100  ioman->Register("GeaneTrackPar", "Geane", fTrackParGeane, kTRUE);
101 
102  fTrackParIni = new TClonesArray("FairTrackParH");
103  ioman->Register("GeaneTrackIni", "Geane", fTrackParIni, kTRUE);
104 
105  fTrackParFinal = new TClonesArray("FairTrackParH");
106  ioman->Register("GeaneTrackFinal", "Geane", fTrackParFinal, kTRUE);
107 
108  fDetName = new TClonesArray("TObjString");
109  ioman->Register("DetName", "Geane", fDetName, kTRUE);
110 
112  FairRun* fRun = FairRun::Instance();
113  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
114 
115  // // ///For Runge-Kutta usage ---------------------
116  // GFFieldManager::getInstance()->init(new GFPandaField());
118  // // ///-----------------------------------------------------
119 
120  return kSUCCESS;
121 }
Magnetic field.
FairRunAna * fRun
Definition: hit_dirc.C:58
FairRuntimeDb * rtdb
Definition: hit_dirc.C:66
static PndGeoHandling * Instance()
void init(GFAbsBField *b)
set the magntic field here. Magnetic field classes must be derived from GFAbsBField ...
static GFFieldManager * getInstance()
void PndLmdBPRungeKuttaTask::ProduceHits ( )
private
void PndLmdBPRungeKuttaTask::Register ( )
private
void PndLmdBPRungeKuttaTask::Reset ( )
private
void PndLmdBPRungeKuttaTask::SetParContainers ( )
virtual

Virtual method Init

Definition at line 123 of file PndLmdBPRungeKuttaTask.cxx.

123 {}

Member Data Documentation

TClonesArray* PndLmdBPRungeKuttaTask::fDetName
private

Definition at line 58 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and Init().

int PndLmdBPRungeKuttaTask::fEventNr
private

Definition at line 62 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec().

PndGeoHandling* PndLmdBPRungeKuttaTask::fGeoH
private

Definition at line 61 of file PndLmdBPRungeKuttaTask.h.

Referenced by Init().

TClonesArray* PndLmdBPRungeKuttaTask::fHits
private

Definition at line 76 of file PndLmdBPRungeKuttaTask.h.

TClonesArray* PndLmdBPRungeKuttaTask::fMCHits
private

Definition at line 72 of file PndLmdBPRungeKuttaTask.h.

Referenced by AssignHitsToTracks(), and Init().

TClonesArray* PndLmdBPRungeKuttaTask::fMCTracks
private

Definition at line 73 of file PndLmdBPRungeKuttaTask.h.

Double_t PndLmdBPRungeKuttaTask::fPbeam
private

Definition at line 64 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and PndLmdBPRungeKuttaTask().

Int_t PndLmdBPRungeKuttaTask::fPDGid
private

Definition at line 65 of file PndLmdBPRungeKuttaTask.h.

Referenced by PndLmdBPRungeKuttaTask().

TClonesArray* PndLmdBPRungeKuttaTask::fTrackParFinal
private

Definition at line 57 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and Init().

TClonesArray* PndLmdBPRungeKuttaTask::fTrackParGeane
private

Definition at line 55 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and Init().

TClonesArray* PndLmdBPRungeKuttaTask::fTrackParIni
private

Definition at line 56 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and Init().

std::map<int, std::vector<int> > PndLmdBPRungeKuttaTask::fTrackPixHitIdMap
private

Definition at line 68 of file PndLmdBPRungeKuttaTask.h.

TClonesArray* PndLmdBPRungeKuttaTask::fTracks
private

Definition at line 75 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and Init().

std::map<int, std::vector<int> > PndLmdBPRungeKuttaTask::fTrackStripHitIdMap
private

Definition at line 69 of file PndLmdBPRungeKuttaTask.h.

bool PndLmdBPRungeKuttaTask::fUseMVDPoint
private

Definition at line 63 of file PndLmdBPRungeKuttaTask.h.

TVector3 PndLmdBPRungeKuttaTask::vtx
private

Definition at line 66 of file PndLmdBPRungeKuttaTask.h.

Referenced by Exec(), and PndLmdBPRungeKuttaTask().


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