PandaRoot
PndTrkComparisonMCtruth.h
Go to the documentation of this file.
1 #ifndef PndTrkComparisonMCtruth_H
2 #define PndTrkComparisonMCtruth_H 1
3 
4 // #include "FairRootManager.h"
5 #include "PndTrkVectors.h"
6 #include "PndMCTrack.h"
7 // Root includes
8 #include "TROOT.h"
9 #include "TClonesArray.h"
10 
12  Double_t Bfield;
13  Short_t *Charge;
14  Double_t Cvel;
16  Double_t DIMENSIONSciTil;
17  Double_t Errorsqpixel;
18  Double_t Errorsqstrip;
19  Double_t *FI0;
20  TClonesArray *fMCTrackArray;
21  TClonesArray *fMvdMCPointArray;
23  TClonesArray *fSciTHitArray;
24  TClonesArray *fSciTPointArray;
25  TClonesArray *fSttPointArray;
26  FILE *HANDLE;
27  FILE *HANDLE2;
28  Double_t *info;
29  int istampa;
30  int IVOLTE;
31  Double_t *KAPPA;
32  bool *keepit;
39  Short_t *ListTrackCandHit;
54  Short_t *MCParalAloneList;
55  Short_t *MCSkewAloneList;
56  Double_t *MCSkewAloneX; // dimension : [MAXSTTHITS]
57  Double_t *MCSkewAloneY; // dimension : [MAXSTTHITS]
60  Short_t *MCSciTilAloneList; // equivalent to a matrix
61  // [nTotalCandidates][nSciTilHits];
64  Short_t *nHitsInMCTrack;
65  Short_t *nHitsInSciTile;
66  Short_t *nMCMvdPixelAlone;
67  Short_t *nMCMvdStripAlone;
68  Short_t *nMCParalAlone;
69  Short_t *nMCSciTilAlone;
70  Short_t *nMCSkewAlone;
71  Short_t *nMvdPixelCommon;
74  Short_t nMvdPixelHit;
76  Short_t *nMvdStripCommon;
77  Short_t nMvdStripHit;
79  Short_t *nParalCommon;
80  Short_t *nSciTilCommon;
81  Short_t nSciTilHits;
84  Short_t *nSkewCommon;
86  Short_t *nSpuriParinTrack;
88  Int_t nSttHit;
93  Double_t *Ox;
94  Double_t *Oy;
95  Short_t *ParalCommonList;
96  Short_t *ParSpuriList;
97  Double_t *R;
98  Double_t *refindexMvdPixel;
99  Double_t *refindexMvdStrip;
101  Short_t *SciTilCommonList; // equivalent to a matrix
102  // [nTotalCandidates][MAXSCITILHITSINTRACK];
103  Short_t *SciTilSpuriList; // equivalent to a matrix
104  // [nTotalCandidates][MAXSCITILHITSINTRACK];
105  Short_t *SkewCommonList;
106  Short_t *SkewSpuriList;
107  bool *SttSZfit;
108  Double_t *XMvdPixel;
109  Double_t *XMvdStrip;
110  Double_t *XSciTilCenter;
111  Double_t *YMvdPixel;
112  Double_t *YMvdStrip;
113  Double_t *YSciTilCenter;
114  Double_t *ZMvdPixel;
115  Double_t *ZMvdStrip;
116  Double_t *ZSciTilCenter;
117 };
118 
119 // inizio cambio_in_perl
120 
122 
123  public:
128 
129  void AssociateFoundTrackstoMCquater(Double_t BFIELD, Double_t CVEL, Vec<Short_t> *daTrackFoundaTrackMC, TClonesArray *fMCTrackArray, Vec<Int_t> *FromPixeltoMCTrack,
130  Vec<Int_t> *FromStriptoMCTrack, Vec<int> *FromSciTiltoMCTrackList,
131  // dimension nSciTilHits*nMCTracks, equivalent to a matrix
132  // of dimension [nSciTilHits][nMCTracks].
137  // dimension [MAXTRACKSPEREVENT][MAXSCITILHITSINTRACK]
140 
141  );
142 
143  int ComparisonwithMC(PndTrkComparisonMCtruth_io_Data ioData);
144 
145  Double_t FindDistance(Double_t Oxx, // center from wich distance is calculated
146  Double_t Oyy, // center from wich distance is calculated
147  Double_t Rr, Double_t tanlow, Double_t tanmid, Double_t tanup,
148  Double_t alfa, // intersection circumference parameter
149  Double_t beta, // intersection circumference parameter
150  Double_t gamma // intersection circumference parameter
151  );
152  void getMCInfo(Double_t BFIELD, Double_t CVEL, Double_t *Cx, Double_t *Cy, TClonesArray *fMCTrackArray, Int_t MCTrack, Double_t *Rr);
153 
154  void MvdMatchedSpurioustoTrackCand(Vec<Short_t> *daTrackFoundaTrackMC, Vec<Int_t> *FromPixeltoMCTrack, Vec<Int_t> *FromStriptoMCTrack, Vec<bool> *keepit,
155  Vec<Short_t> *ListMvdPixelHitsinTrack, Vec<Short_t> *ListMvdStripHitsinTrack, int MAXMVDPIXELHITSINTRACK, int MAXMVDSTRIPHITSINTRACK,
156  Short_t nMvdPixelHit, Short_t nMvdStripHit, Vec<Short_t> *nMvdPixelHitsinTrack, Vec<Short_t> *nMvdStripHitsinTrack,
157  Short_t nSttTrackCand, // input
158 
161 
164 
165  void MvdMatchtoMC(Double_t ERRORSQPIXEL, Double_t ERRORSQSTRIP, TClonesArray *fMvdMCPointArray, Short_t nMvdMCPoint, int istampa, int IVOLTE, Short_t nMvdPixelHit,
168  Vec<Int_t> *FromStriptoMCTrack);
169 
170  void SciTilMatchtoMC(Double_t BFIELD, Double_t CVEL, Double_t DIMENSIONSCITIL, TClonesArray *fMCTrackArray, Vec<int> *FromSciTiltoMCTrackList, TClonesArray *fSciTHitArray,
171  Short_t fSciTilMaxNumber, TClonesArray *fSciTPointArray, Vec<int> *nFromSciTiltoMCTrack, Short_t *nHitsInSciTile, int nMCTracks, Short_t nSciTilHits,
173 
174  );
175 
176  void SciTilMatchedSpurioustoTrackCand(Vec<Short_t> *daTrackFoundaTrackMC, Vec<int> *FromSciTiltoMCTrackList,
177  // of dimension [nSciTilHits][nMCTracks]
178  Vec<bool> *keepit, Vec<Short_t> *ListSciTilHitsinTrack,
179  // [MAXTRACKSPEREVENT][MAXSCITILHITSINTRACK]
180  int MAXSCITILHITSINTRACK, // input
181  Short_t *MCSciTilAloneList, // output; equivalent to a matrix of dimension
182  // [MAXTRACKSPEREVENT][MAXSCITILHITSINTRACK]
183  Vec<int> *nFromSciTiltoMCTrack,
184  Short_t *nMCSciTilAlone, // output
185  int nMCTracks, // input
186  Short_t nSciTilHits, // input
187  Vec<Short_t> *nSciTilHitsinTrack,
188  Short_t *nSciTilCommon, // output
189  Short_t *nSciTilSpuriinTrack, // output
190  Short_t nSttTrackCand, // input
191  Short_t *SciTilCommonList, // output; equivalent to a matrix of dimension
192  // [MAXTRACKSPEREVENT][MAXSCITILHITSINTRACK]
193  Short_t *SciTilSpuriList // output; equivalent to a matrix of dimension
194  // [MAXTRACKSPEREVENT][MAXSCITILHITSINTRACK].
195  );
196 
197  void stampaMCTracks(Double_t BFIELD, Double_t CVEL, TClonesArray *fMCTrackArray, int nMCTracks);
198 
199  void SttMatchedSpurious(Vec<Short_t> *daTrackFoundaTrackMC, Vec<bool> *InclusionListStt, Vec<Double_t> *info, Vec<bool> *keepit, int MAXSTTHITS, int MAXSTTHITSINTRACK,
200  int MAXTRACKSPEREVENT, Vec<Short_t> *ListSttParHitsinTrack, Vec<Short_t> *ListSttSkewHitsinTrack, Vec<Short_t> *MCParalAloneList,
204  Short_t nTracksFoundSoFar, // those found by PR
206 
207  );
208 
209  // fine cambio_in_perl
210 
211  ClassDef(PndTrkComparisonMCtruth, 1);
212 };
213 
214 #endif
const Double_t BFIELD
const Double_t ERRORSQSTRIP
const int MAXSTTHITSINTRACK
const Double_t CVEL
const Double_t ERRORSQPIXEL
const Double_t DIMENSIONSCITIL