PandaRoot
PndGemMagneticFieldVsTrackParameters.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //* $Id: */
14 
15 // -------------------------------------------------------------------------
16 // ----- PndGemMagneticFieldVsTrackParameters header file -----
17 // ----- Created 12/02/2009 by R. Karabowicz -----
18 // -------------------------------------------------------------------------
19 
30 #ifndef PNDGEMMAGNETICFIELDVSTRACKPARAMETERS_H
31 #define PNDGEMMAGNETICFIELDVSTRACKPARAMETERS_H 1
32 
33 #include "FairTask.h"
34 
35 #include "TStopwatch.h"
36 
37 #include "TH1F.h"
38 #include "TH2F.h"
39 #include "TH3F.h"
40 #include "TF1.h"
41 #include "TF2.h"
42 
43 #include <list>
44 #include <map>
45 
46 class TClonesArray;
47 class PndGemDigiPar;
48 
49 class PndGemMagneticFieldVsTrackParameters : public FairTask {
50 
51  public:
54 
57 
59  PndGemMagneticFieldVsTrackParameters(const char *name, Int_t iVerbose);
60 
63 
65  virtual void Exec(Option_t *opt);
66 
67  private:
68  // FairGeoStsPar* fGeoPar; /** Geometry parameter container **/
69  // PndGemDigiPar* fDigiPar; /** Digitisation parameter container **/
70  // PndGemDigiScheme* fDigiScheme; /** Digitisation scheme **/
71  PndGemDigiPar *fDigiPar;
72 
73  Double_t fTrackFinderOnHits_ParThetaA;
74  Double_t fTrackFinderOnHits_ParThetaB;
75 
76  Double_t fTrackFinderOnHits_ParTheta0;
77  Double_t fTrackFinderOnHits_ParTheta1;
78  Double_t fTrackFinderOnHits_ParTheta2;
79  Double_t fTrackFinderOnHits_ParTheta3;
80 
81  Double_t fTrackFinderOnHits_ParRadPhi0;
82  Double_t fTrackFinderOnHits_ParRadPhi2;
83 
84  Double_t fTrackFinderOnHits_ParMat0[3];
85  Double_t fTrackFinderOnHits_ParMat1[3];
86 
87  TClonesArray *fMCTrackArray;
88  TClonesArray *fMCPointArray;
89 
90  TStopwatch fTimer;
91 
93  Int_t fNofEvents; // event counter
94 
95  TList *fHistoList;
96  // theta angle vs radius vs momentum
97  TH3F *fhThetaVsRadiusVsMomentumAll;
98  TH3F *fhThetaVsRadiusVsMomentum[10];
99  TF2 *ffThetaVsRadiusVsMomentum[10];
100  // radius vs angle
101  TH2F *fhRadiusVsAngle;
102  TH2F *fhRadiusVsAnglePair[20];
103  TF1 *ffRadiusVsAngle[3];
104  // momentum vs phi angle difference
105  TH3F *fhMomentumVsPhiDiffVsRadius[10];
106  TH2F *fhMomentumVsPhiDiffAll[10];
107  TH2F *fhMomentumVsPhiDiff[10][20];
108  TF2 *ffMomentumVsPhiDiffVsRadius[10];
109  TF1 *ffMomentumVsPhiDiffAll[10];
110  TF1 *ffMomentumVsPhiDiff[10][20];
111  // transverse momentum vs trajectory helix radius
112  TH2F *fhMomTransVsHRadius[10];
113  // track phi versus hits phis
114  TH3F *fhTrackPhiVsHitPhis[10];
115  TH2F *fhTrackPhiVsCalcPhi[10];
116 
117  Int_t Fill1StationHistograms();
118  Int_t Fill2StationsHistograms();
119 
120  void CreateHistos();
121 
123  virtual void SetParContainers();
124 
126  virtual void Finish();
127 
129  virtual InitStatus Init();
130 
132  virtual InitStatus ReInit();
133 
135  void Reset();
136 
138 };
139 
140 #endif
virtual void Exec(Option_t *opt)
Digitization Parameter Class for GEM part.
Definition: PndGemDigiPar.h:42