Go to the documentation of this file.
10 #ifndef CastorShowerLibraryMaker_h
11 #define CastorShowerLibraryMaker_h
21 #include "G4RunManager.hh"
22 #include "G4SDManager.hh"
26 #include "G4PrimaryVertex.hh"
27 #include "G4VProcess.hh"
28 #include "G4HCofThisEvent.hh"
29 #include "G4UserEventAction.hh"
30 #include "CLHEP/Units/SystemOfUnits.h"
31 #include "CLHEP/Units/PhysicalConstants.h"
53 #include <CLHEP/Random/Randomize.h>
62 #include "TLorentzVector.h"
63 #include "TUnixSystem.h"
80 typedef std::vector<std::vector<std::vector<std::vector<CastorShowerEvent> > > >
SLBin3D;
86 public Observer<const BeginOfEvent*>,
156 void GetKinematics(G4PrimaryParticle*,
double&
px,
double&
py,
double& pz,
double& pInit,
double&
eta,
double&
phi);
159 std::vector<G4PrimaryParticle*>
GetPrimary(
const G4Event*);
181 #endif // CastorShowerLibraryMaker_h
std::vector< G4PrimaryParticle * > thePrims
std::vector< int > PGParticleIDs
bool FillShowerEvent(CaloG4HitCollection *, CastorShowerEvent *, int)
int & SLnEvtInBinPhi(int ebin, int etabin, int phibin)
unsigned int nEvtPerBinEta
unsigned int nEvtPerBinPhi
void printSLstatus(int, int, int)
~CastorShowerLibraryMaker() override
std::string eventNtFileName
void GetKinematics(G4PrimaryParticle *, double &px, double &py, double &pz, double &pInit, double &eta, double &phi)
int & SLnEvtInBinEta(int ebin, int etabin)
bool SLisEBinFilled(int ebin)
void KillSecondaries(const G4Step *step)
CastorShowerLibraryInfo SLInfo
void update(const BeginOfJob *run) override
This routine will be called when the appropriate signal arrives.
bool SLisEtaBinFilled(int ebin, int etabin)
CastorShowerLibraryInfo * hadInfo
std::vector< std::vector< std::vector< int > > > nEvtInBinPhi
CastorShowerLibraryInfo * emInfo
int FindEnergyBin(double e)
std::map< int, std::set< int > > MapOfSecondaries
std::vector< std::vector< int > > nEvtInBinEta
std::map< int, G4ThreeVector > PrimaryPosition
std::map< int, G4ThreeVector > PrimaryMomentum
CastorShowerEvent * hadShower
bool DeActivatePhysicsProcess
CastorShowerEvent * emShower
bool SLacceptEvent(int, int, int)
int FindEtaBin(double eta)
std::vector< double > SLPhiBins
bool SLisPhiBinFilled(int ebin, int etabin, int phibin)
std::vector< double > SLEtaBins
void GetMissingEnergy(CaloG4HitCollection *, double &, double &)
int FindPhiBin(double phi)
void InitSLHolder(ShowerLib &)
std::vector< G4PrimaryParticle * > GetPrimary(const G4Event *)
CastorShowerLibraryMaker(const edm::ParameterSet &p)
G4THitsCollection< CaloG4Hit > CaloG4HitCollection
std::vector< std::vector< std::vector< std::vector< CastorShowerEvent > > > > SLBin3D
int & SLnEvtInBinE(int ebin)
std::vector< double > SLEnergyBins
std::vector< int > nEvtInBinE