FairRoot/PandaRoot
PndTrkPlotMacros.h
Go to the documentation of this file.
1 #ifndef PndTrkPlotMacros_H
2 #define PndTrkPlotMacros_H 1
3 
4 #include "PndTrkVectors.h"
5 
6 // Root includes
7 #include "TClonesArray.h"
8 #include "TROOT.h"
9 
10 
17  Short_t *Charge;
23  TClonesArray *fMCTrackArray;
24  TClonesArray *fSttPointArray;
26  int IVOLTE;
28  bool *keepit;
31  int istampa;
37  Short_t *ListTrackCandHit;
51  Short_t *MCParalAloneList;
52 
53  Short_t *MCSciTilAloneList;// equivalent to a matrix
54  // [nTotalCandidates][nSciTilHits]
55 
56  Short_t *MCSkewAloneList;
63  Short_t NFIDIVCONFORMAL;
64  Short_t *nMCMvdPixelAlone;
65  Short_t *nMCMvdStripAlone;
66  Short_t *nMCParalAlone;
67 
68  Short_t *nMCSciTilAlone;
69 
70  Short_t *nMCSkewAlone;
71  Short_t nMCTracks;
72  Short_t *nMvdPixelCommon;
73  Short_t nMvdPixelHit;
76  Short_t *nMvdStripCommon;
77  Short_t nMvdStripHit;
80  Short_t *nParalCommon;
81  Short_t NRDIVCONFORMAL;
82  Short_t *nSciTilCommon;
83 
84  Short_t nSciTilHits;
86 
88 
89  Short_t *nSkewCommon;
90  Short_t *nSpuriParinTrack;
91  Int_t nSttHit;
92  Int_t nSttParHit;
94  Int_t nSttSkewHit;
97  Short_t *nTrackCandHit;
100  Short_t *ParalCommonList;
101  Short_t *ParSpuriList;
108 
109 
110  Short_t *SciTilCommonList ;// equivalent to a matrix
111  // [nTotalCandidates][MAXSCITILHITSINTRACK]
112  Short_t *SciTilSpuriList ;// equivalent to a matrix
113  // [nTotalCandidates][MAXSCITILHITSINTRACK]
114 
115 
120  Short_t *SkewCommonList;
131  } ;
132 
133 //inizio cambio_in_perl
134 
135 class PndTrkPlotMacros : public TObject
136 {
137 
138 
139  public:
140 
141 
146 
147 void disegnaAssiXY(
148  FILE * MACRO,
149  double xmin,
150  double xmax,
151  double ymin,
152  double ymax
153  );
154 
155 void disegnaSciTilHit(
156  int colorcode, // goes in the SetColor function of root;
158  FILE * MACRO,
159  double posx,
160  double posy,
161  int ScitilHit,
162  int tipo// if 0 then SciTil draw in XY; if 1 then SciTil draw in SZ; else
163  // SciTil draw in UV.
164  );
165 
167  Double_t vgap,
168  FILE * MACRO,
169  Double_t Ami,
170  Double_t Ama,
171  Short_t color,
172  char *name
173  );
174 
175 
177  Double_t GAP,
178  FILE * MACRO,
179  Double_t ApotemaMin,
180  Double_t Rma,
181  Short_t color,
182  char *name
183  );
184 
185 
186  void SttInfoXYZParal(
187  Vec <Double_t> *info,
188  Short_t infopar,
189  Double_t Oxx,
190  Double_t Oyy,
191  Double_t Rr,
192  Double_t KAPPA,
193  Double_t FI0,
194  Short_t Charge,
195  Double_t *Posiz
196  );
197 
198  void WriteAllMacros(
200  );
201 
202 
203 
209  Vec <bool> *InclusionListSciTil,
210  Vec <bool> *InclusionListStt,
211  Vec <Double_t> *info,
212  int IVOLTE,
213  Vec <bool> *keepit,
214  Vec <Short_t> *ListTrackCandHit,
215  Vec <Short_t> *ListTrackCandHitType,
216  int MAXMVDPIXELHITS,
217  int MAXMVDPIXELHITSINTRACK,
218  int MAXMVDSTRIPHITS,
219  int MAXMVDSTRIPHITSINTRACK,
220  int MAXSCITILHITSINTRACK,
221  int MAXSTTHITS,
222  int MAXSTTHITSINTRACK,
223  int MAXTRACKSPEREVENT,
224  Short_t nMvdPixelHit,
225  Short_t nMvdStripHit,
226  Short_t nSciTilHit,
227  Short_t nSttHit,
228  Short_t nSttParHit,
229  Short_t nSttSkewHit,
230  Short_t nSttTrackCand,
231  Vec <Short_t> *nTrackCandHit,
232  Vec <Double_t> *posizSciTil,
234  Double_t RSTRAWDETECTORMIN,
236  Vec <Double_t> *XMvdPixel,
237  Vec <Double_t> *XMvdStrip,
238  Vec <Double_t> *YMvdPixel,
239  Vec <Double_t> *YMvdStrip
240 
241  );
242 
249  Double_t CVEL,
251  bool doMcComparison,
252  TClonesArray *fMCTrackArray,
253  Int_t Nhits,
254  Vec <Double_t> *info,
256  int IVOLTE,
257  Short_t nMCTracks,
258  Short_t nMvdPixelHit,
259  Short_t nMvdStripHit,
260  Short_t nSciTilHits,
261  Short_t nTracksFoundSoFar,
262  Vec <bool> *keepit,
263  Vec <Double_t> *FI0,
264  Vec <Double_t> *Ox,
265  Vec <Double_t> *Oy,
266  Vec <Double_t> *posizSciTil,
267  Vec <Double_t> *primoangolo,
268  Vec <Double_t> *R,
270  Double_t RSTRAWDETECTORMIN,
271  Vec <Double_t> *sigmaXMvdPixel,
272  Vec <Double_t> *sigmaXMvdStrip,
273  Vec <Double_t> *sigmaYMvdPixel,
274  Vec <Double_t> *sigmaYMvdStrip,
275  Vec <Double_t> *ultimoangolo,
277  Vec <Double_t> *XMvdPixel,
278  Vec <Double_t> *XMvdStrip,
279  Vec <Double_t> *YMvdPixel,
280  Vec <Double_t> *YMvdStrip
281  );
282 
283 
290  Double_t CVEL,
292  bool doMcComparison,
293  TClonesArray *fMCTrackArray,
294  Int_t Nhits,
295  Vec <Double_t> *info,
297  int IVOLTE,
298  Short_t nMCTracks,
299  Short_t nMvdPixelHit,
300  Short_t nMvdStripHit,
301  Short_t nSciTilHits,
302  Short_t nTracksFoundSoFar,
303  Vec <bool> *keepit,
304  Vec <Double_t> *FI0,
305  Vec <Double_t> *Ox,
306  Vec <Double_t> *Oy,
307  Vec <Double_t> *posizSciTil,
308  Vec <Double_t> *primoangolo,
309  Vec <Double_t> *R,
311  Double_t RSTRAWDETECTORMIN,
312  Vec <Double_t> *sigmaXMvdPixel,
313  Vec <Double_t> *sigmaXMvdStrip,
314  Vec <Double_t> *sigmaYMvdPixel,
315  Vec <Double_t> *sigmaYMvdStrip,
316  Vec <Double_t> *ultimoangolo,
318  Vec <Double_t> *XMvdPixel,
319  Vec <Double_t> *XMvdStrip,
320  Vec <Double_t> *YMvdPixel,
321  Vec <Double_t> *YMvdStrip
322  );
323 
324 
331  Double_t CVEL,
333  bool doMcComparison,
334  TClonesArray *fMCTrackArray,
335  Int_t Nhits,
336  Vec <Double_t> *info,
338  int IVOLTE,
339  Short_t nMCTracks,
340  Short_t nMvdPixelHit,
341  Short_t nMvdStripHit,
342  Short_t nSciTilHits,
343  Short_t nTracksFoundSoFar,
344  Vec <bool> *keepit,
345  Vec <Double_t> *FI0,
346  Vec <Double_t> *Ox,
347  Vec <Double_t> *Oy,
348  Vec <Double_t> *posizSciTil,
349  Vec <Double_t> *primoangolo,
350  Vec <Double_t> *R,
352  Double_t RSTRAWDETECTORMIN,
353  Vec <Double_t> *sigmaXMvdPixel,
354  Vec <Double_t> *sigmaXMvdStrip,
355  Vec <Double_t> *sigmaYMvdPixel,
356  Vec <Double_t> *sigmaYMvdStrip,
357  Vec <Double_t> *ultimoangolo,
359  Vec <Double_t> *XMvdPixel,
360  Vec <Double_t> *XMvdStrip,
361  Vec <Double_t> *YMvdPixel,
362  Vec <Double_t> *YMvdStrip
363  );
364 
366  Double_t *ESSE,
367  Double_t *ESSEalone,
369  int iNome, // questo e' per il nome delle Macro solamente.
370  int iTrack
371  );
372 
373 
376  Double_t Oxx,
377  Double_t Oyy,
378  Double_t Rr,
379  Double_t primoangolo,
380  Double_t ultimoangolo,
381  Short_t Nhits,
382  int iTrack,
383  int iNome,
384  Short_t daSttTrackaMCTrack,
385  Short_t nMvdPixelHitsAssociatedToSttTra,
386  Short_t nMvdStripHitsAssociatedToSttTra,
387  Short_t nSkewHitsinTrack
388  );
389 // fine cambio_in_perl ;
390 
391 
392 
394 
395 };
396 
397 #endif
const Double_t RSTRAWDETECTORMAX
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, PndTrkPlotMacros_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 RSTRAWDETECTORMIN, 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 xmax
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 RSTRAWDETECTORMIN, Double_t VERTICALGAP, Vec< Double_t > *XMvdPixel, Vec< Double_t > *XMvdStrip, Vec< Double_t > *YMvdPixel, Vec< Double_t > *YMvdStrip)
void WriteMacroSttParallelAssociatedHitsandMvdwithMC(PndTrkPlotMacros_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)
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, PndTrkPlotMacros_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 RSTRAWDETECTORMIN, 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 WriteAllMacros(PndTrkPlotMacros_InputData In_Put)
const Double_t APOTEMAMINSKEWSTRAW
void WriteMacroSkewAssociatedHitswithMC(Double_t *ESSE, Double_t *ESSEalone, PndTrkPlotMacros_InputData In_Put, int iNome, int iTrack)
const Double_t BFIELD
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 DrawBiHexagonInMacro(Double_t vgap, FILE *MACRO, Double_t Ami, Double_t Ama, Short_t color, char *name)
Double_t
const Double_t APOTEMAMINOUTERPARSTRAW
void disegnaSciTilHit(int colorcode, Double_t DIMENSIONSCITIL, FILE *MACRO, double posx, double posy, int ScitilHit, int tipo)
ClassDef(PndTrkPlotMacros, 1)
TString name
const Double_t VERTICALGAP
const Double_t APOTEMAMAXINNERPARSTRAW
const int MAXSTTHITSINTRACK
const Double_t CVEL
Double_t xmin
const Double_t APOTEMAMAXSKEWSTRAW
Double_t R
Definition: checkhelixhit.C:61
void DrawHexagonCircleInMacro(Double_t GAP, FILE *MACRO, Double_t ApotemaMin, Double_t Rma, Short_t color, char *name)
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, PndTrkPlotMacros_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 RSTRAWDETECTORMIN, 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 disegnaAssiXY(FILE *MACRO, double xmin, double xmax, double ymin, double ymax)
const Double_t DIMENSIONSCITIL