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

some modifications in pbarpToOmegaPi

parent 493c9503
No related branches found
No related tags found
No related merge requests found
......@@ -154,29 +154,58 @@ int main(int __argc,char *__argv[]){
theOmegaPi0StatesPtr->print(std::cout);
std::vector< boost::shared_ptr<const JPCLS> > allJPCLSStates=theOmegaPi0StatesPtr->jpclsStates();
// now fill the fir parameter
OmegaPiData::fitParamVal theFitParameter;
std::vector< boost::shared_ptr<const JPCLS> > allJPCLSStates=theOmegaPi0StatesPtr->jpclsStates();
std::vector< boost::shared_ptr<const JPCLS> >::const_iterator itJPCLS;
double counter=0.;
for ( itJPCLS=allJPCLSStates.begin(); itJPCLS!=allJPCLSStates.end(); ++itJPCLS){
std::vector< boost::shared_ptr<const JPCLS> > JPCLSOmegaSinglet=theOmegaPi0StatesPtr->jpclsSinglet();
for ( itJPCLS=JPCLSOmegaSinglet.begin(); itJPCLS!=JPCLSOmegaSinglet.end(); ++itJPCLS){
//now fill the fitParameterMap
complex<double> tmpParameter(counter,counter+0.5);
theFitParameter.omegaProdSinglet[(*itJPCLS)]=tmpParameter;
counter++;
}
std::vector< boost::shared_ptr<const JPCLS> > JPCLSOmegaTriplet0=theOmegaPi0StatesPtr->jpclsTriplet0();
for ( itJPCLS=JPCLSOmegaTriplet0.begin(); itJPCLS!=JPCLSOmegaTriplet0.end(); ++itJPCLS){
//now fill the fitParameterMap
complex<double> tmpParameter(counter,counter+0.5);
theFitParameter.omegaProd[(*itJPCLS)]=tmpParameter;
theFitParameter.omegaProdTriplet0[(*itJPCLS)]=tmpParameter;
counter++;
}
std::vector< boost::shared_ptr<const JPCLS> > JPCLSOmegaTriplet1=theOmegaPi0StatesPtr->jpclsTriplet1();
for ( itJPCLS=JPCLSOmegaTriplet1.begin(); itJPCLS!=JPCLSOmegaTriplet1.end(); ++itJPCLS){
//now fill the fitParameterMap
complex<double> tmpParameter(counter,counter+0.5);
theFitParameter.omegaProdTriplet1[(*itJPCLS)]=tmpParameter;
counter++;
}
//now print the fitparameter
std::cout << "\n The fit parameter for omega production are:" << std::endl;
for ( itJPCLS=allJPCLSStates.begin(); itJPCLS!=allJPCLSStates.end(); ++itJPCLS){
std::cout << "\n The fit parameter for omega production are (singlet states):" << std::endl;
for ( itJPCLS=JPCLSOmegaSinglet.begin(); itJPCLS!=JPCLSOmegaSinglet.end(); ++itJPCLS){
(*itJPCLS)->print(std::cout);
complex<double> tmpParam=theFitParameter.omegaProdSinglet[(*itJPCLS)];
std::cout <<"\t" << tmpParam << std::endl;
}
std::cout << "\n The fit parameter for omega production are (triplet0 states):" << std::endl;
for ( itJPCLS=JPCLSOmegaTriplet0.begin(); itJPCLS!=JPCLSOmegaTriplet0.end(); ++itJPCLS){
(*itJPCLS)->print(std::cout);
complex<double> tmpParam=theFitParameter.omegaProd[(*itJPCLS)];
complex<double> tmpParam=theFitParameter.omegaProdTriplet0[(*itJPCLS)];
std::cout <<"\t" << tmpParam << std::endl;
}
std::cout << "\n The fit parameter for omega production are (triplet1 states):" << std::endl;
for ( itJPCLS=JPCLSOmegaTriplet1.begin(); itJPCLS!=JPCLSOmegaTriplet1.end(); ++itJPCLS){
(*itJPCLS)->print(std::cout);
complex<double> tmpParam=theFitParameter.omegaProdTriplet1[(*itJPCLS)];
std::cout <<"\t" << tmpParam << std::endl;
}
OmegaPiHist theHistogrammer(theOmegaPiEventPtr);
......
......@@ -142,7 +142,7 @@ int main(int __argc,char *__argv[]){
eventReaderMc.fillAll(piOmegaEventsMc);
piOmegaEventsMc.rewind();
boost::shared_ptr<const OmegaPiEventList> theOmegaPiEventPtr(new OmegaPiEventList(piOmegaEventsData, piOmegaEventsMc));
boost::shared_ptr<const OmegaPiEventList> theOmegaPiEventPtr(new OmegaPiEventList(piOmegaEventsData, piOmegaEventsMc, 5));
boost::shared_ptr<pbarpStates> pbarpStatesPtr(new pbarpStates(5));
boost::shared_ptr<pbarpToOmegaPi0States> pbarpToOmegaPi0StatesPtr(new pbarpToOmegaPi0States(pbarpStatesPtr));
......
......@@ -12,10 +12,9 @@ namespace OmegaPiData {
struct fitParamVal
{
std::map< boost::shared_ptr<const JPCLS>, complex<double>, pawian::Collection::SharedPtrLess > omegaProd;
std::map< boost::shared_ptr<const jpcRes>, complex<double>, pawian::Collection::SharedPtrLess > pbarpSinglet;
std::map< boost::shared_ptr<const jpcRes>, complex<double>, pawian::Collection::SharedPtrLess > pbarpTriplet0;
std::map< boost::shared_ptr<const jpcRes>, complex<double>, pawian::Collection::SharedPtrLess > pbarpTriplet1;
std::map< boost::shared_ptr<const JPCLS>, complex<double>, pawian::Collection::SharedPtrLess > omegaProdSinglet;
std::map< boost::shared_ptr<const jpcRes>, complex<double>, pawian::Collection::SharedPtrLess > omegaProdTriplet0;
std::map< boost::shared_ptr<const jpcRes>, complex<double>, pawian::Collection::SharedPtrLess > omegaProdTriplet1;
};
struct OmPiEvtData
......@@ -26,11 +25,6 @@ namespace OmegaPiData {
Vector4<float> pi0HeliOmega4Vec;
map<Spin,map<Spin,map<Spin,complex<double> > > > Dfp; //Wigner D functions for omega pi0 production
map<Spin,map<Spin,map<Spin,complex<double> > > > Dfd; //Wigner D functions for omega decay to pi0 gamma
// Tensor<complex<double> > spin2_0_amp;
// Tensor<complex<double> > spin2_1_amp;
// Tensor<complex<double> > spin1_0_amp;
// Tensor<complex<double> > spin1_1_amp;
};
}
......
......@@ -24,6 +24,8 @@ namespace OmegaPiData {
Vector4<float> omegaHeliCm4Vec;
Vector4<float> pi0RecHeliCm4Vec;
Vector4<float> pi0HeliOmega4Vec;
map<Spin,map<Spin,map<Spin,complex<double> > > > Dfp; //Wigner D functions for omega pi0 production
map<Spin,map<Spin,map<Spin,complex<double> > > > Dfd; //Wigner D functions for omega decay to pi0 gamma
// Tensor<complex<double> > spin2_0_amp;
// Tensor<complex<double> > spin2_1_amp;
// Tensor<complex<double> > spin1_0_amp;
......
......@@ -60,8 +60,30 @@ bool pbarpToOmegaPi0States::calcJPCs(){
_pbarpSingletToOmegaPi=_pbarpStatesAll->extractSingletStates(_jpcStates);
_pbarpTripletM0ToOmegaPi=_pbarpStatesAll->extractTripletM0States(_jpcStates);
_pbarpTripletM1ToOmegaPi=_pbarpStatesAll->extractTripletM1States(_jpcStates);
_JPCLSomegaProdSinglet=extractJPCLSStates(_pbarpSingletToOmegaPi, _allJPCLS);
_JPCLSomegaProdTripletM0=extractJPCLSStates(_pbarpTripletM0ToOmegaPi, _allJPCLS);
_JPCLSomegaProdTripletM1=extractJPCLSStates(_pbarpTripletM1ToOmegaPi, _allJPCLS);
}
std::vector< boost::shared_ptr<const JPCLS> > pbarpToOmegaPi0States::extractJPCLSStates(std::vector< boost::shared_ptr<const jpcRes> > theJPCRequests, std::vector< boost::shared_ptr<const JPCLS> > jpclsStatesAll) const{
std::vector< boost::shared_ptr<const JPCLS> > result;
std::vector< boost::shared_ptr<const jpcRes> >::const_iterator itJPC;
std::vector< boost::shared_ptr<const JPCLS> >::const_iterator itAllStates;
for ( itJPC=theJPCRequests.begin(); itJPC!=theJPCRequests.end(); ++itJPC){
const jpcRes* jpcRequest=(*itJPC).get();
for ( itAllStates=jpclsStatesAll.begin(); itAllStates!=jpclsStatesAll.end(); ++itAllStates){
const JPCLS* jpclsCurrent=(*itAllStates).get();
if (( *jpclsCurrent) == (*jpcRequest)){
result.push_back(*itAllStates);
continue;
}
}
}
return result;
}
void pbarpToOmegaPi0States::print(std::ostream& os) const{
os << "pbarpToOmegaPi0States::print\n"
......@@ -98,5 +120,22 @@ void pbarpToOmegaPi0States::print(std::ostream& os) const{
os << std::endl;
}
os << "The fit parameter for the pbarp singet states are:" << std::endl;
for ( itJPCLS=_JPCLSomegaProdSinglet.begin(); itJPCLS!=_JPCLSomegaProdSinglet.end(); ++itJPCLS){
(*itJPCLS)->print(os);
os << std::endl;
}
os << "The fit parameter for the pbarp triplet M=0 states are:" << std::endl;
for ( itJPCLS=_JPCLSomegaProdTripletM0.begin(); itJPCLS!=_JPCLSomegaProdTripletM0.end(); ++itJPCLS){
(*itJPCLS)->print(os);
os << std::endl;
}
os << "The fit parameter for the pbarp triplet M=+-1 states are:" << std::endl;
for ( itJPCLS=_JPCLSomegaProdTripletM1.begin(); itJPCLS!=_JPCLSomegaProdTripletM1.end(); ++itJPCLS){
(*itJPCLS)->print(os);
os << std::endl;
}
}
......@@ -26,6 +26,11 @@ public:
virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpSingletStates() const {return _pbarpSingletToOmegaPi;};
virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpTripletM0States() const {return _pbarpTripletM0ToOmegaPi;};
virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpTripletM1States() const {return _pbarpTripletM1ToOmegaPi;};
virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsSinglet() const {return _JPCLSomegaProdSinglet;};
virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsTriplet0() const {return _JPCLSomegaProdTripletM0;};
virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsTriplet1() const {return _JPCLSomegaProdTripletM1;};
virtual void print(std::ostream& os) const;
......@@ -40,7 +45,10 @@ public:
std::vector< boost::shared_ptr<const jpcRes> > _pbarpSingletToOmegaPi;
std::vector< boost::shared_ptr<const jpcRes> > _pbarpTripletM0ToOmegaPi;
std::vector< boost::shared_ptr<const jpcRes> > _pbarpTripletM1ToOmegaPi;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProd;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdSinglet;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdTripletM0;
std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdTripletM1;
std::vector< boost::shared_ptr<const JPCLS> > extractJPCLSStates(std::vector< boost::shared_ptr<const jpcRes> > , std::vector< boost::shared_ptr<const JPCLS> > ) const;
};
......
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