CMS 3D CMS Logo

ZdcTestAnalysis.h
Go to the documentation of this file.
1 // File: ZdcTestAnalysis.h
3 // Date: 03.06 Edmundo Garcia
4 // Description: simulation analysis steering code
5 //
7 #undef debug
8 #ifndef ZdcTestAnalysis_h
9 #define ZdcTestAnalysis_h
10 
16 
17 #include "G4SDManager.hh"
18 #include "G4Step.hh"
19 #include "G4Track.hh"
20 #include "G4Event.hh"
21 #include "G4PrimaryVertex.hh"
22 #include "G4VProcess.hh"
23 #include "G4HCofThisEvent.hh"
24 #include "G4UserEventAction.hh"
25 #include "CLHEP/Units/GlobalSystemOfUnits.h"
26 #include "CLHEP/Units/GlobalPhysicalConstants.h"
27 
31 
32 #include <cassert>
33 #include <iostream>
34 #include <string>
35 #include <map>
36 #include <cmath>
37 #include <memory>
38 #include <vector>
39 
40 #include <CLHEP/Random/Randomize.h>
41 
42 #include "TROOT.h"
43 #include "TFile.h"
44 #include "TH1.h"
45 #include "TH2.h"
46 #include "TProfile.h"
47 #include "TNtuple.h"
48 #include "TRandom.h"
49 #include "TLorentzVector.h"
50 #include "TUnixSystem.h"
51 #include "TSystem.h"
52 #include "TMath.h"
53 #include "TF1.h"
54 
55 class G4Step;
56 class BeginOfJob;
57 class BeginOfRun;
58 class EndOfRun;
59 class BeginOfEvent;
60 class EndOfEvent;
61 class ZdcNumberingScheme;
62 
63 class ZdcTestAnalysis : public SimWatcher,
64  public Observer<const BeginOfJob *>,
65  public Observer<const BeginOfRun *>,
66  public Observer<const EndOfRun *>,
67  public Observer<const BeginOfEvent *>,
68  public Observer<const EndOfEvent *>,
69  public Observer<const G4Step *> {
70 
71 public:
73  ~ZdcTestAnalysis() override;
74 
75 private:
76  // observer classes
77  void update(const BeginOfJob * run) override;
78  void update(const BeginOfRun * run) override;
79  void update(const EndOfRun * run) override;
80  void update(const BeginOfEvent * evt) override;
81  void update(const EndOfEvent * evt) override;
82  void update(const G4Step * step) override;
83 
84 private:
85 
86  void finish();
87 
88  int verbosity;
93 
96 
97  TNtuple* zdcstepntuple;
98  TNtuple* zdceventntuple;
99 
102 
103  Float_t zdcsteparray[18];
104  Float_t zdceventarray[16];
105 
107 
108 };
109 
110 #endif // ZdcTestAnalysis_h
void update(const BeginOfJob *run) override
This routine will be called when the appropriate signal arrives.
Float_t zdceventarray[16]
TFile * zdcOutputEventFile
std::string stepNtFileName
TFile * zdcOutputStepFile
~ZdcTestAnalysis() override
TNtuple * zdceventntuple
ZdcNumberingScheme * theZdcNumScheme
TNtuple * zdcstepntuple
ZdcTestAnalysis(const edm::ParameterSet &p)
std::string eventNtFileName
Float_t zdcsteparray[18]
step