Berkeley Nuclear Data Software
Public Member Functions | List of all members
GenesisSimAnalysis Class Reference

#include <GenSimAnalysis.h>

Inheritance diagram for GenesisSimAnalysis:
Inheritance graph
[legend]
Collaboration diagram for GenesisSimAnalysis:
Collaboration graph
[legend]

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 ()
 
- Public Member Functions inherited from NSDG4::SimAna
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 ()
 
- Public Member Functions inherited from PostProcBase< FullEvent >
 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

- Protected Attributes inherited from PostProcBase< FullEvent >
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...
 

Member Function Documentation

◆ buildAnalysisTree()

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

Here is the call graph for this function:

◆ buildResponseFunction()

void GenesisSimAnalysis::buildResponseFunction ( string  a_analysisTree,
string  a_configFile 
)

takes AnalysisTree and constructs a response matrix

◆ calcSolidAngle()

void GenesisSimAnalysis::calcSolidAngle ( )
Here is the call graph for this function:

◆ generateBasicSpectrumVol()

void GenesisSimAnalysis::generateBasicSpectrumVol ( bool  a_useEnergyBroadening)

std::sort(time.begin(),time.end());

Here is the call graph for this function:

◆ generateSpectrumVeto()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ respKDE1DInt()

std::map< double, double > GenesisSimAnalysis::respKDE1DInt ( double  a_mean,
double  a_sig,
double  a_nbins,
double  a_max 
)
Here is the caller graph for this function:

◆ sumInitEHists()

TH1F * GenesisSimAnalysis::sumInitEHists ( vector< string >  a_fileNames)
Here is the caller graph for this function:

The documentation for this class was generated from the following files: