GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TAngularCorrelation Class Reference

Detailed Description

An angular correlation class

Definition at line 18 of file TAngularCorrelation.h.

Public Member Functions

 TAngularCorrelation ()
 
 TAngularCorrelation (const TAngularCorrelation &)=default
 
 TAngularCorrelation (TAngularCorrelation &&) noexcept=default
 
 ~TAngularCorrelation () override
 
Int_t AssignGroupMaps (std::vector< Int_t > &group, std::vector< Double_t > &groupangles)
 
Bool_t CheckGroupAngles (std::vector< Double_t > &groupangles) const
 
Bool_t CheckGroups (std::vector< Int_t > &group) const
 
Bool_t CheckMaps (Bool_t fold, Bool_t group)
 
Bool_t CheckModifiedHistogram (TH1 *hst) const
 
void ClearModifiedMaps ()
 
TH2D * Create2DSlice (THnSparse *hst, Double_t min, Double_t max, Bool_t fold, Bool_t group)
 
TH2D * Create2DSlice (TObjArray *hstarray, Double_t min, Double_t max, Bool_t fold, Bool_t group)
 
TGraphAsymmErrors * CreateGraphFromHst ()
 
TGraphAsymmErrors * CreateGraphFromHst (TH1 *hst, Bool_t fold, Bool_t group)
 
void DisplayDiagnostics (TCanvas *c_diag)
 
TH1D * DivideByWeights (TH1 *hst, Bool_t fold, Bool_t group)
 
TH1D * FitSlices (TH2 *hst, TPeak *peak, Bool_t visualization)
 
Int_t GenerateGroupMaps (std::vector< Int_t > &arraynumbers, std::vector< Int_t > &distances, std::vector< Int_t > &group, std::vector< Double_t > &groupangles)
 
Int_t GenerateMaps (Int_t detectors, Int_t distance)
 
Int_t GenerateMaps (std::vector< Int_t > &arraynumbers, std::vector< Int_t > &distances)
 
std::vector< Double_t > GenerateModifiedAngles (Bool_t fold, Bool_t group)
 
std::vector< Int_t > GenerateModifiedIndices (Bool_t fold, Bool_t group)
 
Int_t GenerateModifiedMaps (Bool_t fold, Bool_t group)
 
std::vector< Int_t > GenerateModifiedWeights (std::vector< Int_t > &modindices, std::vector< Int_t > &weights)
 
TH1D * Get1DSlice (Int_t index)
 
Double_t GetAngleFromIndex (Int_t index)
 
Int_t GetAngularIndex (Int_t arraynum1, Int_t arraynum2)
 
TH1D * GetCentroidHst ()
 
TH1D * GetChi2Hst ()
 
TH1D * GetFWHMHst ()
 
Double_t GetGroupAngleFromIndex (Int_t gindex)
 
Int_t GetGroupFromIndex (Int_t index)
 
TH1D * GetIndexCorrelation ()
 
Double_t GetModifiedAngleFromIndex (Int_t modindex)
 
Int_t GetModifiedIndex (Int_t index)
 
Int_t GetModifiedWeight (Int_t modindex)
 
Int_t GetNumGroups () const
 
Int_t GetNumModIndices () const
 
TPeakGetPeak (Int_t index)
 
Double_t GetWeightFromIndex (Int_t index)
 
Int_t GetWeightsSize () const
 
TH1D * IntegralSlices (TH2 *hst, Double_t min, Double_t max)
 
TH2D * Modify2DSlice (TH2 *hst, Bool_t fold, Bool_t group)
 
TAngularCorrelationoperator= (const TAngularCorrelation &)=default
 
TAngularCorrelationoperator= (TAngularCorrelation &&) noexcept=default
 
void PrintAngleMap ()
 
void PrintGroupAngleMap ()
 
void PrintGroupIndexMap ()
 
void PrintIndexMap ()
 
void PrintModifiedAngleMap ()
 
void PrintModifiedConditions () const
 
void PrintModifiedIndexMap ()
 
void PrintModifiedWeights ()
 
void PrintWeights ()
 
void ScaleSingleIndex (TH1 *hst, Int_t index, Double_t factor)
 
void Set1DSlice (Int_t index, TH1D *slice)
 
void SetIndexCorrelation (TH1D *hst)
 
void SetPeak (Int_t index, TPeak *peak)
 
void UpdateDiagnostics ()
 
void UpdateIndexCorrelation ()
 
void UpdatePeak (Int_t index, TPeak *peak)
 

Static Public Member Functions

static std::vector< Double_t > GenerateAngleMap (std::vector< Int_t > &arraynumbers, std::vector< Int_t > &distances)
 
static std::vector< Double_t > GenerateFoldedAngles (std::vector< Double_t > &anglemap)
 
static std::vector< Int_t > GenerateFoldedIndices (std::vector< Double_t > &folds, std::vector< Double_t > &anglemap)
 
static std::map< Int_t, std::map< Int_t, Int_t > > GenerateIndexMap (std::vector< Int_t > &arraynumbers, std::vector< Int_t > &distances, std::vector< Double_t > &anglemap)
 
static std::vector< Int_t > GenerateWeights (std::vector< Int_t > &arraynumbers, std::vector< Int_t > &distances, std::map< Int_t, std::map< Int_t, Int_t > > &indexmap)
 

Private Attributes

std::map< Int_t, TH1D * > f1DSlices
 
std::vector< Double_t > fAngleMap
 
TH1D * fCentroid {nullptr}
 
TH1D * fChi2 {nullptr}
 
Bool_t fFolded
 
TH1D * fFWHM {nullptr}
 
std::vector< Double_t > fGroupAngles
 
Bool_t fGrouped
 
std::vector< Int_t > fGroups
 
TH1D * fIndexCorrelation
 
std::map< Int_t, std::map< Int_t, Int_t > > fIndexMap
 
Int_t fIndexMapSize
 
std::vector< Double_t > fModifiedAngles
 
std::vector< Int_t > fModifiedIndices
 
std::vector< Int_t > fModifiedWeights
 
Int_t fNumIndices {0}
 
std::map< Int_t, TPeak * > fPeaks
 
std::vector< Int_t > fWeights
 
+ Inheritance diagram for TAngularCorrelation:
+ Collaboration diagram for TAngularCorrelation:

Constructor & Destructor Documentation

◆ TAngularCorrelation() [1/3]

TAngularCorrelation::TAngularCorrelation ( )

Angular correlation default constructor

Definition at line 16 of file TAngularCorrelation.cxx.

◆ TAngularCorrelation() [2/3]

TAngularCorrelation::TAngularCorrelation ( const TAngularCorrelation & )
default

◆ TAngularCorrelation() [3/3]

TAngularCorrelation::TAngularCorrelation ( TAngularCorrelation && )
defaultnoexcept

◆ ~TAngularCorrelation()

TAngularCorrelation::~TAngularCorrelation ( )
override

Angular correlation default destructor

Definition at line 24 of file TAngularCorrelation.cxx.

References fIndexCorrelation.

Member Function Documentation

◆ AssignGroupMaps()

Int_t TAngularCorrelation::AssignGroupMaps ( std::vector< Int_t > & group,
std::vector< Double_t > & groupangles )

Assigns maps for Grouped Angular Indexes Including group angle versus group index and angular index versus group index

Parameters
[in]groupVector (user input)
[in]groupanglesVector (user input)

Definition at line 1410 of file TAngularCorrelation.cxx.

References CheckGroupAngles(), CheckGroups(), fGroupAngles, fGroups, and GetNumGroups().

Referenced by GenerateGroupMaps().

◆ CheckGroupAngles()

Bool_t TAngularCorrelation::CheckGroupAngles ( std::vector< Double_t > & groupangles) const

Check angles for groups

Parameters
[in]groupanglesvector (user input)

This function is called by GenerateGroupMaps()

Definition at line 1191 of file TAngularCorrelation.cxx.

References GetNumGroups().

Referenced by AssignGroupMaps().

◆ CheckGroups()

Bool_t TAngularCorrelation::CheckGroups ( std::vector< Int_t > & group) const

Check Groups for Angular Indexes

Parameters
[in]groupvector of assigned groups for angular indexes (this is user input)

This function is called by GenerateGroupMaps()

Definition at line 1136 of file TAngularCorrelation.cxx.

References fNumIndices.

Referenced by AssignGroupMaps().

◆ CheckMaps()

Bool_t TAngularCorrelation::CheckMaps ( Bool_t fold,
Bool_t group )

Checks that maps are consistent with each other need to input whether the angles are folded, grouped, or folded and grouped

Definition at line 693 of file TAngularCorrelation.cxx.

References fAngleMap, fModifiedAngles, fModifiedWeights, and fWeights.

◆ CheckModifiedHistogram()

Bool_t TAngularCorrelation::CheckModifiedHistogram ( TH1 * hst) const

Compares 1D histogram to current AC modified settings

Parameters
[in]hsthistogram

Definition at line 1753 of file TAngularCorrelation.cxx.

References GetNumModIndices(), and PrintModifiedConditions().

Referenced by CreateGraphFromHst(), and DivideByWeights().

◆ ClearModifiedMaps()

void TAngularCorrelation::ClearModifiedMaps ( )

Clears the modified arrays

Definition at line 1544 of file TAngularCorrelation.cxx.

References fModifiedAngles, fModifiedIndices, and fModifiedWeights.

Referenced by GenerateModifiedAngles().

◆ Create2DSlice() [1/2]

TH2D * TAngularCorrelation::Create2DSlice ( THnSparse * hst,
Double_t min,
Double_t max,
Bool_t fold = kFALSE,
Bool_t group = kFALSE )

Create energy-gated 2D histogram of energy vs. angular index

Parameters
[in]hstThree-dimensional histogram of angular index vs. energy vs. energy
[in]minMinimum of energy gate
[in]maxMaximum of energy gate
[in]foldSwitch for turning folding on
[in]groupSwitch for turning grouping on (not yet implemented)

Projects out the events with one energy between min and max X-axis of returned histogram is second energy Y-axis of returned histogram is angular index (or the group number if group = kTRUE)

Definition at line 42 of file TAngularCorrelation.cxx.

References Modify2DSlice().

◆ Create2DSlice() [2/2]

TH2D * TAngularCorrelation::Create2DSlice ( TObjArray * hstarray,
Double_t min,
Double_t max,
Bool_t fold = kFALSE,
Bool_t group = kFALSE )

Create energy-gated 2D histogram of energy vs. angular index

Parameters
[in]hstarrayTObjArray of TH2 energy vs. energy plots for each angular index
[in]minMinimum of energy gate
[in]maxMaximum of energy gate
[in]foldSwitch for turning folding on
[in]groupSwitch for turning grouping on (not yet implemented)

Assumes that the index of the TObjArray is the angular index

Projects out the events with one energy between min and max X-axis of returned histogram is second energy Y-axis of returned histogram is angular index

Definition at line 101 of file TAngularCorrelation.cxx.

References Modify2DSlice().

◆ CreateGraphFromHst() [1/2]

TGraphAsymmErrors * TAngularCorrelation::CreateGraphFromHst ( )
inline

Definition at line 118 of file TAngularCorrelation.h.

References CreateGraphFromHst(), and fIndexCorrelation.

Referenced by CreateGraphFromHst().

◆ CreateGraphFromHst() [2/2]

TGraphAsymmErrors * TAngularCorrelation::CreateGraphFromHst ( TH1 * hst,
Bool_t fold,
Bool_t group )

Creates graph of counts vs. cos(theta) from histogram of counts vs. angular index

Parameters
[in]hstOne-dimensional histogram of angular index vs. counts
[in]foldboolean to select whether angles are folded at 90 degree
[in]groupboolean to select whether angles are grouped

Definition at line 597 of file TAngularCorrelation.cxx.

References CheckModifiedHistogram(), fAngleMap, fFolded, fGrouped, fModifiedAngles, and GenerateModifiedMaps().

◆ DisplayDiagnostics()

void TAngularCorrelation::DisplayDiagnostics ( TCanvas * c_diag)

Definition at line 1863 of file TAngularCorrelation.cxx.

References GetCentroidHst(), GetChi2Hst(), GetFWHMHst(), and GetIndexCorrelation().

Referenced by FitSlices().

◆ DivideByWeights()

TH1D * TAngularCorrelation::DivideByWeights ( TH1 * hst,
Bool_t fold,
Bool_t group )

Divides histogram by weights listed in weight array

Parameters
[in]hsthistogram
[in]foldboolean indicating whether or not to fold the indices
[in]groupboolean indicating whether or not to group the indices

Definition at line 1795 of file TAngularCorrelation.cxx.

References CheckModifiedHistogram(), fFolded, fGrouped, fModifiedWeights, GenerateModifiedMaps(), GetModifiedWeight(), GetWeightFromIndex(), and GetWeightsSize().

◆ FitSlices()

TH1D * TAngularCorrelation::FitSlices ( TH2 * hst,
TPeak * peak,
Bool_t visualization = kTRUE )

Create 1D histogram of counts vs. angular index

Parameters
[in]hstTwo-dimensional histogram of angular index vs. energy
[in]peakTPeak template used to fit one dimensional histograms
[in]visualizationBoolean to select whether to draw on a canvas

For each bin (angular index), fits one-dimensional projection with given TPeak and returns a TH1D with x-axis of angular index and a y-axis of TPeak area for that angular index.

Definition at line 371 of file TAngularCorrelation.cxx.

References TPeak::Background(), DisplayDiagnostics(), fCentroid, fChi2, fFWHM, fIndexCorrelation, TPeak::Fit(), Get1DSlice(), TPeak::GetArea(), TPeak::GetAreaErr(), TPeak::GetCentroid(), GetPeak(), TPeak::InitParams(), Set1DSlice(), TPeak::SetLogLikelihoodFlag(), SetPeak(), and UpdateDiagnostics().

◆ GenerateAngleMap()

std::vector< Double_t > TAngularCorrelation::GenerateAngleMap ( std::vector< Int_t > & arraynumbers,
std::vector< Int_t > & distances )
static

Creates map of angular index vs. opening angle.

Parameters
[in]arraynumbersVector of array numbers used in this experiment
[in]distancesVector of detector distances for those array numbers

Definition at line 926 of file TAngularCorrelation.cxx.

References TGriffin::GetPosition().

Referenced by GenerateGroupMaps(), and GenerateMaps().

◆ GenerateFoldedAngles()

std::vector< Double_t > TAngularCorrelation::GenerateFoldedAngles ( std::vector< Double_t > & anglemap)
static

Generate Folded Angles gives angles out for each folded index in radians

Parameters
[in]anglemap(can be for grouped or ungrouped anglular indexes)

This function is called by GenerateMaps() and GenerateGroupMaps()

Definition at line 1217 of file TAngularCorrelation.cxx.

Referenced by GenerateModifiedAngles().

◆ GenerateFoldedIndices()

std::vector< Int_t > TAngularCorrelation::GenerateFoldedIndices ( std::vector< Double_t > & folds,
std::vector< Double_t > & anglemap )
static

Generated Folded Indexes

Parameters
[in]foldsvector of the folded angles
[in]anglemapvector of the unfolded angles

This function is called by GenerateMaps() and by GenerateGroupMaps()

Definition at line 1270 of file TAngularCorrelation.cxx.

Referenced by GenerateModifiedIndices().

◆ GenerateGroupMaps()

Int_t TAngularCorrelation::GenerateGroupMaps ( std::vector< Int_t > & arraynumbers,
std::vector< Int_t > & distances,
std::vector< Int_t > & group,
std::vector< Double_t > & groupangles )

Creates maps for Grouped Angular Indexes Including group angle versus group index and angular index versus group index

Parameters
[in]arraynumbersVector of array numbers used in this experiment
[in]distancesVector of detector distances for those array numbers
[in]groupVector (user input)
[in]groupanglesVector (user input)

Definition at line 1367 of file TAngularCorrelation.cxx.

References AssignGroupMaps(), fAngleMap, fIndexMap, fIndexMapSize, fNumIndices, fWeights, GenerateAngleMap(), GenerateIndexMap(), and GenerateWeights().

◆ GenerateIndexMap()

std::map< Int_t, std::map< Int_t, Int_t > > TAngularCorrelation::GenerateIndexMap ( std::vector< Int_t > & arraynumbers,
std::vector< Int_t > & distances,
std::vector< Double_t > & anglemap )
static

Creates map of angle pair vs. angular index

Parameters
[in]arraynumbersVector of array numbers used in this experiment
[in]distancesVector of detector distances for those array numbers
[in]anglemapAngle map (probably created with GenerateAngleMap

This function is called by GenerateMaps()

Definition at line 1076 of file TAngularCorrelation.cxx.

References TGriffin::GetPosition().

Referenced by GenerateGroupMaps(), and GenerateMaps().

◆ GenerateMaps() [1/2]

Int_t TAngularCorrelation::GenerateMaps ( Int_t detectors,
Int_t distance )

Creates maps for typical GRIFFIN configurations

Parameters
[in]detectorsnumber of detectors
[in]distancedistance of detectors (in mm)

16 detectors: full array 15 detectors: full array less detector 13 12 detectors: upstream lampshade and corona, detectors 5-16 11 detectors: upstream lampshade and corona, less detector 13 8 detectors: corona only For more detailed configurations, please use GenerateMaps(std::vector<Int_t> &arraynumbers, std::vector<Int_t> &distances)

Definition at line 1437 of file TAngularCorrelation.cxx.

References GenerateMaps().

◆ GenerateMaps() [2/2]

Int_t TAngularCorrelation::GenerateMaps ( std::vector< Int_t > & arraynumbers,
std::vector< Int_t > & distances )

Creates maps of angle pair vs. angular index and angular index vs. opening angle.

Parameters
[in]arraynumbersVector of array numbers used in this experiment
[in]distancesVector of detector distances for those array numbers

Definition at line 1304 of file TAngularCorrelation.cxx.

References fAngleMap, fIndexMap, fIndexMapSize, fNumIndices, fWeights, GenerateAngleMap(), GenerateIndexMap(), and GenerateWeights().

Referenced by GenerateMaps().

◆ GenerateModifiedAngles()

std::vector< Double_t > TAngularCorrelation::GenerateModifiedAngles ( Bool_t fold,
Bool_t group )

Generates modified angles

Parameters
[in]foldboolean indicating whether or not to fold the indices
[in]groupboolean indicating whether or not to group the indices

Definition at line 1557 of file TAngularCorrelation.cxx.

References ClearModifiedMaps(), fAngleMap, fFolded, fGroupAngles, fGrouped, fGroups, fNumIndices, GenerateFoldedAngles(), and GetNumGroups().

Referenced by GenerateModifiedMaps().

◆ GenerateModifiedIndices()

std::vector< Int_t > TAngularCorrelation::GenerateModifiedIndices ( Bool_t fold,
Bool_t group )

Generates modified indices

Parameters
[in]foldboolean indicating whether or not to fold the indices
[in]groupboolean indicating whether or not to group the indices

Definition at line 1494 of file TAngularCorrelation.cxx.

References fAngleMap, fFolded, fGroupAngles, fGrouped, fGroups, fModifiedAngles, fNumIndices, and GenerateFoldedIndices().

Referenced by GenerateModifiedMaps().

◆ GenerateModifiedMaps()

Int_t TAngularCorrelation::GenerateModifiedMaps ( Bool_t fold,
Bool_t group )

Creates maps for modified indices with some combination of folding or grouping

Parameters
[in]fold
[in]group

Definition at line 1340 of file TAngularCorrelation.cxx.

References fGroups, fModifiedAngles, fModifiedIndices, fModifiedWeights, fNumIndices, fWeights, GenerateModifiedAngles(), GenerateModifiedIndices(), and GenerateModifiedWeights().

Referenced by CreateGraphFromHst(), DivideByWeights(), and Modify2DSlice().

◆ GenerateModifiedWeights()

std::vector< Int_t > TAngularCorrelation::GenerateModifiedWeights ( std::vector< Int_t > & modindices,
std::vector< Int_t > & weights )

Creates map of modified weights vs. modified index

Parameters
[in]modindicesvector that converts angular index to modified index
[in]weightsvector of weights for angular index

This function is called by GenerateMaps() and GenerateGroupMaps()

Definition at line 1037 of file TAngularCorrelation.cxx.

Referenced by GenerateModifiedMaps().

◆ GenerateWeights()

std::vector< Int_t > TAngularCorrelation::GenerateWeights ( std::vector< Int_t > & arraynumbers,
std::vector< Int_t > & distances,
std::map< Int_t, std::map< Int_t, Int_t > > & indexmap )
static

Creates map of weights vs. angular index

Parameters
[in]arraynumbersVector of array numbers used in this experiment
[in]distancesVector of detector distances for those array numbers
[in]indexmapIndex map (probably created with GenerateIndexMap)

The indices for the index map start from zero, so when using array numbers (which start from one) as input for those indices, you need to subtract one.

This function is called by GenerateMaps()

Definition at line 987 of file TAngularCorrelation.cxx.

Referenced by GenerateGroupMaps(), and GenerateMaps().

◆ Get1DSlice()

TH1D * TAngularCorrelation::Get1DSlice ( Int_t index)
inline

Definition at line 64 of file TAngularCorrelation.h.

References f1DSlices.

Referenced by FitSlices(), and UpdatePeak().

◆ GetAngleFromIndex()

Double_t TAngularCorrelation::GetAngleFromIndex ( Int_t index)
inline

Definition at line 69 of file TAngularCorrelation.h.

References fAngleMap.

Referenced by PrintAngleMap(), and PrintWeights().

◆ GetAngularIndex()

Int_t TAngularCorrelation::GetAngularIndex ( Int_t arraynum1,
Int_t arraynum2 )

Get angular index from two array numbers

Parameters
[in]arraynum1first array number
[in]arraynum2second array number

Definition at line 670 of file TAngularCorrelation.cxx.

References fIndexMap.

Referenced by PrintIndexMap().

◆ GetCentroidHst()

TH1D * TAngularCorrelation::GetCentroidHst ( )
inline

Definition at line 61 of file TAngularCorrelation.h.

References fCentroid.

Referenced by DisplayDiagnostics(), and UpdateDiagnostics().

◆ GetChi2Hst()

TH1D * TAngularCorrelation::GetChi2Hst ( )
inline

Definition at line 60 of file TAngularCorrelation.h.

References fChi2.

Referenced by DisplayDiagnostics(), and UpdateDiagnostics().

◆ GetFWHMHst()

TH1D * TAngularCorrelation::GetFWHMHst ( )
inline

Definition at line 62 of file TAngularCorrelation.h.

References fFWHM.

Referenced by DisplayDiagnostics(), and UpdateDiagnostics().

◆ GetGroupAngleFromIndex()

Double_t TAngularCorrelation::GetGroupAngleFromIndex ( Int_t gindex)
inline

Definition at line 82 of file TAngularCorrelation.h.

References fGroupAngles.

Referenced by PrintGroupAngleMap().

◆ GetGroupFromIndex()

Int_t TAngularCorrelation::GetGroupFromIndex ( Int_t index)
inline

Definition at line 78 of file TAngularCorrelation.h.

References fGroups.

Referenced by PrintGroupIndexMap().

◆ GetIndexCorrelation()

TH1D * TAngularCorrelation::GetIndexCorrelation ( )
inline

◆ GetModifiedAngleFromIndex()

Double_t TAngularCorrelation::GetModifiedAngleFromIndex ( Int_t modindex)
inline

Definition at line 94 of file TAngularCorrelation.h.

References fModifiedAngles.

Referenced by PrintModifiedAngleMap(), and PrintModifiedWeights().

◆ GetModifiedIndex()

Int_t TAngularCorrelation::GetModifiedIndex ( Int_t index)
inline

Definition at line 86 of file TAngularCorrelation.h.

References fModifiedIndices.

Referenced by Modify2DSlice(), and PrintModifiedIndexMap().

◆ GetModifiedWeight()

Int_t TAngularCorrelation::GetModifiedWeight ( Int_t modindex)
inline

Definition at line 90 of file TAngularCorrelation.h.

References fModifiedWeights.

Referenced by DivideByWeights(), and PrintModifiedWeights().

◆ GetNumGroups()

Int_t TAngularCorrelation::GetNumGroups ( ) const

Returns the number of groups

Definition at line 1157 of file TAngularCorrelation.cxx.

References fGroups.

Referenced by AssignGroupMaps(), CheckGroupAngles(), GenerateModifiedAngles(), and PrintGroupAngleMap().

◆ GetNumModIndices()

Int_t TAngularCorrelation::GetNumModIndices ( ) const

Returns the number of groups

Definition at line 1172 of file TAngularCorrelation.cxx.

References fModifiedIndices.

Referenced by CheckModifiedHistogram(), and Modify2DSlice().

◆ GetPeak()

TPeak * TAngularCorrelation::GetPeak ( Int_t index)

Returns peak, if it exists

Parameters
[in]indexangular index

Definition at line 1739 of file TAngularCorrelation.cxx.

References fPeaks.

Referenced by FitSlices(), UpdateDiagnostics(), and UpdateIndexCorrelation().

◆ GetWeightFromIndex()

Double_t TAngularCorrelation::GetWeightFromIndex ( Int_t index)
inline

Definition at line 74 of file TAngularCorrelation.h.

References fWeights.

Referenced by DivideByWeights(), and PrintWeights().

◆ GetWeightsSize()

Int_t TAngularCorrelation::GetWeightsSize ( ) const
inline

Definition at line 100 of file TAngularCorrelation.h.

References fWeights.

Referenced by DivideByWeights().

◆ IntegralSlices()

TH1D * TAngularCorrelation::IntegralSlices ( TH2 * hst,
Double_t min,
Double_t max )

Create 1D histogram of counts vs. angular index

Parameters
[in]hstTwo-dimensional histogram of angular index vs. energy
[in]minMinimum of energy gate
[in]maxMaximum of energy gate

For each bin (angular index), projects out the total number of events within some energy range (given by min and max).

Definition at line 346 of file TAngularCorrelation.cxx.

References fIndexCorrelation.

◆ Modify2DSlice()

TH2D * TAngularCorrelation::Modify2DSlice ( TH2 * hst,
Bool_t fold,
Bool_t group )

◆ operator=() [1/2]

TAngularCorrelation & TAngularCorrelation::operator= ( const TAngularCorrelation & )
default

◆ operator=() [2/2]

TAngularCorrelation & TAngularCorrelation::operator= ( TAngularCorrelation && )
defaultnoexcept

◆ PrintAngleMap()

void TAngularCorrelation::PrintAngleMap ( )

Prints map of angular index vs. opening angle

Definition at line 828 of file TAngularCorrelation.cxx.

References fAngleMap, and GetAngleFromIndex().

◆ PrintGroupAngleMap()

void TAngularCorrelation::PrintGroupAngleMap ( )

Prints map of group vs. group weight vs. average group angle

Definition at line 801 of file TAngularCorrelation.cxx.

References fGroupAngles, GetGroupAngleFromIndex(), and GetNumGroups().

◆ PrintGroupIndexMap()

void TAngularCorrelation::PrintGroupIndexMap ( )

Prints map of angular index vs. opening angle vs. group

Definition at line 773 of file TAngularCorrelation.cxx.

References fAngleMap, fGroups, and GetGroupFromIndex().

◆ PrintIndexMap()

void TAngularCorrelation::PrintIndexMap ( )

Prints map used to construct angular indices

Definition at line 718 of file TAngularCorrelation.cxx.

References fIndexMapSize, and GetAngularIndex().

◆ PrintModifiedAngleMap()

void TAngularCorrelation::PrintModifiedAngleMap ( )

Prints map of Folded index vs. opening angle

Definition at line 850 of file TAngularCorrelation.cxx.

References fModifiedAngles, and GetModifiedAngleFromIndex().

◆ PrintModifiedConditions()

void TAngularCorrelation::PrintModifiedConditions ( ) const

Prints current folding and grouping settings

Definition at line 1772 of file TAngularCorrelation.cxx.

References fFolded, and fGrouped.

Referenced by CheckModifiedHistogram().

◆ PrintModifiedIndexMap()

void TAngularCorrelation::PrintModifiedIndexMap ( )

Prints map of angular index vs. Folded Index.

Definition at line 901 of file TAngularCorrelation.cxx.

References fModifiedIndices, and GetModifiedIndex().

◆ PrintModifiedWeights()

void TAngularCorrelation::PrintModifiedWeights ( )

Prints map of Folded index vs. opening angle

Definition at line 873 of file TAngularCorrelation.cxx.

References fModifiedAngles, fModifiedWeights, GetModifiedAngleFromIndex(), and GetModifiedWeight().

◆ PrintWeights()

void TAngularCorrelation::PrintWeights ( )

Prints map of angular index vs. opening angle vs. weight

Definition at line 745 of file TAngularCorrelation.cxx.

References fAngleMap, fWeights, GetAngleFromIndex(), and GetWeightFromIndex().

◆ ScaleSingleIndex()

void TAngularCorrelation::ScaleSingleIndex ( TH1 * hst,
Int_t index,
Double_t factor )

Updates index correlation based on peak array

Definition at line 1648 of file TAngularCorrelation.cxx.

◆ Set1DSlice()

void TAngularCorrelation::Set1DSlice ( Int_t index,
TH1D * slice )
inline

Definition at line 108 of file TAngularCorrelation.h.

References f1DSlices.

Referenced by FitSlices().

◆ SetIndexCorrelation()

void TAngularCorrelation::SetIndexCorrelation ( TH1D * hst)
inline

Definition at line 103 of file TAngularCorrelation.h.

References fIndexCorrelation.

◆ SetPeak()

void TAngularCorrelation::SetPeak ( Int_t index,
TPeak * peak )
inline

Definition at line 107 of file TAngularCorrelation.h.

References fPeaks.

Referenced by FitSlices(), and UpdatePeak().

◆ UpdateDiagnostics()

void TAngularCorrelation::UpdateDiagnostics ( )

Updates diagnostics based on peak array

Definition at line 1668 of file TAngularCorrelation.cxx.

References fPeaks, TPeak::GetCentroid(), GetCentroidHst(), GetChi2Hst(), GetFWHMHst(), GetIndexCorrelation(), and GetPeak().

Referenced by FitSlices(), and UpdatePeak().

◆ UpdateIndexCorrelation()

void TAngularCorrelation::UpdateIndexCorrelation ( )

Updates index correlation based on peak array

Definition at line 1615 of file TAngularCorrelation.cxx.

References fPeaks, TPeak::GetArea(), GetIndexCorrelation(), and GetPeak().

Referenced by UpdatePeak().

◆ UpdatePeak()

void TAngularCorrelation::UpdatePeak ( Int_t index,
TPeak * peak )

Fits slice with new peak and updates the index correlation

Parameters
[in]indexangular index
[in]peakTpeak to be used for fitting

Definition at line 1702 of file TAngularCorrelation.cxx.

References TPeak::Fit(), Get1DSlice(), SetPeak(), UpdateDiagnostics(), and UpdateIndexCorrelation().

Member Data Documentation

◆ f1DSlices

std::map<Int_t, TH1D*> TAngularCorrelation::f1DSlices
private

array of TPeaks used to create fIndexCorrelations

Definition at line 27 of file TAngularCorrelation.h.

Referenced by Get1DSlice(), and Set1DSlice().

◆ fAngleMap

std::vector<Double_t> TAngularCorrelation::fAngleMap
private

◆ fCentroid

TH1D* TAngularCorrelation::fCentroid {nullptr}
private

1D plot of chi^2 vs. angular index

Definition at line 24 of file TAngularCorrelation.h.

Referenced by FitSlices(), and GetCentroidHst().

◆ fChi2

TH1D* TAngularCorrelation::fChi2 {nullptr}
private

1D plot of counts vs. angular index

Definition at line 23 of file TAngularCorrelation.h.

Referenced by FitSlices(), and GetChi2Hst().

◆ fFolded

Bool_t TAngularCorrelation::fFolded
private

array correlating group assignment with their average angles

Definition at line 40 of file TAngularCorrelation.h.

Referenced by CreateGraphFromHst(), DivideByWeights(), GenerateModifiedAngles(), GenerateModifiedIndices(), Modify2DSlice(), and PrintModifiedConditions().

◆ fFWHM

TH1D* TAngularCorrelation::fFWHM {nullptr}
private

1D plot of centroid vs. angular index

Definition at line 25 of file TAngularCorrelation.h.

Referenced by FitSlices(), and GetFWHMHst().

◆ fGroupAngles

std::vector<Double_t> TAngularCorrelation::fGroupAngles
private

array correlating angular index with group assignment

Definition at line 39 of file TAngularCorrelation.h.

Referenced by AssignGroupMaps(), GenerateModifiedAngles(), GenerateModifiedIndices(), GetGroupAngleFromIndex(), and PrintGroupAngleMap().

◆ fGrouped

Bool_t TAngularCorrelation::fGrouped
private

switch to indicate a folded correlation

Definition at line 41 of file TAngularCorrelation.h.

Referenced by CreateGraphFromHst(), DivideByWeights(), GenerateModifiedAngles(), GenerateModifiedIndices(), Modify2DSlice(), and PrintModifiedConditions().

◆ fGroups

std::vector<Int_t> TAngularCorrelation::fGroups
private

array correlating angular index with weight (number of detector pairs at that index)

Definition at line 38 of file TAngularCorrelation.h.

Referenced by AssignGroupMaps(), GenerateModifiedAngles(), GenerateModifiedIndices(), GenerateModifiedMaps(), GetGroupFromIndex(), GetNumGroups(), Modify2DSlice(), and PrintGroupIndexMap().

◆ fIndexCorrelation

TH1D* TAngularCorrelation::fIndexCorrelation
private

◆ fIndexMap

std::map<Int_t, std::map<Int_t, Int_t> > TAngularCorrelation::fIndexMap
private

array of 1D histograms used to create fIndexCorrelations

Definition at line 31 of file TAngularCorrelation.h.

Referenced by GenerateGroupMaps(), GenerateMaps(), and GetAngularIndex().

◆ fIndexMapSize

Int_t TAngularCorrelation::fIndexMapSize
private

number of angular indices

Definition at line 33 of file TAngularCorrelation.h.

Referenced by GenerateGroupMaps(), GenerateMaps(), and PrintIndexMap().

◆ fModifiedAngles

std::vector<Double_t> TAngularCorrelation::fModifiedAngles
private

◆ fModifiedIndices

std::vector<Int_t> TAngularCorrelation::fModifiedIndices
private

switch to indicate a grouped correlation

Definition at line 44 of file TAngularCorrelation.h.

Referenced by ClearModifiedMaps(), GenerateModifiedMaps(), GetModifiedIndex(), GetNumModIndices(), and PrintModifiedIndexMap().

◆ fModifiedWeights

std::vector<Int_t> TAngularCorrelation::fModifiedWeights
private

◆ fNumIndices

Int_t TAngularCorrelation::fNumIndices {0}
private

2D square array correlating array number pairs with angular index

Definition at line 32 of file TAngularCorrelation.h.

Referenced by CheckGroups(), GenerateGroupMaps(), GenerateMaps(), GenerateModifiedAngles(), GenerateModifiedIndices(), and GenerateModifiedMaps().

◆ fPeaks

std::map<Int_t, TPeak*> TAngularCorrelation::fPeaks
private

1D plot of FWHM vs. angular index

Definition at line 26 of file TAngularCorrelation.h.

Referenced by GetPeak(), SetPeak(), UpdateDiagnostics(), and UpdateIndexCorrelation().

◆ fWeights

std::vector<Int_t> TAngularCorrelation::fWeights
private

array correlating angular index with opening angle

Definition at line 35 of file TAngularCorrelation.h.

Referenced by CheckMaps(), GenerateGroupMaps(), GenerateMaps(), GenerateModifiedMaps(), GetWeightFromIndex(), GetWeightsSize(), and PrintWeights().