File indexing completed on 2026-03-30 07:50:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #include "HistoManager.hh"
0030
0031 #include "G4UnitsTable.hh"
0032
0033
0034
0035 HistoManager::HistoManager() : fFileName("exgps")
0036 {
0037 Book();
0038 }
0039
0040
0041
0042 HistoManager::~HistoManager() {}
0043
0044
0045
0046 void HistoManager::Book()
0047 {
0048
0049
0050 G4AnalysisManager* analysis = G4AnalysisManager::Instance();
0051
0052 analysis->SetDefaultFileType("root");
0053 analysis->SetNtupleMerging(true);
0054 analysis->SetFileName(fFileName);
0055 analysis->SetVerboseLevel(1);
0056 analysis->SetActivation(true);
0057
0058
0059 G4int nbins = 100;
0060 G4double vmin = 0.;
0061 G4double vmax = 100.;
0062
0063
0064
0065
0066 analysis->SetHistoDirectoryName("histo");
0067 analysis->SetFirstHistoId(1);
0068
0069 G4int id = analysis->CreateH1("h1.1", "kinetic energy", nbins, vmin, vmax);
0070 analysis->SetH1Activation(id, false);
0071
0072 id = analysis->CreateH1("h1.2", "vertex dist dN/dv = f(r)", nbins, vmin, vmax);
0073 analysis->SetH1Activation(id, false);
0074
0075 id = analysis->CreateH1("h1.3", "direction: cos(theta)", nbins, vmin, vmax);
0076 analysis->SetH1Activation(id, false);
0077
0078 id = analysis->CreateH1("h1.4", "direction: phi", nbins, vmin, vmax);
0079 analysis->SetH1Activation(id, false);
0080
0081
0082
0083 id = analysis->CreateH2("h2.1", "vertex: XY", nbins, vmin, vmax, nbins, vmin, vmax);
0084 analysis->SetH2Activation(id, false);
0085
0086 id = analysis->CreateH2("h2.2", "vertex: YZ", nbins, vmin, vmax, nbins, vmin, vmax);
0087 analysis->SetH2Activation(id, false);
0088
0089 id = analysis->CreateH2("h2.3", "vertex: ZX", nbins, vmin, vmax, nbins, vmin, vmax);
0090 analysis->SetH2Activation(id, false);
0091
0092 id =
0093 analysis->CreateH2("h2.4", "direction: phi-cos(theta)", nbins, vmin, vmax, nbins, vmin, vmax);
0094 analysis->SetH2Activation(id, false);
0095
0096 id = analysis->CreateH2("h2.5", "direction: phi-theta", nbins, vmin, vmax, nbins, vmin, vmax);
0097 analysis->SetH2Activation(id, false);
0098
0099
0100
0101 analysis->SetNtupleDirectoryName("ntuple");
0102 analysis->SetFirstNtupleId(1);
0103 analysis->CreateNtuple("101", "Primary Particle Tuple");
0104 analysis->CreateNtupleIColumn("particleID");
0105 analysis->CreateNtupleDColumn("Ekin");
0106 analysis->CreateNtupleDColumn("posX");
0107 analysis->CreateNtupleDColumn("posY");
0108 analysis->CreateNtupleDColumn("posZ");
0109 analysis->CreateNtupleDColumn("dirTheta");
0110 analysis->CreateNtupleDColumn("dirPhi");
0111 analysis->CreateNtupleDColumn("weight");
0112 analysis->FinishNtuple();
0113
0114 analysis->SetNtupleActivation(false);
0115 }
0116
0117