LauPolarGammaCPCoeffSet.cc
Go to the documentation of this file.
35 LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet(const TString& compName, const DecayType decayType,
68 // if we're using a global gamma, create it if it doesn't already exist then set gamma_ to point to it
86 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
99 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
125 LauPolarGammaCPCoeffSet::LauPolarGammaCPCoeffSet(const LauPolarGammaCPCoeffSet& rhs, CloneOption cloneOption, Double_t constFactor) : LauAbsCoeffSet(rhs.name()),
146 x_ = new LauParameter("X", rhs.x_->value(), minRealImagPart_, maxRealImagPart_, rhs.x_->fixed());
156 y_ = new LauParameter("Y", rhs.y_->value(), minRealImagPart_, maxRealImagPart_, rhs.y_->fixed());
165 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
169 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
177 gamma_ = new LauParameter("gamma", rhs.gamma_->value(), minPhase_, maxPhase_, rhs.gamma_->fixed());
187 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
193 deltaB_ = new LauParameter("deltaB", rhs.deltaB_->value(), minPhase_, maxPhase_, rhs.deltaB_->fixed());
207 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
217 deltaD_ = new LauParameter("deltaD", rhs.deltaD_->value(), minPhase_, maxPhase_, rhs.deltaD_->fixed());
255 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
263 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
276 std::cout<<"INFO in LauPolarGammaCPCoeffSet::printParValues : Component \""<<this->name()<<"\" has ";
279 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
283 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
296 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $\\gamma$ \\\\"<<std::endl;
301 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $\\gamma$ \\\\"<<std::endl;
306 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
311 stream<<"Component & Real Part & Imaginary Part & $r_B$ & $\\delta_B$ & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
326 stream<<"Component & Real Part & Imaginary Part & $r_D$ & $\\delta_D$ & $\\gamma$ \\\\"<<std::endl;
351 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
361 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
391 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
394 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
402 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
406 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
414 Double_t value = LauAbsCoeffSet::getRandomiser()->Rndm()*LauConstants::twoPi - LauConstants::pi;
430 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
435 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
496 // To resolve the two-fold ambiguity in gamma and deltaB we require gamma to be in the range 0-pi
497 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
530 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == GLW_CPOdd || decayType_ == GLW_CPEven ) {
536 if ( decayType_ == ADS_Favoured || decayType_ == ADS_Suppressed || decayType_ == ADS_Favoured_btouOnly ) {
568 cpPart_.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal + gammaVal), -rBVal*TMath::Sin(deltaBVal + gammaVal) );
569 cpAntiPart_.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal - gammaVal), -rBVal*TMath::Sin(deltaBVal - gammaVal) );
577 cpPart_.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal + gammaVal), rBVal*TMath::Sin(deltaBVal + gammaVal) );
578 cpAntiPart_.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal - gammaVal), rBVal*TMath::Sin(deltaBVal - gammaVal) );
588 cpPart_.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal + gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal + gammaVal) );
589 cpAntiPart_.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal - gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal - gammaVal) );
599 cpPart_.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal + gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal + gammaVal) );
600 cpAntiPart_.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal - gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal - gammaVal) );
619 cpPart_.setRealImagPart( rDVal * TMath::Cos( -deltaDVal + gammaVal ), rDVal * TMath::Sin( -deltaDVal + gammaVal ) );
620 cpAntiPart_.setRealImagPart( rDVal * TMath::Cos( -deltaDVal - gammaVal ), rDVal * TMath::Sin( -deltaDVal - gammaVal ) );
637 std::cerr << "ERROR in LauPolarGammaCPCoeffSet::setCoeffValues : Method not supported by this class - too many parameters" << std::endl;
659 cpPart.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal + gammaVal), -rBVal*TMath::Sin(deltaBVal + gammaVal) );
660 cpAntiPart.setRealImagPart( 1.0 - rBVal*TMath::Cos(deltaBVal - gammaVal), -rBVal*TMath::Sin(deltaBVal - gammaVal) );
668 cpPart.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal + gammaVal), rBVal*TMath::Sin(deltaBVal + gammaVal) );
669 cpAntiPart.setRealImagPart( 1.0 + rBVal*TMath::Cos(deltaBVal - gammaVal), rBVal*TMath::Sin(deltaBVal - gammaVal) );
679 cpPart.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal + gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal + gammaVal) );
680 cpAntiPart.setRealImagPart( 1.0 + rBVal*rDVal*TMath::Cos(deltaBVal - deltaDVal - gammaVal), rBVal*rDVal*TMath::Sin(deltaBVal - deltaDVal - gammaVal) );
690 cpPart.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal + gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal + gammaVal) );
691 cpAntiPart.setRealImagPart( rDVal*TMath::Cos(-deltaDVal) + rBVal*TMath::Cos(deltaBVal - gammaVal), rDVal*TMath::Sin(-deltaDVal) + rBVal*TMath::Sin(deltaBVal - gammaVal) );
710 cpPart.setRealImagPart( rDVal * TMath::Cos( -deltaDVal + gammaVal ), rDVal * TMath::Sin( -deltaDVal + gammaVal ) );
711 cpAntiPart.setRealImagPart( rDVal * TMath::Cos( -deltaDVal - gammaVal ), rDVal * TMath::Sin( -deltaDVal - gammaVal ) );
743 LauAbsCoeffSet* LauPolarGammaCPCoeffSet::createClone(const TString& newName, CloneOption cloneOption, Double_t constFactor)
746 if ( cloneOption == All || cloneOption == TieRealPart || cloneOption == TieImagPart || cloneOption == TieCPPars ) {
750 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:217 LauParameter * rD_ the magnitude of the ratio of the favoured and suppressed D-decay amplitudes Definition: LauPolarGammaCPCoeffSet.hh:208 static Double_t maxPhase_ Maximum allowed value of phase parameters. Definition: LauAbsCoeffSet.hh:280 Class for defining a complex coefficient useful for extracting the CKM angle gamma from B -> D h h Da... Definition: LauPolarGammaCPCoeffSet.hh:40 Bool_t fixed() const Check whether the parameter is fixed or floated. Definition: LauParameter.hh:214 LauComplex nonCPPart_ The b -> c part of the complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:229 ClassImp(LauAbsCoeffSet) virtual const LauComplex & particleCoeff() Retrieve the complex coefficient for a particle. Definition: LauPolarGammaCPCoeffSet.cc:544 LauComplex antiparticleCoeff_ The antiparticle complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:238 static Double_t maxRealImagPart_ Maximum allowed value of real/imaginary part parameters. Definition: LauAbsCoeffSet.hh:284 LauParameter * deltaD_ the relative strong phase of the favoured and suppressed D-decay amplitudes Definition: LauPolarGammaCPCoeffSet.hh:211 const Bool_t useGlobalADSPars_ Whether the global rD and deltaD are used for this resonance. Definition: LauPolarGammaCPCoeffSet.hh:226 virtual void adjustName(LauParameter *par, const TString &oldBaseName) Prepend the base name and index to the name of a parameter. Definition: LauPolarGammaCPCoeffSet.cc:235 LauParameter * gamma_ the relative CP-violating (weak) phase of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:205 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:35 LauComplex cpAntiPart_ The b -> u part of the complex coefficient for the antiparticle. Definition: LauPolarGammaCPCoeffSet.hh:233 const Bool_t useGlobalGamma_ Whether the global gamma is used for this resonance. Definition: LauPolarGammaCPCoeffSet.hh:223 Definition: LauAbsCoeffSet.hh:45 virtual void printTableHeading(std::ostream &stream) const Print the column headings for a results table. Definition: LauPolarGammaCPCoeffSet.cc:290 Double_t abs2() const Obtain the square of the absolute value of the complex number. Definition: LauComplex.hh:232 LauComplex cpPart_ The b -> u part of the complex coefficient for the particle. Definition: LauPolarGammaCPCoeffSet.hh:231 virtual const LauComplex & antiparticleCoeff() Retrieve the complex coefficient for an antiparticle. Definition: LauPolarGammaCPCoeffSet.cc:550 LauParameter * x_ The real part of the b -> c amplitude. Definition: LauPolarGammaCPCoeffSet.hh:193 virtual void randomiseInitValues() Randomise the starting values of the parameters for a fit. Definition: LauPolarGammaCPCoeffSet.cc:377 static LauParameter * deltaDGlobal_ the relative strong phase of the favoured and suppressed D-decay amplitudes (shared by multiple reson... Definition: LauPolarGammaCPCoeffSet.hh:220 static Double_t maxMagnitude_ Maximum allowed value of magnitude parameters. Definition: LauAbsCoeffSet.hh:276 File containing declaration of LauParameter class. Definition: LauAbsCoeffSet.hh:40 Bool_t secondStage() const Check whether the parameter should be floated only in the second stage of a two stage fit... Definition: LauParameter.hh:220 LauParameter * y_ The imaginary part of the b -> c amplitude. Definition: LauPolarGammaCPCoeffSet.hh:196 LauParameter * rB_ the magnitude of the ratio of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:199 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:635 Class for defining the abstract interface for complex coefficient classes. Definition: LauAbsCoeffSet.hh:35 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:396 virtual void printParValues() const Print the current values of the parameters. Definition: LauPolarGammaCPCoeffSet.cc:274 static Double_t minRealImagPart_ Minimum allowed value of real/imaginary part parameters. Definition: LauAbsCoeffSet.hh:282 LauParameter * deltaB_ the relative CP-conserving (strong) phase of the b -> u and b -> c amplitudes Definition: LauPolarGammaCPCoeffSet.hh:202 virtual void finaliseValues() Make sure values are in "standard" ranges, e.g. phases should be between -pi and pi. Definition: LauPolarGammaCPCoeffSet.cc:420 void updateAmplitudes() Update the amplitudes based on the new values of the parameters. Definition: LauPolarGammaCPCoeffSet.cc:556 virtual void printTableRow(std::ostream &stream) const Print the parameters of the complex coefficient as a row in the results table. Definition: LauPolarGammaCPCoeffSet.cc:337 void setRealImagPart(Double_t realpart, Double_t imagpart) Set both real and imaginary part. Definition: LauComplex.hh:314 static LauParameter * gammaGlobal_ The CP-violating phase (shared by multiple resonances) Definition: LauPolarGammaCPCoeffSet.hh:214 void blindParameter(const TString &blindingString, const Double_t width) Blind the parameter. Definition: LauParameter.cc:528 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:247 void printFormat(std::ostream &stream, Double_t value) const Method to choose the printing format to a specified level of precision. Definition: LauPrint.cc:32 LauParameter * createClone(Double_t constFactor=1.0) Method to create a clone from the parent parameter using the copy constructor. Definition: LauParameter.cc:613 virtual TString name() const Retrieve the name of the coefficient set. Definition: LauAbsCoeffSet.hh:118 static Double_t minPhase_ Minimum allowed value of phase parameters. Definition: LauAbsCoeffSet.hh:278 virtual LauAbsCoeffSet * createClone(const TString &newName, CloneOption cloneOption=All, Double_t constFactor=1.0) Create a clone of the coefficient set. Definition: LauPolarGammaCPCoeffSet.cc:743 static Double_t minMagnitude_ Minimum allowed value of magnitude parameters. Definition: LauAbsCoeffSet.hh:274 LauComplex particleCoeff_ The particle complex coefficient. Definition: LauPolarGammaCPCoeffSet.hh:236 virtual const TString & baseName() const Retrieve the base name of the coefficient set. Definition: LauAbsCoeffSet.hh:133 Class for blinding and unblinding a number based on a blinding string. Definition: LauBlind.hh:28 Definition: LauAbsCoeffSet.hh:43 virtual void adjustName(LauParameter *par, const TString &oldBaseName) Prepend the base name and index to the name of a parameter. Definition: LauAbsCoeffSet.cc:87 Definition: LauAbsCoeffSet.hh:44 Generated by 1.8.5 |