Skip to content
Snippets Groups Projects
Commit 61e9364e authored by Bertram Kopf's avatar Bertram Kopf
Browse files

modified Riemann sheed analyser; projection index extracted from K-Matrix config file

parent 5d0945e6
No related branches found
No related tags found
No related merge requests found
......@@ -30,7 +30,8 @@ RiemannSheetAnalyzer::RiemannSheetAnalyzer(unsigned int noOfChannels,
std::shared_ptr<TMatrixBase> tMatrix,
std::complex<double> massMin,
std::complex<double> massMax,
int numSteps)
int numSteps,
unsigned int projectionIndex)
{
unsigned int signCollection = 0;
......@@ -67,7 +68,7 @@ RiemannSheetAnalyzer::RiemannSheetAnalyzer(unsigned int noOfChannels,
for(int i=1;i<=scan->GetNbinsX(); i++){
for(int j=1;j<=scan->GetNbinsY(); j++){
tMatrix->evalMatrix(std::complex<double>(scan->GetXaxis()->GetBinCenter(i), scan->GetYaxis()->GetBinCenter(j)));
scan->SetBinContent(i,j, std::abs((*tMatrix)(0,0)));
scan->SetBinContent(i,j, std::abs((*tMatrix)(projectionIndex,projectionIndex)));
}
}
......
......@@ -32,7 +32,7 @@ class RiemannSheetAnalyzer
public:
RiemannSheetAnalyzer(unsigned int noOfChannels, std::shared_ptr<TMatrixBase> tMatrix,
std::complex<double> massMin, std::complex<double> massMax, int numSteps);
std::complex<double> massMin, std::complex<double> massMax, int numSteps, unsigned int projectionIndex=0);
private:
void FindPolePositions(TH2F* histo);
......
......@@ -160,10 +160,34 @@ TMatrixGeneral::TMatrixGeneral(std::string pathToConfigParser, int numStepsForSh
if(energyPlaneBorders[2] == 0)
energyPlaneBorders[2] = _massMax;
//search projection index
const std::string porjectionParticleNames=_kMatrixParser->projection();
std::istringstream projParticles(porjectionParticleNames);
std::string firstProjParticleName;
std::string secondProjParticleName;
projParticles >> firstProjParticleName >> secondProjParticleName;
std::string projKey=firstProjParticleName+secondProjParticleName;
unsigned int projectionIndex=0;
bool found=false;
for(unsigned int i=0; i<_gFactorNames.size();++i){
if(projKey==_gFactorNames[i]){
projectionIndex=i;
found=true;
}
}
if (!found){
Alert << "projection index for key " << projKey << " not found" << endmsg;
exit(0);
}
RiemannSheetAnalyzer(_kMatrixParser->noOfChannels(), _tMatr,
std::complex<double>(energyPlaneBorders[0], energyPlaneBorders[1]),
std::complex<double>(energyPlaneBorders[2], energyPlaneBorders[3]),
numStepsForSheetScan);
numStepsForSheetScan,
projectionIndex);
}
TMatrixGeneral::~TMatrixGeneral()
......
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