LauResonanceMaker.cc
Go to the documentation of this file.
57 for ( std::vector<LauBlattWeisskopfFactor*>::iterator iter = bwIndepFactors_.begin(); iter != bwIndepFactors_.end(); ++iter ) {
61 for ( BWFactorCategoryMap::iterator iter = bwFactors_.begin(); iter != bwFactors_.end(); ++iter ) {
82 std::cout << "INFO in LauResonanceMaker::createResonanceVector : Setting up possible resonance states..." << std::endl;
91 // rho resonances name, mass, width, spin, charge, default BW category, BW radius parameter (defaults to 4.0)
93 neutral = new LauResonanceInfo("rho0(770)", 0.77526, 0.1478, 1, 0, LauBlattWeisskopfFactor::Light, 5.3);
94 positve = new LauResonanceInfo("rho+(770)", 0.77511, 0.1491, 1, 1, LauBlattWeisskopfFactor::Light, 5.3);
99 // The following two lines of code are placed here in order to allow the following, rather niche, scenario:
100 // The LauRhoOmegaMix code permits (through the use of the optional independentPar argument of LauResonanceInfo::addExtraParameter) the magnitude and phase of the rho/omega mixing to potentially differ between the decay of the parent particle to rho0 X and the parent antiparticle to rho0 Xbar.
101 // This can be acheived by using the rho0(770) record in one case and the rho0(770)_COPY record in the other.
105 neutral = new LauResonanceInfo("rho0(1450)", 1.465, 0.400, 1, 0, LauBlattWeisskopfFactor::Light );
106 positve = new LauResonanceInfo("rho+(1450)", 1.465, 0.400, 1, 1, LauBlattWeisskopfFactor::Light );
112 neutral = new LauResonanceInfo("rho0(1700)", 1.720, 0.250, 1, 0, LauBlattWeisskopfFactor::Light );
113 positve = new LauResonanceInfo("rho+(1700)", 1.720, 0.250, 1, 1, LauBlattWeisskopfFactor::Light );
119 // K* resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
121 neutral = new LauResonanceInfo("K*0(892)", 0.89581, 0.0474, 1, 0, LauBlattWeisskopfFactor::Kstar, 3.0);
122 positve = new LauResonanceInfo("K*+(892)", 0.89166, 0.0508, 1, 1, LauBlattWeisskopfFactor::Kstar, 3.0);
128 neutral = new LauResonanceInfo("K*0(1410)", 1.414, 0.232, 1, 0, LauBlattWeisskopfFactor::Kstar );
129 positve = new LauResonanceInfo("K*+(1410)", 1.414, 0.232, 1, 1, LauBlattWeisskopfFactor::Kstar );
135 neutral = new LauResonanceInfo("K*0_0(1430)", 1.425, 0.270, 0, 0, LauBlattWeisskopfFactor::Kstar );
136 positve = new LauResonanceInfo("K*+_0(1430)", 1.425, 0.270, 0, 1, LauBlattWeisskopfFactor::Kstar );
149 neutral = new LauResonanceInfo("K*0_2(1430)", 1.4324, 0.109, 2, 0, LauBlattWeisskopfFactor::Kstar );
150 positve = new LauResonanceInfo("K*+_2(1430)", 1.4256, 0.0985, 2, 1, LauBlattWeisskopfFactor::Kstar );
156 neutral = new LauResonanceInfo("K*0(1680)", 1.717, 0.322, 1, 0, LauBlattWeisskopfFactor::Kstar );
157 positve = new LauResonanceInfo("K*+(1680)", 1.717, 0.322, 1, 1, LauBlattWeisskopfFactor::Kstar );
163 neutral = new LauResonanceInfo("K*0_0(1950)", 1.945, 0.201, 0, 0, LauBlattWeisskopfFactor::Kstar );
164 positve = new LauResonanceInfo("K*+_0(1950)", 1.945, 0.201, 0, 1, LauBlattWeisskopfFactor::Kstar );
170 // phi resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
172 neutral = new LauResonanceInfo("phi(1020)", 1.019461, 0.004266, 1, 0, LauBlattWeisskopfFactor::Light );
175 neutral = new LauResonanceInfo("phi(1680)", 1.680, 0.150, 1, 0, LauBlattWeisskopfFactor::Light );
178 // f resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
180 neutral = new LauResonanceInfo("f_0(980)", 0.990, 0.070, 0, 0, LauBlattWeisskopfFactor::Light );
183 neutral = new LauResonanceInfo("f_2(1270)", 1.2751, 0.1851, 2, 0, LauBlattWeisskopfFactor::Light );
186 neutral = new LauResonanceInfo("f_0(1370)", 1.370, 0.350, 0, 0, LauBlattWeisskopfFactor::Light );
189 neutral = new LauResonanceInfo("f'_0(1300)", 1.449, 0.126, 0, 0, LauBlattWeisskopfFactor::Light );
192 neutral = new LauResonanceInfo("f_0(1500)", 1.505, 0.109, 0, 0, LauBlattWeisskopfFactor::Light );
195 neutral = new LauResonanceInfo("f'_2(1525)", 1.525, 0.073, 2, 0, LauBlattWeisskopfFactor::Light );
198 neutral = new LauResonanceInfo("f_0(1710)", 1.722, 0.135, 0, 0, LauBlattWeisskopfFactor::Light );
201 neutral = new LauResonanceInfo("f_2(2010)", 2.011, 0.202, 2, 0, LauBlattWeisskopfFactor::Light );
204 // omega resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
206 neutral = new LauResonanceInfo("omega(782)", 0.78265, 0.00849, 1, 0, LauBlattWeisskopfFactor::Light );
209 // a resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
211 neutral = new LauResonanceInfo("a0_0(980)", 0.980, 0.092, 0, 0, LauBlattWeisskopfFactor::Light );
212 positve = new LauResonanceInfo("a+_0(980)", 0.980, 0.092, 0, 1, LauBlattWeisskopfFactor::Light );
218 neutral = new LauResonanceInfo("a0_0(1450)", 1.474, 0.265, 0, 0, LauBlattWeisskopfFactor::Light );
219 positve = new LauResonanceInfo("a+_0(1450)", 1.474, 0.265, 0, 1, LauBlattWeisskopfFactor::Light );
225 neutral = new LauResonanceInfo("a0_2(1320)", 1.3190, 0.1050, 2, 0, LauBlattWeisskopfFactor::Light );
226 positve = new LauResonanceInfo("a+_2(1320)", 1.3190, 0.1050, 2, 1, LauBlattWeisskopfFactor::Light );
232 // charmonium resonances name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
234 neutral = new LauResonanceInfo("chi_c0", 3.41475, 0.0105, 0, 0, LauBlattWeisskopfFactor::Charmonium );
237 neutral = new LauResonanceInfo("chi_c1", 3.51066, 0.00084, 0, 0, LauBlattWeisskopfFactor::Charmonium );
240 neutral = new LauResonanceInfo("chi_c2", 3.55620, 0.00193, 2, 0, LauBlattWeisskopfFactor::Charmonium );
243 neutral = new LauResonanceInfo("X(3872)", 3.87169, 0.0012, 1, 0, LauBlattWeisskopfFactor::Charmonium );
246 // unknown scalars name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
269 // excited charm states name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
293 neutral = new LauResonanceInfo("D0_1(2420)", 2.4214, 0.0274, 1, 0, LauBlattWeisskopfFactor::Charm );
294 positve = new LauResonanceInfo("D+_1(2420)", 2.4232, 0.025, 1, 1, LauBlattWeisskopfFactor::Charm );
302 neutral = new LauResonanceInfo("D0(2600)", 2.612, 0.093, 0, 0, LauBlattWeisskopfFactor::Charm );
303 positve = new LauResonanceInfo("D+(2600)", 2.612, 0.093, 0, 1, LauBlattWeisskopfFactor::Charm );
311 neutral = new LauResonanceInfo("D0(2760)", 2.761, 0.063, 1, 0, LauBlattWeisskopfFactor::Charm );
312 positve = new LauResonanceInfo("D+(2760)", 2.761, 0.063, 1, 1, LauBlattWeisskopfFactor::Charm );
324 // excited strange charm name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
326 positve = new LauResonanceInfo("Ds*+", 2.1121, 0.0019, 1, 1, LauBlattWeisskopfFactor::StrangeCharm );
331 positve = new LauResonanceInfo("Ds*+_0(2317)", 2.3177, 0.0038, 0, 1, LauBlattWeisskopfFactor::StrangeCharm );
336 positve = new LauResonanceInfo("Ds*+_2(2573)", 2.5719, 0.017, 2, 1, LauBlattWeisskopfFactor::StrangeCharm );
341 positve = new LauResonanceInfo("Ds*+_1(2700)", 2.709, 0.117, 1, 1, LauBlattWeisskopfFactor::StrangeCharm );
346 positve = new LauResonanceInfo("Ds*+_1(2860)", 2.862, 0.180, 1, 1, LauBlattWeisskopfFactor::StrangeCharm );
351 positve = new LauResonanceInfo("Ds*+_3(2860)", 2.862, 0.058, 3, 1, LauBlattWeisskopfFactor::StrangeCharm );
356 // excited bottom states name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
358 neutral = new LauResonanceInfo("B*0", 5.3252, 0.00, 1, 0, LauBlattWeisskopfFactor::Beauty, 6.0);
359 positve = new LauResonanceInfo("B*+", 5.3252, 0.00, 1, 1, LauBlattWeisskopfFactor::Beauty, 6.0);
365 // excited strange bottom name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
367 neutral = new LauResonanceInfo("Bs*0", 5.4154, 0.00, 1, 0, LauBlattWeisskopfFactor::StrangeBeauty, 6.0);
370 // nonresonant models name, mass, width, spin, charge, BW category, BW radius parameter (defaults to 4.0)
386 neutral = new LauResonanceInfo("BelleNR_Swave", 0.0, 0.0, 0, 0, LauBlattWeisskopfFactor::Light );
388 positve = new LauResonanceInfo("BelleNR_Swave+",0.0, 0.0, 0, 1, LauBlattWeisskopfFactor::Light );
392 neutral = new LauResonanceInfo("BelleNR_Pwave", 0.0, 0.0, 1, 0, LauBlattWeisskopfFactor::Light );
394 positve = new LauResonanceInfo("BelleNR_Pwave+",0.0, 0.0, 1, 1, LauBlattWeisskopfFactor::Light );
398 neutral = new LauResonanceInfo("BelleNR_Dwave", 0.0, 0.0, 2, 0, LauBlattWeisskopfFactor::Light );
400 positve = new LauResonanceInfo("BelleNR_Dwave+",0.0, 0.0, 2, 1, LauBlattWeisskopfFactor::Light );
424 void LauResonanceMaker::setDefaultBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius)
426 if ( bwCategory == LauBlattWeisskopfFactor::Default || bwCategory == LauBlattWeisskopfFactor::Indep ) {
427 std::cerr << "WARNING in LauResonanceMaker::setDefaultBWRadius : cannot set radius values for Default or Indep categories" << std::endl;
446 void LauResonanceMaker::fixBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Bool_t fixRadius)
448 if ( bwCategory == LauBlattWeisskopfFactor::Default || bwCategory == LauBlattWeisskopfFactor::Indep ) {
449 std::cerr << "WARNING in LauResonanceMaker::fixBWRadius : cannot fix/float radius values for Default or Indep categories" << std::endl;
466 LauBlattWeisskopfFactor* LauResonanceMaker::getBWFactor( const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const LauResonanceInfo* resInfo, const LauBlattWeisskopfFactor::BarrierType bwType )
487 std::cerr << "WARNING in LauResonanceMaker::getBWFactor : A barrier factor already exists for the specified category but does not have the specified barrier type.\n";
488 std::cerr << " : If you want to use that type you will need to use a different category for this resonance." << std::endl;
504 LauAbsResonance* LauResonanceMaker::getResonance(const LauDaughters* daughters, const TString& resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const LauBlattWeisskopfFactor::BarrierType bwType)
514 for (std::vector<LauResonanceInfo*>::const_iterator iter=resInfo_.begin(); iter!=resInfo_.end(); ++iter) {
518 std::cout<<"INFO in LauResonanceMaker::getResonance : Creating resonance: "<<resName<<std::endl;
529 std::cout<<"ERROR in LauResonanceMaker::getResonance : Unable to locate resonance info for: "<<resName<<std::endl;
628 std::cerr<<"ERROR in LauResonanceMaker::getResonance : K-matrix type specified, which should be separately handled."<<std::endl;
668 std::cout<<" : Using model independent partial wave lineshape (magnitude and phase). "<<std::endl;
674 std::cout<<" : Using model independent partial wave lineshape (real and imaginary part). "<<std::endl;
714 for (std::vector<LauResonanceInfo*>::const_iterator iter=resInfo_.begin(); iter!=resInfo_.end(); ++iter) {
729 for ( std::vector<LauResonanceInfo*>::const_iterator iter = resInfo_.begin(); iter != resInfo_.end(); ++iter ) {
737 for (std::vector<LauResonanceInfo*>::const_iterator iter=resInfo_.begin(); iter!=resInfo_.end(); ++iter) {
Definition: LauAbsResonance.hh:42 Definition: LauAbsResonance.hh:47 Definition: LauAbsResonance.hh:64 Definition: LauAbsResonance.hh:44 File containing declaration of LauNRAmplitude class. Bool_t fixed() const Check whether the parameter is fixed or floated. Definition: LauParameter.hh:214 LauBlattWeisskopfFactor::BlattWeisskopfCategory getBWCategory() const Retrieve the BW category of the resonant particle. Definition: LauResonanceInfo.hh:93 BWRadiusFixedCategoryMap bwFixRadii_ Definition: LauResonanceMaker.hh:132 void setBarrierRadii(LauBlattWeisskopfFactor *resFactor, LauBlattWeisskopfFactor *parFactor) Set the form factor model and parameters. Definition: LauAbsResonance.hh:302 BWRadiusCategoryMap bwDefaultRadii_ Definition: LauResonanceMaker.hh:128 Definition: LauAbsResonance.hh:56 Definition: LauAbsResonance.hh:60 File containing declaration of LauResonanceInfo class. ClassImp(LauAbsCoeffSet) Class for defining the properties of a resonant particle. Definition: LauResonanceInfo.hh:32 Class that defines the particular 3-body decay under study. Definition: LauDaughters.hh:33 static LauResonanceMaker * resonanceMaker_ The singleton instance. Definition: LauResonanceMaker.hh:114 std::vector< LauResonanceInfo * > resInfo_ The known resonances. Definition: LauResonanceMaker.hh:120 File containing declaration of LauBelleNR class. Class for defininf the Gounaris-Sakurai resonance model. Definition: LauGounarisSakuraiRes.hh:31 Definition: LauAbsResonance.hh:58 void fixBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Bool_t fixRadius) Fix or release the Blatt-Weisskopf barrier radius for the given category. Definition: LauResonanceMaker.cc:446 File containing declaration of LauDaughters class. Definition: LauAbsResonance.hh:43 LauAbsResonance * getResonance(const LauDaughters *daughters, const TString &resName, const Int_t resPairAmpInt, const LauAbsResonance::LauResonanceModel resType, const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory=LauBlattWeisskopfFactor::Default, const LauBlattWeisskopfFactor::BarrierType bwType=LauBlattWeisskopfFactor::BWPrimeBarrier) Create a resonance. Definition: LauResonanceMaker.cc:504 const LauParameter * getRadiusParameter() const Retrieve the radius parameter. Definition: LauBlattWeisskopfFactor.hh:75 File containing declaration of LauModIndPartWaveRealImag class. File containing declaration of LauGounarisSakuraiRes class. Definition: LauAbsResonance.hh:53 File containing declaration of LauBelleSymNR class. File containing declaration of LauModIndPartWaveMagPhase class. Definition: LauAbsResonance.hh:51 File containing declaration of LauBreitWignerRes class. Definition: LauAbsResonance.hh:49 Int_t resTypeInt(const TString &name) const Retrieve the integer index for the specified resonance. Definition: LauResonanceMaker.cc:706 File containing declaration of LauRelBreitWignerRes class. File containing declaration of LauLASSBWRes class. void setDefaultBWRadius(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const Double_t bwRadius) Set the BW radius for the given category. Definition: LauResonanceMaker.cc:424 Class for defining the non resonant part of the LASS model. Definition: LauLASSNRRes.hh:31 File containing declaration of LauEFKLLMRes class. Definition: LauAbsResonance.hh:57 Singleton factory class for creating resonances. Definition: LauResonanceMaker.hh:35 void createResonanceVector() Create the list of known resonances. Definition: LauResonanceMaker.cc:76 Definition: LauAbsResonance.hh:61 UInt_t getSpin() const Retrieve the spin of the resonant particle. Definition: LauResonanceInfo.hh:81 File containing declaration of LauResonanceMaker class. File containing declaration of LauRhoOmegaMix class. File containing declaration of LauSigmaRes class. Class for defining the simple Breit-Wigner resonance model. Definition: LauBreitWignerRes.hh:31 Definition: LauAbsResonance.hh:52 Definition: LauAbsResonance.hh:46 Class for defining a model independent partial wave component where the amplitudes are parameterised ... Definition: LauModIndPartWaveMagPhase.hh:31 Definition: LauAbsResonance.hh:55 File containing declaration of LauDabbaRes class. void printAll(std::ostream &stream) const Print the information records, one per line, to the requested stream. Definition: LauResonanceMaker.cc:727 Class for defining the relativistic Breit-Wigner resonance model. Definition: LauRelBreitWignerRes.hh:31 Class for defining the rho-omega resonance mixing model. Definition: LauRhoOmegaMix.hh:36 std::vector< LauBlattWeisskopfFactor * > bwIndepFactors_ The Blatt-Weisskopf factor objects for resonances in the independent category. Definition: LauResonanceMaker.hh:135 BarrierType getBarrierType() const Retrieve the barrier type. Definition: LauBlattWeisskopfFactor.hh:81 File containing declaration of LauLASSRes class. File containing declaration of LauLASSNRRes class. Definition: LauAbsResonance.hh:45 Class for defining the symmetric Belle Non Resonant model. Definition: LauBelleSymNR.hh:33 LauBlattWeisskopfFactor * getBWFactor(const LauBlattWeisskopfFactor::BlattWeisskopfCategory bwCategory, const LauResonanceInfo *resInfo, const LauBlattWeisskopfFactor::BarrierType bwType) Retrieve Blatt-Weisskopf factor for the given category. Definition: LauResonanceMaker.cc:466 Class for defining an incoherent resonance with a Gaussian mass dependence. Definition: LauGaussIncohRes.hh:32 Abstract class for defining type for resonance amplitude models (Breit-Wigner, Flatte etc... Definition: LauAbsResonance.hh:37 Definition: LauAbsResonance.hh:48 File containing declaration of LauAbsResonance class. Class that implements the Blatt-Weisskopf barrier factor. Definition: LauBlattWeisskopfFactor.hh:30 LauBlattWeisskopfFactor * createClone(const UInt_t newSpin) Method to create a new factor with cloned radius parameter. Definition: LauBlattWeisskopfFactor.cc:115 Definition: LauAbsResonance.hh:54 File containing declaration of LauPolNR class. BlattWeisskopfCategory Define resonance categories that will share common barrier factor radii. Definition: LauBlattWeisskopfFactor.hh:41 Class for defining a model independent partial wave component where the amplitudes are parameterised ... Definition: LauModIndPartWaveRealImag.hh:31 Definition: LauAbsResonance.hh:50 LauResonanceInfo * createChargeConjugate() Create the charge conjugate particle info record. Definition: LauResonanceInfo.cc:77 LauResonanceInfo * createSharedParameterRecord(const TString &name) Create another record that will share parameters with this one. Definition: LauResonanceInfo.cc:99 File containing declaration of LauGaussIncohRes class. LauResonanceInfo * getResInfo(const TString &resName) const Get the information for the given resonance name. Definition: LauResonanceMaker.cc:734 File containing declaration of LauKappaRes class. File containing declaration of LauFlatteRes class. File containing declaration of LauFlatNR class. Generated by 1.8.5 |