PandaRoot
PndMixBackgroundEvents.h
Go to the documentation of this file.
1 #ifndef PNDMIXBACKGROUNDEVENTS_H
2 #define PNDMIXBACKGROUNDEVENTS_H 1
3 
4 #include "PndMCTrack.h"
5 #include "PndSttTrack.h"
6 #include "FairTask.h"
7 #include "FairRootManager.h"
8 #include "FairRunAna.h"
9 #include "FairRuntimeDb.h"
10 #include "FairTrackParP.h"
11 #include "PndGeoSttPar.h"
12 
13 #include "TFile.h"
14 #include "TVector3.h"
15 #include "TH1F.h"
16 #include "TH2F.h"
17 #include "TRandom.h"
18 
19 class TClonesArray;
20 class TObjectArray;
21 
22 class PndMixBackgroundEvents : public FairTask {
23 
24  public:
27 
28  PndMixBackgroundEvents(Int_t verbose);
29 
32 
33  Double_t fInteractionRate; // in MHz, average interaction rate in PANDA.
34 
36  virtual InitStatus Init();
37 
39  virtual void Exec(Option_t *opt);
40 
41  void WriteHistograms();
42 
44  void SetPersistence(Bool_t persistence) { fPersistence = persistence; }
45 
46  void SetParContainers();
47 
48  void SetInputBkgFilesName(char *string1)
49  {
50  sprintf(fSttBkgFilename, "%s", string1);
51  return;
52  };
53 
54  void SetInteractionRate(Double_t rate)
55  {
56  fInteractionRate = rate;
57  return;
58  };
59 
60  private:
61  // Int_t IVOLTE,
62  // istampa;
63 
64  char fSttBkgFilename[1000], fMvdBkgFilename[1000];
65 
66  static const UShort_t NMAXBCKGRND = 1000;
67  // static const UShort_t NMAXBCKGRND ;
68 
69  static const Double_t MVDTYPICALTIME, // in nsec; time after which the Mvd hit disappears.
70  RATE, // in MHz, average interaction rate in PANDA.
71  STRAWRADIUS, // in cm.
72  STTdriftVEL, // in cm/nsec
73  MAXSTTdriftTIME; // in nsec
74 
75  Int_t nTotalBkgEvents;
76 
77  TFile *filedigirun;
78 
79  TFile *filerecorun;
80 
81  TTree *treedigibkg; // pointer to root Tree of digi background file.
82 
83  TTree *treerecobkg; // pointer to root Tree of reco background file, only for Mvd hits.
84 
86  TClonesArray *fMCTrackArray;
87  TClonesArray *fSttTubeArray;
88 
90  TClonesArray *fSttHitArray;
91 
93  TClonesArray *fMvdPixelHitArray;
94 
96  TClonesArray *fMvdStripHitArray;
97 
98  //--------------------- input Arrays for the Background hits -------------
99 
101  TClonesArray *fSttHitBkgArray;
102 
104  TClonesArray *fMvdPixelHitBkgArray;
105 
107  TClonesArray *fMvdStripHitBkgArray;
108 
109  //-----------------
110 
112  TClonesArray *fSttHitandBckgrndArray;
113 
115  TClonesArray *fMvdPixelHitandBckgrndArray;
116 
118  TClonesArray *fMvdStripHitandBckgrndArray;
119 
120  //---------------------------------------------------------
121 
123  Bool_t fPersistence;
124 
125  PndGeoSttPar *fSttParameters; // CHECK added
126 
127  void Initialization_ClassVariables();
128 
129  void BackgroundNandT(UShort_t *nBkgEventsToAdd, Double_t *times);
130 
131  bool ModifyIsochrone(Double_t isochrone,
132  Double_t time, // nanosec
133  Double_t *modified);
134 
135  ClassDef(PndMixBackgroundEvents, 1);
136 };
137 
138 #endif
void SetPersistence(Bool_t persistence)
void SetInteractionRate(Double_t rate)
void SetInputBkgFilesName(char *string1)
virtual InitStatus Init()
virtual void Exec(Option_t *opt)