6 #include "art_root_io/TFileService.h" 7 #include "art_root_io/TFileDirectory.h" 9 #include "artg4tk/services/DetectorHolder_service.hh" 20 #include "CLHEP/Units/SystemOfUnits.h" 24 class CheckSimEnergyDeposit;
36 TH1F* _hnHits{
nullptr};
37 TH1F* _hEdep{
nullptr};
38 TH1F* _hnumPhotons{
nullptr};
39 TH1F* _hLandauPhotons{
nullptr};
40 TH1F* _hLandauEdep{
nullptr};
41 TH1F* _hSteplength{
nullptr};
42 TNtuple* _ntuple{
nullptr};
52 _hnHits = tfs->make<TH1F>(
"hnHits",
"Number of SimEnergyDeposits", 300, 0, 0);
53 _hEdep = tfs->make<TH1F>(
"hEdep",
"Energy deposition in SimEnergyDeposits", 100,0.,0.02);
54 _hnumPhotons = tfs->make<TH1F>(
"hnumPhotons",
"number of photons per SimEnergyDeposit", 100,0.,500.);
55 _hLandauPhotons= tfs->make<TH1F>(
"hLandauPhotons",
"number of photons/cm", 100,0.,2000000.);
56 _hLandauEdep= tfs->make<TH1F>(
"hLandauEdep",
"Edep/cm", 100,0.,10.);
57 _hSteplength= tfs->make<TH1F>(
"hSteplength",
"geant 4 step length", 100,0.,0.05);
58 _ntuple = tfs->make<TNtuple>(
"ntuple",
"Demo ntuple",
59 "Event:Edep:em_Edep:nonem_Edep:xpos:ypos:zpos:time");
67 for (
auto const& sims : allSims) {
68 double sumPhotons=0.0;
71 for (
auto const&
hit : *sims) {
74 sumPhotons= sumPhotons +
hit.NumPhotons();
75 sumE= sumE +
hit.Energy();
def analyze(root, level, gtrees, gbranches, doprint)
CheckSimEnergyDeposit(fhicl::ParameterSet const &p)
#define DEFINE_ART_MODULE(klass)
Detector simulation of raw signals on wires.
std::vector< SimEnergyDeposit > SimEnergyDepositCollection
contains information for a single step in the detector simulation
void analyze(const art::Event &event) override
Event finding and building.