Berkeley Nuclear Data Software
|
#include <GenSimAnalysis.h>
Public Member Functions | |
void | buildAnalysisTree (string a_outFileName) |
void | buildResponseFunction (string a_analysisTree, string a_configFile) |
takes AnalysisTree and constructs a response matrix More... | |
std::map< double, double > | respKDE1DInt (double a_mean, double a_sig, double a_nbins, double a_max) |
void | generateSpectrumVeto (string a_outFileName, bool a_useEnergyBroadening, std::map< int, vector< double >> a_deadLayer, std::map< int, vector< double >> a_innerDLlength, std::map< int, vector< double >> a_innerDLrad, vector< string > a_fileNames) |
TH1F * | sumInitEHists (vector< string > a_fileNames) |
void | generateBasicSpectrumVol (bool a_useEnergyBroadening) |
void | calcSolidAngle () |
![]() | |
void | printTrackInfo (int a_entry) |
std::ostream & | printEvents (int a_num=1, std::vector< std::string > a_partList={}, std::ostream &a_stream=std::cout) |
void | accumulateFirstStepInfo (std::string a_lvName, std::string a_particleName="") |
void | vertexStepInfoTree (std::string a_lvName, std::string a_particleName="") |
void | createParticleTTree (std::string a_lvName, std::vector< std::string > a_ignoreList) |
creates a tree with the particle names and times of birth More... | |
void | createEnergyDepositionTree (std::string a_lvName, std::vector< std::string > a_particleNames) |
in the volume specified and the vertex info More... | |
void | createTotalEnergyDepositionTree (std::string a_lvName) |
void | investigateMultipleScatters (std::string a_lvName) |
void | createLightOutputTree (std::string a_lvName, std::vector< std::string > a_particleNames, std::string a_scintName="EJ309", std::string a_outFileName="") |
void | createPartTimeEDTree (std::string a_lvName, double a_tCutWindow) |
void | createFluxTree (std::string a_lvName, std::string a_particleName, std::vector< double > a_fluxBoundaryList, int a_dim, std::string a_outfileName="fluxBoundaryTree.root") |
TH1 * | getTotalEnergyHistory () |
FullEvent | getFullEvent (int a_eventNumber) |
virtual | ~SimAna () |
![]() | |
PostProcBase () | |
defualt constructor puts class into a working state More... | |
virtual int | addFile (string a_filename) |
virtual int | addFilesFromDirectory (string a_dir, string a_ext) |
virtual int | loadEvent (int a_eventNumber) |
loads a specified event into memory More... | |
virtual int | fileNotLoaded () |
tests if a file is loaded and prinst a message if not More... | |
virtual int | clearFileState () |
virtual std::ostream & | printState (std::ostream &a_stream=std::cout) |
virtual | ~PostProcBase () |
TChain * | getTrees () |
danger danger, use this if you know what you are doing. More... | |
Additional Inherited Members | |
![]() | |
TChain * | m_trees |
for associating the trees from files More... | |
string | m_treeName |
for storing the name of the tree More... | |
string | m_branchName |
for storing the name of the branch More... | |
FullEvent * | m_currentEvent |
for storing the current event More... | |
vector< string > | m_loadedFiles |
for storing a list of loaded files More... | |
bool | m_hasFile |
flag for wheter a file has been loaded More... | |
void GenesisSimAnalysis::buildAnalysisTree | ( | string | a_outFileName | ) |
takes raw simulation output and builds a tree with information for response matrix building
initialize the tree
light-yield
arrival time of neutron
detector ID
whether neutron scattered prior to interaction in scint
number of >.5 MeV protons from a given source neutron
initial neutron energy
initial neutron azimuthal angle
initial neutron polar angle
re-zero accumulated quantities
get initial values
loop over tracks from this source particle
maps for detector-id and quantities - does not allow for >1 separate interactions in same volume
only looking at scintillators
looking at information about neutron prior to interaction in scintillator
if neutron lost >.5 MeV and didn't lose energy any prior
if it was a source neutron
create entry in this map to signal a "good" neutron
to get time of first interaction
look for detector ID in eDep map
add the interaction time
containers for events that will get added to tree
loop over all accumulated proton light yields
check if this came from a "good neutron"
count number of >.5 MeV protons from this source neutron
add scintillator hits to tree
void GenesisSimAnalysis::buildResponseFunction | ( | string | a_analysisTree, |
string | a_configFile | ||
) |
takes AnalysisTree and constructs a response matrix
void GenesisSimAnalysis::calcSolidAngle | ( | ) |
void GenesisSimAnalysis::generateBasicSpectrumVol | ( | bool | a_useEnergyBroadening | ) |
std::sort(time.begin(),time.end());
void GenesisSimAnalysis::generateSpectrumVeto | ( | string | a_outFileName, |
bool | a_useEnergyBroadening, | ||
std::map< int, vector< double >> | a_deadLayer, | ||
std::map< int, vector< double >> | a_innerDLlength, | ||
std::map< int, vector< double >> | a_innerDLrad, | ||
vector< string > | a_fileNames | ||
) |
map of rotation matrices to original clover construction
distance from leaf front face z=0
location of center of clover
initialize histograms
45 degree rotation about z-axis
loop over tracks from this source particle
maps for detector-id and quantities - does not allow for >1 separate interactions in same volume first group is clover ID, next is volume name
only looking at charged particles
are we in clover or BGO
get identifying info
initialize vector for current step location in lab frame and translate whole clover to origin
initialize vector for step in leaf frame
translate into leaf frame 45 degree rotation * clover rotation * position
longitudinal distance with crystal front at 0
radial distance from z-axis
fill the interaction location map
check if we're behind the front dead layer
check if were outside inner dead layer radius
check if were in front of back dead layer
check if were in front of inner dead layer height
determine if there's a BGO coincidence in this clover
accumulate leaf events --> add-back
do singles and singles/veto
accumulate for add-back
std::map< double, double > GenesisSimAnalysis::respKDE1DInt | ( | double | a_mean, |
double | a_sig, | ||
double | a_nbins, | ||
double | a_max | ||
) |
TH1F * GenesisSimAnalysis::sumInitEHists | ( | vector< string > | a_fileNames | ) |