FairRoot/PandaRoot
PndMixBackgroundEvents.h
Go to the documentation of this file.
1 #ifndef PNDMIXBACKGROUNDEVENTS_H
2 #define PNDMIXBACKGROUNDEVENTS_H 1
3 
4 
5 #include "PndMCTrack.h"
6 #include "PndSttTrack.h"
7 #include "FairTask.h"
8 #include "FairRootManager.h"
9 #include "FairRunAna.h"
10 #include "FairRuntimeDb.h"
11 #include "FairTrackParP.h"
12 #include "PndGeoSttPar.h"
13 
14 #include "TFile.h"
15 #include "TVector3.h"
16 #include "TH1F.h"
17 #include "TH2F.h"
18 #include "TRandom3.h"
19 
20 class TClonesArray;
21 class TObjectArray;
22 
23 class PndMixBackgroundEvents : public FairTask
24 {
25 
26  public:
27 
28 
31 
33 
34 
37 
38  Double_t fInteractionRate; // in MHz, average interaction rate in PANDA.
39 
41  virtual InitStatus Init();
42 
43 
45  virtual void Exec(Option_t* opt);
46 
47  void WriteHistograms();
48 
50  void SetPersistence(Bool_t persistence) { fPersistence = persistence; }
51 
52 
53  void SetParContainers();
54 
55 
56  void SetInputBkgFilesName( char* string1 )
57  {
58  sprintf(fSttBkgFilename,"%s", string1);
59  return;
60  };
61 
62 
63 
65  {
66  fInteractionRate=rate;
67  return;
68  };
69 
70 
71  private:
72 
73 // Int_t IVOLTE,
74 // istampa;
75 
76 
77  char fSttBkgFilename[1000],
78  fMvdBkgFilename[1000];
79 
80 
81  static const UShort_t NMAXBCKGRND = 1000;
82 // static const UShort_t NMAXBCKGRND ;
83 
84  static const Double_t MVDTYPICALTIME, // in nsec; time after which the Mvd hit disappears.
85  RATE, // in MHz, average interaction rate in PANDA.
86  STRAWRADIUS , // in cm.
87  STTdriftVEL , // in cm/nsec
88  MAXSTTdriftTIME ; // in nsec
89 
90 
92 
93  TFile *filedigirun;
94 
95  TFile *filerecorun;
96 
97  TTree *treedigibkg ; // pointer to root Tree of digi background file.
98 
99  TTree *treerecobkg ; // pointer to root Tree of reco background file, only for Mvd hits.
100 
101  TRandom3 rannn,
102  rran;
103 
104 
106  TClonesArray* fMCTrackArray;
107  TClonesArray* fSttTubeArray;
108 
109 
111  TClonesArray* fSttHitArray;
112 
113 
115  TClonesArray* fMvdPixelHitArray;
116 
118  TClonesArray* fMvdStripHitArray;
119 
120 
121 
122 //--------------------- input Arrays for the Background hits -------------
123 
125  TClonesArray* fSttHitBkgArray;
126 
128  TClonesArray* fMvdPixelHitBkgArray;
129 
131  TClonesArray* fMvdStripHitBkgArray;
132 
133 //-----------------
134 
135 
136 
138  TClonesArray* fSttHitandBckgrndArray;
139 
142 
145 
146 
147 //---------------------------------------------------------
148 
149 
152 
153  PndGeoSttPar *fSttParameters; // CHECK added
154 
155 
157 
158 
159 
160  void BackgroundNandT(
161  UShort_t *nBkgEventsToAdd,
162  Double_t *times
163  );
164 
165  bool ModifyIsochrone(
166  Double_t isochrone,
167  Double_t time, // nanosec
168  Double_t *modified
169  );
170 
171 
173 
174 };
175 
176 #endif
TClonesArray * fMvdStripHitandBckgrndArray
#define verbose
static const UShort_t NMAXBCKGRND
ClassDef(PndMixBackgroundEvents, 1)
static const Double_t MAXSTTdriftTIME
virtual void Exec(Option_t *opt)
Double_t
void SetPersistence(Bool_t persistence)
static const Double_t STRAWRADIUS
void BackgroundNandT(UShort_t *nBkgEventsToAdd, Double_t *times)
void SetInteractionRate(Double_t rate)
TClonesArray * fMvdPixelHitandBckgrndArray
static const Double_t MVDTYPICALTIME
bool ModifyIsochrone(Double_t isochrone, Double_t time, Double_t *modified)
void SetInputBkgFilesName(char *string1)
static const Double_t RATE
static const Double_t STTdriftVEL