"MarlinReco"  1.16.0
VTXNoiseClusters.h
1 #ifndef VTXNoiseClusters_h
2 #define VTXNoiseClusters_h 1
3 
4 
5 //#ifdef USE_ROOT
6 // we need some root histograms with cluster size distribution for this processor
7 
8 #include "marlin/Processor.h"
9 #include "marlin/EventModifier.h"
10 #include "lcio.h"
11 #include <string>
12 #include <vector>
13 #include <gsl/gsl_rng.h>
14 
15 #include "TH2F.h"
16 #include "TFile.h"
17 
18 #ifdef MARLIN_USE_AIDA
19 #include <AIDA/AIDA.h>
20 typedef std::vector< AIDA::IHistogram1D* > Hist1DVec ;
21 typedef std::vector< AIDA::IHistogram2D* > Hist2DVec ;
22 #endif
23 
24 using namespace lcio ;
25 using namespace marlin ;
26 
27 class VXDGeometry ;
28 
29 
48 class VTXNoiseClusters : public Processor, public EventModifier{
49 
50  public:
51 
52  virtual Processor* newProcessor() { return new VTXNoiseClusters ; }
53 
54 
56 
57  virtual const std::string & name() const { return Processor::name() ; }
58 
62  virtual void init() ;
63 
66  virtual void processRunHeader( LCRunHeader* run ) ;
67 
70  void modifyEvent( LCEvent * evt ) ;
71 
72  virtual void processEvent( LCEvent * evt ) ;
73 
74 
75  virtual void check( LCEvent * evt ) ;
76 
77 
80  virtual void end() ;
81 
82 
83  protected:
84 
85  std::string _colNameVTX ;
86  FloatVec _densities ;
87  StringVec _rootNames ;
88 // float _pointResoRPhiVTX ;
89 // float _pointResoZVTX ;
90  int _ranSeed ;
91 
92  int _nRun ;
93  int _nEvt ;
94 
95  gsl_rng* _rng ;
96  VXDGeometry* _vxdGeo ;
97 
98  std::vector<TH2F*> _hist ;
99  TFile* _hfile ;
100 
101 #ifdef MARLIN_USE_AIDA
102  Hist1DVec _hist1DVec ;
103  Hist2DVec _hist2DVec ;
104 #endif
105 
106 } ;
107 
108 #endif
109 //#endif // USE_ROOT
110 
111 
112 
======= VXDGeometry ========== Helper class for VXD geomtry transformations: from lab frame to ladd...
Definition: VXDGeometry.h:49
======= VTXNoiseClusters ========== Adds random noise hits to collection of SimTrackerHits of the v...
Definition: VTXNoiseClusters.h:48