CbmRoot
CbmMvdDigitizer.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // ----- CbmMvdDigitizer header file -----
3 // ----- Created by C. Dritsa (2009) -----
4 // ----- Maintained by M.Deveaux (m.deveaux(att)gsi.de) -----
5 // ----- Update by P.Sitzmann (p.sitzmann(att)gsi.de -----
6 // ----------------------------------------------------------------------------
7 
8 #ifndef CBMMVDDIGITIZER_H
9 #define CBMMVDDIGITIZER_H 1
10 
11 #include "CbmDigitize.h"
12 
13 #include "CbmDefs.h"
14 
15 #include "TStopwatch.h"
16 #include "TString.h"
17 
18 #include <utility>
19 #include <vector>
20 
21 class CbmMvdDetector;
23 class CbmMvdDigi;
24 class CbmMatch;
25 
26 class CbmMvdDigitizer : public CbmDigitize<CbmMvdDigi> {
27 
28 public:
31 
32 
37  CbmMvdDigitizer(const char* name, Int_t mode = 0, Int_t iVerbose = 1);
38 
39 
42 
43  void Exec(Option_t* opt);
44 
49 
50  void SetPileUp(Int_t pileUp) { fNPileup = pileUp; }
51  void SetDeltaEvents(Int_t deltaEvents) { fNDeltaElect = deltaEvents; }
52  void SetBgFileName(TString fileName) { fBgFileName = fileName; }
53  void SetDeltaName(TString fileName) { fDeltaFileName = fileName; }
54  void SetBgBufferSize(Int_t nBuffer) { fBgBufferSize = nBuffer; }
55  void SetDeltaBufferSize(Int_t nBuffer) { fDeltaBufferSize = nBuffer; }
56  void SetMisalignment(Float_t misalignment[3]) {
57  for (Int_t i = 0; i < 3; i++)
58  epsilon[i] = misalignment[i];
59  } // set the misalignment in cm
60 
61  void BuildEvent();
63 
64  void SetProduceNoise() { fNoiseSensors = kTRUE; };
65 
66 
68  virtual void ResetArrays();
69 
70 
71 private:
73  Int_t fMode;
74 
76  Bool_t fNoiseSensors;
77 
79 
80  TClonesArray* fInputPoints;
81  TClonesArray* fMcPileUp;
82 
83  TClonesArray*
85  TClonesArray* fTmpDigi;
86 
87  std::vector<CbmMvdDigi*> fDigiVect;
88  std::vector<CbmMatch*> fMatchVect;
89 
90  std::pair<Float_t, Int_t> fPerformanceDigi;
91 
92  UInt_t fDigiPluginNr;
93 
94  Double_t fFakeRate; // Fake hit rate
95  Int_t fNPileup; // Number of pile-up background events
96  Int_t fNDeltaElect; // Number of delta electron events
99  Float_t epsilon[3];
100 
101  TString fInputBranchName; // Name of input branch (MvdPoint)
102  TString fBgFileName; // Name of background (pileup) file
103  TString fDeltaFileName; // Name of the file containing delta electrons
104 
105 
106  TStopwatch fTimer;
107 
111 
112 
113  // ----- Private methods ---------------------------------------------
115  virtual InitStatus Init();
116 
117 
119  virtual InitStatus ReInit();
120 
121 
123  virtual void Finish();
124 
125 
127  void Register();
128 
129  void GetMvdGeometry();
130 
131 
133  void Reset();
134 
135 
137  void PrintParameters();
138 
139 private:
142 
144 };
145 
146 
147 #endif
CbmMatch
Definition: CbmMatch.h:22
CbmMvdDigitizer::SetBgBufferSize
void SetBgBufferSize(Int_t nBuffer)
Definition: CbmMvdDigitizer.h:54
CbmMvdDigitizer::fNoiseSensors
Bool_t fNoiseSensors
Definition: CbmMvdDigitizer.h:76
CbmMvdPileupManager
Definition: CbmMvdPileupManager.h:28
CbmMvdDigitizer::Register
void Register()
CbmMvdDigitizer::fPileupManager
CbmMvdPileupManager * fPileupManager
Definition: CbmMvdDigitizer.h:109
CbmMvdDigitizer::PrintParameters
void PrintParameters()
Definition: CbmMvdDigitizer.cxx:326
CbmMvdDigitizer::CbmMvdDigitizer
CbmMvdDigitizer()
Definition: CbmMvdDigitizer.cxx:37
CbmMvdDigitizer::CbmMvdDigitizer
CbmMvdDigitizer(const CbmMvdDigitizer &)
i
int i
Definition: L1/vectors/P4_F32vec4.h:25
CbmMvdDigitizer::Init
virtual InitStatus Init()
Definition: CbmMvdDigitizer.cxx:196
CbmMvdDigitizer::epsilon
Float_t epsilon[3]
Definition: CbmMvdDigitizer.h:99
CbmMvdDigitizer::fShowDebugHistos
Bool_t fShowDebugHistos
Definition: CbmMvdDigitizer.h:75
CbmMvdDigitizer::fMcPileUp
TClonesArray * fMcPileUp
Definition: CbmMvdDigitizer.h:81
CbmMvdDigitizer::Exec
void Exec(Option_t *opt)
Definition: CbmMvdDigitizer.cxx:109
ECbmModuleId::kMvd
@ kMvd
Micro-Vertex Detector.
ECbmModuleId
ECbmModuleId
Definition: CbmDefs.h:33
CbmMvdDigitizer::ResetArrays
virtual void ResetArrays()
Clear data arrays.
Definition: CbmMvdDigitizer.cxx:310
CbmMvdDigitizer::fDetector
CbmMvdDetector * fDetector
Definition: CbmMvdDigitizer.h:78
CbmMvdDigitizer::SetDeltaName
void SetDeltaName(TString fileName)
Definition: CbmMvdDigitizer.h:53
CbmMvdDigitizer::fPerformanceDigi
std::pair< Float_t, Int_t > fPerformanceDigi
Temporary storage for CbmDaq.
Definition: CbmMvdDigitizer.h:90
CbmMvdDigitizer::fTimer
TStopwatch fTimer
ROOT timer.
Definition: CbmMvdDigitizer.h:106
CbmMvdDigitizer::ClassDef
ClassDef(CbmMvdDigitizer, 1)
CbmMvdDigitizer::fInputBranchName
TString fInputBranchName
Definition: CbmMvdDigitizer.h:101
CbmMvdDigitizer::SetDeltaBufferSize
void SetDeltaBufferSize(Int_t nBuffer)
Definition: CbmMvdDigitizer.h:55
CbmDigitize
Base class template for CBM digitisation tasks.
Definition: CbmDigitize.h:39
CbmMvdDigitizer::fDeltaBufferSize
Int_t fDeltaBufferSize
Definition: CbmMvdDigitizer.h:97
CbmMvdDigitizer::fNDeltaElect
Int_t fNDeltaElect
Definition: CbmMvdDigitizer.h:96
CbmMvdDigitizer::ShowDebugHistograms
void ShowDebugHistograms()
Definition: CbmMvdDigitizer.h:62
CbmMvdDigitizer::fBgFileName
TString fBgFileName
Definition: CbmMvdDigitizer.h:102
CbmMvdDigitizer::GetMvdGeometry
void GetMvdGeometry()
Definition: CbmMvdDigitizer.cxx:321
CbmMvdDigitizer::BuildEvent
void BuildEvent()
Definition: CbmMvdDigitizer.cxx:343
CbmMvdDigitizer::ReInit
virtual InitStatus ReInit()
Definition: CbmMvdDigitizer.cxx:291
CbmMvdDigitizer::Finish
virtual void Finish()
Definition: CbmMvdDigitizer.cxx:296
CbmMvdDigitizer::SetDeltaEvents
void SetDeltaEvents(Int_t deltaEvents)
Definition: CbmMvdDigitizer.h:51
CbmMvdDetector
Definition: CbmMvdDetector.h:39
CbmMvdDigitizer::fInputPoints
TClonesArray * fInputPoints
Definition: CbmMvdDigitizer.h:80
CbmMvdDigitizer::operator=
CbmMvdDigitizer operator=(const CbmMvdDigitizer &)
CbmMvdDigitizer::~CbmMvdDigitizer
~CbmMvdDigitizer()
Definition: CbmMvdDigitizer.cxx:97
CbmMvdDigitizer::fDigiPluginNr
UInt_t fDigiPluginNr
Definition: CbmMvdDigitizer.h:92
CbmMvdDigitizer::SetProduceNoise
void SetProduceNoise()
Definition: CbmMvdDigitizer.h:64
CbmMvdDigitizer::fNPileup
Int_t fNPileup
Definition: CbmMvdDigitizer.h:95
CbmMvdDigitizer::fMode
Int_t fMode
Definition: CbmMvdDigitizer.h:73
CbmMvdDigitizer
Definition: CbmMvdDigitizer.h:26
CbmMvdDigitizer::Reset
void Reset()
Definition: CbmMvdDigitizer.cxx:305
CbmMvdDigitizer::fMatchVect
std::vector< CbmMatch * > fMatchVect
Temporary storage for CbmDaq.
Definition: CbmMvdDigitizer.h:88
CbmMvdDigi
Definition: CbmMvdDigi.h:21
CbmMvdDigitizer::SetPileUp
void SetPileUp(Int_t pileUp)
Definition: CbmMvdDigitizer.h:50
CbmMvdDigitizer::fDeltaFileName
TString fDeltaFileName
Definition: CbmMvdDigitizer.h:103
CbmMvdDigitizer::fTmpMatch
TClonesArray * fTmpMatch
Definition: CbmMvdDigitizer.h:84
CbmMvdDigitizer::fDeltaManager
CbmMvdPileupManager * fDeltaManager
Definition: CbmMvdDigitizer.h:110
CbmMvdDigitizer::fFakeRate
Double_t fFakeRate
Definition: CbmMvdDigitizer.h:94
CbmMvdDigitizer::SetBgFileName
void SetBgFileName(TString fileName)
Definition: CbmMvdDigitizer.h:52
CbmMvdDigitizer::GetSystemId
ECbmModuleId GetSystemId() const
Detector system ID.
Definition: CbmMvdDigitizer.h:48
CbmMvdDigitizer::SetMisalignment
void SetMisalignment(Float_t misalignment[3])
Definition: CbmMvdDigitizer.h:56
CbmMvdDigitizer::fBgBufferSize
Int_t fBgBufferSize
Definition: CbmMvdDigitizer.h:98
CbmDigitize.h
CbmMvdDigitizer::fTmpDigi
TClonesArray * fTmpDigi
Temporary TClonesArray to absorb from MvdDetector.
Definition: CbmMvdDigitizer.h:85
CbmMvdDigitizer::fDigiVect
std::vector< CbmMvdDigi * > fDigiVect
Temporary TClonesArray to absorb from MvdDetector.
Definition: CbmMvdDigitizer.h:87
CbmDefs.h