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

#include <PndAnalysisForwardTask.h>

Inheritance diagram for PndAnalysisForwardTask:

Public Member Functions

 PndAnalysisForwardTask ()
 
virtual ~PndAnalysisForwardTask ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishEvent ()
 
virtual void Finish ()
 
map< Int_t, vector< PndFtsHit * > > getMcTracks ()
 
map< Int_t, vector< PndFtsHit * > * > getReconstructedTracks ()
 
void analyzeMCTracks (vector< PndFtsHit * > hits, map< Int_t, vector< PndFtsHit * > * > tracks, Int_t trackID, Int_t trackCount)
 
vector< Int_t > analyzeMCTrack (vector< PndFtsHit * > mcHits, vector< PndFtsHit * > *reconstructedHits)
 
void anaSpecialCases (map< Int_t, vector< PndFtsHit * >> mcTracks)
 

Private Member Functions

 ClassDef (PndAnalysisForwardTask, 1)
 

Private Attributes

FairRootManager * fIoman
 
TClonesArray * fHits
 
TClonesArray * fSolution
 
TClonesArray * fMCTracks
 
TClonesArray * fIdealTrack
 
Int_t eventNum
 
Int_t completeClean = 0
 
Int_t completeUnclean = 0
 
Int_t incompleteClean = 0
 
Int_t incompleteUnclean = 0
 
Int_t notEnoughFound = 0
 
Int_t notFound = 0
 
map< Int_t, Int_t > mcToHitCount
 
map< Int_t, Double_tmomentum
 
Int_t hitArray [10]
 
Double_t momentumArray [10]
 
Int_t trackCountArray [10]
 
Int_t hitArray2 [10]
 
Double_t momentumArray2 [10]
 
Int_t trackCountArray2 [10]
 
Int_t oneHitPerLayer = 0
 
Int_t moreThan3Hits = 0
 
Int_t twoTracksOneTube = 0
 

Detailed Description

Definition at line 31 of file PndAnalysisForwardTask.h.

Constructor & Destructor Documentation

PndAnalysisForwardTask::PndAnalysisForwardTask ( )
inline

Definition at line 33 of file PndAnalysisForwardTask.h.

References hitArray, hitArray2, i, momentumArray, momentumArray2, trackCountArray, and trackCountArray2.

33  : eventNum(0){
34  for(int i=0;i<10;i++){
35  hitArray[i] = 0;
36  momentumArray[i] = 0;
37  trackCountArray[i] = 0;
38  hitArray2[i] = 0;
39  momentumArray2[i] = 0;
40  trackCountArray2[i] = 0;
41  }
42  }
Int_t i
Definition: run_full.C:25
PndAnalysisForwardTask::~PndAnalysisForwardTask ( )
virtual

Definition at line 10 of file PndAnalysisForwardTask.cxx.

10  {
11  // TODO Auto-generated destructor stub
12 }

Member Function Documentation

vector< Int_t > PndAnalysisForwardTask::analyzeMCTrack ( vector< PndFtsHit * >  mcHits,
vector< PndFtsHit * > *  reconstructedHits 
)

Definition at line 296 of file PndAnalysisForwardTask.cxx.

References PndFtsHit::GetTubeID(), and i.

Referenced by analyzeMCTracks().

296  {
297  Int_t mcHitCount = mcHits.size();
298  Int_t correctHits = 0;
299  Int_t hitsNotFound = 0;
300  Int_t wrongHits = 0;
301 
302  //search for found mc hits
303  for(size_t i=0;i<mcHits.size();i++){
304  PndFtsHit *mcHit = mcHits[i];
305 
306  Int_t hitFound = kFALSE;
307  for(size_t j=0;j<reconstructedHits->size();j++){
308  PndFtsHit *recoHit = (*reconstructedHits)[j];
309  if(mcHit->GetTubeID()==recoHit->GetTubeID()){
310  hitFound = kTRUE;
311  break;
312  }
313  }
314 
315  if(hitFound)correctHits++;
316  else hitsNotFound++;
317  }
318 
319  for(size_t i=0;i<reconstructedHits->size();i++){
320  PndFtsHit* recoHit = (*reconstructedHits)[i];
321  Int_t hitFound = kFALSE;
322  for(size_t j=0;j<mcHits.size();j++){
323  PndFtsHit *mcHit = mcHits[j];
324  if(mcHit->GetTubeID()==recoHit->GetTubeID()){
325  hitFound = kTRUE;
326  break;
327  }
328  }
329  if(!hitFound)wrongHits++;
330  }
331 
332  vector<Int_t> result;
333  result.push_back(mcHitCount);
334  result.push_back(correctHits);
335  result.push_back(hitsNotFound);
336  result.push_back(wrongHits);
337  return result;
338 }
Int_t i
Definition: run_full.C:25
Int_t GetTubeID() const
Definition: PndFtsHit.h:70
void PndAnalysisForwardTask::analyzeMCTracks ( vector< PndFtsHit * >  hits,
map< Int_t, vector< PndFtsHit * > * >  tracks,
Int_t  trackID,
Int_t  trackCount 
)

Definition at line 194 of file PndAnalysisForwardTask.cxx.

References analyzeMCTrack(), Bool_t, completeClean, completeUnclean, Double_t, h, h2, hitArray, hitArray2, i, incompleteClean, incompleteUnclean, m, m2(), mcToHitCount, momentum, momentumArray, momentumArray2, notEnoughFound, notFound, track, trackCountArray, and trackCountArray2.

Referenced by Exec().

194  {
195  //get all reconstructed tracks with hits from this mc track
196  vector<vector<PndFtsHit*>*> tracksToMc;
197  cout << "Track has " << hits.size() << " Hits" << endl;
198  for(size_t i=0;i<hits.size();i++){
199  vector<PndFtsHit*> *track = tracks[hits[i]->GetTubeID()];
200  if(track==0) continue;
201 
202  Bool_t exists = kFALSE;
203  for(size_t j=0;j<tracksToMc.size();j++){
204  if(tracksToMc[j]==track){
205  exists=kTRUE;
206  break;
207  }
208  }
209 
210  if(!exists)tracksToMc.push_back(track);
211  }
212  //all tracks
213  //hits
214  Int_t h2 = mcToHitCount[trackID];
215  if(h2>48) hitArray2[8]++;
216  else if(h2==48) hitArray2[7]++;
217  else if(h2>40) hitArray2[6]++;
218  else if(h2==40) hitArray2[5]++;
219  else hitArray2[h2/8]++;
220  //momentum
221  Double_t m2 = momentum[trackID];
222  if(m2>0.9) momentumArray2[9]++;
223  else momentumArray2[(Int_t)(m2*10)]++;
224  //check track count
225  if(trackCount>9) trackCountArray2[9]++;
226  else trackCountArray2[trackCount-1]++;
227 
228  cout << "Found " << tracksToMc.size() << " reconstructed tracks to MC-track" << endl;
229  if(tracksToMc.size()==0){
230  cout << ">>Track not found --! (0 Hits)" << endl;
231  notFound++;
232  //check hit corralation
233  Int_t h = mcToHitCount[trackID];
234  if(h>48) hitArray[8]++;
235  else if(h==48) hitArray[7]++;
236  else if(h>40) hitArray[6]++;
237  else if(h==40) hitArray[5]++;
238  else hitArray[h/8]++;
239  //check momentum corralation
240  Double_t m = momentum[trackID];
241  if(m>0.9) momentumArray[9]++;
242  else momentumArray[(Int_t)(m*10)]++;
243  //check track count
244  if(trackCount>9) trackCountArray[9]++;
245  else trackCountArray[trackCount-1]++;
246  } else {
247  vector<Int_t> bestResult = analyzeMCTrack(hits,tracksToMc[0]);
248  for(size_t i=1;i<tracksToMc.size();i++){
249  vector<Int_t> nextResult = analyzeMCTrack(hits,tracksToMc[i]);
250  if(bestResult[1]<nextResult[1]) bestResult = nextResult;
251  }
252 
253  cout << "Mc-Hits: " << bestResult[0] << endl;
254  cout << "Correct found: " << bestResult[1] << endl;
255  cout << "Hits not found: " << bestResult[2] << endl;
256  cout << "Wrong hits: " << bestResult[3] << endl;
257  if(bestResult[0]==bestResult[1]){ //complete found
258  if(bestResult[3]==0) {
259  completeClean++;
260  cout << ">>Found complete track, track is clean(++)"<< endl;
261  } else {
262  completeUnclean++;
263  cout << ">>Found complete track, track is not clean(+-)"<< endl;
264  }
265  } else if(bestResult[0]*0.7 < bestResult[1]){ //fond more than 70%
266  if(bestResult[3]==0) {
267  incompleteClean++;
268  cout << ">>Found incomplete track, track is clean(-+)"<< endl;
269  } else {
271  cout << ">>Found incomplete track, track is not clean(--)"<< endl;
272  }
273  cout << "Found Hits: (" << bestResult[1] << "/" << bestResult[0] <<")" << endl;
274  } else {
275  notEnoughFound++;
276  cout << ">>Track not found(Under 70%) --!" << endl;
277  cout << "Found Hits: (" << bestResult[1] << "/" << bestResult[0] <<")" << endl;
278  //check hit corralation
279  Int_t h = mcToHitCount[trackID];
280  if(h>48) hitArray[8]++;
281  else if(h==48) hitArray[7]++;
282  else if(h>40) hitArray[6]++;
283  else if(h==40) hitArray[5]++;
284  else hitArray[h/8]++;
285  //check momentum corralation
286  Double_t m = momentum[trackID];
287  if(m>0.9) momentumArray[9]++;
288  else momentumArray[(Int_t)(m*10)]++;
289  //check track count
290  if(trackCount>9) trackCountArray[9]++;
291  else trackCountArray[trackCount-1]++;
292  }
293  }
294 }
Int_t i
Definition: run_full.C:25
__m128 m
Definition: P4_F32vec4.h:28
map< Int_t, Int_t > mcToHitCount
PndRiemannTrack track
Definition: RiemannTest.C:33
vector< Int_t > analyzeMCTrack(vector< PndFtsHit * > mcHits, vector< PndFtsHit * > *reconstructedHits)
TString m2(TString pts, TString exts="e px py pz")
Definition: invexp.C:117
map< Int_t, Double_t > momentum
Double_t
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
void PndAnalysisForwardTask::anaSpecialCases ( map< Int_t, vector< PndFtsHit * >>  mcTracks)

Definition at line 340 of file PndAnalysisForwardTask.cxx.

References PndFtsHit::GetLayerID(), PndFtsHit::GetTubeID(), hit(), i, map, moreThan3Hits, oneHitPerLayer, and twoTracksOneTube.

Referenced by Exec().

340  {
341 
342  for(map<Int_t,vector<PndFtsHit*>>::iterator i=mcTracks.begin();i!=mcTracks.end();i++){
343  Int_t layer[24];
344  Int_t tubeID[10000];
345  for(int j=0;j<24;j++) layer[j]=0;
346  for(int j=0;j<10000;j++) tubeID[j]=0;
347  for(size_t j=0;j<i->second.size();j++){
348  PndFtsHit* hit = i->second[j];
349  Int_t layerID = (hit->GetLayerID() - 1) / 2;
350  layer[layerID]++;
351  tubeID[hit->GetTubeID()]++;
352  }
353 
354  for(int j=0;j<24;j++){
355  if(layer[j]==1){
356  oneHitPerLayer++;
357  break;
358  }
359  }
360 
361  for(int j=0;j<24;j++){
362  if(layer[j]>2){
363  moreThan3Hits++;
364  break;
365  }
366  }
367 
368  for(int j=0;j<10000;j++){
369  if(tubeID[j]>1){
371  }
372  }
373  }
374 }
Int_t i
Definition: run_full.C:25
PndTransMap * map
Definition: sim_emc_apd.C:99
Int_t GetTubeID() const
Definition: PndFtsHit.h:70
Int_t GetLayerID() const
Definition: PndFtsHit.h:74
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
Definition: hit.C:1
PndAnalysisForwardTask::ClassDef ( PndAnalysisForwardTask  ,
 
)
private
void PndAnalysisForwardTask::Exec ( Option_t *  opt)
virtual

Definition at line 23 of file PndAnalysisForwardTask.cxx.

References analyzeMCTracks(), anaSpecialCases(), eventNum, getMcTracks(), getReconstructedTracks(), hits, i, and map.

23  {
24  cout << "#################### Event nr " << eventNum << " ####################" << endl;
25 
26  //get the data
27  map<Int_t,vector<PndFtsHit*>> mcToHits = getMcTracks();
28  map<Int_t,vector<PndFtsHit*>*> hitsToTrack = getReconstructedTracks();
29 
30  //analyze the tracks
31  cout << "Found " <<mcToHits.size() << " MC-Tracks"<< endl;
32  for(map<Int_t,vector<PndFtsHit*>>::iterator i=mcToHits.begin();i!=mcToHits.end();i++){
33  Int_t mcTrackID = i->first;
34  vector<PndFtsHit*> hits = i->second;
35  cout << "----------- Analyze MC-Track " << i->first <<" -----------" << endl;
36  analyzeMCTracks(hits,hitsToTrack,mcTrackID, mcToHits.size());
37  }
38 
39  anaSpecialCases(mcToHits);
40  eventNum++;
41 }
Int_t i
Definition: run_full.C:25
PndTransMap * map
Definition: sim_emc_apd.C:99
map< Int_t, vector< PndFtsHit * > * > getReconstructedTracks()
map< Int_t, vector< PndFtsHit * > > getMcTracks()
void analyzeMCTracks(vector< PndFtsHit * > hits, map< Int_t, vector< PndFtsHit * > * > tracks, Int_t trackID, Int_t trackCount)
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
void anaSpecialCases(map< Int_t, vector< PndFtsHit * >> mcTracks)
void PndAnalysisForwardTask::Finish ( )
virtual

Definition at line 47 of file PndAnalysisForwardTask.cxx.

References completeClean, completeUnclean, Double_t, hitArray, hitArray2, i, incompleteClean, incompleteUnclean, momentumArray, momentumArray2, moreThan3Hits, notEnoughFound, notFound, oneHitPerLayer, trackCountArray, trackCountArray2, and twoTracksOneTube.

47  {
48  cout << "--------------------- Quality Results: ----------------------" << endl;
50  Double_t completeCleanRel = ((Double_t) completeClean)/trackCount*100;
51  Double_t completeUncleanRel = ((Double_t) completeUnclean)/trackCount*100;
52  Double_t incompleteCleanRel = ((Double_t) incompleteClean)/trackCount*100;
53  Double_t incompleteUncleanRel = ((Double_t) incompleteUnclean)/trackCount*100;
54  Double_t notFoundRel = ((Double_t) notFound)/trackCount*100;
55  Double_t notEnoughFoundRel = ((Double_t)notEnoughFound)/trackCount*100;
56  Double_t foundTracksRel = 100-notFoundRel-notEnoughFoundRel;
57  cout << "Tracks: " << trackCount << endl;
58  cout << "Found " << trackCount-notFound-notEnoughFound << " Tracks (" << foundTracksRel << "%)" << endl;
59  cout << " Found complete and clean : " << completeClean << " (" << completeCleanRel << "%)" << endl;
60  cout << " Found complete and unclean : " << completeUnclean << " (" << completeUncleanRel << "%)" << endl;
61  cout << " Found incomplete and clean : " << incompleteClean << " (" << incompleteCleanRel << "%)" << endl;
62  cout << " Found incomplete and unclean : " << incompleteUnclean << " (" << incompleteUncleanRel << "%)" << endl;
63  cout << "Not found(under 70%): " << notEnoughFound << " (" << notEnoughFoundRel << "%)" << endl;
64  cout << "Not found : " << notFound << " (" << notFoundRel << "%)" << endl;
65 
66  cout << "correlation:" << endl;
67  cout << "momentum:" << endl;
68  for(int i=0;i<10;i++){
69  cout << momentumArray[i] << " ";
70  }
71  cout << endl;
72  cout << "hits:" << endl;
73  for(int i=0;i<10;i++){
74  cout << hitArray[i] << " ";
75  }
76  cout << endl;
77  cout << "TrackCount:" << endl;
78  for(int i=0;i<10;i++){
79  cout << trackCountArray[i] << " ";
80  }
81  cout << endl;
82 
83 
84  cout << "sum of all tracks:" << endl;
85  cout << "momentum:" << endl;
86  for(int i=0;i<10;i++){
87  cout << momentumArray2[i] << " ";
88  }
89  cout << endl;
90  cout << "hits:" << endl;
91  for(int i=0;i<10;i++){
92  cout << hitArray2[i] << " ";
93  }
94  cout << endl;
95  cout << "TrackCount:" << endl;
96  for(int i=0;i<10;i++){
97  cout << trackCountArray2[i] << " ";
98  }
99  cout << endl;
100 
101  //write to file
102  ofstream ofs;
103  ofs.open("results.csv",ios::app);
104 
105  ofs << trackCount << ";";
106  ofs << completeClean<< ";";
107  ofs << completeUnclean<< ";";
108  ofs << incompleteClean<< ";";
109  ofs << incompleteUnclean<< ";";
110  ofs << notEnoughFound<< ";";
111  ofs << notFound << ";" << endl;
112 
113  Double_t ohRel = 100*((Double_t)oneHitPerLayer)/trackCount;
114  Double_t mhRel = 100*((Double_t)moreThan3Hits)/trackCount;
115  Double_t mtRel = 100*((Double_t)twoTracksOneTube)/trackCount;
116  cout << "Only one Hit per layer: " << oneHitPerLayer << ": (" << ohRel << "%)" << endl;
117  cout << "More than 2 Hits per layer: " << moreThan3Hits << ": (" << mhRel << "%)" << endl;
118  cout << "TwoTracksOneTube " << twoTracksOneTube << ": (" << mtRel << "%)" << endl;
119 }
Int_t i
Definition: run_full.C:25
Double_t
void PndAnalysisForwardTask::FinishEvent ( )
virtual

Definition at line 43 of file PndAnalysisForwardTask.cxx.

References fHits.

43  {
44  fHits->Delete();
45 }
map< Int_t, vector< PndFtsHit * > > PndAnalysisForwardTask::getMcTracks ( )

Definition at line 121 of file PndAnalysisForwardTask.cxx.

References Double_t, fIdealTrack, fIoman, PndTrack::GetParamFirst(), PndTrack::GetTrackCand(), hit(), i, mcToHitCount, mom, momentum, and t.

Referenced by Exec().

121  {
122  Int_t branchID = fIoman->GetBranchId("FTSHit"); //right hits
123  //Int_t mcTrackBranchId = fIoman->GetBranchId("MCTrack"); //[R.K.03/2017] unused variable
124  map<Int_t,vector<PndFtsHit*>> mcTracksToHits;
125  mcToHitCount.clear();
126  momentum.clear();
127  //cout << "Found " << fHits->GetEntries() << " FTSHits " << endl;
128  /*for(int i=0;i<fHits->GetEntries();i++){
129  PndFtsHit* hit = (PndFtsHit*) fHits->At(i);
130  hit->SetEntryNr(FairLink(-1, fIoman->GetEntryNr(), fIoman->GetBranchId("FTSHit"), i));
131  FairLink link = hit->GetEntryNr();
132  PndFtsPoint* p = (PndFtsPoint*) fIoman->GetCloneOfLinkData(link);
133  FairMultiLinkedData mld = p->GetLinksWithType(mcTrackBranchId);
134  FairLink linksToMc = mld.GetLink(0);
135  int trackID = linksToMc.GetIndex();
136  mcTracksToHits[trackID].push_back(hit);
137  }*/
138 
139 
140  for(int i=0;i<fIdealTrack->GetEntries();i++){
141  PndTrack* t = (PndTrack*) fIdealTrack->At(i);
142  Double_t mom = t->GetParamFirst().GetMomentum().Mag();
143  momentum[i]=mom;
144  //if(mom < 0.3) continue;
145  PndTrackCand cand = t->GetTrackCand();
146  set<FairLink> linksToHits = cand.GetLinksWithType(branchID).GetLinks();
147  mcToHitCount[i]=linksToHits.size();
148  for (std::set<FairLink>::iterator it = linksToHits.begin();it!=linksToHits.end();it++) {
149  FairLink link = *it;
150  PndFtsHit* hit = (PndFtsHit*) fIoman->GetCloneOfLinkData(link);
151  mcTracksToHits[i].push_back(hit);
152  }
153  }
154 
155  //get the tracks with more than 6 hits
156  /*map<Int_t,vector<PndFtsHit*>> result;
157  for(map<Int_t,vector<PndFtsHit*>>::iterator i=mcTracksToHits.begin();i!=mcTracksToHits.end();i++){
158  if(i->second.size()>=6){ //min 1 FTS-Station
159  result[i->first] = i->second;
160  }
161  mcToHitCount[i->first]=i->second.size();
162  }*/
163  //if(result.size()>5) result.clear();
164 
165  return mcTracksToHits;
166 }
Int_t i
Definition: run_full.C:25
map< Int_t, Int_t > mcToHitCount
Double_t mom
Definition: plot_dirc.C:14
map< Int_t, Double_t > momentum
PndTrackCand GetTrackCand()
Definition: PndTrack.h:47
Double_t
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
Definition: hit.C:1
TTree * t
Definition: bump_analys.C:13
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49
map< Int_t, vector< PndFtsHit * > * > PndAnalysisForwardTask::getReconstructedTracks ( )

Definition at line 168 of file PndAnalysisForwardTask.cxx.

References fIoman, fSolution, PndTrack::GetTrackCandPtr(), PndFtsHit::GetTubeID(), hit(), hits, i, and track.

Referenced by Exec().

168  {
169  map<Int_t,vector<PndFtsHit*>*> hitToTrack;
170  cout << "Found " << fSolution->GetEntries() << " reconstructed Tracks" << endl;
171  for(int i=0;i<fSolution->GetEntries();i++){
172  //get the track
173  PndTrack* track = (PndTrack*)fSolution->At(i);
174  PndTrackCand* trackCand = track->GetTrackCandPtr();
175  //get the hits
176  vector<PndFtsHit*> *hits = new vector<PndFtsHit*>();
177  std::set<FairLink> linksToHits = trackCand->GetLinksWithType(fIoman->GetBranchId("FTSHit")).GetLinks();
178  for (std::set<FairLink>::iterator iter = linksToHits.begin();
179  iter != linksToHits.end(); iter++) {
180  FairLink link = *iter;
181  PndFtsHit* hit = (PndFtsHit*) fIoman->GetCloneOfLinkData(link);
182  hit->SetEntryNr(*iter);
183  hits->push_back(hit);
184  }
185  //save the hits
186  for(size_t j=0;j<hits->size();j++){
187  PndFtsHit* hit = (*hits)[j];
188  hitToTrack[hit->GetTubeID()]=hits;
189  }
190  }
191  return hitToTrack;
192 }
Int_t i
Definition: run_full.C:25
PndRiemannTrack track
Definition: RiemannTest.C:33
Int_t GetTubeID() const
Definition: PndFtsHit.h:70
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
Definition: hit.C:1
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
PndTrackCand * GetTrackCandPtr()
Definition: PndTrack.h:48
InitStatus PndAnalysisForwardTask::Init ( )
virtual

Definition at line 14 of file PndAnalysisForwardTask.cxx.

References fHits, fIdealTrack, fIoman, fMCTracks, and fSolution.

14  {
15  fIoman = FairRootManager::Instance();
16  fHits = (TClonesArray*) fIoman->GetObject("FTSHit");
17  fSolution = (TClonesArray*) fIoman->GetObject("FinalSolution");
18  fMCTracks = (TClonesArray*) fIoman->GetObject("MCTrack");
19  fIdealTrack = (TClonesArray*) fIoman->GetObject("IdealTrack");
20  return kSUCCESS;
21 }

Member Data Documentation

Int_t PndAnalysisForwardTask::completeClean = 0
private

Definition at line 65 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

Int_t PndAnalysisForwardTask::completeUnclean = 0
private

Definition at line 66 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

Int_t PndAnalysisForwardTask::eventNum
private

Definition at line 63 of file PndAnalysisForwardTask.h.

Referenced by Exec().

TClonesArray* PndAnalysisForwardTask::fHits
private

Definition at line 59 of file PndAnalysisForwardTask.h.

Referenced by FinishEvent(), and Init().

TClonesArray* PndAnalysisForwardTask::fIdealTrack
private

Definition at line 62 of file PndAnalysisForwardTask.h.

Referenced by getMcTracks(), and Init().

FairRootManager* PndAnalysisForwardTask::fIoman
private

Definition at line 58 of file PndAnalysisForwardTask.h.

Referenced by getMcTracks(), getReconstructedTracks(), and Init().

TClonesArray* PndAnalysisForwardTask::fMCTracks
private

Definition at line 61 of file PndAnalysisForwardTask.h.

Referenced by Init().

TClonesArray* PndAnalysisForwardTask::fSolution
private

Definition at line 60 of file PndAnalysisForwardTask.h.

Referenced by getReconstructedTracks(), and Init().

Int_t PndAnalysisForwardTask::hitArray[10]
private

Definition at line 75 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Int_t PndAnalysisForwardTask::hitArray2[10]
private

Definition at line 79 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Int_t PndAnalysisForwardTask::incompleteClean = 0
private

Definition at line 67 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

Int_t PndAnalysisForwardTask::incompleteUnclean = 0
private

Definition at line 68 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

map<Int_t, Int_t> PndAnalysisForwardTask::mcToHitCount
private

Definition at line 72 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and getMcTracks().

map<Int_t, Double_t> PndAnalysisForwardTask::momentum
private

Definition at line 73 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and getMcTracks().

Double_t PndAnalysisForwardTask::momentumArray[10]
private

Definition at line 76 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Double_t PndAnalysisForwardTask::momentumArray2[10]
private

Definition at line 80 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Int_t PndAnalysisForwardTask::moreThan3Hits = 0
private

Definition at line 84 of file PndAnalysisForwardTask.h.

Referenced by anaSpecialCases(), and Finish().

Int_t PndAnalysisForwardTask::notEnoughFound = 0
private

Definition at line 69 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

Int_t PndAnalysisForwardTask::notFound = 0
private

Definition at line 70 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), and Finish().

Int_t PndAnalysisForwardTask::oneHitPerLayer = 0
private

Definition at line 83 of file PndAnalysisForwardTask.h.

Referenced by anaSpecialCases(), and Finish().

Int_t PndAnalysisForwardTask::trackCountArray[10]
private

Definition at line 77 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Int_t PndAnalysisForwardTask::trackCountArray2[10]
private

Definition at line 81 of file PndAnalysisForwardTask.h.

Referenced by analyzeMCTracks(), Finish(), and PndAnalysisForwardTask().

Int_t PndAnalysisForwardTask::twoTracksOneTube = 0
private

Definition at line 85 of file PndAnalysisForwardTask.h.

Referenced by anaSpecialCases(), and Finish().


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