SimG4CMS
Calo
interface
HFGflash.h
Go to the documentation of this file.
1
#ifndef SimG4CMS_HFGflash_h
2
#define SimG4CMS_HFGflash_h
3
4
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
5
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
6
7
#include "
SimGeneral/GFlash/interface/GflashEMShowerProfile.h
"
8
#include "
SimGeneral/GFlash/interface/GflashTrajectory.h
"
9
#include "
SimGeneral/GFlash/interface/GflashNameSpace.h
"
10
11
#include "G4VFastSimulationModel.hh"
12
#include "G4ParticleTable.hh"
13
#include "G4ThreeVector.hh"
14
#include "G4FastTrack.hh"
15
#include "G4TouchableHandle.hh"
16
#include "G4Navigator.hh"
17
18
#include <string>
19
#include <vector>
20
21
#include <TFile.h>
22
#include <TTree.h>
23
#include <TH1F.h>
24
#include <TH2F.h>
25
#include <TProfile.h>
26
27
class
G4Step;
28
29
class
HFGflash
{
30
public
:
31
HFGflash
(
edm::ParameterSet
const
&
p
);
32
virtual
~HFGflash
();
33
34
struct
Hit
{
35
Hit
() {}
36
G4ThreeVector
position
;
37
int
depth
= 0;
38
double
time
= 0.;
39
double
edep
= 0.;
40
double
pez
= 0.;
41
};
42
43
std::vector<Hit>
gfParameterization
(
const
G4Step *aStep,
bool
onlyLong =
false
);
44
45
private
:
46
GflashTrajectory
*
theHelix
;
47
G4Step *
theGflashStep
;
48
G4Navigator *
theGflashNavigator
;
49
G4TouchableHandle
theGflashTouchableHandle
;
50
51
Gflash::CalorimeterNumber
jCalorimeter
;
52
53
bool
theWatcherOn
;
54
bool
theFillHisto
;
55
G4double
theBField
;
56
57
G4int
showerType
;
58
G4double
energyToDeposit
;
59
G4double
energyScale
[
Gflash::kNumberCalorimeter
];
60
G4double
longHcal
[
Gflash::NPar
];
61
G4double
longEcal
[
Gflash::NPar
];
62
G4double
lateralPar
[4];
63
64
TH1F *
em_incE
, *
em_ssp_rho
, *
em_ssp_z
, *
em_long
, *
em_lateral
;
65
TH1F *
em_long_sd
, *
em_lateral_sd
, *
em_nSpots_sd
, *
em_ze_ratio
;
66
TH2F *
em_2d
, *
em_2d_sd
, *
em_ze
, *
em_ratio
, *
em_ratio_selected
;
67
};
68
69
#endif // HFGflash_h
HFGflash::em_ssp_rho
TH1F * em_ssp_rho
Definition:
HFGflash.h:64
GflashTrajectory.h
GflashEMShowerProfile.h
HFGflash::em_ratio_selected
TH2F * em_ratio_selected
Definition:
HFGflash.h:66
Gflash::kNumberCalorimeter
Definition:
GflashNameSpace.h:18
HFGflash::theGflashStep
G4Step * theGflashStep
Definition:
HFGflash.h:47
MessageLogger.h
HFGflash::longEcal
G4double longEcal[Gflash::NPar]
Definition:
HFGflash.h:61
HFGflash::Hit::edep
double edep
Definition:
HFGflash.h:39
HFGflash::showerType
G4int showerType
Definition:
HFGflash.h:57
HFGflash::Hit::time
double time
Definition:
HFGflash.h:38
GflashNameSpace.h
HFGflash::em_ze_ratio
TH1F * em_ze_ratio
Definition:
HFGflash.h:65
HFGflash::~HFGflash
virtual ~HFGflash()
Definition:
HFGflash.cc:122
HFGflash::HFGflash
HFGflash(edm::ParameterSet const &p)
Definition:
HFGflash.cc:37
GflashTrajectory
Definition:
GflashTrajectory.h:6
Gflash::NPar
const int NPar
Definition:
GflashNameSpace.h:87
HFGflash::Hit::position
G4ThreeVector position
Definition:
HFGflash.h:36
HFGflash::theGflashTouchableHandle
G4TouchableHandle theGflashTouchableHandle
Definition:
HFGflash.h:49
HFGflash::Hit::Hit
Hit()
Definition:
HFGflash.h:35
HFGflash::em_long_sd
TH1F * em_long_sd
Definition:
HFGflash.h:65
HFGflash::jCalorimeter
Gflash::CalorimeterNumber jCalorimeter
Definition:
HFGflash.h:51
HFGflash::gfParameterization
std::vector< Hit > gfParameterization(const G4Step *aStep, bool onlyLong=false)
Definition:
HFGflash.cc:128
HFGflash::longHcal
G4double longHcal[Gflash::NPar]
Definition:
HFGflash.h:60
HFGflash::em_lateral_sd
TH1F * em_lateral_sd
Definition:
HFGflash.h:65
HFGflash::theBField
G4double theBField
Definition:
HFGflash.h:55
edm::ParameterSet
Definition:
ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
HFGflash::Hit::pez
double pez
Definition:
HFGflash.h:40
HFGflash::theWatcherOn
bool theWatcherOn
Definition:
HFGflash.h:53
HFGflash::em_incE
TH1F * em_incE
Definition:
HFGflash.h:64
HFGflash::Hit
Definition:
HFGflash.h:34
HFGflash::em_long
TH1F * em_long
Definition:
HFGflash.h:64
HFGflash::em_ssp_z
TH1F * em_ssp_z
Definition:
HFGflash.h:64
HFGflash::lateralPar
G4double lateralPar[4]
Definition:
HFGflash.h:62
Gflash::CalorimeterNumber
CalorimeterNumber
Definition:
GflashNameSpace.h:10
HFGflash::em_2d_sd
TH2F * em_2d_sd
Definition:
HFGflash.h:66
HFGflash::theHelix
GflashTrajectory * theHelix
Definition:
HFGflash.h:46
HFGflash::energyToDeposit
G4double energyToDeposit
Definition:
HFGflash.h:58
HFGflash::theGflashNavigator
G4Navigator * theGflashNavigator
Definition:
HFGflash.h:48
HFGflash
Definition:
HFGflash.h:29
HFGflash::em_ratio
TH2F * em_ratio
Definition:
HFGflash.h:66
HFGflash::energyScale
G4double energyScale[Gflash::kNumberCalorimeter]
Definition:
HFGflash.h:59
HFGflash::theFillHisto
bool theFillHisto
Definition:
HFGflash.h:54
HFGflash::em_lateral
TH1F * em_lateral
Definition:
HFGflash.h:64
ParameterSet.h
HFGflash::em_nSpots_sd
TH1F * em_nSpots_sd
Definition:
HFGflash.h:65
HFGflash::em_2d
TH2F * em_2d
Definition:
HFGflash.h:66
HFGflash::Hit::depth
int depth
Definition:
HFGflash.h:37
HFGflash::em_ze
TH2F * em_ze
Definition:
HFGflash.h:66
Generated for CMSSW Reference Manual by
1.8.16