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

#include <TTOFAna.h>

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

Public Member Functions

 TTOFAna ()
 
 TTOFAna (std::string a_configFile)
 
void buildThetaEstimationPlots (std::string a_outFile="detThetatHist.root", double a_startLight=1.4, double a_stopLight=14, double a_step=0.8)
 
void testTransform ()
 
void addGraphicalPIDCuts (string a_cutFile)
 
vector< TH2F * > buildRotatedPIDPlot (int a_intP1, int a_intP2, int a_intP3, int a_intP4, double a_lightThreshold=2.0, double a_maxLight=10.0, double a_theta=-18.3)
 
double calcFOM (TH2F *a_histX1, TH2F *a_histX2)
 
void plotFOMVsEner (TH2F *a_hist)
 
void getPIDSlice (double a_eLow, double a_eHigh)
 
double fitPIDSlice (double a_ener, double a_mean1=-.038, double a_mean2=-.03, double a_amp1=100, double a_amp2=100, double a_sig1=.001, double a_sig2=.001)
 
void makeFOMVsLight ()
 
void procFileToCLYCTOTWFTree (std::string a_outFileName)
 
std::vector< TH2F * > buildResponseFunction (double a_deltaT=4.)
 
void testUnfoldingWithReg (TH2F *a_response, TH1F *a_lightYield, TH1F *a_guessFlux)
 
- Public Member Functions inherited from PostProcBase< TTOFEvent >
 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...
 

Public Attributes

TH2F * m_pidVsLight
 
TH1D * m_currLightSlice
 
std::map< double, vector< double > > m_fomFits
 
std::map< double, Eigen::MatrixXf > m_fomFitCovs
 
std::map< string, bool > m_cutState
 

Additional Inherited Members

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

Detailed Description

this intent of this class is to manage the analysis of data products relating to a TTOF(tagged time of flight) system. The goals are two fold. First, to take the TTOFEvent trees generated by the TTOFPostProcessing algorithm and accumulate them with cuts to produce derived calibrated histograms. Second, to take the TTOFEvent trees generated by TTOFSimAna and produce quantities necessary for second order calibrations and for an efficiency calculation

Constructor & Destructor Documentation

◆ TTOFAna() [1/2]

TTOFAna::TTOFAna ( )

default construtor puts the class into a rather uninteresting state it really requires a config file to do anything meaningful this may get moved to private as a result

◆ TTOFAna() [2/2]

TTOFAna::TTOFAna ( std::string  a_configFile)

this constuctor puts the class into a working state from the config file perspective, you will still need to add files for processing

Here is the call graph for this function:

Member Function Documentation

◆ addGraphicalPIDCuts()

void TTOFAna::addGraphicalPIDCuts ( string  a_cutFile)
Here is the call graph for this function:

◆ buildResponseFunction()

std::vector< TH2F * > TTOFAna::buildResponseFunction ( double  a_deltaT = 4.)
Here is the call graph for this function:

◆ buildRotatedPIDPlot()

vector< TH2F * > TTOFAna::buildRotatedPIDPlot ( int  a_intP1,
int  a_intP2,
int  a_intP3,
int  a_intP4,
double  a_lightThreshold = 2.0,
double  a_maxLight = 10.0,
double  a_theta = -18.3 
)

sample we start the integrations from

getting the max peak amplitude

getting the sample corresponding to max amplitude

◆ buildThetaEstimationPlots()

void TTOFAna::buildThetaEstimationPlots ( std::string  a_outFile = "detThetatHist.root",
double  a_startLight = 1.4,
double  a_stopLight = 14,
double  a_step = 0.8 
)

this function builds histograms that are target light segments of pid plots used to determing the mixing ratios for shape variables !!!!!!!!!!hard coded cuts watchout!!!!!!!!!!!!!

this function builds histograms that are target light segments of pid plots used to determing the mixing ratios for shape variables

◆ calcFOM()

double TTOFAna::calcFOM ( TH2F *  a_histX1,
TH2F *  a_histX2 
)

◆ fitPIDSlice()

double TTOFAna::fitPIDSlice ( double  a_ener,
double  a_mean1 = -.038,
double  a_mean2 = -.03,
double  a_amp1 = 100,
double  a_amp2 = 100,
double  a_sig1 = .001,
double  a_sig2 = .001 
)

◆ getPIDSlice()

void TTOFAna::getPIDSlice ( double  a_eLow,
double  a_eHigh 
)

◆ makeFOMVsLight()

void TTOFAna::makeFOMVsLight ( )
Here is the call graph for this function:

◆ plotFOMVsEner()

void TTOFAna::plotFOMVsEner ( TH2F *  a_hist)
Here is the call graph for this function:

◆ procFileToCLYCTOTWFTree()

void TTOFAna::procFileToCLYCTOTWFTree ( std::string  a_outFileName)
Here is the call graph for this function:

◆ testTransform()

void TTOFAna::testTransform ( )

this is junk code to see if the above derived transform is working

this function builds histograms that are target light segments of pid plots used to determing the mixing ratios for shape variables

◆ testUnfoldingWithReg()

void TTOFAna::testUnfoldingWithReg ( TH2F *  a_response,
TH1F *  a_lightYield,
TH1F *  a_guessFlux 
)

Unfolds light yield spectrum using a 2nd derivative based regularization with GCV to choose the regularization parameter a_response -> neutron energy X light yield requires binning for light yield and response to be the same guess flux is not used in calculation, only as a visual comparison for unfolded spectrum also does direct inversion using LU-decomposition of response

Here is the call graph for this function:

Member Data Documentation

◆ m_currLightSlice

TH1D* TTOFAna::m_currLightSlice

◆ m_cutState

std::map<string, bool> TTOFAna::m_cutState

this map reflects the possible cuts that can be applied to the data they are inactive by default. Currenty managed cuts are targetPSDNeutron scatterPSDNeutron targetPSDGamma scatterPSDGamma minScatterLight minTargetLight matchWindow targetPSDNeutron (2D cut) startPSDNeutron (2D cut) targetPSDGamma (2D cut) startPSDGamma (2D cut) minStartLight targetLight coinTOF neutronEnergy targLightVsCoinTOF (2D cut)

◆ m_fomFitCovs

std::map<double, Eigen::MatrixXf> TTOFAna::m_fomFitCovs

◆ m_fomFits

std::map<double, vector<double> > TTOFAna::m_fomFits

◆ m_pidVsLight

TH2F* TTOFAna::m_pidVsLight

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