CMS 3D CMS Logo

GflashG4Watcher.h
Go to the documentation of this file.
4 
5 #include <TFile.h>
6 #include <TTree.h>
7 #include <TH1F.h>
8 #include <TH2F.h>
9 #include <TProfile.h>
10 #include "globals.hh"
11 #include "G4ThreeVector.hh"
12 #include <string>
13 
14 //
15 // class decleration
16 //
17 
18 class BeginOfEvent;
19 class EndOfEvent;
20 class G4Step;
21 
22 
23 class GflashG4Watcher : public SimWatcher,
24  public Observer<const BeginOfEvent*>,
25  public Observer<const EndOfEvent*>,
26  public Observer<const G4Step*> {
27 
28  public:
30  ~GflashG4Watcher() override;
31 
32  private:
33 
34  G4bool inc_flag;
35  G4double inc_energy;
36  G4double out_energy;
37  G4ThreeVector inc_vertex;
38  G4ThreeVector inc_direction;
39  G4ThreeVector inc_position;
40 
41  void update(const BeginOfEvent* ) override;
42  void update(const EndOfEvent* ) override;
43  void update(const G4Step* ) override;
44 
45  // histograms for GflashG4Watcher
46 
50 
51  TFile* histFile_;
52 
53  TH1F* em_incE;
54  TH1F* em_vtx_rho;
55  TH1F* em_vtx_z;
56 
57  TH1F* eb_ssp_rho;
58  TH1F* eb_hit_long;
59  TH1F* eb_hit_lat;
60  TH2F* eb_hit_rz;
63  TH2F* eb_hit_rz_sd;
64 
65  TH1F* ee_ssp_z;
66  TH1F* ee_hit_long;
67  TH1F* ee_hit_lat;
68  TH2F* ee_hit_rz;
71  TH2F* ee_hit_rz_sd;
72 
73 };
74 
G4ThreeVector inc_position
G4ThreeVector inc_direction
GflashG4Watcher(const edm::ParameterSet &p)
double recoEnergyScaleEE_
std::string histFileName_
~GflashG4Watcher() override
G4ThreeVector inc_vertex
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
double recoEnergyScaleEB_