LauPolarGammaCPCoeffSet.cc
Go to the documentation of this file.
49 LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet(const TString& compName, const DecayType decayType,
82 // if we're using a global gamma, create it if it doesn't already exist then set gamma_ to point to it
100 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
113 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
139 LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet(const LauPolarGammaCPCoeffSet& rhs, CloneOption cloneOption, Double_t constFactor) : LauAbsCoeffSet(rhs.name()),
160 x_ = new LauParameter("X", rhs.x_->value(), minRealImagPart_, maxRealImagPart_, rhs.x_->fixed());
170 y_ = new LauParameter("Y", rhs.y_->value(), minRealImagPart_, maxRealImagPart_, rhs.y_->fixed());
179 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
183 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
191 gamma_ = new LauParameter("gamma", rhs.gamma_->value(), minPhase_, maxPhase_, rhs.gamma_->fixed());
201 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
207 deltaB_ = new LauParameter("deltaB", rhs.deltaB_->value(), minPhase_, maxPhase_, rhs.deltaB_->fixed());
221 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
231 deltaD_ = new LauParameter("deltaD", rhs.deltaD_->value(), minPhase_, maxPhase_, rhs.deltaD_->fixed());
269 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
277 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
290 std::cout<<"INFO in LauPolarGammaCPCoeffSet::printParValues : Component \""<<this->name()<<"\" has ";
293 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
297 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
310 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $\\gamma$ \\\\"<<std::endl;
315 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $\\gamma$ \\\\"<<std::endl;
320 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
325 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
340 stream<<"Component & Real Part & Imaginary Part & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
365 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
375 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
405 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
408 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
416 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
420 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
428 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
444 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
449 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
510 // To resolve the two-fold ambiguity in gamma and deltaB we require gamma to be in the range 0-pi
511 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
544 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
550 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
582 cpPart_.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal + gammaVal), -rBVal*TMath::Sin(deltaBVal + gammaVal) );
583 cpAntiPart_.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal - gammaVal), -rBVal*TMath::Sin(deltaBVal - gammaVal) );
591 cpPart_.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal + gammaVal), rBVal*TMath::Sin(deltaBVal + gammaVal) );
592 cpAntiPart_.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal - gammaVal), rBVal*TMath::Sin(deltaBVal - gammaVal) );
602 cpPart_.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal + gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal + gammaVal) );
603 cpAntiPart_.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal - gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal - gammaVal) );
613 cpPart_.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal + gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal + gammaVal) );
614 cpAntiPart_.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal - gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal - gammaVal) );
633 cpPart_.setRealImagPart( rDVal * TMath::Cos( -deltaDVal + gammaVal ), rDVal * TMath::Sin( -deltaDVal + gammaVal ) );
634 cpAntiPart_.setRealImagPart( rDVal * TMath::Cos( -deltaDVal - gammaVal ), rDVal * TMath::Sin( -deltaDVal - gammaVal ) );
651 std::cerr << "ERROR in LauPolarGammaCPCoeffSet::setCoeffValues : Method not supported by this class - too many parameters" << std::endl;
673 cpPart.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal + gammaVal), -rBVal*TMath::Sin(deltaBVal + gammaVal) );
674 cpAntiPart.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal - gammaVal), -rBVal*TMath::Sin(deltaBVal - gammaVal) );
682 cpPart.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal + gammaVal), rBVal*TMath::Sin(deltaBVal + gammaVal) );
683 cpAntiPart.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal - gammaVal), rBVal*TMath::Sin(deltaBVal - gammaVal) );
693 cpPart.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal + gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal + gammaVal) );
694 cpAntiPart.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal - gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal - gammaVal) );
704 cpPart.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal + gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal + gammaVal) );
705 cpAntiPart.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal - gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal - gammaVal) );
724 cpPart.setRealImagPart( rDVal * TMath::Cos( -deltaDVal + gammaVal ), rDVal * TMath::Sin( -deltaDVal + gammaVal ) );
725 cpAntiPart.setRealImagPart( rDVal * TMath::Cos( -deltaDVal - gammaVal ), rDVal * TMath::Sin( -deltaDVal - gammaVal ) );
757 LauAbsCoeffSet* LauPolarGammaCPCoeffSet::createClone(const TString& newName, CloneOption cloneOption, Double_t constFactor)
760 if ( cloneOption == All || cloneOption == TieRealPart || cloneOption == TieImagPart || cloneOption == TieCPPars ) {
764 std::cerr << "ERROR in LauPolarGammaCPCoeffSet::createClone : Invalid clone option" << std::endl;
static LauParameter * rDGlobal_ the magnitude of the ratio of the favoured and suppressed D-decay amplitudes (shared by multiple reso... Definition: LauPolarGammaCPCoeffSet.hh:231 LauParameter * rD_ the magnitude of the ratio of the favoured and suppressed D-decay amplitudes Definition: LauPolarGammaCPCoeffSet.hh:222 static Double_t maxPhase_ Maximum allowed value of phase parameters. Definition: LauAbsCoeffSet.hh:294 Class for defining a complex coefficient useful for extracting the CKM angle gamma from B -> D h h Da... Definition: LauPolarGammaCPCoeffSet.hh:54 Bool_t fixed() const Check whether the parameter is fixed or floated. Definition: LauParameter.hh:228 LauComplex nonCPPart_ The b -> c part of the complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:243 ClassImp(LauAbsCoeffSet) virtual const LauComplex & particleCoeff() Retrieve the complex coefficient for a particle. Definition: LauPolarGammaCPCoeffSet.cc:558 LauComplex antiparticleCoeff_ The antiparticle complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:252 static Double_t maxRealImagPart_ Maximum allowed value of real/imaginary part parameters. Definition: LauAbsCoeffSet.hh:298 LauParameter * deltaD_ the relative strong phase of the favoured and suppressed D-decay amplitudes Definition: LauPolarGammaCPCoeffSet.hh:225 const Bool_t useGlobalADSPars_ Whether the global rD and deltaD are used for this resonance. Definition: LauPolarGammaCPCoeffSet.hh:240 virtual void adjustName(LauParameter *par, const TString &oldBaseName) Prepend the base name and index to the name of a parameter. Definition: LauPolarGammaCPCoeffSet.cc:249 LauParameter * gamma_ the relative CP-violating (weak) phase of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:219 File containing declaration of LauPrint class. LauPolarGammaCPCoeffSet(const TString &compName, const DecayType decayType, const Double_t x, const Double_t y, const Double_t rB, const Double_t deltaB, const Double_t gamma, const Double_t rD, const Double_t deltaD, const Bool_t xFixed, const Bool_t yFixed, const Bool_t rBFixed, const Bool_t deltaBFixed, const Bool_t gammaFixed, const Bool_t rDFixed, const Bool_t deltaDFixed, const Bool_t rBSecondStage=kFALSE, const Bool_t deltaBSecondStage=kFALSE, const Bool_t gammaSecondStage=kFALSE, const Bool_t rDSecondStage=kFALSE, const Bool_t deltaDSecondStage=kFALSE, const Bool_t useGlobalGamma=kFALSE, const Bool_t useGlobalADSPars=kFALSE) Constructor. Definition: LauPolarGammaCPCoeffSet.cc:49 LauComplex cpAntiPart_ The b -> u part of the complex coefficient for the antiparticle. Definition: LauPolarGammaCPCoeffSet.hh:247 const Bool_t useGlobalGamma_ Whether the global gamma is used for this resonance. Definition: LauPolarGammaCPCoeffSet.hh:237 Definition: LauAbsCoeffSet.hh:59 virtual void printTableHeading(std::ostream &stream) const Print the column headings for a results table. Definition: LauPolarGammaCPCoeffSet.cc:304 Double_t abs2() const Obtain the square of the absolute value of the complex number. Definition: LauComplex.hh:246 LauComplex cpPart_ The b -> u part of the complex coefficient for the particle. Definition: LauPolarGammaCPCoeffSet.hh:245 virtual const LauComplex & antiparticleCoeff() Retrieve the complex coefficient for an antiparticle. Definition: LauPolarGammaCPCoeffSet.cc:564 LauParameter * x_ The real part of the b -> c amplitude. Definition: LauPolarGammaCPCoeffSet.hh:207 virtual void randomiseInitValues() Randomise the starting values of the parameters for a fit. Definition: LauPolarGammaCPCoeffSet.cc:391 static LauParameter * deltaDGlobal_ the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple reson... Definition: LauPolarGammaCPCoeffSet.hh:234 static Double_t maxMagnitude_ Maximum allowed value of magnitude parameters. Definition: LauAbsCoeffSet.hh:290 File containing declaration of LauParameter class. Definition: LauAbsCoeffSet.hh:54 Bool_t secondStage() const Check whether the parameter should be floated only in the second stage of a two stage fit... Definition: LauParameter.hh:234 LauParameter * y_ The imaginary part of the b -> c amplitude. Definition: LauPolarGammaCPCoeffSet.hh:210 LauParameter * rB_ the magnitude of the ratio of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:213 File containing declaration of LauComplex class. virtual void setCoeffValues(const LauComplex &coeff, const LauComplex &coeffBar, Bool_t init) Set the parameters based on the complex coefficients for particles and antiparticles. Definition: LauPolarGammaCPCoeffSet.cc:649 Class for defining the abstract interface for complex coefficient classes. Definition: LauAbsCoeffSet.hh:49 void valueAndErrors(Double_t newValue, Double_t newError, Double_t newNegError=0.0, Double_t newPosError=0.0) Set the value and errors on the parameter. Definition: LauParameter.cc:410 virtual void printParValues() const Print the current values of the parameters. Definition: LauPolarGammaCPCoeffSet.cc:288 static Double_t minRealImagPart_ Minimum allowed value of real/imaginary part parameters. Definition: LauAbsCoeffSet.hh:296 LauParameter * deltaB_ the relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:216 virtual void finaliseValues() Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi. Definition: LauPolarGammaCPCoeffSet.cc:434 void updateAmplitudes() Update the amplitudes based on the new values of the parameters. Definition: LauPolarGammaCPCoeffSet.cc:570 virtual void printTableRow(std::ostream &stream) const Print the parameters of the complex coefficient as a row in the results table. Definition: LauPolarGammaCPCoeffSet.cc:351 void setRealImagPart(Double_t realpart, Double_t imagpart) Set both real and imaginary part. Definition: LauComplex.hh:328 static LauParameter * gammaGlobal_ The CP-violating phase (shared by multiple resonances) Definition: LauPolarGammaCPCoeffSet.hh:228 void blindParameter(const TString &blindingString, const Double_t width) Blind the parameter. Definition: LauParameter.cc:542 File containing declaration of LauPolarGammaCPCoeffSet class. File containing LauConstants namespace. virtual std::vector< LauParameter * > getParameters() Retrieve the parameters of the coefficient, e.g. so that they can be loaded into a fit... Definition: LauPolarGammaCPCoeffSet.cc:261 void printFormat(std::ostream &stream, Double_t value) const Method to choose the printing format to a specified level of precision. Definition: LauPrint.cc:46 LauParameter * createClone(Double_t constFactor=1.0) Method to create a clone from the parent parameter using the copy constructor. Definition: LauParameter.cc:627 virtual TString name() const Retrieve the name of the coefficient set. Definition: LauAbsCoeffSet.hh:132 static Double_t minPhase_ Minimum allowed value of phase parameters. Definition: LauAbsCoeffSet.hh:292 virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0) Create a clone of the coefficient set. Definition: LauPolarGammaCPCoeffSet.cc:757 static Double_t minMagnitude_ Minimum allowed value of magnitude parameters. Definition: LauAbsCoeffSet.hh:288 LauComplex particleCoeff_ The particle complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:250 virtual const TString & baseName() const Retrieve the base name of the coefficient set. Definition: LauAbsCoeffSet.hh:147 Class for blinding and unblinding a number based on a blinding string. Definition: LauBlind.hh:42 Definition: LauAbsCoeffSet.hh:57 virtual void adjustName(LauParameter *par, const TString &oldBaseName) Prepend the base name and index to the name of a parameter. Definition: LauAbsCoeffSet.cc:101 Definition: LauAbsCoeffSet.hh:58 Generated by 1.8.5 |