ATLAS Offline Software
LArG4/LArG4H6SD/src/RadLenNtuple.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARG4H6SD_RadLenNtuple_H
6 #define LARG4H6SD_RadLenNtuple_H
7 
8 #include "G4UserSteppingAction.hh"
9 #include "G4UserEventAction.hh"
10 
11 #include <string>
12 #include "GaudiKernel/NTuple.h"
13 #include <vector>
14 
15 // Event information
16 #include "StoreGate/ReadHandle.h"
18 
19 
20 namespace G4UA
21 {
23  class RadLenNtuple final: public G4UserSteppingAction, public G4UserEventAction {
24 
25  public:
26 
27  struct Config
28  {
29  std::string mcEventCollName="GEN_EVENT";
30  int verboseLevel=3;
31  };
32 
33  RadLenNtuple(const Config& config): m_mcEvtColl(config.mcEventCollName), m_verboseLevel(config.verboseLevel) {}
34  virtual void BeginOfEventAction(const G4Event*) override;
35  virtual void EndOfEventAction(const G4Event*) override;
36  virtual void UserSteppingAction(const G4Step*) override;
37 
39 
40 
41  private:
42 
43  NTuple::Item<float> m_tot_x;
44  NTuple::Item<float> m_tot_ni;
45  NTuple::Item<float> m_cryo_x;
46  NTuple::Item<float> m_cryo_ni;
47  NTuple::Item<float> m_em_x;
48  NTuple::Item<float> m_em_ni;
49  NTuple::Item<float> m_hec_x;
50  NTuple::Item<float> m_hec_ni;
51  NTuple::Item<float> m_fcal_x;
52  NTuple::Item<float> m_fcal_ni;
53  NTuple::Item<float> m_fcal_y;
54  NTuple::Item<float> m_em_y;
55  NTuple::Item<float> m_hec_y;
56  NTuple::Item<float> m_cryo_y;
57  NTuple::Item<float> m_xcoord;
58 
59  // Data access
62 
64  };
65 }
66 #endif
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::RadLenNtuple::BeginOfEventAction
virtual void BeginOfEventAction(const G4Event *) override
SG::ReadHandle< McEventCollection >
G4UA::RadLenNtuple::m_fcal_x
NTuple::Item< float > m_fcal_x
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:51
G4UA::RadLenNtuple::m_em_y
NTuple::Item< float > m_em_y
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:54
G4UA::RadLenNtuple::initialize
virtual StatusCode initialize()
G4UA::RadLenNtuple::EndOfEventAction
virtual void EndOfEventAction(const G4Event *) override
G4UA::RadLenNtuple::RadLenNtuple
RadLenNtuple(const Config &config)
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:33
G4UA::RadLenNtuple::m_em_x
NTuple::Item< float > m_em_x
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:47
G4UA::RadLenNtuple::m_tot_ni
NTuple::Item< float > m_tot_ni
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:44
G4UA::RadLenNtuple::m_em_ni
NTuple::Item< float > m_em_ni
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:48
G4UA::RadLenNtuple::Config::mcEventCollName
std::string mcEventCollName
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:29
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::RadLenNtuple::m_mcEvtColl
SG::ReadHandle< McEventCollection > m_mcEvtColl
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:60
G4UA::RadLenNtuple::m_tot_x
NTuple::Item< float > m_tot_x
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:43
G4UA::RadLenNtuple::Config
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:28
G4UA::RadLenNtuple::Config::verboseLevel
int verboseLevel
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:30
McEventCollection.h
G4UA::RadLenNtuple::m_cryo_y
NTuple::Item< float > m_cryo_y
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:56
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
G4UA::RadLenNtuple::m_hec_ni
NTuple::Item< float > m_hec_ni
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:50
G4UA::RadLenNtuple::m_hec_x
NTuple::Item< float > m_hec_x
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:49
G4UA::RadLenNtuple::m_has_em
bool m_has_em
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:63
G4UA::RadLenNtuple::m_xcoord
NTuple::Item< float > m_xcoord
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:57
G4UA::RadLenNtuple::m_cryo_ni
NTuple::Item< float > m_cryo_ni
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:46
G4UA::RadLenNtuple::m_fcal_ni
NTuple::Item< float > m_fcal_ni
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:52
G4UA::RadLenNtuple::m_has_hec
bool m_has_hec
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:63
G4UA::RadLenNtuple::m_cryo_x
NTuple::Item< float > m_cryo_x
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:45
G4UA::RadLenNtuple::m_hec_y
NTuple::Item< float > m_hec_y
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:55
G4UA::RadLenNtuple::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
G4UA::RadLenNtuple::m_fcal_y
NTuple::Item< float > m_fcal_y
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:53
G4UA::RadLenNtuple::m_has_fcal
bool m_has_fcal
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:63
ReadHandle.h
Handle class for reading from StoreGate.
G4UA::RadLenNtuple::m_has_cryo
bool m_has_cryo
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:63
G4UA::RadLenNtuple::m_verboseLevel
int m_verboseLevel
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:61
G4UA::RadLenNtuple
NEEDS DOCUMENTATION.
Definition: LArG4/LArG4H6SD/src/RadLenNtuple.h:23