Skip to content
Snippets Groups Projects
Commit 1ec12461 authored by Julian Pychy's avatar Julian Pychy
Browse files

added spin density norm histogram

parent 6eb142f1
No related branches found
No related tags found
No related merge requests found
...@@ -121,6 +121,7 @@ void spinDensityHist::calcSpinDensityMatrix(std::string& particleName){ ...@@ -121,6 +121,7 @@ void spinDensityHist::calcSpinDensityMatrix(std::string& particleName){
return; return;
} }
calcSpinDensityMatrixNorm(particleName, J);
for(Spin M1 = -J; M1 <= J; M1++){ for(Spin M1 = -J; M1 <= J; M1++){
for(Spin M2 = -J; M2 <= J; M2++){ for(Spin M2 = -J; M2 <= J; M2++){
Info << "Calculating Element (" << M1 << ", " << M2 << ")" << endmsg; Info << "Calculating Element (" << M1 << ", " << M2 << ")" << endmsg;
...@@ -131,6 +132,33 @@ void spinDensityHist::calcSpinDensityMatrix(std::string& particleName){ ...@@ -131,6 +132,33 @@ void spinDensityHist::calcSpinDensityMatrix(std::string& particleName){
void spinDensityHist::calcSpinDensityMatrixNorm(std::string& particleName, int J){
std::stringstream newHistNameNorm;
newHistNameNorm << particleName << "_norm";
TH1F* normHist = new TH1F(newHistNameNorm.str().c_str(), newHistNameNorm.str().c_str(), _nBins, -1, 1);
TH1F* normnormHist = new TH1F("normnormHist", "normnormHist", _nBins, -1, 1);
normnormHist->SetDirectory(0);
for(auto it = _dataList.begin(); it != _dataList.end(); ++it){
double costheta = ParticleCosTheta(particleName, *it);
_theLh->updateFitParams(*_theFitParamsOriginal);
double tempSpinDensityNorm =
std::dynamic_pointer_cast<pbarpBaseLh>(_theLh)->calcSpinDensityNorm(particleName, *it, J);
normHist->Fill(costheta, tempSpinDensityNorm * (*it)->evtWeight);
normnormHist->Fill(costheta, (*it)->evtWeight);
}
normHist->Divide(normnormHist);
delete normnormHist;
}
void spinDensityHist::calcSpinDensityMatrixElement(std::string& particleName, Spin M1, Spin M2, int J){ void spinDensityHist::calcSpinDensityMatrixElement(std::string& particleName, Spin M1, Spin M2, int J){
std::stringstream newHistNameReal; std::stringstream newHistNameReal;
...@@ -139,7 +167,7 @@ void spinDensityHist::calcSpinDensityMatrixElement(std::string& particleName, Sp ...@@ -139,7 +167,7 @@ void spinDensityHist::calcSpinDensityMatrixElement(std::string& particleName, Sp
std::stringstream newHistNameImag; std::stringstream newHistNameImag;
newHistNameImag << particleName << "_" << M1 << "_" << M2 << "_Imag"; newHistNameImag << particleName << "_" << M1 << "_" << M2 << "_Imag";
TH1F* newHistoImag = new TH1F(newHistNameImag.str().c_str(), newHistNameImag.str().c_str(), _nBins, -1, 1); TH1F* newHistoImag = new TH1F(newHistNameImag.str().c_str(), newHistNameImag.str().c_str(), _nBins, -1, 1);
TH1F* normHist = new TH1F("normHist", "normHist", _nBins, -1, 1); TH1F* normHist = new TH1F("normHist", "normHist", _nBins, -1, 1);
normHist->SetDirectory(0); normHist->SetDirectory(0);
TH1F* errReal = new TH1F("errReal", "errRead", _nBins, -1, 1); TH1F* errReal = new TH1F("errReal", "errRead", _nBins, -1, 1);
......
...@@ -69,6 +69,7 @@ class spinDensityHist{ ...@@ -69,6 +69,7 @@ class spinDensityHist{
ROOT::Minuit2::MnUserParameters _theMnUserParameters; ROOT::Minuit2::MnUserParameters _theMnUserParameters;
void calcSpinDensityMatrix(std::string& particleName); void calcSpinDensityMatrix(std::string& particleName);
void calcSpinDensityMatrixNorm(std::string& particleName, int J);
void calcSpinDensityMatrixElement(std::string& particleName, Spin M1, Spin M2, int J); void calcSpinDensityMatrixElement(std::string& particleName, Spin M1, Spin M2, int J);
complex<double> calcSpinDensityMatrixError(std::string& particleName, Spin M1, Spin M2, EvtData* evtData, complex<double> sdmValue, int J); complex<double> calcSpinDensityMatrixError(std::string& particleName, Spin M1, Spin M2, EvtData* evtData, complex<double> sdmValue, int J);
double ParticleCosTheta(std::string& particleName, EvtData* theData); double ParticleCosTheta(std::string& particleName, EvtData* theData);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment