FairRoot/PandaRoot
PndTrkPlotMacros2.h
Go to the documentation of this file.
1 #ifndef PndTrkPlotMacros2_H
2 #define PndTrkPlotMacros2_H 1
3 
4 #include "PndTrkVectors.h"
5 
6 // Root includes
7 #include "TClonesArray.h"
8 #include "TROOT.h"
9 
10 
18  Short_t *Charge;
24  TClonesArray *fMCTrackArray;
25  TClonesArray *fSttPointArray;
27  int IVOLTE;
29  bool *keepit;
32  int istampa;
38  Short_t *ListTrackCandHit;
52  Short_t *MCParalAloneList;
53 
54  Short_t *MCSciTilAloneList;// equivalent to a matrix
55  // [nTotalCandidates][nSciTilHits]
56 
57  Short_t *MCSkewAloneList;
64  Short_t NFIDIVCONFORMAL;
65  Short_t *nMCMvdPixelAlone;
66  Short_t *nMCMvdStripAlone;
67  Short_t *nMCParalAlone;
68 
69  Short_t *nMCSciTilAlone;
70 
71  Short_t *nMCSkewAlone;
72  Short_t nMCTracks;
73  Short_t *nMvdPixelCommon;
74  Short_t nMvdPixelHit;
77  Short_t *nMvdStripCommon;
78  Short_t nMvdStripHit;
81  Short_t *nParalCommon;
82  Short_t NRDIVCONFORMAL;
83  Short_t *nSciTilCommon;
84 
85  Short_t nSciTilHits;
87 
89 
90  Short_t *nSkewCommon;
91  Short_t *nSpuriParinTrack;
92  Int_t nSttHit;
93  Int_t nSttParHit;
95  Int_t nSttSkewHit;
98  Short_t *nTrackCandHit;
99  Short_t number_straws;
102  Short_t *ParalCommonList;
103  Short_t *ParSpuriList;
109 
110 
111  Short_t *SciTilCommonList ;// equivalent to a matrix
112  // [nTotalCandidates][MAXSCITILHITSINTRACK]
113  Short_t *SciTilSpuriList ;// equivalent to a matrix
114  // [nTotalCandidates][MAXSCITILHITSINTRACK]
115 
116 
121  Short_t *SkewCommonList;
122  TClonesArray *SttTubeArray;
123  Short_t *StrawCode;
124  Short_t *StrawCode2;
135  } ;
136 
137 //inizio cambio_in_perl
138 
139 class PndTrkPlotMacros2 : public TObject
140 {
141 
142 
143  public:
144 
145 
150 
151 void disegnaAssiXY(
152  FILE * MACRO,
153  double xmin,
154  double xmax,
155  double ymin,
156  double ymax
157  );
158 
159 void disegnaSciTilHit(
160  int colorcode, // goes in the SetColor function of root;
162  FILE * MACRO,
163  double posx,
164  double posy,
165  int ScitilHit,
166  int tipo// if 0 then SciTil draw in XY; if 1 then SciTil draw in SZ; else
167  // SciTil draw in UV.
168  );
169 
171  Double_t vgap,
172  FILE * MACRO,
173  Double_t Ami,
174  Double_t Ama,
175  Short_t color,
176  char *name
177  );
178 
179 
181  Double_t GAP,
182  FILE * MACRO,
183  Double_t ApotemaMin,
184  Double_t Rma,
185  Short_t color,
186  char *name
187  );
188 
189 
190  void SttInfoXYZParal(
191  Vec <Double_t> *info,
192  Short_t infopar,
193  Double_t Oxx,
194  Double_t Oyy,
195  Double_t Rr,
196  Double_t KAPPA,
197  Double_t FI0,
198  Short_t Charge,
199  Double_t *Posiz
200  );
201 
202  void WriteAllMacros(
204  );
205 
206 
207 
213  Vec <bool> *InclusionListSciTil,
214  Vec <bool> *InclusionListStt,
215  Vec <Double_t> *info,
216  int IVOLTE,
217  Vec <bool> *keepit,
218  Vec <Short_t> *ListTrackCandHit,
219  Vec <Short_t> *ListTrackCandHitType,
220  int MAXMVDPIXELHITS,
221  int MAXMVDPIXELHITSINTRACK,
222  int MAXMVDSTRIPHITS,
223  int MAXMVDSTRIPHITSINTRACK,
224  int MAXSCITILHITSINTRACK,
225  int MAXSTTHITS,
226  int MAXSTTHITSINTRACK,
227  int MAXTRACKSPEREVENT,
228  Short_t nMvdPixelHit,
229  Short_t nMvdStripHit,
230  Short_t nSciTilHit,
231  Short_t nSttHit,
232  Short_t nSttParHit,
233  Short_t nSttSkewHit,
234  Short_t nSttTrackCand,
235  Vec <Short_t> *nTrackCandHit,
236  Vec <Double_t> *posizSciTil,
240  Vec <Double_t> *XMvdPixel,
241  Vec <Double_t> *XMvdStrip,
242  Vec <Double_t> *YMvdPixel,
243  Vec <Double_t> *YMvdStrip
244 
245  );
246 
253  Double_t CVEL,
255  bool doMcComparison,
256  TClonesArray *fMCTrackArray,
257  Int_t Nhits,
258  Vec <Double_t> *info,
260  int IVOLTE,
261  Short_t nMCTracks,
262  Short_t nMvdPixelHit,
263  Short_t nMvdStripHit,
264  Short_t nSciTilHits,
265  Short_t nTracksFoundSoFar,
266  Vec <bool> *keepit,
267  Vec <Double_t> *FI0,
268  Vec <Double_t> *Ox,
269  Vec <Double_t> *Oy,
270  Vec <Double_t> *posizSciTil,
271  Vec <Double_t> *primoangolo,
272  Vec <Double_t> *R,
275  Vec <Double_t> *sigmaXMvdPixel,
276  Vec <Double_t> *sigmaXMvdStrip,
277  Vec <Double_t> *sigmaYMvdPixel,
278  Vec <Double_t> *sigmaYMvdStrip,
279  Vec <Double_t> *ultimoangolo,
281  Vec <Double_t> *XMvdPixel,
282  Vec <Double_t> *XMvdStrip,
283  Vec <Double_t> *YMvdPixel,
284  Vec <Double_t> *YMvdStrip
285  );
286 
287 
294  Double_t CVEL,
296  bool doMcComparison,
297  TClonesArray *fMCTrackArray,
298  Int_t Nhits,
299  Vec <Double_t> *info,
301  int IVOLTE,
302  Short_t nMCTracks,
303  Short_t nMvdPixelHit,
304  Short_t nMvdStripHit,
305  Short_t nSciTilHits,
306  Short_t nTracksFoundSoFar,
307  Vec <bool> *keepit,
308  Vec <Double_t> *FI0,
309  Vec <Double_t> *Ox,
310  Vec <Double_t> *Oy,
311  Vec <Double_t> *posizSciTil,
312  Vec <Double_t> *primoangolo,
313  Vec <Double_t> *R,
316  Vec <Double_t> *sigmaXMvdPixel,
317  Vec <Double_t> *sigmaXMvdStrip,
318  Vec <Double_t> *sigmaYMvdPixel,
319  Vec <Double_t> *sigmaYMvdStrip,
320  Vec <Double_t> *ultimoangolo,
322  Vec <Double_t> *XMvdPixel,
323  Vec <Double_t> *XMvdStrip,
324  Vec <Double_t> *YMvdPixel,
325  Vec <Double_t> *YMvdStrip
326  );
327 
328 
335  Double_t CVEL,
337  bool doMcComparison,
338  TClonesArray *fMCTrackArray,
339  Int_t Nhits,
340  Vec <Double_t> *info,
342  int IVOLTE,
343  Short_t nMCTracks,
344  Short_t nMvdPixelHit,
345  Short_t nMvdStripHit,
346  Short_t nSciTilHits,
347  Short_t nTracksFoundSoFar,
348  Vec <bool> *keepit,
349  Vec <Double_t> *FI0,
350  Vec <Double_t> *Ox,
351  Vec <Double_t> *Oy,
352  Vec <Double_t> *posizSciTil,
353  Vec <Double_t> *primoangolo,
354  Vec <Double_t> *R,
357  Vec <Double_t> *sigmaXMvdPixel,
358  Vec <Double_t> *sigmaXMvdStrip,
359  Vec <Double_t> *sigmaYMvdPixel,
360  Vec <Double_t> *sigmaYMvdStrip,
361  Vec <Double_t> *ultimoangolo,
363  Vec <Double_t> *XMvdPixel,
364  Vec <Double_t> *XMvdStrip,
365  Vec <Double_t> *YMvdPixel,
366  Vec <Double_t> *YMvdStrip
367  );
368 
370  Double_t *ESSE,
371  Double_t *ESSEalone,
373  int iNome, // questo e' per il nome delle Macro solamente.
374  int iTrack
375  );
376 
377 
379  Double_t *ESSE,
380  Double_t *ESSEalone,
382  int iNome, // questo e' per il nome delle Macro solamente.
383  int iTrack
384  );
385 
386 
389  Double_t Oxx,
390  Double_t Oyy,
391  Double_t Rr,
392  Double_t primoangolo,
393  Double_t ultimoangolo,
394  Short_t Nhits,
395  int iTrack,
396  int iNome,
397  Short_t daSttTrackaMCTrack,
398  Short_t nMvdPixelHitsAssociatedToSttTra,
399  Short_t nMvdStripHitsAssociatedToSttTra,
400  Short_t nSkewHitsinTrack
401  );
402 // fine cambio_in_perl ;
403 
406  );
407 
408 
409 
412  );
413 
415 
416 };
417 
418 #endif
const Double_t RSTRAWDETECTORMAX
void WriteMacroSkewAssociatedHitswithMC(Double_t *ESSE, Double_t *ESSEalone, PndTrkPlotMacros2_InputData In_Put, int iNome, int iTrack)
void disegnaAssiXY(FILE *MACRO, double xmin, double xmax, double ymin, double ymax)
void disegnaSciTilHit(int colorcode, Double_t DIMENSIONSCITIL, FILE *MACRO, double posx, double posy, int ScitilHit, int tipo)
Double_t xmax
void WriteAllMacros(PndTrkPlotMacros2_InputData In_Put)
const Double_t APOTEMAMINSKEWSTRAW
const Double_t BFIELD
void WriteMacroParallelHitsGeneral(Double_t APOTEMAMAXINNERPARSTRAW, Double_t APOTEMAMAXSKEWSTRAW, Double_t APOTEMAMINOUTERPARSTRAW, Double_t APOTEMAMINSKEWSTRAW, Double_t BFIELD, Double_t CVEL, Double_t DIMENSIONSCITIL, bool doMcComparison, TClonesArray *fMCTrackArray, Int_t Nhits, Vec< Double_t > *info, PndTrkPlotMacros2_InputData In_Put, int IVOLTE, Short_t nMCTracks, Short_t nMvdPixelHit, Short_t nMvdStripHit, Short_t nSciTilHits, Short_t nTracksFoundSoFar, Vec< bool > *keepit, Vec< Double_t > *FI0, Vec< Double_t > *Ox, Vec< Double_t > *Oy, Vec< Double_t > *posizSciTil, Vec< Double_t > *primoangolo, Vec< Double_t > *R, Double_t RSTRAWDETECTORMAX, Double_t APOTEMASTRAWDETECTORMIN, Vec< Double_t > *sigmaXMvdPixel, Vec< Double_t > *sigmaXMvdStrip, Vec< Double_t > *sigmaYMvdPixel, Vec< Double_t > *sigmaYMvdStrip, Vec< Double_t > *ultimoangolo, Double_t VERTICALGAP, Vec< Double_t > *XMvdPixel, Vec< Double_t > *XMvdStrip, Vec< Double_t > *YMvdPixel, Vec< Double_t > *YMvdStrip)
Double_t
void WriteMacroParallel_MvdHitsGeneralConformalwithMC(Double_t APOTEMAMAXINNERPARSTRAW, Double_t APOTEMAMAXSKEWSTRAW, Double_t APOTEMAMINOUTERPARSTRAW, Double_t APOTEMAMINSKEWSTRAW, Double_t BFIELD, Double_t CVEL, Double_t DIMENSIONSCITIL, bool doMcComparison, TClonesArray *fMCTrackArray, Int_t Nhits, Vec< Double_t > *info, PndTrkPlotMacros2_InputData In_Put, int IVOLTE, Short_t nMCTracks, Short_t nMvdPixelHit, Short_t nMvdStripHit, Short_t nSciTilHits, Short_t nTracksFoundSoFar, Vec< bool > *keepit, Vec< Double_t > *FI0, Vec< Double_t > *Ox, Vec< Double_t > *Oy, Vec< Double_t > *posizSciTil, Vec< Double_t > *primoangolo, Vec< Double_t > *R, Double_t RSTRAWDETECTORMAX, Double_t APOTEMASTRAWDETECTORMIN, Vec< Double_t > *sigmaXMvdPixel, Vec< Double_t > *sigmaXMvdStrip, Vec< Double_t > *sigmaYMvdPixel, Vec< Double_t > *sigmaYMvdStrip, Vec< Double_t > *ultimoangolo, Double_t VERTICALGAP, Vec< Double_t > *XMvdPixel, Vec< Double_t > *XMvdStrip, Vec< Double_t > *YMvdPixel, Vec< Double_t > *YMvdStrip)
void WriteMacroSttParallel(PndTrkPlotMacros2_InputData In_Put)
const Double_t APOTEMAMINOUTERPARSTRAW
void SttInfoXYZParal(Vec< Double_t > *info, Short_t infopar, Double_t Oxx, Double_t Oyy, Double_t Rr, Double_t KAPPA, Double_t FI0, Short_t Charge, Double_t *Posiz)
void WriteMacroSkewAssociatedHitswithMC_Degree(Double_t *ESSE, Double_t *ESSEalone, PndTrkPlotMacros2_InputData In_Put, int iNome, int iTrack)
void WriteMacroParallelHitsGeneralConformalwithMC(Double_t APOTEMAMAXINNERPARSTRAW, Double_t APOTEMAMAXSKEWSTRAW, Double_t APOTEMAMINOUTERPARSTRAW, Double_t APOTEMAMINSKEWSTRAW, Double_t BFIELD, Double_t CVEL, Double_t DIMENSIONSCITIL, bool doMcComparison, TClonesArray *fMCTrackArray, Int_t Nhits, Vec< Double_t > *info, PndTrkPlotMacros2_InputData In_Put, int IVOLTE, Short_t nMCTracks, Short_t nMvdPixelHit, Short_t nMvdStripHit, Short_t nSciTilHits, Short_t nTracksFoundSoFar, Vec< bool > *keepit, Vec< Double_t > *FI0, Vec< Double_t > *Ox, Vec< Double_t > *Oy, Vec< Double_t > *posizSciTil, Vec< Double_t > *primoangolo, Vec< Double_t > *R, Double_t RSTRAWDETECTORMAX, Double_t APOTEMASTRAWDETECTORMIN, Vec< Double_t > *sigmaXMvdPixel, Vec< Double_t > *sigmaXMvdStrip, Vec< Double_t > *sigmaYMvdPixel, Vec< Double_t > *sigmaYMvdStrip, Vec< Double_t > *ultimoangolo, Double_t VERTICALGAP, Vec< Double_t > *XMvdPixel, Vec< Double_t > *XMvdStrip, Vec< Double_t > *YMvdPixel, Vec< Double_t > *YMvdStrip)
void DrawBiHexagonInMacro(Double_t vgap, FILE *MACRO, Double_t Ami, Double_t Ama, Short_t color, char *name)
TString name
const Double_t VERTICALGAP
const Double_t APOTEMAMAXINNERPARSTRAW
const int MAXSTTHITSINTRACK
const Double_t CVEL
void WriteMacroAllHitsRestanti(Double_t APOTEMAMAXINNERPARSTRAW, Double_t APOTEMAMAXSKEWSTRAW, Double_t APOTEMAMINOUTERPARSTRAW, Double_t APOTEMAMINSKEWSTRAW, Vec< bool > *InclusionListSciTil, Vec< bool > *InclusionListStt, Vec< Double_t > *info, int IVOLTE, Vec< bool > *keepit, Vec< Short_t > *ListTrackCandHit, Vec< Short_t > *ListTrackCandHitType, int MAXMVDPIXELHITS, int MAXMVDPIXELHITSINTRACK, int MAXMVDSTRIPHITS, int MAXMVDSTRIPHITSINTRACK, int MAXSCITILHITSINTRACK, int MAXSTTHITS, int MAXSTTHITSINTRACK, int MAXTRACKSPEREVENT, Short_t nMvdPixelHit, Short_t nMvdStripHit, Short_t nSciTilHit, Short_t nSttHit, Short_t nSttParHit, Short_t nSttSkewHit, Short_t nSttTrackCand, Vec< Short_t > *nTrackCandHit, Vec< Double_t > *posizSciTil, Double_t RSTRAWDETECTORMAX, Double_t APOTEMASTRAWDETECTORMIN, Double_t VERTICALGAP, Vec< Double_t > *XMvdPixel, Vec< Double_t > *XMvdStrip, Vec< Double_t > *YMvdPixel, Vec< Double_t > *YMvdStrip)
Double_t xmin
void DrawHexagonCircleInMacro(Double_t GAP, FILE *MACRO, Double_t ApotemaMin, Double_t Rma, Short_t color, char *name)
const Double_t APOTEMAMAXSKEWSTRAW
const Double_t APOTEMASTRAWDETECTORMIN
void WriteMacroSttParallelExternal(PndTrkPlotMacros2_InputData In_Put)
Double_t R
Definition: checkhelixhit.C:61
ClassDef(PndTrkPlotMacros2, 1)
void WriteMacroSttParallelAssociatedHitsandMvdwithMC(PndTrkPlotMacros2_InputData In_Put, Double_t Oxx, Double_t Oyy, Double_t Rr, Double_t primoangolo, Double_t ultimoangolo, Short_t Nhits, int iTrack, int iNome, Short_t daSttTrackaMCTrack, Short_t nMvdPixelHitsAssociatedToSttTra, Short_t nMvdStripHitsAssociatedToSttTra, Short_t nSkewHitsinTrack)
const Double_t DIMENSIONSCITIL