diff --git a/Hadronization/ColourReconnector.h b/Hadronization/ColourReconnector.h --- a/Hadronization/ColourReconnector.h +++ b/Hadronization/ColourReconnector.h @@ -1,265 +1,271 @@ // -*- C++ -*- // // ColourReconnector.h is a part of Herwig - A multi-purpose Monte Carlo event generator // Copyright (C) 2002-2017 The Herwig Collaboration // // Herwig is licenced under version 3 of the GPL, see COPYING for details. // Please respect the MCnet academic guidelines, see GUIDELINES for details. // #ifndef HERWIG_ColourReconnector_H #define HERWIG_ColourReconnector_H #include #include "CluHadConfig.h" #include "ColourReconnector.fh" namespace Herwig { using namespace ThePEG; /** \ingroup Hadronization * \class ColourReconnector * \brief Class for changing colour reconnections of partons. * \author Alberto Ribon, Christian Roehr * * This class does the nonperturbative colour rearrangement, after the * nonperturbative gluon splitting and the "normal" cluster formation. * It uses the list of particles in the event record, and the collections of * "usual" clusters which is passed to the main method. If the colour * reconnection is actually accepted, then the previous collections of "usual" * clusters is first deleted and then the new one is created. * * * @see \ref ColourReconnectorInterfaces "The interfaces" * defined for ColourReconnector. */ class ColourReconnector: public Interfaced { public: /** * Does the colour rearrangement, starting out from the list of particles in * the event record and the collection of "usual" clusters passed as * arguments. If the actual rearrangement is accepted, the initial collection of * clusters is overridden by the old ones. */ void rearrange(ClusterVector & clusters); using CluVecIt = ClusterVector::iterator; private: /** PRIVATE MEMBER FUNCTIONS */ /** * @brief Calculates the sum of the squared cluster masses. * @arguments q, aq vectors containing the quarks and antiquarks respectively * @return Sum of cluster squared masses M^2_{q[i],aq[i]}. */ Energy2 _clusterMassSum(const PVector & q, const PVector & aq) const; /** * @brief Examines whether the cluster vector (under the given permutation of * the antiquarks) contains colour-octet clusters * @param cv Cluster vector * @param P Permutation, a vector of permutated indices from 0 to * cv.size()-1 */ bool _containsColour8(const ClusterVector & cv, const vector & P) const; /** * @brief A Metropolis-type algorithm which finds a local minimum in the * total sum of cluster masses * @arguments cv cluster vector */ void _doRecoStatistical(ClusterVector & cv) const; /** * @brief Plain colour reconnection as used in Herwig 2.5.0 * @arguments cv cluster vector */ void _doRecoPlain(ClusterVector & cv) const; /** * Baryonic Colour Reconnection model */ void _doRecoBaryonic(ClusterVector & cv) const; void _makeBaryonicClusters(ClusterPtr &c1, ClusterPtr &c2, ClusterPtr &c3, ClusterPtr &newcluster1, ClusterPtr &newcluster2) const; /** * @brief Finds the cluster in cv which, if reconnected with the given * cluster cl, would result in the smallest sum of cluster masses. * If no reconnection partner can be found, a pointer to the * original Cluster cl is returned. * @arguments cv cluster vector * cl cluster iterator (must be from cv) which wants to have a reconnection partner * @return iterator to the found cluster, or the original cluster pointer if * no mass-reducing combination can be found */ CluVecIt _findRecoPartner(CluVecIt cl, ClusterVector & cv) const; CluVecIt _findPartnerRapidity(CluVecIt cl, ClusterVector & cv) const; CluVecIt _findPartnerBaryonic(CluVecIt cl, ClusterVector & cv, bool & tetraCand, const ClusterVector& a, CluVecIt &baryonic1, CluVecIt &baryonic2 ) const; /** * @brief Reconnects the constituents of the given clusters to the (only) * other possible cluster combination. * @return pair of pointers to the two new clusters */ pair _reconnect(ClusterPtr &c1, ClusterPtr &c2) const; /** * Reconnection method for baryonic reconenction model */ pair _reconnectBaryonic(ClusterPtr &c1, ClusterPtr &c2) const; /** * @brief At random, swap two antiquarks, if not excluded by the * constraint that there must not be any colour-octet clusters. * @arguments q, aq vectors containing the quarks and antiquarks respectively * maxtries maximal number of tries to find a non-colour-octet * reconfiguration * @return Pair of ints indicating the indices of the antiquarks to be * swapped. Returns (-1,-1) if no valid reconfiguration could be * found after maxtries trials */ pair _shuffle(const PVector & q, const PVector & aq, unsigned maxtries = 10) const; /** DATA MEMBERS */ /** * Specifies the colour reconnection algorithm to be used. */ int _algorithm = 0; /** - * The annealing factor is the ratio of two successive temperature steps: - * T_n = _annealingFactor * T_(n-1) - */ - double _annealingFactor = 0.9; - - /** - * Number of temperature steps in the statistical annealing algorithm - */ - unsigned int _annealingSteps = 50; - - /** * Do we do colour reconnections? */ int _clreco = 0; + /** + * Statistical Reco: * Factor used to determine the initial temperature according to * InitialTemperature = _initTemp * median {energy changes in a few random * rearrangements} */ - double _initTemp = 0.1; + double _initTemp = 0.01; + + /** + * Statistical Reco: + * The annealing factor is the ratio of two successive temperature steps: + * T_n = _annealingFactor * T_(n-1) + */ + double _annealingFactor = 0.21; + + /** + * Statistical Reco: + * Number of temperature steps in the statistical annealing algorithm + */ + unsigned int _annealingSteps = 10; + + /** + * Statistical Reco: + * The number of tries per temperature steps is the number of clusters times + * this factor. + */ + double _triesPerStepFactor = 0.66; /** * Probability that a found reconnection possibility is actually accepted. */ double _preco = 0.5; double _precoBaryonic = 0.5; - - /** - * The number of tries per temperature steps is the number of clusters times - * this factor. - */ - double _triesPerStepFactor = 5.0; + /** * maximum allowed distance in the eta phi space for reconnection to occur */ /** * Maximium distance for reconnections */ Length _maxDistance = picometer; /** * @return true, if the two partons are splitting products of the same * gluon */ bool _isColour8(tcPPtr p, tcPPtr q) const; /** * Option for handling octets */ unsigned int _octetOption = 0; public: /** @name Functions used by the persistent I/O system. */ //@{ /** * Function used to write out object persistently. * @param os the persistent output stream written to. */ void persistentOutput(PersistentOStream & os) const; /** * Function used to read in object persistently. * @param is the persistent input stream read from. * @param version the version number of the object when written. */ void persistentInput(PersistentIStream & is, int version); //@} /** * Standard Init function used to initialize the interfaces. */ static void Init(); protected: /** @name Clone Methods. */ //@{ /** * Make a simple clone of this object. * @return a pointer to the new object. */ virtual IBPtr clone() const; /** Make a clone of this object, possibly modifying the cloned object * to make it sane. * @return a pointer to the new object. */ virtual IBPtr fullclone() const; //@} private: /** * Private and non-existent assignment operator. */ ColourReconnector & operator=(const ColourReconnector &) = delete; }; } #endif /* HERWIG_ColourReconnector_H */ diff --git a/Hadronization/HadronSelector.cc b/Hadronization/HadronSelector.cc --- a/Hadronization/HadronSelector.cc +++ b/Hadronization/HadronSelector.cc @@ -1,1003 +1,1003 @@ // -*- C++ -*- // // HadronSelector.cc is a part of Herwig - A multi-purpose Monte Carlo event generator // Copyright (C) 2002-2017 The Herwig Collaboration // // Herwig is licenced under version 3 of the GPL, see COPYING for details. // Please respect the MCnet academic guidelines, see GUIDELINES for details. // // // This is the implementation of the non-inlined, non-templated member // functions of the HadronSelector class. // #include "HadronSelector.h" #include "ThePEG/Interface/ClassDocumentation.h" #include "ThePEG/Interface/Parameter.h" #include "ThePEG/Interface/Switch.h" #include "ThePEG/Interface/ParVector.h" #include "ThePEG/Interface/RefVector.h" #include "ThePEG/Persistency/PersistentOStream.h" #include "ThePEG/Persistency/PersistentIStream.h" #include #include #include #include #include "CheckId.h" #include using namespace Herwig; DescribeAbstractClass describeHadronSelector("Herwig::HadronSelector",""); namespace { // // debug helper // void dumpTable(const HadronSelector::HadronTable & tbl) { // typedef HadronSelector::HadronTable::const_iterator TableIter; // for (TableIter it = tbl.begin(); it != tbl.end(); ++it) { // cerr << it->first.first << ' ' // << it->first.second << '\n'; // for (HadronSelector::KupcoData::const_iterator jt = it->second.begin(); // jt != it->second.end(); ++jt) { // cerr << '\t' << *jt << '\n'; // } // } // } bool weightIsLess (pair a, pair b) { return a.second < b.second; } } ostream & operator<< (ostream & os, const HadronSelector::HadronInfo & hi ) { os << std::scientific << std::showpoint << std::setprecision(4) << setw(2) << hi.id << '\t' // << hi.ptrData << ' ' << hi.swtef << '\t' << hi.wt << '\t' << hi.overallWeight << '\t' << ounit(hi.mass,GeV); return os; } HadronSelector::HadronSelector(unsigned int opt) - : _pwtDquark( 1.0 ),_pwtUquark( 1.0 ),_pwtSquark( 1.0 ),_pwtCquark( 1.0 ), - _pwtBquark( 1.0 ),_pwtDIquark( 1.0 ), + : _pwtDquark( 1.0 ),_pwtUquark( 1.0 ),_pwtSquark( 1.0 ),_pwtCquark( 0.0 ), + _pwtBquark( 0.0 ),_pwtDIquark( 1.0 ), _weight1S0(Nmax,1.),_weight3S1(Nmax,1.),_weight1P1(Nmax,1.),_weight3P0(Nmax,1.), _weight3P1(Nmax,1.),_weight3P2(Nmax,1.),_weight1D2(Nmax,1.),_weight3D1(Nmax,1.), _weight3D2(Nmax,1.),_weight3D3(Nmax,1.), _repwt(Lmax,vector >(Jmax,vector(Nmax))), _sngWt( 1.0 ),_decWt( 1.0 ), _topt(opt),_trial(0), _limBottom(), _limCharm(), _limExotic(), belowThreshold_(0) { // The mixing angles // the ideal mixing angle const double idealAngleMix = atan( sqrt(0.5) ) * 180.0 / Constants::pi; // \eta-\eta' mixing angle _etamix = -23.0; // phi-omega mixing angle _phimix = +36.0; // h_1'-h_1 mixing angle _h1mix = idealAngleMix; // f_0(1710)-f_0(1370) mixing angle _f0mix = idealAngleMix; // f_1(1420)-f_1(1285)\f$ mixing angle _f1mix = idealAngleMix; // f'_2-f_2\f$ mixing angle _f2mix = +26.0; // eta_2(1870)-eta_2(1645) mixing angle _eta2mix = idealAngleMix; // phi(???)-omega(1650) mixing angle _omhmix = idealAngleMix; // phi_3-omega_3 mixing angle _ph3mix = +28.0; // eta(1475)-eta(1295) mixing angle _eta2Smix = idealAngleMix; // phi(1680)-omega(1420) mixing angle _phi2Smix = idealAngleMix; } void HadronSelector::persistentOutput(PersistentOStream & os) const { os << _partons << _pwtDquark << _pwtUquark << _pwtSquark << _pwtCquark << _pwtBquark << _pwtDIquark << _etamix << _phimix << _h1mix << _f0mix << _f1mix << _f2mix << _eta2mix << _omhmix << _ph3mix << _eta2Smix << _phi2Smix << _weight1S0 << _weight3S1 << _weight1P1 << _weight3P0 << _weight3P1 << _weight3P2 << _weight1D2 << _weight3D1 << _weight3D2 << _weight3D3 << _forbidden << _sngWt << _decWt << _repwt << _pwt << _limBottom << _limCharm << _limExotic << belowThreshold_ << _table; } void HadronSelector::persistentInput(PersistentIStream & is, int) { is >> _partons >> _pwtDquark >> _pwtUquark >> _pwtSquark >> _pwtCquark >> _pwtBquark >> _pwtDIquark>> _etamix >> _phimix >> _h1mix >> _f0mix >> _f1mix >> _f2mix >> _eta2mix >> _omhmix >> _ph3mix >> _eta2Smix >> _phi2Smix >> _weight1S0 >> _weight3S1 >> _weight1P1 >> _weight3P0 >> _weight3P1 >> _weight3P2 >> _weight1D2 >> _weight3D1 >> _weight3D2 >> _weight3D3 >> _forbidden >> _sngWt >> _decWt >> _repwt >> _pwt >> _limBottom >> _limCharm >> _limExotic >> belowThreshold_ >> _table; } void HadronSelector::Init() { static ClassDocumentation documentation ("There is no documentation for the HadronSelector class"); static Parameter interfacePwtDquark("PwtDquark","Weight for choosing a quark D", &HadronSelector::_pwtDquark, 0, 1.0, 0.0, 10.0, false,false,false); static Parameter interfacePwtUquark("PwtUquark","Weight for choosing a quark U", &HadronSelector::_pwtUquark, 0, 1.0, 0.0, 10.0, false,false,false); static Parameter interfacePwtSquark("PwtSquark","Weight for choosing a quark S", &HadronSelector::_pwtSquark, 0, 1.0, 0.0, 10.0, false,false,false); static Parameter interfacePwtCquark("PwtCquark","Weight for choosing a quark C", - &HadronSelector::_pwtCquark, 0, 1.0, 0.0, 10.0, + &HadronSelector::_pwtCquark, 0, 0.0, 0.0, 10.0, false,false,false); static Parameter interfacePwtBquark("PwtBquark","Weight for choosing a quark B", - &HadronSelector::_pwtBquark, 0, 1.0, 0.0, 10.0, + &HadronSelector::_pwtBquark, 0, 0.0, 0.0, 10.0, false,false,false); static Parameter interfacePwtDIquark("PwtDIquark","Weight for choosing a DIquark", &HadronSelector::_pwtDIquark, 0, 1.0, 0.0, 100.0, false,false,false); static Parameter interfaceSngWt("SngWt","Weight for singlet baryons", &HadronSelector::_sngWt, 0, 1.0, 0.0, 10.0, false,false,false); static Parameter interfaceDecWt("DecWt","Weight for decuplet baryons", &HadronSelector::_decWt, 0, 1.0, 0.0, 10.0, false,false,false); static RefVector interfacePartons ("Partons", "The partons which are to be considered as the consistuents of the hadrons.", &HadronSelector::_partons, -1, false, false, true, false, false); static RefVector interfaceForbidden ("Forbidden", "The PDG codes of the particles which cannot be produced in the hadronization.", &HadronSelector::_forbidden, -1, false, false, true, false, false); // // mixing angles // // the ideal mixing angle const double idealAngleMix = atan( sqrt(0.5) ) * 180.0 / Constants::pi; static Parameter interface11S0Mixing ("11S0Mixing", "The mixing angle for the I=0 mesons from the 1 1S0 multiplet," " i.e. eta and etaprime.", &HadronSelector::_etamix, -23., -180., 180., false, false, Interface::limited); static Parameter interface13S1Mixing ("13S1Mixing", "The mixing angle for the I=0 mesons from the 1 3S1 multiplet," " i.e. phi and omega.", &HadronSelector::_phimix, +36., -180., 180., false, false, Interface::limited); static Parameter interface11P1Mixing ("11P1Mixing", "The mixing angle for the I=0 mesons from the 1 1P1 multiplet," " i.e. h_1' and h_1.", &HadronSelector::_h1mix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface13P0Mixing ("13P0Mixing", "The mixing angle for the I=0 mesons from the 1 3P0 multiplet," " i.e. f_0(1710) and f_0(1370).", &HadronSelector::_f0mix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface13P1Mixing ("13P1Mixing", "The mixing angle for the I=0 mesons from the 1 3P1 multiplet," " i.e. f_1(1420) and f_1(1285).", &HadronSelector::_f1mix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface13P2Mixing ("13P2Mixing", "The mixing angle for the I=0 mesons from the 1 3P2 multiplet," " i.e. f'_2 and f_2.", &HadronSelector::_f2mix, 26.0, -180., 180., false, false, Interface::limited); static Parameter interface11D2Mixing ("11D2Mixing", "The mixing angle for the I=0 mesons from the 1 1D2 multiplet," " i.e. eta_2(1870) and eta_2(1645).", &HadronSelector::_eta2mix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface13D0Mixing ("13D0Mixing", "The mixing angle for the I=0 mesons from the 1 3D0 multiplet," " i.e. eta_2(1870) phi(?) and omega(1650).", &HadronSelector::_omhmix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface13D1Mixing ("13D1Mixing", "The mixing angle for the I=0 mesons from the 1 3D1 multiplet," " i.e. phi_3 and omega_3.", &HadronSelector::_ph3mix, 28.0, -180., 180., false, false, Interface::limited); static Parameter interface21S0Mixing ("21S0Mixing", "The mixing angle for the I=0 mesons from the 2 1S0 multiplet," " i.e. eta(1475) and eta(1295).", &HadronSelector::_eta2Smix, idealAngleMix, -180., 180., false, false, Interface::limited); static Parameter interface23S1Mixing ("23S1Mixing", "The mixing angle for the I=0 mesons from the 1 3S1 multiplet," " i.e. phi(1680) and omega(1420).", &HadronSelector::_phi2Smix, idealAngleMix, -180., 180., false, false, Interface::limited); // // the meson weights // static ParVector interface1S0Weights ("1S0Weights", "The weights for the 1S0 multiplets start with n=1.", &HadronSelector::_weight1S0, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3S1Weights ("3S1Weights", "The weights for the 3S1 multiplets start with n=1.", &HadronSelector::_weight3S1, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface1P1Weights ("1P1Weights", "The weights for the 1P1 multiplets start with n=1.", &HadronSelector::_weight1P1, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3P0Weights ("3P0Weights", "The weights for the 3P0 multiplets start with n=1.", &HadronSelector::_weight3P0, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3P1Weights ("3P1Weights", "The weights for the 3P1 multiplets start with n=1.", &HadronSelector::_weight3P1, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3P2Weights ("3P2Weights", "The weights for the 3P2 multiplets start with n=1.", &HadronSelector::_weight3P2, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface1D2Weights ("1D2Weights", "The weights for the 1D2 multiplets start with n=1.", &HadronSelector::_weight1D2, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3D1Weights ("3D1Weights", "The weights for the 3D1 multiplets start with n=1.", &HadronSelector::_weight3D1, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3D2Weights ("3D2Weights", "The weights for the 3D2 multiplets start with n=1.", &HadronSelector::_weight3D2, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static ParVector interface3D3Weights ("3D3Weights", "The weights for the 3D3 multiplets start with n=1.", &HadronSelector::_weight3D3, Nmax, 1.0, 0.0, 100.0, false, false, Interface::limited); static Switch interfaceTrial ("Trial", "A Debugging option to only produce certain types of hadrons", &HadronSelector::_trial, 0, false, false); static SwitchOption interfaceTrialAll (interfaceTrial, "All", "Produce all the hadrons", 0); static SwitchOption interfaceTrialPions (interfaceTrial, "Pions", "Only produce pions", 1); static SwitchOption interfaceTrialSpin2 (interfaceTrial, "Spin2", "Only mesons with spin less than or equal to two are produced", 2); static SwitchOption interfaceTrialSpin3 (interfaceTrial, "Spin3", "Only hadrons with spin less than or equal to three are produced", 3); static Parameter interfaceSingleHadronLimitBottom ("SingleHadronLimitBottom", "Threshold for one-hadron decay of b-cluster", &HadronSelector::_limBottom, 0, 0.0, 0.0, 100.0,false,false,false); static Parameter interfaceSingleHadronLimitCharm ("SingleHadronLimitCharm", "threshold for one-hadron decay of c-cluster", &HadronSelector::_limCharm, 0, 0.0, 0.0, 100.0,false,false,false); static Parameter interfaceSingleHadronLimitExotic ("SingleHadronLimitExotic", "threshold for one-hadron decay of exotic cluster", &HadronSelector::_limExotic, 0, 0.0, 0.0, 100.0,false,false,false); static Switch interfaceBelowThreshold ("BelowThreshold", "Option fo the selection of the hadrons if the cluster is below the pair threshold", &HadronSelector::belowThreshold_, 0, false, false); static SwitchOption interfaceBelowThresholdLightest (interfaceBelowThreshold, "Lightest", "Force cluster to decay to the lightest hadron with the appropriate flavours", 0); static SwitchOption interfaceBelowThresholdAll (interfaceBelowThreshold, "All", "Select from all the hadrons below the two hadron threshold according to their spin weights", 1); } double HadronSelector::mixingStateWeight(long id) const { switch(id) { case ParticleID::eta: return 0.5*probabilityMixing(_etamix ,1); case ParticleID::etaprime: return 0.5*probabilityMixing(_etamix ,2); case ParticleID::phi: return 0.5*probabilityMixing(_phimix ,1); case ParticleID::omega: return 0.5*probabilityMixing(_phimix ,2); case ParticleID::hprime_1: return 0.5*probabilityMixing(_h1mix ,1); case ParticleID::h_1: return 0.5*probabilityMixing(_h1mix ,2); case 10331: return 0.5*probabilityMixing(_f0mix ,1); case 10221: return 0.5*probabilityMixing(_f0mix ,2); case ParticleID::fprime_1: return 0.5*probabilityMixing(_f1mix ,1); case ParticleID::f_1: return 0.5*probabilityMixing(_f1mix ,2); case ParticleID::fprime_2: return 0.5*probabilityMixing(_f2mix ,1); case ParticleID::f_2: return 0.5*probabilityMixing(_f2mix ,2); case 10335: return 0.5*probabilityMixing(_eta2mix ,1); case 10225: return 0.5*probabilityMixing(_eta2mix ,2); // missing phi member of 13D1 should be here case 30223: return 0.5*probabilityMixing(_omhmix ,2); case 337: return 0.5*probabilityMixing(_ph3mix ,1); case 227: return 0.5*probabilityMixing(_ph3mix ,2); case 100331: return 0.5*probabilityMixing(_eta2mix ,1); case 100221: return 0.5*probabilityMixing(_eta2mix ,2); case 100333: return 0.5*probabilityMixing(_phi2Smix,1); case 100223: return 0.5*probabilityMixing(_phi2Smix,2); default: return 1./3.; } } void HadronSelector::doinit() { Interfaced::doinit(); // the default partons allowed // the quarks for ( int ix=1; ix<=5; ++ix ) { _partons.push_back(getParticleData(ix)); } // the diquarks for(unsigned int ix=1;ix<=5;++ix) { for(unsigned int iy=1; iy<=ix;++iy) { _partons.push_back(getParticleData(CheckId::makeDiquarkID(ix,iy))); } } // set the weights for the various excited mesons // set all to one to start with for (int l = 0; l < Lmax; ++l ) { for (int j = 0; j < Jmax; ++j) { for (int n = 0; n < Nmax; ++n) { _repwt[l][j][n] = 1.0; } } } // set the others from the relevant vectors for( int ix=0;ixid()]=1.; } _pwt[1] = _pwtDquark; _pwt[2] = _pwtUquark; _pwt[3] = _pwtSquark; _pwt[4] = _pwtCquark; _pwt[5] = _pwtBquark; _pwt[1103] = _pwtDIquark * _pwtDquark * _pwtDquark; _pwt[2101] = 0.5 * _pwtDIquark * _pwtUquark * _pwtDquark; _pwt[2203] = _pwtDIquark * _pwtUquark * _pwtUquark; _pwt[3101] = 0.5 * _pwtDIquark * _pwtSquark * _pwtDquark; _pwt[3201] = 0.5 * _pwtDIquark * _pwtSquark * _pwtUquark; _pwt[3303] = _pwtDIquark * _pwtSquark * _pwtSquark; // Commenting out heavy di-quark weights _pwt[4101] = 0.0; _pwt[4201] = 0.0; _pwt[4301] = 0.0; _pwt[4403] = 0.0; _pwt[5101] = 0.0; _pwt[5201] = 0.0; _pwt[5301] = 0.0; _pwt[5401] = 0.0; _pwt[5503] = 0.0; // find the maximum map::iterator pit = max_element(_pwt.begin(),_pwt.end(),weightIsLess); const double pmax = pit->second; for(pit=_pwt.begin(); pit!=_pwt.end(); ++pit) { pit->second/=pmax; } // construct the hadron tables constructHadronTable(); // for debugging // dumpTable(table()); } void HadronSelector::constructHadronTable() { // initialise the table _table.clear(); for(unsigned int ix=0; ix<_partons.size(); ++ix) { for(unsigned int iy=0; iy<_partons.size(); ++iy) { if (!(DiquarkMatcher::Check(_partons[ix]->id()) && DiquarkMatcher::Check(_partons[iy]->id()))) _table[make_pair(_partons[ix]->id(),_partons[iy]->id())] = KupcoData(); } } // get the particles from the event generator ParticleMap particles = generator()->particles(); // loop over the particles double maxdd(0.),maxss(0.),maxrest(0.); for(ParticleMap::iterator it=particles.begin(); it!=particles.end(); ++it) { long pid = it->first; tPDPtr particle = it->second; int pspin = particle->iSpin(); // Don't include hadrons which are explicitly forbidden if(find(_forbidden.begin(),_forbidden.end(),particle)!=_forbidden.end()) continue; // Don't include non-hadrons or antiparticles if(pid < 100) continue; // remove diffractive particles if(pspin == 0) continue; // K_0S and K_0L not made make K0 and Kbar0 if(pid==ParticleID::K_S0||pid==ParticleID::K_L0) continue; // Debugging options // Only include those with 2J+1 less than...5 if(_trial==2 && pspin >= 5) continue; // Only include those with 2J+1 less than...7 if(_trial==3 && pspin >= 7) continue; // Only include pions if(_trial==1 && pid!=111 && pid!=211) continue; // shouldn't be coloured if(particle->coloured()) continue; // Get the flavours const int x4 = (pid/1000)%10; const int x3 = (pid/100 )%10; const int x2 = (pid/10 )%10; const int x7 = (pid/1000000)%10; const bool wantSusy = x7 == 1 || x7 == 2; int flav1; int flav2; // Skip non-hadrons (susy particles, etc...) if(x3 == 0 || x2 == 0) continue; else if(x4 == 0) { // meson flav1 = x2; flav2 = x3; } else { // baryon flav1 = CheckId::makeDiquarkID(x2,x3); flav2 = x4; } if (wantSusy) flav2 += 1000000 * x7; HadronInfo a(pid, particle, specialWeight(pid), particle->mass()); // set the weight to the number of spin states a.overallWeight = pspin; // identical light flavours if(flav1 == flav2 && flav1<=3) { // ddbar> uubar> admixture states if(flav1==1) { if(_topt != 0) a.overallWeight *= 0.5*a.swtef; _table[make_pair(1,1)].insert(a); _table[make_pair(2,2)].insert(a); if(_topt == 0 && a.overallWeight > maxdd) maxdd = a.overallWeight; } // load up ssbar> uubar> ddbar> admixture states else { a.wt = mixingStateWeight(pid); a.overallWeight *= a.wt; if(_topt != 0) a.overallWeight *= a.swtef; _table[make_pair(1,1)].insert(a); _table[make_pair(2,2)].insert(a); if(_topt == 0 && a.overallWeight > maxdd) maxdd = a.overallWeight; a.wt = (_topt != 0) ? 1.- 2.*a.wt : 1 - a.wt; if(a.wt > 0) { a.overallWeight = a.wt * a.swtef * pspin; _table[make_pair(3,3)].insert(a); if(_topt == 0 && a.overallWeight > maxss) maxss = a.overallWeight; } } } // light baryons with all quarks identical else if((flav1 == 1 && flav2 == 1103) || (flav1 == 1103 && flav2 == 1) || (flav1 == 2 && flav2 == 2203) || (flav1 == 2203 && flav2 == 2) || (flav1 == 3 && flav2 == 3303) || (flav1 == 3303 && flav2 == 3)) { if(_topt != 0) a.overallWeight *= 1.5*a.swtef; _table[make_pair(flav1,flav2)].insert(a); _table[make_pair(flav2,flav1)].insert(a); if(_topt == 0 && a.overallWeight > maxrest) maxrest = a.overallWeight; } // all other cases else { if(_topt != 0) a.overallWeight *=a.swtef; _table[make_pair(flav1,flav2)].insert(a); if(flav1 != flav2) _table[make_pair(flav2,flav1)].insert(a); if(_topt == 0 && a.overallWeight > maxrest) maxrest = a.overallWeight; } } // Account for identical combos of diquark/quarks and symmetrical elements // e.g. U UD = D UU HadronTable::iterator tit; for(tit=_table.begin();tit!=_table.end();++tit) { if(tit->first.first>ParticleID::c) continue; if(!DiquarkMatcher::Check(tit->first.second)) continue; long k, l, sub; if(tit->first.second>=ParticleID::bd_0) { k = ParticleID::b; sub = ParticleID::bd_0/100; } else if(tit->first.second>=ParticleID::cd_0) { k = ParticleID::c; sub = ParticleID::cd_0/100; } else if(tit->first.second>=ParticleID::sd_0) { k = ParticleID::s; sub = ParticleID::sd_0/100; } else if(tit->first.second>=ParticleID::ud_0) { k = ParticleID::u; sub = ParticleID::ud_0/100; } else if(tit->first.second==ParticleID::dd_1) { k = ParticleID::d; sub = ParticleID::dd_1/100; } else continue; sub=tit->first.second/100-sub+1; if(sub > tit->first.first) { l = 1000*sub+100*tit->first.first+1; } else if(sub==tit->first.first) { l = 1000*sub+ 100*tit->first.first+3; } else { l = 100*sub +1000*tit->first.first+1; } if(tit->second.empty()) { pair newpair(k,l); tit->second=_table[newpair]; newpair=make_pair(tit->first.second,tit->first.first); _table[newpair]=tit->second; }; } // normalise weights to one for first option if(_topt == 0) { HadronTable::const_iterator tit; KupcoData::iterator it; for(tit=_table.begin();tit!=_table.end();++tit) { double weight; if(tit->first.first==tit->first.second) { if(tit->first.first==1||tit->first.first==2) weight=1./maxdd; else if (tit->first.first==3) weight=1./maxss; else weight=1./maxrest; } else weight=1./maxrest; for(it = tit->second.begin(); it!=tit->second.end(); ++it) { it->rescale(weight); } } } } double HadronSelector::specialWeight(long id) const { const int pspin = id % 10; // Only K0L and K0S have pspin == 0, should // not get them until Decay step assert( pspin != 0 ); // Baryon : J = 1/2 or 3/2 if(pspin == 2) { // Singlet (Lambda-like) baryon if( (id/100)%10 < (id/10 )%10 ) return sqr(_sngWt); // octet else return 1.; } // Decuplet baryon else if (pspin == 4) { return sqr(_decWt); } // Meson else if(pspin % 2 == 1) { // Total angular momentum int j = (pspin - 1) / 2; // related to Orbital angular momentum l int nl = (id/10000 )%10; int l = -999; int n = (id/100000)%10; // Radial excitation if(j == 0) l = nl; else if(nl == 0) l = j - 1; else if(nl == 1 || nl == 2) l = j; else if(nl == 3) l = j + 1; // Angular or Radial excited meson if((l||j||n) && l>=0 && l= 5/2 (ispin >= 6), haven't got those return 1.0; } int HadronSelector::signHadron(tcPDPtr idQ1, tcPDPtr idQ2, tcPDPtr hadron) const { // This method receives in input three PDG ids, whose the // first two have proper signs (corresponding to particles, id > 0, // or antiparticles, id < 0 ), whereas the third one must // be always positive (particle not antiparticle), // corresponding to: // --- quark-antiquark, or antiquark-quark, or // quark-diquark, or diquark-quark, or // antiquark-antidiquark, or antidiquark-antiquark // for the first two input (idQ1, idQ2); // --- meson or baryon for the third input (idHad): // The method returns: // --- + 1 if the two partons (idQ1, idQ2) are exactly // the constituents for the hadron idHad; // --- - 1 if the two partons (idQ1, idQ2) are exactly // the constituents for the anti-hadron -idHad; // --- + 0 otherwise. // The method it is therefore useful to decide the // sign of the id of the produced hadron as appeared // in the vector _vecHad (where only hadron idHad > 0 are present) // given the two constituent partons. int sign = 0; long idHad = hadron->id(); assert(idHad > 0); int chargeIn = idQ1->iCharge() + idQ2->iCharge(); int chargeOut = hadron->iCharge(); // same charge if( chargeIn == chargeOut && chargeIn !=0 ) sign = +1; else if(chargeIn == -chargeOut && chargeIn !=0 ) sign = -1; else if(chargeIn == 0 && chargeOut == 0 ) { // In the case of same null charge, there are four cases: // i) K0-like mesons, B0-like mesons, Bs-like mesons // the PDG convention is to consider them "antiparticle" (idHad < 0) // if the "dominant" (heavier) flavour (respectively, s, b) // is a quark (idQ > 0): for instance, B0s = (b, sbar) has id < 0 // Remember that there is an important exception for K0L (id=130) and // K0S (id=310): they don't have antiparticles, therefore idHad > 0 // always. We use below the fact that K0L and K0S are the unique // hadrons having 0 the first (less significant) digit of their id. // 2) D0-like mesons: the PDG convention is to consider them "particle" // (idHad > 0) if the charm flavour is carried by a c: (c,ubar) has id>0 // 3) the remaining mesons should not have antiparticle, therefore their // sign is always positive. // 4) for baryons, that is when one of idQ1 and idQ2 is a (anti-) quark and // the other one is a (anti-) diquark the sign is negative when both // constituents are "anti", that is both with id < 0; positive otherwise. // meson if(abs(int(idQ1->iColour()))== 3 && abs(int(idQ2->iColour())) == 3 && !DiquarkMatcher::Check(idQ1->id()) && !DiquarkMatcher::Check(idQ2->id())) { int idQa = abs(idQ1->id()); int idQb = abs(idQ2->id()); int dominant = idQ2->id(); if(idQa > idQb) { swap(idQa,idQb); dominant = idQ1->id(); } if((idQa==ParticleID::d && idQb==ParticleID::s) || (idQa==ParticleID::d && idQb==ParticleID::b) || (idQa==ParticleID::s && idQb==ParticleID::b)) { // idHad%10 is zero for K0L,K0S if (dominant < 0 || idHad%10 == 0) sign = +1; else if(dominant > 0) sign = -1; } else if((idQa==ParticleID::u && idQb==ParticleID::c) || (idQa==ParticleID::u && idQb==ParticleID::t) || (idQa==ParticleID::c && idQb==ParticleID::t)) { if (dominant > 0) sign = +1; else if(dominant < 0) sign = -1; } else if(idQa==idQb) sign = +1; // sets sign for Susy particles else sign = (dominant > 0) ? +1 : -1; } // baryon else if(DiquarkMatcher::Check(idQ1->id()) || DiquarkMatcher::Check(idQ2->id())) { if (idQ1->id() > 0 && idQ2->id() > 0) sign = +1; else if(idQ1->id() < 0 && idQ2->id() < 0) sign = -1; } } if (sign == 0) { cerr << "Could not work out sign for " << idQ1->PDGName() << ' ' << idQ2->PDGName() << " => " << hadron->PDGName() << '\n'; assert(false); } return sign; } pair HadronSelector::lightestHadronPair(tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3) const { // throw exception of id3!=0 as doesn't work if ( ptr3 ) throw Exception() << "ptr3!=0 not yet implemented in HadronSelector::lightestHadronPair" << Exception::abortnow; // charge int totalcharge = ptr1->iCharge() + ptr2->iCharge(); if ( ptr3 ) totalcharge += ptr3->iCharge(); tcPDPtr vIdHad1[2]={tcPDPtr(),tcPDPtr()},vIdHad2[2]={tcPDPtr(),tcPDPtr()}; bool vOk[2] = {false, false}; Energy vMassPair[2] = { ZERO, ZERO }; for (int i = 0; i < 2; i++) { tcPDPtr idPartner = i==0 ? getParticleData(ParticleID::d) : getParticleData(ParticleID::u); // Change sign to idPartner (transform it into a anti-quark) if it is not // possible to form a meson or a baryon. assert (ptr1 && idPartner); if (!CheckId::canBeHadron(ptr1, idPartner)) idPartner = idPartner->CC(); vIdHad1[i] = lightestHadron(ptr1, idPartner); vIdHad2[i] = lightestHadron(ptr2, idPartner->CC()); if ( vIdHad1[i] && vIdHad2[i] && vIdHad1[i]->iCharge() + vIdHad2[i]->iCharge() == totalcharge ) { vOk[i] = true; vMassPair[i] = vIdHad1[i]->mass() + vIdHad2[i]->mass(); } } // Take the lightest pair compatible with charge conservation. if ( vOk[0] && ( ! vOk[1] || vMassPair[0] <= vMassPair[1] ) ) { return make_pair(vIdHad1[0],vIdHad2[0]); } else if ( vOk[1] && ( ! vOk[0] || vMassPair[1] < vMassPair[0] ) ) { return make_pair(vIdHad1[1],vIdHad2[1]); } else { return make_pair(tcPDPtr(),tcPDPtr()); } } Energy HadronSelector::massLightestBaryonPair(tcPDPtr ptr1, tcPDPtr ptr2) const { // Make sure that we don't have any diquarks as input, return arbitrarily // large value if we do Energy currentSum = Constants::MaxEnergy; for(unsigned int ix=0; ix<_partons.size(); ++ix) { if(!DiquarkMatcher::Check(_partons[ix]->id())) continue; HadronTable::const_iterator tit1=_table.find(make_pair(abs(ptr1->id()),_partons[ix]->id())), tit2=_table.find(make_pair(_partons[ix]->id(),abs(ptr2->id()))); if( tit1==_table.end() || tit2==_table.end()) continue; if(tit1->second.empty()||tit2->second.empty()) continue; Energy s = tit1->second.begin()->mass + tit2->second.begin()->mass; if(currentSum > s) currentSum = s; } return currentSum; } tcPDPtr HadronSelector::lightestHadron(tcPDPtr ptr1, tcPDPtr ptr2,tcPDPtr ptr3) const { // The method assumes ptr3 == 0 rest not implemented assert(ptr1 && ptr2 && !ptr3); // find entry in the table pair ids = make_pair(abs(ptr1->id()),abs(ptr2->id())); HadronTable::const_iterator tit=_table.find(ids); // throw exception if flavours wrong if (tit==_table.end()) throw Exception() << "Could not find " << ids.first << ' ' << ids.second << " in _table. " << "In HadronSelector::lightestHadron()" << Exception::eventerror; if(tit->second.empty()) throw Exception() << "HadronSelector::lightestHadron " << "could not find any hadrons containing " << ptr1->id() << ' ' << ptr2->id() << '\n' << tit->first.first << ' ' << tit->first.second << Exception::eventerror; // find the lightest hadron int sign = signHadron(ptr1,ptr2,tit->second.begin()->ptrData); tcPDPtr candidate = sign > 0 ? tit->second.begin()->ptrData : tit->second.begin()->ptrData->CC(); // \todo 20 GeV limit is temporary fudge to let SM particles go through. // \todo Use isExotic instead? if (candidate->mass() > 20*GeV && candidate->mass() < ptr1->constituentMass() + ptr2->constituentMass()) { generator()->log() << "HadronSelector::lightestHadron: " << "chosen candidate " << candidate->PDGName() << " is lighter than its constituents " << ptr1->PDGName() << ", " << ptr2->PDGName() << '\n' << candidate->mass()/GeV << " < " << ptr1->constituentMass()/GeV << " + " << ptr2->constituentMass()/GeV << '\n' << "Check your particle data tables.\n"; assert(false); } return candidate; } vector > HadronSelector::hadronsBelowThreshold(Energy threshold, tcPDPtr ptr1, tcPDPtr ptr2, tcPDPtr ptr3) const { // The method assumes ptr3 == 0 rest not implemented assert(ptr1 && ptr2 && !ptr3); // find entry in the table pair ids = make_pair(abs(ptr1->id()),abs(ptr2->id())); HadronTable::const_iterator tit=_table.find(ids); // throw exception if flavours wrong if (tit==_table.end()) throw Exception() << "Could not find " << ids.first << ' ' << ids.second << " in _table. " << "In HadronSelector::hadronsBelowThreshold()" << Exception::eventerror; if(tit->second.empty()) throw Exception() << "HadronSelector::hadronsBelowThreshold() " << "could not find any hadrons containing " << ptr1->id() << ' ' << ptr2->id() << '\n' << tit->first.first << ' ' << tit->first.second << Exception::eventerror; vector > candidates; KupcoData::const_iterator hit = tit->second.begin(); // find the hadrons while(hit!=tit->second.end()&&hit->massptrData); tcPDPtr candidate = sign > 0 ? hit->ptrData : hit->ptrData->CC(); // \todo 20 GeV limit is temporary fudge to let SM particles go through. // \todo Use isExotic instead? if (candidate->mass() > 20*GeV && candidate->mass() < ptr1->constituentMass() + ptr2->constituentMass()) { generator()->log() << "HadronSelector::hadronsBelowTheshold: " << "chosen candidate " << candidate->PDGName() << " is lighter than its constituents " << ptr1->PDGName() << ", " << ptr2->PDGName() << '\n' << candidate->mass()/GeV << " < " << ptr1->constituentMass()/GeV << " + " << ptr2->constituentMass()/GeV << '\n' << "Check your particle data tables.\n"; assert(false); } candidates.push_back(make_pair(candidate,hit->overallWeight)); ++hit; } return candidates; } tcPDPtr HadronSelector::chooseSingleHadron(tcPDPtr par1, tcPDPtr par2, Energy mass) const { // Determine the sum of the nominal masses of the two lightest hadrons // with the right flavour numbers as the cluster under consideration. // Notice that we don't need real masses (drawn by a Breit-Wigner // distribution) because the lightest pair of hadrons does not involve // any broad resonance. Energy threshold = massLightestHadronPair(par1,par2); // Special: it allows one-hadron decays also above threshold. if (CheckId::isExotic(par1,par2)) threshold *= (1.0 + UseRandom::rnd()*_limExotic); else if (CheckId::hasBottom(par1,par2)) threshold *= (1.0 + UseRandom::rnd()*_limBottom); else if (CheckId::hasCharm(par1,par2)) threshold *= (1.0 + UseRandom::rnd()*_limCharm); // only do one hadron decay is mass less than the threshold if(mass>=threshold) return tcPDPtr(); // select the hadron tcPDPtr hadron; // old option pick the lightest hadron if(belowThreshold_ == 0) { hadron= lightestHadron(par1,par2); } // new option select from those available else if(belowThreshold_ == 1) { vector > hadrons = hadronsBelowThreshold(threshold,par1,par2); if(hadrons.size()==1) { hadron = hadrons[0].first; } else if(hadrons.empty()) { hadron= lightestHadron(par1,par2); } else { double totalWeight=0.; for(unsigned int ix=0;ix #include using namespace Herwig; DescribeClass describeHwppSelector("Herwig::HwppSelector",""); IBPtr HwppSelector::clone() const { return new_ptr(*this); } IBPtr HwppSelector::fullclone() const { return new_ptr(*this); } void HwppSelector::doinit() { HadronSelector::doinit(); } void HwppSelector::persistentOutput(PersistentOStream & os) const { os << _mode << _enhanceSProb << ounit(_m0Decay,GeV) << _massMeasure; } void HwppSelector::persistentInput(PersistentIStream & is, int) { is >> _mode >> _enhanceSProb >> iunit(_m0Decay,GeV) >> _massMeasure; } void HwppSelector::Init() { static ClassDocumentation documentation ("The HwppSelector class implements the Herwig algorithm for selecting" " the hadrons", "The hadronization used the selection algorithm described in \\cite{Kupco:1998fx}.", "%\\cite{Kupco:1998fx}\n" "\\bibitem{Kupco:1998fx}\n" " A.~Kupco,\n" " ``Cluster hadronization in HERWIG 5.9,''\n" " arXiv:hep-ph/9906412.\n" " %%CITATION = HEP-PH/9906412;%%\n" ); // put useMe() only in correct place! static Switch interfaceMode ("Mode", "Which algorithm to use", &HwppSelector::_mode, 1, false, false); static SwitchOption interfaceModeKupco (interfaceMode, "Kupco", "Use the Kupco approach", 0); static SwitchOption interfaceModeHwpp (interfaceMode, "Hwpp", "Use the Herwig approach", 1); static Switch interfaceEnhanceSProb ("EnhanceSProb", "Option for enhancing strangeness", &HwppSelector::_enhanceSProb, 0, false, false); static SwitchOption interfaceEnhanceSProbNo (interfaceEnhanceSProb, "No", "No strangeness enhancement.", 0); static SwitchOption interfaceEnhanceSProbScaled (interfaceEnhanceSProb, "Scaled", "Scaled strangeness enhancement", 1); static SwitchOption interfaceEnhanceSProbExponential (interfaceEnhanceSProb, "Exponential", "Exponential strangeness enhancement", 2); static Switch interfaceMassMeasure ("MassMeasure", "Option to use different mass measures", &HwppSelector::_massMeasure,0,false,false); static SwitchOption interfaceMassMeasureMass (interfaceMassMeasure, "Mass", "Mass Measure", 0); static SwitchOption interfaceMassMeasureLambda (interfaceMassMeasure, "Lambda", "Lambda Measure", 1); static Parameter interfaceDecayMassScale ("DecayMassScale", "Cluster decay mass scale", &HwppSelector::_m0Decay, GeV, 1.0*GeV, 0.1*GeV, 50.*GeV, false, false, Interface::limited); } pair HwppSelector::chooseHadronPair(const Energy cluMass,tcPDPtr par1, - tcPDPtr par2,tcPDPtr ) const - { - + tcPDPtr par2,tcPDPtr ) const { // if either of the input partons is a diquark don't allow diquarks to be // produced bool diquark = !(DiquarkMatcher::Check(par1->id()) || DiquarkMatcher::Check(par2->id())); bool quark = true; // if the Herwig algorithm if(_mode ==1) { if(UseRandom::rnd() > 1./(1.+pwtDIquark()) &&cluMass > massLightestBaryonPair(par1,par2)) { diquark = true; quark = false; } else { useMe(); diquark = false; quark = true; } } // weights for the different possibilities Energy weight, wgtsum(ZERO); // loop over all hadron pairs with the allowed flavours static vector hadrons; hadrons.clear(); for(unsigned int ix=0;ixiColour())) == 3 && !DiquarkMatcher::Check(quarktopick->id())) continue; if(!diquark && abs(int(quarktopick->iColour())) == 3 && DiquarkMatcher::Check(quarktopick->id())) continue; HadronTable::const_iterator tit1 = table().find(make_pair(abs(par1->id()),quarktopick->id())); HadronTable::const_iterator tit2 = table().find(make_pair(quarktopick->id(),abs(par2->id()))); // If not in table skip if(tit1 == table().end()||tit2==table().end()) continue; // tables empty skip const KupcoData & T1 = tit1->second; const KupcoData & T2 = tit2->second; if(T1.empty()||T2.empty()) continue; // if too massive skip if(cluMass <= T1.begin()->mass + T2.begin()->mass) continue; // loop over the hadrons KupcoData::const_iterator H1,H2; for(H1 = T1.begin();H1 != T1.end(); ++H1) { for(H2 = T2.begin();H2 != T2.end(); ++H2) { // break if cluster too light if(cluMass < H1->mass + H2->mass) break; // calculate the weight - double pwtstrange; - if (quarktopick->id() == 3){ - // Strangeness weight takes the automatic flat weight - pwtstrange = pwt(3); - // Scaling strangeness enhancement - if (_enhanceSProb == 1){ - double scale = double(sqr(_m0Decay/cluMass)); - pwtstrange = (_maxScale < scale) ? 0. : pow(pwtstrange,scale); - } - // Exponential strangeness enhancement - else if (_enhanceSProb == 2){ - Energy2 mass2; - Energy endpointmass = par1->mass() + par2->mass(); - // Choose to use either the cluster mass - // or to use the lambda measure - mass2 = (_massMeasure == 0) ? sqr(cluMass) : - sqr(cluMass) - sqr(endpointmass); - double scale = double(sqr(_m0Decay)/mass2); - pwtstrange = (_maxScale < scale) ? 0. : exp(-scale); - } - weight = pwtstrange * H1->overallWeight * H2->overallWeight * - Kinematics::pstarTwoBodyDecay(cluMass, H1->mass, H2->mass ); - } - else { - weight = pwt(quarktopick->id()) * H1->overallWeight * H2->overallWeight * - Kinematics::pstarTwoBodyDecay(cluMass, H1->mass, H2->mass ); - } + double pwtstrange; + if (quarktopick->id() == 3) { + // Strangeness weight takes the automatic flat weight + pwtstrange = pwt(3); + // Scaling strangeness enhancement + if (_enhanceSProb == 1){ + double scale = double(sqr(_m0Decay/cluMass)); + pwtstrange = (_maxScale < scale) ? 0. : pow(pwtstrange,scale); + } + // Exponential strangeness enhancement + else if (_enhanceSProb == 2){ + Energy2 mass2; + Energy endpointmass = par1->mass() + par2->mass(); + // Choose to use either the cluster mass + // or to use the lambda measure + mass2 = (_massMeasure == 0) ? sqr(cluMass) : + sqr(cluMass) - sqr(endpointmass); + double scale = double(sqr(_m0Decay)/mass2); + pwtstrange = (_maxScale < scale) ? 0. : exp(-scale); + } + weight = pwtstrange * H1->overallWeight * H2->overallWeight * + Kinematics::pstarTwoBodyDecay(cluMass, H1->mass, H2->mass ); + } + else { + weight = pwt(quarktopick->id()) * H1->overallWeight * H2->overallWeight * + Kinematics::pstarTwoBodyDecay(cluMass, H1->mass, H2->mass ); + } int signQ = 0; assert (par1 && quarktopick); assert (par2); assert(quarktopick->CC()); if(CheckId::canBeHadron(par1, quarktopick->CC()) && CheckId::canBeHadron(quarktopick, par2)) signQ = +1; else if(CheckId::canBeHadron(par1, quarktopick) && CheckId::canBeHadron(quarktopick->CC(), par2)) signQ = -1; else { cerr << "Could not make sign for" << par1->id()<< " " << quarktopick->id() << " " << par2->id() << "\n"; assert(false); } if (signQ == -1) quarktopick = quarktopick->CC(); // construct the object with the info Kupco a(quarktopick, H1->ptrData, H2->ptrData, weight); hadrons.push_back(a); wgtsum += weight; } } } if (hadrons.empty()) return make_pair(tcPDPtr(),tcPDPtr()); // select the hadron wgtsum *= UseRandom::rnd(); unsigned int ix=0; do { wgtsum-= hadrons[ix].weight; ++ix; } while(wgtsum > ZERO && ix < hadrons.size()); if(ix == hadrons.size() && wgtsum > ZERO) return make_pair(tcPDPtr(),tcPDPtr()); --ix; assert(hadrons[ix].idQ); int signHad1 = signHadron(par1, hadrons[ix].idQ->CC(), hadrons[ix].hadron1); int signHad2 = signHadron(par2, hadrons[ix].idQ, hadrons[ix].hadron2); assert( signHad1 != 0 && signHad2 != 0 ); return make_pair ( signHad1 > 0 ? hadrons[ix].hadron1 : tcPDPtr(hadrons[ix].hadron1->CC()), signHad2 > 0 ? hadrons[ix].hadron2 : tcPDPtr(hadrons[ix].hadron2->CC())); } diff --git a/MatrixElement/Hadron/MEMinBias.cc b/MatrixElement/Hadron/MEMinBias.cc --- a/MatrixElement/Hadron/MEMinBias.cc +++ b/MatrixElement/Hadron/MEMinBias.cc @@ -1,249 +1,279 @@ // -*- C++ -*- // // This is the implementation of the non-inlined, non-templated member // functions of the MEMinBias class. // #include "MEMinBias.h" #include "ThePEG/Utilities/DescribeClass.h" #include "ThePEG/Interface/Reference.h" +#include "ThePEG/Interface/Switch.h" #include "ThePEG/Interface/ClassDocumentation.h" #include "ThePEG/Utilities/SimplePhaseSpace.h" //#include "ThePEG/Repository/EventGenerator.h" #include "ThePEG/Handlers/StandardXComb.h" #include "ThePEG/Interface/Parameter.h" #include "ThePEG/Handlers/SamplerBase.h" #include "ThePEG/Persistency/PersistentOStream.h" #include "ThePEG/Persistency/PersistentIStream.h" using namespace Herwig; #include "ThePEG/PDT/EnumParticles.h" #include "ThePEG/MatrixElement/Tree2toNDiagram.h" + +inline bool checkValence(int i,int side,Ptr::tptr eh){ + // Inline function to check for valence quarks of the beam. + // i: pdgid of quark + // side: beam side + // eh: pointer to the eventhandler + int beam= ( side == 0 ) ? eh->incoming().first->id() : eh->incoming().second->id(); + vector val; + if( beam == ParticleID::pplus || beam == ParticleID::n0 ) val = {1,2}; + if( beam == ParticleID::pbarminus || beam == ParticleID::nbar0 ) val = { -1 , -2 }; + if( val.size() == 0 ) assert(false && ("MEMinBias: Valence Quarks not defined for pid "+beam)); + for(auto v:val)if(v==i)return true; + return false; +} + + void MEMinBias::getDiagrams() const { int maxflav(2); // Pomeron data tcPDPtr pom = getParticleData(990); - + Ptr::tptr eh = dynamic_ptr_cast::tptr>(generator()->eventHandler()); for ( int i = 1; i <= maxflav; ++i ) { for( int j=1; j <= i; ++j){ tcPDPtr q1 = getParticleData(i); tcPDPtr q1b = q1->CC(); tcPDPtr q2 = getParticleData(j); tcPDPtr q2b = q2->CC(); // For each flavour we add: //qq -> qq - add(new_ptr((Tree2toNDiagram(3), q1, pom, q2, 1, q1, 2, q2, -1))); + if(!onlyValQuarks_) add(new_ptr((Tree2toNDiagram(3), q1, pom, q2, 1, q1, 2, q2, -1))); + else if(checkValence(i,0,eh) && checkValence(j,1,eh) ) add(new_ptr((Tree2toNDiagram(3), q1, pom, q2, 1, q1, 2, q2, -1))); //qqb -> qqb - add(new_ptr((Tree2toNDiagram(3), q1, pom, q2b, 1, q1, 2, q2b, -2))); + if(!onlyValQuarks_) add(new_ptr((Tree2toNDiagram(3), q1, pom, q2b, 1, q1, 2, q2b, -2))); + else if(checkValence(i,0,eh) && checkValence(-j,1,eh) ) add(new_ptr((Tree2toNDiagram(3), q1, pom, q2b, 1, q1, 2, q2b, -2))); //qbqb -> qbqb - add(new_ptr((Tree2toNDiagram(3), q1b, pom, q2b, 1, q1b, 2, q2b, -3))); + if(!onlyValQuarks_) add(new_ptr((Tree2toNDiagram(3), q1b, pom, q2b, 1, q1b, 2, q2b, -3))); + else if(checkValence(-i,0,eh) && checkValence(-j,1,eh) ) add(new_ptr((Tree2toNDiagram(3), q1b, pom, q2b, 1, q1b, 2, q2b, -3))); } } } Energy2 MEMinBias::scale() const { return sqr(Scale_); } int MEMinBias::nDim() const { return 0; } void MEMinBias::setKinematics() { HwMEBase::setKinematics(); // Always call the base class method first. } bool MEMinBias::generateKinematics(const double *) { // generate the masses of the particles for ( int i = 2, N = meMomenta().size(); i < N; ++i ) { meMomenta()[i] = Lorentz5Momentum(mePartonData()[i]->generateMass()); } Energy q = ZERO; try { q = SimplePhaseSpace:: getMagnitude(sHat(), meMomenta()[2].mass(), meMomenta()[3].mass()); } catch ( ImpossibleKinematics & e ) { return false; } Energy pt = ZERO; meMomenta()[2].setVect(Momentum3( pt, pt, q)); meMomenta()[3].setVect(Momentum3(-pt, -pt, -q)); meMomenta()[2].rescaleEnergy(); meMomenta()[3].rescaleEnergy(); jacobian(1.0); return true; } double MEMinBias::correctionweight() const { // Here we calculate the weight to restore the inelastic-diffractiveXSec // given by the MPIHandler. // First get the eventhandler to get the current cross sections. static Ptr::tptr eh = dynamic_ptr_cast::tptr>(generator()->eventHandler()); // All diffractive processes make use of this ME. // The static map can be used to collect all the sumOfWeights. static map weightsmap; weightsmap[lastXCombPtr()]=lastXComb().stats().sumWeights(); // Define static variable to keep trac of reweighting static double rew_=1.; static int countUpdateWeight=50; static double sumRew=0.; static double countN=0; // if we produce events we count if(eh->integratedXSec()>ZERO)sumRew+=rew_; if(eh->integratedXSec()>ZERO)countN+=1.; if(countUpdateWeightsampler()->maxXSec()/eh->sampler()->attempts()*sum; CrossSection XS_wanted=MPIHandler_->inelasticXSec()-MPIHandler_->diffractiveXSec(); double deltaN=50; // Cross section without reweighting: XS_norew // XS_have = avcsNorm2*XS_norew (for large N) // We want to determine the rew that allows to get the wanted XS. // In deltaN points we want (left) and we get (right): // XS_wanted*(countN+deltaN) = XS_have*countN + rew*deltaN*XS_norew // Solve for rew: rew_=avRew*(XS_wanted*(countN+deltaN)-XS_have*countN)/(XS_have*deltaN); countUpdateWeight+=deltaN; } //Make sure we dont produce negative weights. // TODO: write finalize method that checks if reweighting was performed correctly. rew_=max(rew_,0.000001); rew_=min(rew_,10000.0); return rew_; } double MEMinBias::me2() const { //tuned so it gives the correct normalization for xmin = 0.11 return csNorm_*(sqr(generator()->maximumCMEnergy())/GeV2); } CrossSection MEMinBias::dSigHatDR() const { return me2()*jacobian()/sHat()*sqr(hbarc)*correctionweight(); } unsigned int MEMinBias::orderInAlphaS() const { return 2; } unsigned int MEMinBias::orderInAlphaEW() const { return 0; } Selector MEMinBias::diagrams(const DiagramVector & diags) const { Selector sel; for ( DiagramIndex i = 0; i < diags.size(); ++i ) sel.insert(1.0, i); return sel; } Selector MEMinBias::colourGeometries(tcDiagPtr diag) const { static ColourLines qq("1 4, 3 5"); static ColourLines qqb("1 4, -3 -5"); static ColourLines qbqb("-1 -4, -3 -5"); Selector sel; switch(diag->id()){ case -1: sel.insert(1.0, &qq); break; case -2: sel.insert(1.0, &qqb); break; case -3: sel.insert(1.0, &qbqb); break; } return sel; } IBPtr MEMinBias::clone() const { return new_ptr(*this); } IBPtr MEMinBias::fullclone() const { return new_ptr(*this); } // The following static variable is needed for the type // description system in ThePEG. DescribeClass describeHerwigMEMinBias("Herwig::MEMinBias", "HwMEHadron.so"); void MEMinBias::persistentOutput(PersistentOStream & os) const { os << csNorm_ << ounit(Scale_,GeV) << MPIHandler_; } void MEMinBias::persistentInput(PersistentIStream & is, int) { is >> csNorm_ >> iunit(Scale_,GeV) >> MPIHandler_; } void MEMinBias::Init() { static ClassDocumentation documentation ("There is no documentation for the MEMinBias class"); static Parameter interfacecsNorm ("csNorm", "Normalization of the min-bias cross section.", &MEMinBias::csNorm_, 1.0, 0.0, 100.0, false, false, Interface::limited); static Parameter interfaceScale ("Scale", "Scale for the Min Bias matrix element.", &MEMinBias::Scale_,GeV, 2.0*GeV, 0.0*GeV, 100.0*GeV, false, false, Interface::limited); static Reference interfaceMPIHandler ("MPIHandler", "The object that administers all additional scatterings.", &MEMinBias::MPIHandler_, false, false, true, true); + static Switch interfaceOnlyVal + ("OnlyValence" , + "Allow the dummy process to only extract valence quarks." , + &MEMinBias::onlyValQuarks_ , false , false , false ); + static SwitchOption interfaceOnlyValYes + ( interfaceOnlyVal , "Yes" , "" , true ); + static SwitchOption interfaceOnlyValNo + ( interfaceOnlyVal , "No" , "" , false ); + + } diff --git a/MatrixElement/Hadron/MEMinBias.h b/MatrixElement/Hadron/MEMinBias.h --- a/MatrixElement/Hadron/MEMinBias.h +++ b/MatrixElement/Hadron/MEMinBias.h @@ -1,212 +1,217 @@ // -*- C++ -*- #ifndef HERWIG_MEMinBias_H #define HERWIG_MEMinBias_H // // This is the declaration of the MEMinBias class. // #include "Herwig/MatrixElement/HwMEBase.h" #include "Herwig/Shower/UEBase.h" namespace Herwig { using namespace ThePEG; /** * The MEMinBias class provides a simple colour singlet exchange matrix element * to be used in the soft component of the multiple scattering model of the * underlying event * * @see \ref MEMinBiasInterfaces "The interfaces" * defined for MEMinBias. */ class MEMinBias: public HwMEBase { public: /** * The default constructor. */ MEMinBias() : csNorm_(1.), Scale_(2.*GeV) {} public: /** @name Virtual functions required by the MEBase class. */ //@{ /** * Return the order in \f$\alpha_S\f$ in which this matrix * element is given. */ virtual unsigned int orderInAlphaS() const; /** * Return the order in \f$\alpha_{EW}\f$ in which this matrix * element is given. */ virtual unsigned int orderInAlphaEW() const; /** * The matrix element for the kinematical configuration * previously provided by the last call to setKinematics(), suitably * scaled by sHat() to give a dimension-less number. * @return the matrix element scaled with sHat() to give a * dimensionless number. */ virtual double me2() const; /** * Correction weight to reweight the cross section to the inelastic cross * section subtracted by the diffractive cross section. */ double correctionweight() const; /** * Return the scale associated with the last set phase space point. */ virtual Energy2 scale() const; /** * Set the typed and momenta of the incoming and outgoing partons to * be used in subsequent calls to me() and colourGeometries() * according to the associated XComb object. If the function is * overridden in a sub class the new function must call the base * class one first. */ virtual void setKinematics(); /** * The number of internal degrees of freedom used in the matrix * element. */ virtual int nDim() const; /** * Generate internal degrees of freedom given nDim() uniform * random numbers in the interval \f$ ]0,1[ \f$. To help the phase space * generator, the dSigHatDR should be a smooth function of these * numbers, although this is not strictly necessary. * @param r a pointer to the first of nDim() consecutive random numbers. * @return true if the generation succeeded, otherwise false. */ virtual bool generateKinematics(const double * r); /** * Return the matrix element squared differential in the variables * given by the last call to generateKinematics(). */ virtual CrossSection dSigHatDR() const; /** * Add all possible diagrams with the add() function. */ virtual void getDiagrams() const; /** * Get diagram selector. With the information previously supplied with the * setKinematics method, a derived class may optionally * override this method to weight the given diagrams with their * (although certainly not physical) relative probabilities. * @param dv the diagrams to be weighted. * @return a Selector relating the given diagrams to their weights. */ virtual Selector diagrams(const DiagramVector & dv) const; /** * Return a Selector with possible colour geometries for the selected * diagram weighted by their relative probabilities. * @param diag the diagram chosen. * @return the possible colour geometries weighted by their * relative probabilities. */ virtual Selector colourGeometries(tcDiagPtr diag) const; //@} public: /** @name Functions used by the persistent I/O system. */ //@{ /** * Function used to write out object persistently. * @param os the persistent output stream written to. */ void persistentOutput(PersistentOStream & os) const; /** * Function used to read in object persistently. * @param is the persistent input stream read from. * @param version the version number of the object when written. */ void persistentInput(PersistentIStream & is, int version); //@} /** * The standard Init function used to initialize the interfaces. * Called exactly once for each class by the class description system * before the main function starts or * when this class is dynamically loaded. */ /** * The standard Init function used to initialize the interfaces. * Called exactly once for each class by the class description system * before the main function starts or * when this class is dynamically loaded. */ static void Init(); protected: /** @name Clone Methods. */ //@{ /** * Make a simple clone of this object. * @return a pointer to the new object. */ virtual IBPtr clone() const; /** Make a clone of this object, possibly modifying the cloned object * to make it sane. * @return a pointer to the new object. */ virtual IBPtr fullclone() const; //@} // If needed, insert declarations of virtual function defined in the // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs). private: /** * Normalization of the min-bias cross section. * Note that the cross section is reweighted in addition to produce the * non-diffractive cross section given by the MPIHandler * csNorm can be modified to improve the unweighting effiency. */ double csNorm_; /** * Scale for the Min Bias matrix element */ Energy Scale_; /** + * Allow only valence quark extraction. + */ + bool onlyValQuarks_=false; + + /** * a MPIHandler to administer the creation of several (semihard) * partonic interactions. * Needed to comunicate the non-diffractive cross section. */ UEBasePtr MPIHandler_; /** * The assignment operator is private and must never be called. * In fact, it should not even be implemented. */ MEMinBias & operator=(const MEMinBias &) = delete; }; } #endif /* HERWIG_MEMinBias_H */ diff --git a/PDF/HwRemDecayer.cc b/PDF/HwRemDecayer.cc --- a/PDF/HwRemDecayer.cc +++ b/PDF/HwRemDecayer.cc @@ -1,1967 +1,1973 @@ // -*- C++ -*- // // HwRemDecayer.cc is a part of Herwig - A multi-purpose Monte Carlo event generator // Copyright (C) 2002-2017 The Herwig Collaboration // // Herwig is licenced under version 3 of the GPL, see COPYING for details. // Please respect the MCnet academic guidelines, see GUIDELINES for details. // // // This is the implementation of the non-inlined, non-templated member // functions of the HwRemDecayer class. // #include "HwRemDecayer.h" #include "ThePEG/Utilities/DescribeClass.h" #include "ThePEG/Interface/ClassDocumentation.h" #include "ThePEG/Persistency/PersistentOStream.h" #include "ThePEG/Persistency/PersistentIStream.h" #include "ThePEG/Interface/Reference.h" #include "ThePEG/Interface/Parameter.h" #include "ThePEG/Interface/Switch.h" #include "ThePEG/Utilities/UtilityBase.h" #include "ThePEG/Utilities/SimplePhaseSpace.h" #include "ThePEG/Utilities/Throw.h" #include "Herwig/Shower/ShowerHandler.h" using namespace Herwig; namespace{ const bool dbg = false; void reShuffle(Lorentz5Momentum &p1, Lorentz5Momentum &p2, Energy m1, Energy m2){ Lorentz5Momentum ptotal(p1+p2); ptotal.rescaleMass(); if( ptotal.m() < m1+m2 ) { if(dbg) cerr << "Not enough energy to perform reshuffling \n"; throw HwRemDecayer::ExtraSoftScatterVeto(); } Boost boostv = -ptotal.boostVector(); ptotal.boost(boostv); p1.boost(boostv); // set the masses and energies, p1.setMass(m1); p1.setE(0.5/ptotal.m()*(ptotal.m2()+sqr(m1)-sqr(m2))); p1.rescaleRho(); // boost back to the lab p1.boost(-boostv); p2.boost(boostv); // set the masses and energies, p2.setMass(m2); p2.setE(0.5/ptotal.m()*(ptotal.m2()+sqr(m2)-sqr(m1))); p2.rescaleRho(); // boost back to the lab p2.boost(-boostv); } } void HwRemDecayer::initialize(pair rems, tPPair beam, Step & step, Energy forcedSplitScale) { // the step thestep = &step; // valence content of the hadrons theContent.first = getHadronContent(beam.first); theContent.second = getHadronContent(beam.second); // momentum extracted from the hadrons theUsed.first = Lorentz5Momentum(); theUsed.second = Lorentz5Momentum(); theMaps.first.clear(); theMaps.second.clear(); theX.first = 0.0; theX.second = 0.0; theRems = rems; _forcedSplitScale = forcedSplitScale; // check remnants attached to the right hadrons if( (theRems.first && parent(theRems.first ) != beam.first ) || (theRems.second && parent(theRems.second) != beam.second) ) throw Exception() << "Remnant order wrong in " << "HwRemDecayer::initialize(...)" << Exception::runerror; return; } void HwRemDecayer::split(tPPtr parton, HadronContent & content, tRemPPtr rem, Lorentz5Momentum & used, PartnerMap &partners, tcPDFPtr pdf, bool first) { theBeam = parent(rem); theBeamData = dynamic_ptr_cast::const_pointer> (theBeam->dataPtr()); double currentx = parton->momentum().rho()/theBeam->momentum().rho(); double check = rem==theRems.first ? theX.first : theX.second; check += currentx; if(1.0-check < 1e-3) throw ShowerHandler::ExtraScatterVeto(); bool anti; Lorentz5Momentum lastp(parton->momentum()); int lastID(parton->id()); Energy oldQ(_forcedSplitScale); _pdf = pdf; //do nothing if already valence quark if(first && content.isValenceQuark(parton)) { //set the extracted value, because otherwise no RemID could be generated. content.extract(lastID); // add the particle to the colour partners partners.push_back(make_pair(parton, tPPtr())); //set the sign anti = parton->hasAntiColour() && parton->id()!=ParticleID::g; if(rem==theRems.first) theanti.first = anti; else theanti.second = anti; // add the x and return if(rem==theRems.first) theX.first += currentx; else theX.second += currentx; return; } //or gluon for secondaries else if(!first && lastID == ParticleID::g) { partners.push_back(make_pair(parton, tPPtr())); // add the x and return if(rem==theRems.first) theX.first += currentx; else theX.second += currentx; return; } // if a sea quark.antiquark forced splitting to a gluon // Create the new parton with its momentum and parent/child relationship set PPtr newSea; if( !(lastID == ParticleID::g || lastID == ParticleID::gamma) ) { newSea = forceSplit(rem, -lastID, oldQ, currentx, lastp, used,content); ColinePtr cl = new_ptr(ColourLine()); if(newSea->id() > 0) cl-> addColoured(newSea); else cl->addAntiColoured(newSea); // if a secondard scatter finished so return if(!first || content.isValenceQuark(ParticleID::g) ){ partners.push_back(make_pair(parton, newSea)); // add the x and return if(rem==theRems.first) theX.first += currentx; else theX.second += currentx; if(first) content.extract(ParticleID::g); return; } } // otherwise evolve back to valence // final valence splitting PPtr newValence = forceSplit(rem, lastID!=ParticleID::gamma ? ParticleID::g : ParticleID::gamma, oldQ, currentx , lastp, used, content); // extract from the hadron to allow remnant to be determined content.extract(newValence->id()); // case of a gluon going into the hard subprocess if( lastID == ParticleID::g ) { partners.push_back(make_pair(parton, tPPtr())); anti = newValence->hasAntiColour(); if(rem==theRems.first) theanti.first = anti; else theanti.second = anti; parton->colourLine(!anti)->addColoured(newValence, anti); return; } else if( lastID == ParticleID::gamma) { partners.push_back(make_pair(parton, newValence)); anti = newValence->hasAntiColour(); ColinePtr newLine(new_ptr(ColourLine())); newLine->addColoured(newValence, anti); if(rem==theRems.first) theanti.first = anti; else theanti.second = anti; // add the x and return if(rem==theRems.first) theX.first += currentx; else theX.second += currentx; return; } //The valence quark will always be connected to the sea quark with opposite sign tcPPtr particle; if(lastID*newValence->id() < 0){ particle = parton; partners.push_back(make_pair(newSea, tPPtr())); } else { particle = newSea; partners.push_back(make_pair(parton, tPPtr())); } anti = newValence->hasAntiColour(); if(rem==theRems.first) theanti.first = anti; else theanti.second = anti; if(particle->colourLine()) particle->colourLine()->addAntiColoured(newValence); if(particle->antiColourLine()) particle->antiColourLine()->addColoured(newValence); // add the x and return if(rem==theRems.first) theX.first += currentx; else theX.second += currentx; return; } void HwRemDecayer::doSplit(pair partons, pair pdfs, bool first) { if(theRems.first) { ParticleVector children=theRems.first->children(); for(unsigned int ix=0;ixdataPtr()==theRems.first->dataPtr()) theRems.first = dynamic_ptr_cast(children[ix]); } } if(theRems.second) { ParticleVector children=theRems.second->children(); for(unsigned int ix=0;ixdataPtr()==theRems.second->dataPtr()) theRems.second = dynamic_ptr_cast(children[ix]); } } // forced splitting for first parton if(isPartonic(partons.first )) { try { split(partons.first, theContent.first, theRems.first, theUsed.first, theMaps.first, pdfs.first, first); } catch(ShowerHandler::ExtraScatterVeto) { throw ShowerHandler::ExtraScatterVeto(); } } // forced splitting for second parton if(isPartonic(partons.second)) { try { split(partons.second, theContent.second, theRems.second, theUsed.second, theMaps.second, pdfs.second, first); // additional check for the remnants // if can't do the rescale veto the emission if(!first&&partons.first->data().coloured()&& partons.second->data().coloured()) { Lorentz5Momentum pnew[2]= {theRems.first->momentum() - theUsed.first - partons.first->momentum(), theRems.second->momentum() - theUsed.second - partons.second->momentum()}; pnew[0].setMass(getParticleData(theContent.first.RemID())->constituentMass()); pnew[0].rescaleEnergy(); pnew[1].setMass(getParticleData(theContent.second.RemID())->constituentMass()); pnew[1].rescaleEnergy(); for(unsigned int iy=0; iychildren().size(); ++iy) pnew[0] += theRems.first->children()[iy]->momentum(); for(unsigned int iy=0; iychildren().size(); ++iy) pnew[1] += theRems.second->children()[iy]->momentum(); Lorentz5Momentum ptotal= theRems.first ->momentum()-partons.first ->momentum()+ theRems.second->momentum()-partons.second->momentum(); // add x limits if(ptotal.m() < (pnew[0].m() + pnew[1].m()) ) { if(partons.second->id() != ParticleID::g){ if(partons.second==theMaps.second.back().first) theUsed.second -= theMaps.second.back().second->momentum(); else theUsed.second -= theMaps.second.back().first->momentum(); thestep->removeParticle(theMaps.second.back().first); thestep->removeParticle(theMaps.second.back().second); } theMaps.second.pop_back(); theX.second -= partons.second->momentum().rho()/ parent(theRems.second)->momentum().rho(); throw ShowerHandler::ExtraScatterVeto(); } } } catch(ShowerHandler::ExtraScatterVeto){ if(!partons.first||!partons.second|| !theRems.first||!theRems.second) throw ShowerHandler::ExtraScatterVeto(); //case of the first forcedSplitting worked fine theX.first -= partons.first->momentum().rho()/ parent(theRems.first)->momentum().rho(); //case of the first interaction //throw veto immediately, because event get rejected anyway. if(first) throw ShowerHandler::ExtraScatterVeto(); //secondary interactions have to end on a gluon, if parton //was NOT a gluon, the forced splitting particles must be removed if(partons.first->id() != ParticleID::g) { if(partons.first==theMaps.first.back().first) theUsed.first -= theMaps.first.back().second->momentum(); else theUsed.first -= theMaps.first.back().first->momentum(); thestep->removeParticle(theMaps.first.back().first); thestep->removeParticle(theMaps.first.back().second); } theMaps.first.pop_back(); throw ShowerHandler::ExtraScatterVeto(); } } // veto if not enough energy for extraction if( !first &&(theRems.first ->momentum().e() - partons.first ->momentum().e() < 1.0e-3*MeV || theRems.second->momentum().e() - partons.second->momentum().e() < 1.0e-3*MeV )) { if(partons.first->id() != ParticleID::g) { if(partons.first==theMaps.first.back().first) theUsed.first -= theMaps.first.back().second->momentum(); else theUsed.first -= theMaps.first.back().first->momentum(); thestep->removeParticle(theMaps.first.back().first); thestep->removeParticle(theMaps.first.back().second); } theMaps.first.pop_back(); if(partons.second->id() != ParticleID::g) { if(partons.second==theMaps.second.back().first) theUsed.second -= theMaps.second.back().second->momentum(); else theUsed.second -= theMaps.second.back().first->momentum(); thestep->removeParticle(theMaps.second.back().first); thestep->removeParticle(theMaps.second.back().second); } theMaps.second.pop_back(); throw ShowerHandler::ExtraScatterVeto(); } } void HwRemDecayer::mergeColour(tPPtr pold, tPPtr pnew, bool anti) const { ColinePtr clnew, clold; //save the corresponding colour lines clold = pold->colourLine(anti); clnew = pnew->colourLine(!anti); assert(clold); // There is already a colour line (not the final diquark) if(clnew){ if( (clnew->coloured().size() + clnew->antiColoured().size()) > 1 ){ if( (clold->coloured().size() + clold->antiColoured().size()) > 1 ){ //join the colour lines //I don't use the join method, because potentially only (anti)coloured //particles belong to one colour line if(clold!=clnew){//procs are not already connected while ( !clnew->coloured().empty() ) { tPPtr p = clnew->coloured()[0]; clnew->removeColoured(p); clold->addColoured(p); } while ( !clnew->antiColoured().empty() ) { tPPtr p = clnew->antiColoured()[0]; clnew->removeAntiColoured(p); clold->addAntiColoured(p); } } }else{ //if pold is the only member on it's //colour line, remove it. clold->removeColoured(pold, anti); //and add it to clnew clnew->addColoured(pold, anti); } } else{//pnnew is the only member on it's colour line. clnew->removeColoured(pnew, !anti); clold->addColoured(pnew, !anti); } } else {//there is no coline at all for pnew clold->addColoured(pnew, !anti); } } void HwRemDecayer::fixColours(PartnerMap partners, bool anti, double colourDisrupt) const { PartnerMap::iterator prev; tPPtr pnew, pold; assert(partners.size()>=2); PartnerMap::iterator it=partners.begin(); while(it != partners.end()) { //skip the first one to have a partner if(it==partners.begin()){ it++; continue; } prev = it - 1; //determine the particles to work with pold = prev->first; if(prev->second) { if(!pold->coloured()) pold = prev->second; else if(pold->hasAntiColour() != anti) pold = prev->second; } assert(pold); pnew = it->first; if(it->second) { if(it->second->colourLine(!anti)) //look for the opposite colour pnew = it->second; } assert(pnew); // Implement the disruption of colour connections if( it != partners.end()-1 ) {//last one is diquark-has to be connected //has to be inside the if statement, so that the probability is //correctly counted: if( UseRandom::rnd() < colourDisrupt ){ if(!it->second){//check, whether we have a gluon mergeColour(pnew, pnew, anti); }else{ if(pnew==it->first)//be careful about the order mergeColour(it->second, it->first, anti); else mergeColour(it->first, it->second, anti); } it = partners.erase(it); continue; } } // regular merging mergeColour(pold, pnew, anti); //end of loop it++; } return; } PPtr HwRemDecayer::forceSplit(const tRemPPtr rem, long child, Energy &lastQ, double &lastx, Lorentz5Momentum &pf, Lorentz5Momentum &p, HadronContent & content) const { static const double eps=1e-6; // beam momentum Lorentz5Momentum beam = theBeam->momentum(); // the last scale is minimum of last value and upper limit Energy minQ=_range*_kinCutoff*sqrt(lastx)/(1-lastx); if(minQ>lastQ) lastQ=minQ; // generate the new value of qtilde // weighted towards the lower value: dP/dQ = 1/Q -> Q(R) = // Q0 (Qmax/Q0)^R Energy q; unsigned int ntry=0,maxtry=100; double xExtracted = rem==theRems.first ? theX.first : theX.second; double zmin= lastx/(1.-xExtracted) ,zmax,yy; if(1-lastx ids; if(child==21||child==22) { ids=content.flav; for(unsigned int ix=0;ix > > partonprob; double ptotal(0.); for(unsigned int iflav=0;iflav prob; for(unsigned int iz=0;izvalue(sqr(max(wz*q,_kinCutoff))) : _alphaEM->value(sqr(max(wz*q,_kinCutoff))); double az=wz*zz*coup; // g -> q qbar if(ids[iflav]==ParticleID::g) { // calculate splitting function // SP as q is always less than forcedSplitScale, the pdf scale is fixed // pdfval = _pdf->xfx(theBeamData,in,sqr(q),lastx*zr); double pdfval=_pdf->xfx(theBeamData,in,sqr(_forcedSplitScale),lastx*zr); if(pdfval>0.) psum += pdfval*az*0.5*(sqr(zz)+sqr(wz)); } // q -> q g else { // calculate splitting function // SP as q is always less than forcedSplitScale, the pdf scale is fixed // pdfval = _pdf->xfx(theBeamData,in,sqr(q),lastx*zr); double pdfval=_pdf->xfx(theBeamData,in,sqr(_forcedSplitScale),lastx*zr); if(pdfval>0.) psum += pdfval*az*4./3.*(1.+sqr(wz))*zr; } if(psum>0.) prob.push_back(psum); yy+=dely; } if(psum>0.) partonprob[ids[iflav]] = make_pair(psum,prob); ptotal+=psum; } // select the flavour if(ptotal==0.) throw ShowerHandler::ExtraScatterVeto(); ptotal *= UseRandom::rnd(); map > >::const_iterator pit; for(pit=partonprob.begin();pit!=partonprob.end();++pit) { if(pit->second.first>=ptotal) break; else ptotal -= pit->second.first; } if(pit==partonprob.end()) throw Exception() << "Can't select parton for forced backward evolution in " << "HwRemDecayer::forceSplit" << Exception::eventerror; // select z unsigned int iz=0; for(;izsecond.second.size();++iz) { if(pit->second.second[iz]>ptotal) break; } if(iz==pit->second.second.size()) --iz; double ey=exp(ymin+dely*(float(iz+1)-UseRandom::rnd())); double z=ey/(1.+ey); Energy2 pt2=sqr((1.-z)*q)- z*sqr(_kinCutoff); // create the particle if(pit->first!=ParticleID::g) child=pit->first; PPtr parton = getParticleData(child)->produceParticle(); Energy2 emittedm2 = sqr(parton->dataPtr()->constituentMass()); // Now boost pcm and pf to z only frame Lorentz5Momentum p_ref = Lorentz5Momentum(ZERO, beam.vect()); Lorentz5Momentum n_ref = Lorentz5Momentum(ZERO, -beam.vect()); // generate phi and compute pt of branching double phi = Constants::twopi*UseRandom::rnd(); Energy pt=sqrt(pt2); Lorentz5Momentum qt = LorentzMomentum(pt*cos(phi), pt*sin(phi), ZERO, ZERO); Axis axis(p_ref.vect().unit()); if(axis.perp2()>0.) { LorentzRotation rot; double sinth(sqrt(sqr(axis.x())+sqr(axis.y()))); rot.setRotate(acos(axis.z()),Axis(-axis.y()/sinth,axis.x()/sinth,0.)); qt.transform(rot); } // compute alpha for previous particle Energy2 p_dot_n = p_ref*n_ref; double lastalpha = pf*n_ref/p_dot_n; Lorentz5Momentum qtout=qt; Energy2 qtout2=-qt*qt; double alphaout=(1.-z)/z*lastalpha; double betaout=0.5*(emittedm2+qtout2)/alphaout/p_dot_n; Lorentz5Momentum k=alphaout*p_ref+betaout*n_ref+qtout; k.rescaleMass(); parton->set5Momentum(k); pf+=k; lastQ=q; lastx/=z; p += parton->momentum(); thestep->addDecayProduct(rem,parton,false); return parton; } void HwRemDecayer::setRemMasses() const { // get the masses of the remnants Energy mrem[2]; Lorentz5Momentum ptotal,pnew[2]; vector theprocessed; theprocessed.push_back(theRems.first); theprocessed.push_back(theRems.second); // one remnant in e.g. DIS if(!theprocessed[0]||!theprocessed[1]) { tRemPPtr rem = theprocessed[0] ? theprocessed[0] : theprocessed[1]; Lorentz5Momentum deltap(rem->momentum()); // find the diquark and momentum we still need in the energy tPPtr diquark; vector progenitors; for(unsigned int ix=0;ixchildren().size();++ix) { if(!DiquarkMatcher::Check(rem->children()[ix]->data())) { progenitors.push_back(rem->children()[ix]); deltap -= rem->children()[ix]->momentum(); } else diquark = rem->children()[ix]; } // now find the total momentum of the hadronic final-state to // reshuffle against // find the hadron for this remnant tPPtr hadron=rem; do hadron=hadron->parents()[0]; while(!hadron->parents().empty()); // find incoming parton to hard process from this hadron tPPtr hardin = generator()->currentEvent()->primaryCollision()->incoming().first==hadron ? generator()->currentEvent()->primarySubProcess()->incoming().first : generator()->currentEvent()->primarySubProcess()->incoming().second; tPPtr parent=hardin; vector tempprog; // find the outgoing particles emitted from the backward shower do { assert(!parent->parents().empty()); tPPtr newparent=parent->parents()[0]; if(newparent==hadron) break; for(unsigned int ix=0;ixchildren().size();++ix) { if(newparent->children()[ix]!=parent) findChildren(newparent->children()[ix],tempprog); } parent=newparent; } while(parent!=hadron); // add to list of potential particles to reshuffle against in right order for(unsigned int ix=tempprog.size();ix>0;--ix) progenitors.push_back(tempprog[ix-1]); // final-state particles which are colour connected tColinePair lines = make_pair(hardin->colourLine(),hardin->antiColourLine()); vector others; for(ParticleVector::const_iterator cit = generator()->currentEvent()->primarySubProcess()->outgoing().begin(); cit!= generator()->currentEvent()->primarySubProcess()->outgoing().end();++cit) { // colour connected if(lines.first&&lines.first==(**cit).colourLine()) { findChildren(*cit,progenitors); continue; } // anticolour connected if(lines.second&&lines.second==(**cit).antiColourLine()) { findChildren(*cit,progenitors); continue; } // not connected for(unsigned int ix=0;ix<(**cit).children().size();++ix) others.push_back((**cit).children()[ix]); } // work out how much of the system needed for rescaling unsigned int iloc=0; Lorentz5Momentum psystem,ptotal; do { psystem+=progenitors[iloc]->momentum(); ptotal = psystem + deltap; ptotal.rescaleMass(); psystem.rescaleMass(); ++iloc; if(ptotal.mass() > psystem.mass() + diquark->mass() && psystem.mass()>1*MeV && DISRemnantOpt_<2 && ptotal.e() > 0.*GeV ) break; } while(iloc psystem.mass() + diquark->mass()) --iloc; if(iloc==progenitors.size()) { // try touching the lepton in dis as a last restort for(unsigned int ix=0;ixmomentum(); ptotal = psystem + deltap; ptotal.rescaleMass(); psystem.rescaleMass(); ++iloc; } --iloc; if(ptotal.mass() > psystem.mass() + diquark->mass()) { if(DISRemnantOpt_==0||DISRemnantOpt_==2) Throw() << "Warning had to adjust the momentum of the" << " non-colour connected" << " final-state, e.g. the scattered lepton in DIS" << Exception::warning; else throw Exception() << "Can't set remnant momentum without adjusting " << "the momentum of the" << " non-colour connected" << " final-state, e.g. the scattered lepton in DIS" << " vetoing event" << Exception::eventerror; } else { throw Exception() << "Can't put the remnant on-shell in HwRemDecayer::setRemMasses()" << Exception::eventerror; } } psystem.rescaleMass(); LorentzRotation R = Utilities::getBoostToCM(make_pair(psystem, deltap)); Energy pz = SimplePhaseSpace::getMagnitude(sqr(ptotal.mass()), psystem.mass(), diquark->mass()); LorentzRotation Rs(-(R*psystem).boostVector()); Rs.boost(0.0, 0.0, pz/sqrt(sqr(pz) + sqr(psystem.mass()))); Rs = Rs*R; // put remnant on shell deltap.transform(R); deltap.setMass(diquark->mass()); deltap.setE(sqrt(sqr(diquark->mass())+sqr(pz))); deltap.rescaleRho(); R.invert(); deltap.transform(R); Rs = R*Rs; // apply transformation to required particles to absorb recoil for(unsigned int ix=0;ix<=iloc;++ix) { progenitors[ix]->deepTransform(Rs); } diquark->set5Momentum(deltap); } // two remnants else { for(unsigned int ix=0;ix<2;++ix) { if(!theprocessed[ix]) continue; pnew[ix]=Lorentz5Momentum(); for(unsigned int iy=0;iychildren().size();++iy) { pnew[ix]+=theprocessed[ix]->children()[iy]->momentum(); } mrem[ix]=sqrt(pnew[ix].m2()); } // now find the remnant remnant cmf frame Lorentz5Momentum prem[2]={theprocessed[0]->momentum(), theprocessed[1]->momentum()}; ptotal=prem[0]+prem[1]; ptotal.rescaleMass(); // boost momenta to this frame if(ptotal.m()< (pnew[0].m()+pnew[1].m())) throw Exception() << "Not enough energy in both remnants in " << "HwRemDecayer::setRemMasses() " << Exception::eventerror; Boost boostv(-ptotal.boostVector()); ptotal.boost(boostv); for(unsigned int ix=0;ix<2;++ix) { prem[ix].boost(boostv); // set the masses and energies, prem[ix].setMass(mrem[ix]); prem[ix].setE(0.5/ptotal.m()*(sqr(ptotal.m())+sqr(mrem[ix])-sqr(mrem[1-ix]))); prem[ix].rescaleRho(); // boost back to the lab prem[ix].boost(-boostv); // set the momenta of the remnants theprocessed[ix]->set5Momentum(prem[ix]); } // boost the decay products Lorentz5Momentum ptemp; for(unsigned int ix=0;ix<2;++ix) { Boost btorest(-pnew[ix].boostVector()); Boost bfmrest( prem[ix].boostVector()); for(unsigned int iy=0;iychildren().size();++iy) { ptemp=theprocessed[ix]->children()[iy]->momentum(); ptemp.boost(btorest); ptemp.boost(bfmrest); theprocessed[ix]->children()[iy]->set5Momentum(ptemp); } } } } void HwRemDecayer::initSoftInteractions(Energy ptmin, InvEnergy2 beta){ ptmin_ = ptmin; beta_ = beta; } Energy HwRemDecayer::softPt() const { Energy2 pt2(ZERO); double xmin(0.0), xmax(1.0), x(0); if(beta_ == ZERO){ return UseRandom::rnd(0.0,(double)(ptmin_/GeV))*GeV; } if(beta_ < ZERO){ xmin = 1.0; xmax = exp( -beta_*sqr(ptmin_) ); }else{ xmin = exp( -beta_*sqr(ptmin_) ); xmax = 1.0; } x = UseRandom::rnd(xmin, xmax); pt2 = 1.0/beta_ * log(1/x); if( pt2 < ZERO || pt2 > sqr(ptmin_) ) throw Exception() << "HwRemDecayer::softPt generation of pt " << "outside allowed range [0," << ptmin_/GeV << "]." << Exception::runerror; //ofstream myfile2("softPt.txt", ios::app ); //myfile2 << pt2/GeV2 <<" "<currentEventHandler()->currentCollision()->incoming()); Lorentz5Momentum P1(beam.first->momentum()), P2(beam.second->momentum()); if(dbg){ cerr << "new event --------------------\n" << *(beam.first) << *(softRems_.first) << "-------------------\n" << *(beam.second) << *(softRems_.second) << endl; } //parton mass Energy mp; if(quarkPair_){ mp = getParticleData(ParticleID::u)->constituentMass(); }else{ mp = mg_; } //Get x_g1 and x_g2 //first limits double xmin = sqr(ptmin_)/4.0/(P1+P2).m2(); double x1max = (r1.e()+abs(r1.z()))/(P1.e() + abs(P1.z())); double x2max = (r2.e()+abs(r2.z()))/(P2.e() + abs(P2.z())); double x1; if(!multiPeriph_){ //now generate according to 1/x x_g1 = xmin * exp(UseRandom::rnd(log(x1max/xmin))); x_g2 = xmin * exp(UseRandom::rnd(log(x2max/xmin))); }else{ if(valOfN_==0) return; double param = (1/(2*valOfN_+1))*initTotRap_; do{ // need 1-x instead of x to get the proper final momenta x1 = UseRandom::rndGauss(gaussWidth_, 1 - (exp(param)-1)/exp(param)); }while(x1 < 0 || x1>=1.0); x_g1 = x1max*x1; x_g2 = x2max*x1; } if(dbg) cerr << x1max << " " << x_g1 << endl << x2max << " " << x_g2 << endl; Lorentz5Momentum ig1, ig2, cmf; ig1 = x_g1*P1; ig2 = x_g2*P2; ig1.setMass(mp); ig2.setMass(mp); ig1.rescaleEnergy(); ig2.rescaleEnergy(); cmf = ig1 + ig2; //boost vector from cmf to lab Boost boostv(cmf.boostVector()); //outgoing gluons in cmf g1.setMass(mp); g2.setMass(mp); g1.setX(pt*cos(phi)); g2.setX(-pt*cos(phi)); g1.setY(pt*sin(phi)); g2.setY(-pt*sin(phi)); pz2 = cmf.m2()/4 - sqr(mp) - (pt*pt); if( pz2/GeV2 < 0.0 ){ if(dbg) cerr << "EXCEPTION not enough energy...." << endl; throw ExtraSoftScatterVeto(); } if(!multiPeriph_){ if(UseRandom::rndbool()){ pz = sqrt(pz2); }else pz = -sqrt(pz2); }else{ pz = pz2 > ZERO ? sqrt(pz2) : ZERO; } if(dbg) cerr << "pz1 has been calculated to: " << pz/GeV << endl; g1.setZ(pz); g2.setZ(-pz); g1.rescaleEnergy(); g2.rescaleEnergy(); if(dbg){ cerr << "check inv mass in cmf frame: " << (g1+g2).m()/GeV << " vs. lab frame: " << (ig1+ig2).m()/GeV << endl; } g1.boost(boostv); g2.boost(boostv); //recalc the remnant momenta Lorentz5Momentum r1old(r1), r2old(r2); r1 -= g1; r2 -= g2; try{ reShuffle(r1, r2, r1old.m(), r2old.m()); }catch(ExtraSoftScatterVeto){ r1 = r1old; r2 = r2old; throw ExtraSoftScatterVeto(); } if(dbg){ cerr << "remnant 1,2 momenta: " << r1/GeV << "--" << r2/GeV << endl; cerr << "remnant 1,2 masses: " << r1.m()/GeV << " " << r2.m()/GeV << endl; cerr << "check momenta in the lab..." << (-r1old-r2old+r1+r2+g1+g2)/GeV << endl; } } void HwRemDecayer::doSoftInteractions_old(unsigned int N) { if(N == 0) return; if(!softRems_.first || !softRems_.second) throw Exception() << "HwRemDecayer::doSoftInteractions: no " << "Remnants available." << Exception::runerror; if( ptmin_ == -1.*GeV ) throw Exception() << "HwRemDecayer::doSoftInteractions: init " << "code has not been called! call initSoftInteractions." << Exception::runerror; Lorentz5Momentum g1, g2; Lorentz5Momentum r1(softRems_.first->momentum()), r2(softRems_.second->momentum()); unsigned int tries(1), i(0); for(i=0; i maxtrySoft_) break; if(dbg){ cerr << "new try \n" << *softRems_.first << *softRems_.second << endl; } try{ softKinematics(r1, r2, g1, g2); }catch(ExtraSoftScatterVeto){ tries++; i--; continue; } PPair oldrems = softRems_; PPair gluons = make_pair(addParticle(softRems_.first, ParticleID::g, g1), addParticle(softRems_.second, ParticleID::g, g2)); //now reset the remnants with the new ones softRems_.first = addParticle(softRems_.first, softRems_.first->id(), r1); softRems_.second = addParticle(softRems_.second, softRems_.second->id(), r2); //do the colour connections pair anti = make_pair(oldrems.first->hasAntiColour(), oldrems.second->hasAntiColour()); ColinePtr cl1 = new_ptr(ColourLine()); ColinePtr cl2 = new_ptr(ColourLine()); // case 2: oldrems.first->colourLine(anti.first) ->addColoured(gluons.second,anti.second); cl2->addColoured(softRems_.first, anti.second); cl2->addColoured(gluons.second, !anti.second); oldrems.first->colourLine(anti.first) ->addColoured(gluons.second,anti.second); oldrems.second->colourLine(anti.second) ->addColoured(gluons.first,anti.first); cl1->addColoured(softRems_.second, anti.first); cl1->addColoured(gluons.first, !anti.first); cl2->addColoured(softRems_.first, anti.second); cl2->addColoured(gluons.second, !anti.second); //reset counter tries = 1; } if(dbg) cerr << "generated " << i << "th soft scatters\n"; } // Solve the reshuffling equation to rescale the remnant momenta double bisectReshuffling(const vector& particles, Energy w, double target = -16., double maxLevel = 80.) { double level = 0; double left = 0; double right = 1; double check = -1.; double xi = -1; while ( level < maxLevel ) { xi = (left+right)*pow(0.5,level+1.); check = 0.; for (vector::const_iterator p = particles.begin(); p != particles.end(); ++p){ check += sqrt(sqr(xi)*((*p)->momentum().vect().mag2())+sqr((*p)->mass()))/w; } if ( check==1. || log10(abs(1.-check)) <= target ) break; left *= 2.; right *= 2.; if ( check >= 1. ) { right -= 1.; ++level; } if ( check < 1. ) { left += 1.; ++level; } } return xi; } LorentzRotation HwRemDecayer::rotate(const LorentzMomentum &p) const { LorentzRotation R; static const double ptcut = 1e-20; Energy2 pt2 = sqr(p.x())+sqr(p.y()); Energy2 pp2 = sqr(p.z())+pt2; double phi, theta; if(pt2 <= pp2*ptcut) { if(p.z() > ZERO) theta = 0.; else theta = Constants::pi; phi = 0.; } else { Energy pp = sqrt(pp2); Energy pt = sqrt(pt2); double ct = p.z()/pp; double cf = p.x()/pt; phi = -acos(cf); theta = acos(ct); } // Rotate first around the z axis to put p in the x-z plane // Then rotate around the Y axis to put p on the z axis R.rotateZ(phi).rotateY(theta); return R; } struct vectorSort{ bool operator() (Lorentz5Momentum i,Lorentz5Momentum j) {return(i.rapidity() < j.rapidity());} } ySort; void HwRemDecayer::doSoftInteractions_multiPeriph(unsigned int N) { if(N == 0) return; int Nmpi = N; for(int j=0;jmaximumCMEnergy()); //double reference = sqr(energy/TeV); // double ladderMult_; // Parametrization of the ladder multiplicity // ladderMult_ = ladderNorm_ * pow( ( reference ) , ladderPower_ ); double avgN = 2.*ladderMult_*log((softRems_.first->momentum() +softRems_.second->momentum()).m()/mg_) + ladderbFactor_; initTotRap_ = abs(softRems_.first->momentum().rapidity()) +abs(softRems_.second->momentum().rapidity()); + // Generate the poisson distribution with mean avgN N=UseRandom::rndPoisson(avgN); valOfN_=N; if(N <= 1){ // j--; //TODO: Do we want to make all Nmpi soft MPIs? // Compare to MaxTryMPI for hard mpis. continue; } if(!softRems_.first || !softRems_.second) throw Exception() << "HwRemDecayer::doSoftInteractions: no " << "Remnants available." << Exception::runerror; if( ptmin_ == -1.*GeV ) throw Exception() << "HwRemDecayer::doSoftInteractions: init " << "code has not been called! call initSoftInteractions." << Exception::runerror; // The remnants PPtr rem1 = softRems_.first; PPtr rem2 = softRems_.second; // Vector for the ladder particles vector ladderMomenta; // Remnant momenta Lorentz5Momentum r1(softRems_.first->momentum()), r2(softRems_.second->momentum()); Lorentz5Momentum cm =r1+r2; // Initialize partons in the ladder // The toy masses are needed for the correct calculation of the available energy Lorentz5Momentum sumMomenta; for(unsigned int i = 0; i < N; i++) { // choose constituents Energy newMass = ZERO; Energy toyMass; if(i<2){ // u and d have the same mass so its enough to use u toyMass = getParticleData(ParticleID::u)->constituentMass(); } else{ toyMass = getParticleData(ParticleID::g)->constituentMass(); } Lorentz5Momentum cp(ZERO,ZERO,ZERO,newMass,newMass); // dummy container for the momentum that is used for momentum conservation Lorentz5Momentum dummy(ZERO,ZERO,ZERO,toyMass,toyMass); ladderMomenta.push_back(cp); sumMomenta+=dummy; } // Get the beam energy tcPPair beam(generator()->currentEventHandler()->currentCollision()->incoming()); Lorentz5Momentum P1(beam.first->momentum()), P2(beam.second->momentum()); // Calculate available energy for the partons double x1,x2; double param = (1./(valOfN_+1.))*initTotRap_; do{ // Need 1-x instead of x to get the proper final momenta // TODO: physical to use different x's (see comment below) x1 = UseRandom::rndGauss( gaussWidth_ , exp(-param) ); + // x2 = UseRandom::rndGauss( gaussWidth_ , exp(-param) ); }while(x1 < 0 || x1>=1.0); // x2 < 0 || x2>=1.0); // Remnants 1 and 2 need to be rescaled later by this amount Lorentz5Momentum ig1 = x1*r1; Lorentz5Momentum ig2 = x1*r2; //TODO: x2*r2 // requires boost of Ladder in x1/x2-dependent // frame. // The available energy that is used to generate the ladder // sumMomenta is the the sum of rest masses of the ladder partons // the available energy goes all into the kinematics Energy availableEnergy = (ig1+ig2).m() - sumMomenta.m(); // If not enough energy then continue // The available energy has to be larger then the rest mass of the remnants if ( availableEnergy < ZERO ) { // j--; //TODO: Do we want to make all Nmpi soft MPIs? continue; } unsigned int its(0); // Generate the momenta of the partons in the ladder if ( !(doPhaseSpaceGenerationGluons(ladderMomenta,availableEnergy,its)) ){ // j--; //TODO: Do we want to make all Nmpi soft MPIs? continue; } // Add gluon mass and rescale Lorentz5Momentum totalMomPartons; Lorentz5Momentum totalMassLessPartons; // Sort the ladder partons according to their rapidity and then choose which ones will be the quarks sort(ladderMomenta.begin(),ladderMomenta.end(),ySort); int countPartons=0; long quarkID=0; // Choose between up and down quarks int choice = UseRandom::rnd2(1,1); switch (choice) { case 0: quarkID = ParticleID::u; break; case 1: quarkID = ParticleID::d; break; } for (auto &p:ladderMomenta){ totalMomPartons+=p; // Set the mass of the gluons and the two quarks in the ladder if(countPartons==0 || countPartons==(ladderMomenta.size()-1)){ p.setMass( getParticleData(quarkID)->constituentMass() ); }else{ p.setMass( getParticleData(ParticleID::g)->constituentMass() ); } p.rescaleEnergy(); countPartons++; } // Continue if energy conservation is violated if ( abs(availableEnergy - totalMomPartons.m()) > 1e-8*GeV){ // j--; //TODO: Do we want to make all Nmpi soft MPIs? continue; } // Boost momenta into CM frame const Boost boostv(-totalMomPartons.boostVector()); Lorentz5Momentum totalMomentumAfterBoost; for ( unsigned int i=0; i remnants; rem1->set5Momentum(r1); rem2->set5Momentum(r2); remnants.push_back(rem1); remnants.push_back(rem2); vector reshuffledRemnants; Lorentz5Momentum totalMomentumAll; // Bisect reshuffling for rescaling of remnants double xi_remnants = bisectReshuffling(remnants,remainingEnergy); // Rescale remnants for ( auto &rems: remnants ) { Lorentz5Momentum reshuffledMomentum; reshuffledMomentum = xi_remnants*rems->momentum(); reshuffledMomentum.setMass(getParticleData(softRems_.first->id())->constituentMass()); reshuffledMomentum.rescaleEnergy(); reshuffledMomentum.boost(-boostvR); rems->set5Momentum(reshuffledMomentum); totalMomentumAll+=reshuffledMomentum; } // Then the other particles for ( auto &p:ladderMomenta ) { p.boost(-boostvR); totalMomentumAll+=p; } + // sort again + sort(ladderMomenta.begin(),ladderMomenta.end(),ySort); + // Do the colour connections // Original rems are the ones which are connected to other parts of the event PPair oldRems_ = softRems_; pair anti = make_pair(oldRems_.first->hasAntiColour(), oldRems_.second->hasAntiColour()); // Replace first remnant softRems_.first = addParticle(softRems_.first, softRems_.first->id(), remnants[0]->momentum()); // Connect the old remnant to the new remnant oldRems_.first->colourLine(anti.first)->addColoured(softRems_.first, anti.first); // Replace second remnant softRems_.second = addParticle(softRems_.second, softRems_.second->id(), remnants[1]->momentum()); // This connects the old remnants to the new remnants oldRems_.second->colourLine(anti.second)->addColoured(softRems_.second, anti.second); // Add all partons to the first remnant for the event record vector partons; + vector quarks; int count=0; // Choose the colour connections and position of quark antiquark // Choose between R1-q-g..g-qbar-R2 or R1-qbar-g...g-q-R2 // (place of quark antiquarks in the ladder) int quarkPosition = UseRandom::rnd2(1,1); for (auto &p:ladderMomenta){ if(p.mass()==getParticleData(ParticleID::u)->constituentMass()){ if(count==0){ if(quarkPosition==0){ - partons.push_back(addParticle(softRems_.first, quarkID, p)); + quarks.push_back(addParticle(softRems_.first, quarkID, p)); count++; }else{ - partons.push_back(addParticle(softRems_.first, -quarkID, p)); + quarks.push_back(addParticle(softRems_.first, -quarkID, p)); count++; } }else{ if(quarkPosition==0){ - partons.push_back(addParticle(softRems_.first, -quarkID, p)); + quarks.push_back(addParticle(softRems_.first, -quarkID, p)); }else{ - partons.push_back(addParticle(softRems_.first, quarkID, p)); + quarks.push_back(addParticle(softRems_.first, quarkID, p)); } } }else{ partons.push_back(addParticle(softRems_.first, ParticleID::g, p)); } softRems_.first = addParticle(softRems_.first, softRems_.first->id(), softRems_.first->momentum()); oldRems_.first->colourLine(anti.first)->addColoured(softRems_.first, anti.first); } // Need to differenciate between the two quark positions, this defines the // colour connections to the new remnants and old remnants if(quarkPosition==0){ // ladder self contained - if(partons.size()==2){ + if(partons.size()==0 && quarks.size()>0){ ColinePtr clq = new_ptr(ColourLine()); - clq->addColoured(partons[0]); - clq->addAntiColoured(partons[1]); + clq->addColoured(quarks[0]); + clq->addAntiColoured(quarks[1]); } ColinePtr clfirst = new_ptr(ColourLine()); ColinePtr cllast = new_ptr(ColourLine()); - if(partons.size()>2){ - clfirst->addColoured(partons[0]); - clfirst->addAntiColoured(partons[1]); - cllast->addAntiColoured(partons[partons.size()-1]); - cllast->addColoured(partons[partons.size()-2]); + if(partons.size()>0){ + clfirst->addColoured(quarks[0]); + clfirst->addAntiColoured(partons[0]); + cllast->addAntiColoured(quarks[1]); + cllast->addColoured(partons[partons.size()-1]); //now the remaining gluons - for (unsigned int i=1; iaddColoured(partons[i]); cl->addAntiColoured(partons[i+1]); } } } else { - if(partons.size()==2){ + if(partons.size()==0 && quarks.size()>0){ ColinePtr clq = new_ptr(ColourLine()); - clq->addAntiColoured(partons[0]); - clq->addColoured(partons[1]); + clq->addAntiColoured(quarks[0]); + clq->addColoured(quarks[1]); } ColinePtr clfirst = new_ptr(ColourLine()); ColinePtr cllast = new_ptr(ColourLine()); - if(partons.size()>2){ - clfirst->addAntiColoured(partons[0]); - clfirst->addColoured(partons[1]); - cllast->addColoured(partons[partons.size()-1]); - cllast->addAntiColoured(partons[partons.size()-2]); + if(partons.size()>0){ + clfirst->addAntiColoured(quarks[0]); + clfirst->addColoured(partons[0]); + cllast->addColoured(quarks[1]); + cllast->addAntiColoured(partons[partons.size()-1]); //now the remaining gluons - for (unsigned int i=1; iaddAntiColoured(partons[i]); cl->addColoured(partons[i+1]); } } }// end colour connection loop }// end Nmpi loop }//end function // Do the phase space generation here is 1 to 1 the same from UA5 model bool HwRemDecayer::doPhaseSpaceGenerationGluons(vector &softGluons, Energy CME, unsigned int &its) const{ // Define the parameters unsigned int _maxtries = 300; double alog = log(CME*CME/GeV2); unsigned int ncl = softGluons.size(); // calculate the slope parameters for the different clusters // outside loop to save time vector mom(ncl); // Sets the slopes depending on the constituent quarks of the cluster for(unsigned int ix=0;ix xi(ncl); vector tempEnergy(ncl); Energy sum1(ZERO); double yy(0.); // We want to make sure that the first Pt is from the // desired pt-distribution. If we select the first pt in the // trial loop we introduce a bias. Energy firstPt=softPt(); while(its < _maxtries) { ++its; Energy sumx = ZERO; Energy sumy = ZERO; unsigned int iterations(0); unsigned int _maxtriesNew = 100; while(iterations < _maxtriesNew) { iterations++; Energy sumxIt = ZERO; Energy sumyIt = ZERO; bool success=false; Energy pTmax=ZERO; for(unsigned int i = 0; ipT2...pTN //2) pT1>pT2>..>pTN //3) flat //4) y dependent //5) Frist then flat int triesPt=0; Energy pt; Energy ptTest; switch(PtDistribution_) { case 0: //default softPt() pt=softPt(); break; case 1: //pTordered if(i==0){ pt=softPt(); pTmax=pt; }else{ do{ pt=softPt(); }while(pt>pTmax); } break; case 2: //strongly pT ordered if ( i==0 ) { pt=softPt(); pTmax=pt; } else { do { if ( triesPt==20 ) { pt=pTmax; break; } pt=softPt(); triesPt++; } while ( pt>pTmax ); pTmax=pt; } break; case 3: //flat pt = UseRandom::rnd(0.0,(double)(ptmin_/GeV))*GeV; break; case 4: //flat below first pT if ( i==0 ) { pt = firstPt; } else { pt = firstPt * UseRandom::rnd(); } break; case 5: //flat but rising below first pT if ( i==0 ) { pt=firstPt; } else { pt = firstPt * pow(UseRandom::rnd(),1/2); } } Energy2 ptp = pt*pt; if(ptp <= ZERO) pt = - sqrt(-ptp); else pt = sqrt(ptp); // randomize azimuth Energy px,py; //randomize the azimuth, but the last one should cancel all others if(i CME) continue; // randomize the mom vector to get the first and the compensating parton // at all possible positions: long (*p_irnd)(long) = UseRandom::irnd; random_shuffle(mom.begin(),mom.end(),p_irnd); for(unsigned int i = 0; i=1; i--) xi[i+1] = (xi[i]-ximin)/ximax; xi[1] = 1.; yy= log(CME*CME/(mom[0].z()*mom[1].z())); bool suceeded=false; Energy sum2,sum3,sum4; for(unsigned int j = 0; j<10; j++) { sum1 = sum2 = sum3 = sum4 = ZERO; for(unsigned int i = 0; i 100) eps *= 10.; } if(its==_maxtries){ return false; } // throw Exception() << "Can't generate soft underlying event in " // << "UA5Handler::generateCylindricalPS" // << Exception::eventerror; double zz = log(CME/sum1); for(unsigned int i = 0; iDiquark or Rem->quark "decay" if(theRems.first) { diquarks.first = finalSplit(theRems.first, theContent.first.RemID(), theUsed.first); theMaps.first.push_back(make_pair(diquarks.first, tPPtr())); } if(theRems.second) { diquarks.second = finalSplit(theRems.second, theContent.second.RemID(), theUsed.second); theMaps.second.push_back(make_pair(diquarks.second, tPPtr())); } setRemMasses(); if(theRems.first) { fixColours(theMaps.first, theanti.first, colourDisrupt); if(theContent.first.hadron->id()==ParticleID::pomeron&& pomeronStructure_==0) fixColours(theMaps.first, !theanti.first, colourDisrupt); } if(theRems.second) { fixColours(theMaps.second, theanti.second, colourDisrupt); if(theContent.second.hadron->id()==ParticleID::pomeron&& pomeronStructure_==0) fixColours(theMaps.second, !theanti.second, colourDisrupt); } if( !theRems.first || !theRems.second ) return; //stop here if we don't have two remnants softRems_ = diquarks; doSoftInteractions(softInt); } HwRemDecayer::HadronContent HwRemDecayer::getHadronContent(tcPPtr hadron) const { HadronContent hc; hc.hadron = hadron->dataPtr(); long id(hadron->id()); // baryon if(BaryonMatcher::Check(hadron->data())) { hc.sign = id < 0? -1: 1; hc.flav.push_back((id = abs(id)/10)%10); hc.flav.push_back((id /= 10)%10); hc.flav.push_back((id /= 10)%10); hc.extracted = -1; } else if(hadron->data().id()==ParticleID::gamma || (hadron->data().id()==ParticleID::pomeron && pomeronStructure_==1)) { hc.sign = 1; for(int ix=1;ix<6;++ix) { hc.flav.push_back( ix); hc.flav.push_back(-ix); } } else if(hadron->data().id()==ParticleID::pomeron ) { hc.sign = 1; hc.flav.push_back(ParticleID::g); hc.flav.push_back(ParticleID::g); } else if(hadron->data().id()==ParticleID::reggeon ) { hc.sign = 1; for(int ix=1;ix<3;++ix) { hc.flav.push_back( ix); hc.flav.push_back(-ix); } } hc.pomeronStructure = pomeronStructure_; return hc; } long HwRemDecayer::HadronContent::RemID() const{ if(extracted == -1) throw Exception() << "Try to build a Diquark id without " << "having extracted something in " << "HwRemDecayer::RemID(...)" << Exception::runerror; //the hadron was a meson or photon if(flav.size()==2) return sign*flav[(extracted+1)%2]; long remId; int id1(sign*flav[(extracted+1)%3]), id2(sign*flav[(extracted+2)%3]), sign(0), spin(0); if (abs(id1) > abs(id2)) swap(id1, id2); sign = (id1 < 0) ? -1 : 1; // Needed for the spin 0/1 part remId = id2*1000+id1*100; // Now decide if we have spin 0 diquark or spin 1 diquark if(id1 == id2) spin = 3; // spin 1 else spin = 1; // otherwise spin 0 remId += sign*spin; return remId; } tPPtr HwRemDecayer::addParticle(tcPPtr parent, long id, Lorentz5Momentum p) const { PPtr newp = new_ptr(Particle(getParticleData(id))); newp->set5Momentum(p); // Add the new remnant to the step, but don't do colour connections thestep->addDecayProduct(parent,newp,false); return newp; } void HwRemDecayer::findChildren(tPPtr part,vector & particles) const { if(part->children().empty()) particles.push_back(part); else { for(unsigned int ix=0;ixchildren().size();++ix) findChildren(part->children()[ix],particles); } } ParticleVector HwRemDecayer::decay(const DecayMode &, const Particle &, Step &) const { throw Exception() << "HwRemDecayer::decay(...) " << "must not be called explicitely." << Exception::runerror; } void HwRemDecayer::persistentOutput(PersistentOStream & os) const { os << ounit(_kinCutoff, GeV) << _range << _zbin << _ybin << _nbinmax << _alphaS << _alphaEM << DISRemnantOpt_ << maxtrySoft_ << colourDisrupt_ << ladderPower_<< ladderNorm_ << ladderMult_ << ladderbFactor_ << pomeronStructure_ << ounit(mg_,GeV) << ounit(ptmin_,GeV) << ounit(beta_,sqr(InvGeV)) << allowTop_ << multiPeriph_ << valOfN_ << initTotRap_ << PtDistribution_; } void HwRemDecayer::persistentInput(PersistentIStream & is, int) { is >> iunit(_kinCutoff, GeV) >> _range >> _zbin >> _ybin >> _nbinmax >> _alphaS >> _alphaEM >> DISRemnantOpt_ >> maxtrySoft_ >> colourDisrupt_ >> ladderPower_ >> ladderNorm_ >> ladderMult_ >> ladderbFactor_ >> pomeronStructure_ >> iunit(mg_,GeV) >> iunit(ptmin_,GeV) >> iunit(beta_,sqr(InvGeV)) >> allowTop_ >> multiPeriph_ >> valOfN_ >> initTotRap_ >> PtDistribution_; } // The following static variable is needed for the type // description system in ThePEG. DescribeClass describeHerwigHwRemDecayer("Herwig::HwRemDecayer", "HwShower.so"); void HwRemDecayer::Init() { static ClassDocumentation documentation ("The HwRemDecayer class decays the remnant for Herwig"); static Parameter interfaceZBinSize ("ZBinSize", "The size of the vbins in z for the interpolation of the splitting function.", &HwRemDecayer::_zbin, 0.05, 0.001, 0.1, false, false, Interface::limited); static Parameter interfaceMaxBin ("MaxBin", "Maximum number of z bins", &HwRemDecayer::_nbinmax, 100, 10, 1000, false, false, Interface::limited); static Reference interfaceAlphaS ("AlphaS", "Pointer to object to calculate the strong coupling", &HwRemDecayer::_alphaS, false, false, true, false, false); static Reference interfaceAlphaEM ("AlphaEM", "Pointer to object to calculate the electromagnetic coupling", &HwRemDecayer::_alphaEM, false, false, true, false, false); static Parameter interfaceKinCutoff ("KinCutoff", "Parameter kinCutoff used to constrain qtilde", &HwRemDecayer::_kinCutoff, GeV, 0.75*GeV, 0.5*GeV, 10.0*GeV, false, false, Interface::limited); static Parameter interfaceEmissionRange ("EmissionRange", "Factor above the minimum possible value in which the forced splitting is allowed.", &HwRemDecayer::_range, 1.1, 1.0, 10.0, false, false, Interface::limited); static Switch interfaceDISRemnantOption ("DISRemnantOption", "Options for the treatment of the remnant in DIS", &HwRemDecayer::DISRemnantOpt_, 0, false, false); static SwitchOption interfaceDISRemnantOptionDefault (interfaceDISRemnantOption, "Default", "Use the minimum number of particles needed to take the recoil" " and allow the lepton to be used if needed", 0); static SwitchOption interfaceDISRemnantOptionNoLepton (interfaceDISRemnantOption, "NoLepton", "Use the minimum number of particles needed to take the recoil but" " veto events where the lepton kinematics would need to be altered", 1); static SwitchOption interfaceDISRemnantOptionAllParticles (interfaceDISRemnantOption, "AllParticles", "Use all particles in the colour connected system to take the recoil" " and use the lepton if needed.", 2); static SwitchOption interfaceDISRemnantOptionAllParticlesNoLepton (interfaceDISRemnantOption, "AllParticlesNoLepton", "Use all the particles in the colour connected system to take the" " recoil but don't use the lepton.", 3); static Parameter interfaceMaxTrySoft ("MaxTrySoft", "The maximum number of regeneration attempts for an additional soft scattering", &HwRemDecayer::maxtrySoft_, 10, 0, 100, false, false, Interface::limited); static Parameter interfacecolourDisrupt ("colourDisrupt", "Fraction of connections to additional soft subprocesses, which are colour disrupted.", &HwRemDecayer::colourDisrupt_, 1.0, 0.0, 1.0, false, false, Interface::limited); static Parameter interaceladderPower ("ladderPower", "The power factor in the ladder parameterization.", &HwRemDecayer::ladderPower_, 1.0, -5.0, 10.0, false, false, Interface::limited); static Parameter interfaceladderNorm ("ladderNorm", "The normalization factor in the ladder parameterization", &HwRemDecayer::ladderNorm_, 1.0, 0.0, 10.0, false, false, Interface::limited); static Parameter interfaceladderMult ("ladderMult", "The ladder multiplicity factor ", &HwRemDecayer::ladderMult_, 1.0, 0.0, 10.0, false, false, Interface::limited); static Parameter interfaceladderbFactor ("ladderbFactor", "The additive factor in the multiperipheral ladder multiplicity.", &HwRemDecayer::ladderbFactor_, 1.0, 0.0, 10.0, false, false, Interface::limited); static Parameter interfacegaussWidth ("gaussWidth", "The gaussian width of the fluctuation of longitudinal momentum fraction.", &HwRemDecayer::gaussWidth_, 0.1, 0.0, 1.0, false, false, Interface::limited); static Switch interfacePomeronStructure ("PomeronStructure", "Option for the treatment of the valance structure of the pomeron", &HwRemDecayer::pomeronStructure_, 0, false, false); static SwitchOption interfacePomeronStructureGluon (interfacePomeronStructure, "Gluon", "Assume the pomeron is a two gluon state", 0); static SwitchOption interfacePomeronStructureQQBar (interfacePomeronStructure, "QQBar", "Assumne the pomeron is q qbar as for the photon," " this option is not recommended and is provide for compatiblity with POMWIG", 1); static Switch interfaceAllowTop ("AllowTop", "Allow top quarks in the hadron", &HwRemDecayer::allowTop_, false, false, false); static SwitchOption interfaceAllowTopNo (interfaceAllowTop, "No", "Don't allow them", false); static SwitchOption interfaceAllowTopYes (interfaceAllowTop, "Yes", "Allow them", true); static Switch interfaceMultiPeriph ("MultiPeriph", "Use multiperipheral kinematics", &HwRemDecayer::multiPeriph_, false, false, false); static SwitchOption interfaceMultiPeriphNo (interfaceMultiPeriph, "No", "Don't use multiperipheral", false); static SwitchOption interfaceMultiPeriphYes (interfaceMultiPeriph, "Yes", "Use multiperipheral kinematics", true); static Switch interfacePtDistribution ("PtDistribution", "Options for different pT generation methods", &HwRemDecayer::PtDistribution_, 0, false, false); static SwitchOption interfacePtDistributionDefault (interfacePtDistribution, "Default", "Default generation of pT", 0); static SwitchOption interfacePtDistributionOrdered (interfacePtDistribution, "Ordered", "Ordered generation of pT,where the first pT is the hardest", 1); static SwitchOption interfacePtDistributionStronglyOrdered (interfacePtDistribution, "StronglyOrdered", "Strongly ordered generation of pT", 2); static SwitchOption interfacePtDistributionFlat (interfacePtDistribution, "Flat", "Sample from a flat pT distribution", 3); static SwitchOption interfacePtDistributionFlatOrdered (interfacePtDistribution, "FlatOrdered", "First pT normal, then flat", 4); static SwitchOption interfacePtDistributionFlatOrdered2 (interfacePtDistribution, "FlatOrdered2", "First pT normal, then flat but steep", 5); } bool HwRemDecayer::canHandle(tcPDPtr particle, tcPDPtr parton) const { if(! (StandardQCDPartonMatcher::Check(*parton) || parton->id()==ParticleID::gamma) ) { if(abs(parton->id())==ParticleID::t) { if(!allowTop_) throw Exception() << "Top is not allow as a parton in the remant handling, please " << "use a PDF which does not contain top for the remnant" << " handling (preferred) or allow top in the remnant using\n" << " set " << fullName() << ":AllowTop Yes\n" << Exception::runerror; } else return false; } return HadronMatcher::Check(*particle) || particle->id()==ParticleID::gamma || particle->id()==ParticleID::pomeron || particle->id()==ParticleID::reggeon; } bool HwRemDecayer::isPartonic(tPPtr parton) const { if(parton->parents().empty()) return false; tPPtr parent = parton->parents()[0]; bool partonic = false; for(unsigned int ix=0;ixchildren().size();++ix) { if(dynamic_ptr_cast(parent->children()[ix])) { partonic = true; break; } } return partonic; } diff --git a/PDF/HwRemDecayer.h b/PDF/HwRemDecayer.h --- a/PDF/HwRemDecayer.h +++ b/PDF/HwRemDecayer.h @@ -1,747 +1,747 @@ // -*- C++ -*- // // HwRemDecayer.h is a part of Herwig - A multi-purpose Monte Carlo event generator // Copyright (C) 2002-2017 The Herwig Collaboration // // Herwig is licenced under version 3 of the GPL, see COPYING for details. // Please respect the MCnet academic guidelines, see GUIDELINES for details. // #ifndef HERWIG_HwRemDecayer_H #define HERWIG_HwRemDecayer_H // // This is the declaration of the HwRemDecayer class. // #include "ThePEG/PDT/RemnantDecayer.h" #include "ThePEG/Handlers/EventHandler.h" #include "ThePEG/Repository/EventGenerator.h" #include "ThePEG/EventRecord/SubProcess.h" #include "ThePEG/PDF/BeamParticleData.h" #include "Herwig/Shower/ShowerAlpha.h" #include "Herwig/PDT/StandardMatchers.h" #include "ThePEG/PDT/StandardMatchers.h" #include "HwRemDecayer.fh" namespace Herwig { using namespace ThePEG; /** * The HwRemDecayer class is responsible for the decay of the remnants. Additional * secondary scatters have to be evolved backwards to a gluon, the * first/hard interaction has to be evolved back to a valence quark. * This is all generated inside this class, * which main methods are then called by the ShowerHandler. * * A simple forced splitting algorithm is used. * This takes the Remnant object produced from the PDF and backward * evolution (hadron - parton) and produce partons with the remaining * flavours and with the correct colour connections. * * The algorithim operates by starting with the parton which enters the hard process. * If this is from the sea there is a forced branching to produce the antiparticle * from a gluon branching. If the parton entering the hard process was a gluon, or * a gluon was produced from the first step of the algorithm, there is then a further * branching back to a valence parton. After these partons have been produced a quark or * diquark is produced to give the remaining valence content of the incoming hadron. * * The forced branching are generated using a scale between QSpac and EmissionRange times * the minimum scale. The energy fractions are then distributed using * \f[\frac{\alpha_S}{2\pi}\frac{P(z)}{z}f(x/z,\tilde{q})\f] * with the massless splitting functions. * * \author Manuel B\"ahr * * @see \ref HwRemDecayerInterfaces "The interfaces" * defined for HwRemDecayer. */ class HwRemDecayer: public RemnantDecayer { public: /** Typedef to store information about colour partners */ typedef vector > PartnerMap; public: /** * The default constructor. */ - HwRemDecayer() : allowTop_(false), multiPeriph_(false), quarkPair_(false), + HwRemDecayer() : allowTop_(false), multiPeriph_(true), quarkPair_(false), ptmin_(-1.*GeV), beta_(ZERO), maxtrySoft_(10), colourDisrupt_(1.0), ladderbFactor_(0.0), ladderPower_(-0.08), ladderNorm_(1.0), ladderMult_(1.0), gaussWidth_(0.1), valOfN_(0), initTotRap_(0), _kinCutoff(0.75*GeV), _forcedSplitScale(2.5*GeV), _range(1.1), _zbin(0.05),_ybin(0.), _nbinmax(100), DISRemnantOpt_(0), PtDistribution_(0), pomeronStructure_(0), mg_(ZERO) {} /** @name Virtual functions required by the Decayer class. */ //@{ /** * Check if this decayer can perfom the decay specified by the * given decay mode. * @return true if this decayer can handle the given mode, otherwise false. */ virtual bool accept(const DecayMode &) const { return true; } /** * Return true if this decayer can handle the extraction of the \a * extracted parton from the given \a particle. */ virtual bool canHandle(tcPDPtr particle, tcPDPtr parton) const; /** * Return true if this decayed can extract more than one parton from * a particle. */ virtual bool multiCapable() const { return true; } /** * Perform a decay for a given DecayMode and a given Particle instance. * @param dm the DecayMode describing the decay. * @param p the Particle instance to be decayed. * @param step the step we are working on. * @return a ParticleVector containing the decay products. */ virtual ParticleVector decay(const DecayMode & dm, const Particle & p, Step & step) const; //@} public: /** * struct that is used to catch exceptions which are thrown * due to energy conservation issues of additional soft scatters */ struct ExtraSoftScatterVeto {}; /** @name Functions used by the persistent I/O system. */ //@{ /** * Function used to write out object persistently. * @param os the persistent output stream written to. */ void persistentOutput(PersistentOStream & os) const; /** * Function used to read in object persistently. * @param is the persistent input stream read from. * @param version the version number of the object when written. */ void persistentInput(PersistentIStream & is, int version); //@} /** * The standard Init function used to initialize the interfaces. * Called exactly once for each class by the class description system * before the main function starts or * when this class is dynamically loaded. */ static void Init(); /** * Do several checks and initialization, for remnantdecay inside ShowerHandler. */ void initialize(pair rems, tPPair beam, Step & step, Energy forcedSplitScale); /** * Initialize the soft scattering machinery. * @param ptmin = the pt cutoff used in the UE model * @param beta = slope of the soft pt-spectrum */ void initSoftInteractions(Energy ptmin, InvEnergy2 beta); /** * Perform the acual forced splitting. * @param partons is a pair of ThePEG::Particle pointers which store the final * partons on which the shower ends. * @param pdfs are pointers to the pdf objects for both beams * @param first is a flage wether or not this is the first or a secondary interation */ void doSplit(pair partons, pair pdfs, bool first); /** * Perform the final creation of the diquarks. Set the remnant masses and do * all colour connections. * @param colourDisrupt = variable to control how many "hard" scatters * are colour isolated * @param softInt = parameter for the number of soft scatters */ void finalize(double colourDisrupt=0.0, unsigned int softInt=0); /** * Find the children */ void findChildren(tPPtr,vector &) const; protected: /** @name Clone Methods. */ //@{ /** * Make a simple clone of this object. * @return a pointer to the new object. */ virtual IBPtr clone() const {return new_ptr(*this);} /** Make a clone of this object, possibly modifying the cloned object * to make it sane. * @return a pointer to the new object. */ virtual IBPtr fullclone() const {return new_ptr(*this);} //@} protected: /** @name Standard Interfaced functions. */ //@{ /** * Initialize this object after the setup phase before saving an * EventGenerator to disk. * @throws InitException if object could not be initialized properly. */ virtual void doinit() { Interfaced::doinit(); _ybin=0.25/_zbin; mg_ = getParticleData(ParticleID::g)->constituentMass(); } //@} private: /** * The assignment operator is private and must never be called. * In fact, it should not even be implemented. */ HwRemDecayer & operator=(const HwRemDecayer &); public: /** * Simple struct to store info about baryon quark and di-quark * constituents. */ struct HadronContent { /** * manually extract the valence flavour \a id. */ inline void extract(int id) { for(unsigned int i=0; iid() == ParticleID::gamma || (hadron->id() == ParticleID::pomeron && pomeronStructure==1) || hadron->id() == ParticleID::reggeon) { flav[0] = id; flav[1] = -id; extracted = 0; flav.resize(2); } else if (hadron->id() == ParticleID::pomeron && pomeronStructure==0) { extracted = 0; } else { extracted = i; } break; } } } /** * Return a proper particle ID assuming that \a id has been removed * from the hadron. */ long RemID() const; /** * Method to determine whether \a parton is a quark from the sea. * @return TRUE if \a parton is neither a valence quark nor a gluon. */ bool isSeaQuark(tcPPtr parton) const { return ((parton->id() != ParticleID::g) && ( !isValenceQuark(parton) ) ); } /** * Method to determine whether \a parton is a valence quark. */ bool isValenceQuark(tcPPtr parton) const { return isValenceQuark(parton->id()); } /** * Method to determine whether \a parton is a quark from the sea. * @return TRUE if \a parton is neither a valence quark nor a gluon. */ bool isSeaQuarkData(tcPDPtr partonData) const { return ((partonData->id() != ParticleID::g) && ( !isValenceQuarkData(partonData) ) ); } /** * Method to determine whether \a parton is a valence quark. */ bool isValenceQuarkData(tcPDPtr partonData) const { int id(sign*partonData->id()); return find(flav.begin(),flav.end(),id) != flav.end(); } /** * Method to determine whether \a parton is a valence quark. */ bool isValenceQuark(int id) const { return find(flav.begin(),flav.end(),sign*id) != flav.end(); } /** The valence flavours of the corresponding baryon. */ vector flav; /** The array index of the extracted particle. */ int extracted; /** -1 if the particle is an anti-particle. +1 otherwise. */ int sign; /** The ParticleData objects of the hadron */ tcPDPtr hadron; /** Pomeron treatment */ unsigned int pomeronStructure; }; /** * Return the hadron content objects for the incoming particles. */ const pair& content() const { return theContent; } /** * Return a HadronContent struct from a PPtr to a hadron. */ HadronContent getHadronContent(tcPPtr hadron) const; /** * Set the hadron contents. */ void setHadronContent(tPPair beam) { theContent.first = getHadronContent(beam.first); theContent.second = getHadronContent(beam.second); } private: /** * Do the forced Splitting of the Remnant with respect to the * extracted parton \a parton. * @param parton = PPtr to the parton going into the subprocess. * @param content = HadronContent struct to keep track of flavours. * @param rem = Pointer to the ThePEG::RemnantParticle. * @param used = Momentum vector to keep track of remaining momenta. * @param partners = Vector of pairs filled with tPPtr to the particles * which should be colour connected. * @param pdf pointer to the PDF Object which is used for this particle * @param first = Flag for the first interaction. */ void split(tPPtr parton, HadronContent & content, tRemPPtr rem, Lorentz5Momentum & used, PartnerMap & partners, tcPDFPtr pdf, bool first); /** * Merge the colour lines of two particles * @param p1 = Pointer to particle 1 * @param p2 = Pointer to particle 2 * @param anti = flag to indicate, if (anti)colour was extracted as first parton. */ void mergeColour(tPPtr p1, tPPtr p2, bool anti) const; /** * Set the colour connections. * @param partners = Object that holds the information which particles to connect. * @param anti = flag to indicate, if (anti)colour was extracted as first parton. * @param disrupt parameter for disruption of the colour structure */ void fixColours(PartnerMap partners, bool anti, double disrupt) const; /** * Set the momenta of the Remnants properly and boost the decay particles. */ void setRemMasses() const; /** * This creates a parton from the remaining flavours of the hadron. The * last parton used was a valance parton, so only 2 (or 1, if meson) flavours * remain to be used. */ PPtr finalSplit(const tRemPPtr rem, long remID, Lorentz5Momentum usedMomentum) const { // Create the remnant and set its momentum, also reset all of the decay // products from the hadron PPtr remnant = new_ptr(Particle(getParticleData(remID))); Lorentz5Momentum prem(rem->momentum()-usedMomentum); prem.setMass(getParticleData(remID)->constituentMass()); prem.rescaleEnergy(); remnant->set5Momentum(prem); // Add the remnant to the step, but don't do colour connections thestep->addDecayProduct(rem,remnant,false); return remnant; } /** * This takes the particle and find a splitting for np -> p + child and * creates the correct kinematics and connects for such a split. This * Splitting has an upper bound on qtilde given by the energy argument * @param rem The Remnant * @param child The PDG code for the outgoing particle * @param oldQ The maximum scale for the evolution * @param oldx The fraction of the hadron's momentum carried by the last parton * @param pf The momentum of the last parton at input and after branching at output * @param p The total emitted momentum * @param content The content of the hadron */ PPtr forceSplit(const tRemPPtr rem, long child, Energy &oldQ, double &oldx, Lorentz5Momentum &pf, Lorentz5Momentum &p, HadronContent & content) const; /** * Check if a particle is a parton from a hadron or not * @param parton The parton to be tested */ bool isPartonic(tPPtr parton) const; /** @name Soft interaction methods. */ //@{ /** * Produce pt values according to dN/dp_T = N p_T exp(-beta_*p_T^2) */ Energy softPt() const; /** * Get the 2 pairs of 5Momenta for the scattering. Needs calling of * initSoftInteractions. */ void softKinematics(Lorentz5Momentum &r1, Lorentz5Momentum &r2, Lorentz5Momentum &g1, Lorentz5Momentum &g2) const; /** * Create N soft gluon interactions */ void doSoftInteractions(unsigned int N){ if(!multiPeriph_){ doSoftInteractions_old(N);} //outdated model for soft interactions else{ doSoftInteractions_multiPeriph(N); // Multiperipheral model } } /** * Create N soft gluon interactions (old version) */ void doSoftInteractions_old(unsigned int N); /** * Create N soft gluon interactions with multiperhpheral kinematics */ void doSoftInteractions_multiPeriph(unsigned int N); /** * Phase space generation for the ladder partons */ bool doPhaseSpaceGenerationGluons(vector &softGluons, Energy energy, unsigned int &its) const; /** * This returns the rotation matrix needed to rotate p into the z axis */ LorentzRotation rotate(const LorentzMomentum &p) const; /** * Methods to generate random distributions also all stolen form UA5Handler **/ template inline T gaussDistribution(T mean, T stdev) const{ double x = rnd(); x = sqrt(-2.*log(x)); double y; randAzm(x,x,y); return mean + stdev*x; } /** * This returns a random number with a flat distribution * [-A,A] plus gaussian tail with stdev B * TODO: Should move this to Utilities * @param A The width of the flat part * @param B The standard deviation of the gaussian tail * @return the randomly generated value */ inline double randUng(double A, double B) const{ double prun; if(A == 0.) prun = 0.; else prun = 1./(1.+B*1.2533/A); if(rnd() < prun) return 2.*(rnd()-0.5)*A; else { double temp = gaussDistribution(0.,B); if(temp < 0) return temp - abs(A); else return temp + abs(A); } } template inline void randAzm(T pt, T &px, T &py) const{ double c,s,cs; while(true) { c = 2.*rnd()-1.; s = 2.*rnd()-1.; cs = c*c+s*s; if(cs <= 1.&&cs!=0.) break; } T qt = pt/cs; px = (c*c-s*s)*qt; py = 2.*c*s*qt; } inline Energy randExt(Energy AM0,InvEnergy B) const{ double r = rnd(); // Starting value Energy am = AM0-log(r)/B; for(int i = 1; i<20; ++i) { double a = exp(-B*(am-AM0))/(1.+B*AM0); double f = (1.+B*am)*a-r; InvEnergy df = -B*B*am*a; Energy dam = -f/df; am += dam; if(am theanti; /** * variable to sum up the x values of the extracted particles */ pair theX; /**Pair of HadronContent structs to know about the quark content of the beams*/ pair theContent; /**Pair of Lorentz5Momentum to keep track of the forced splitting product momenta*/ pair theUsed; /** * Pair of PartnerMap's to store the particles, which will be colour * connected in the end. */ pair theMaps; /** * Variable to hold a pointer to the current step. The variable is used to * determine, wether decay(const DecayMode & dm, const Particle & p, Step & step) * has been called in this event or not. */ StepPtr thestep; /** * Pair of Remnant pointers. This is needed to boost * in the Remnant-Remnant CMF after all have been decayed. */ pair theRems; /** * The beam particle data for the current incoming hadron */ mutable tcPPtr theBeam; /** * the beam data */ mutable Ptr::const_pointer theBeamData; /** * The PDF for the current initial-state shower */ mutable tcPDFPtr _pdf; private: /** * Switch to control handling of top quarks in proton */ bool allowTop_; /** * Switch to control using multiperipheral kinemaics */ bool multiPeriph_; /** * True if kinematics is to be calculated for quarks */ bool quarkPair_; /** @name Soft interaction variables. */ //@{ /** * Pair of soft Remnant pointers, i.e. Diquarks. */ tPPair softRems_; /** * ptcut of the UE model */ Energy ptmin_; /** * slope of the soft pt-spectrum: dN/dp_T = N p_T exp(-beta*p_T^2) */ InvEnergy2 beta_; /** * Maximum number of attempts for the regeneration of an additional * soft scattering, before the number of scatters is reduced. */ unsigned int maxtrySoft_; /** * Variable to store the relative number of colour disrupted * connections to additional soft subprocesses. */ double colourDisrupt_; /** * Variable to store the additive factor of the multiperipheral ladder multiplicity. */ double ladderbFactor_; /** * Variable of the parameterization of the ladder multiplicity. */ double ladderPower_; /** * Variable of the parameterization of the ladder multiplicity. */ double ladderNorm_; double ladderMult_; /** * Variable to store the gaussian width of the * fluctuation of the longitudinal momentum * fraction. */ double gaussWidth_; /** * Variable to store the current total multiplicity of a ladder. */ double valOfN_; /** * Variable to store the initial total rapidity between of the remnants. */ double initTotRap_; //@} /** @name Forced splitting variables. */ //@{ /** * The kinematic cut-off */ Energy _kinCutoff; /** * The PDF freezing scale as set in ShowerHandler */ Energy _forcedSplitScale; /** * Range for emission */ double _range; /** * Size of the bins in z for the interpolation */ double _zbin; /** * Size of the bins in y for the interpolation */ double _ybin; /** * Maximum number of bins for the z interpolation */ int _nbinmax; /** * Pointer to the object calculating the QCD coupling */ ShowerAlphaPtr _alphaS; /** * Pointer to the object calculating the QED coupling */ ShowerAlphaPtr _alphaEM; /** * Option for the DIS remnant */ unsigned int DISRemnantOpt_; /** * Option for the pT generation */ unsigned int PtDistribution_; /** * Option for the treatment of the pomeron structure */ unsigned int pomeronStructure_; //@} /** * The gluon constituent mass. */ Energy mg_; }; } #endif /* HERWIG_HwRemDecayer_H */ diff --git a/Tests/Makefile.am b/Tests/Makefile.am --- a/Tests/Makefile.am +++ b/Tests/Makefile.am @@ -1,371 +1,371 @@ AM_LDFLAGS += -module -avoid-version -rpath /dummy/path/not/used EXTRA_DIST = Inputs python Rivet EXTRA_LTLIBRARIES = LeptonTest.la GammaTest.la HadronTest.la DISTest.la if WANT_LIBFASTJET EXTRA_LTLIBRARIES += HadronJetTest.la LeptonJetTest.la HadronJetTest_la_SOURCES = \ Hadron/VHTest.h Hadron/VHTest.cc\ Hadron/VTest.h Hadron/VTest.cc\ Hadron/HTest.h Hadron/HTest.cc HadronJetTest_la_CPPFLAGS = $(AM_CPPFLAGS) $(FASTJETINCLUDE) \ -I$(FASTJETPATH) HadronJetTest_la_LIBADD = $(FASTJETLIBS) LeptonJetTest_la_SOURCES = \ Lepton/TopDecay.h Lepton/TopDecay.cc LeptonJetTest_la_CPPFLAGS = $(AM_CPPFLAGS) $(FASTJETINCLUDE) \ -I$(FASTJETPATH) LeptonJetTest_la_LIBADD = $(FASTJETLIBS) endif LeptonTest_la_SOURCES = \ Lepton/VVTest.h Lepton/VVTest.cc \ Lepton/VBFTest.h Lepton/VBFTest.cc \ Lepton/VHTest.h Lepton/VHTest.cc \ Lepton/FermionTest.h Lepton/FermionTest.cc GammaTest_la_SOURCES = \ Gamma/GammaMETest.h Gamma/GammaMETest.cc \ Gamma/GammaPMETest.h Gamma/GammaPMETest.cc DISTest_la_SOURCES = \ DIS/DISTest.h DIS/DISTest.cc HadronTest_la_SOURCES = \ Hadron/HadronVVTest.h Hadron/HadronVVTest.cc\ Hadron/HadronVBFTest.h Hadron/HadronVBFTest.cc\ Hadron/WHTest.h Hadron/WHTest.cc\ Hadron/ZHTest.h Hadron/ZHTest.cc\ Hadron/VGammaTest.h Hadron/VGammaTest.cc\ Hadron/ZJetTest.h Hadron/ZJetTest.cc\ Hadron/WJetTest.h Hadron/WJetTest.cc\ Hadron/QQHTest.h Hadron/QQHTest.cc REPO = $(top_builddir)/src/HerwigDefaults.rpo HERWIG = $(top_builddir)/src/Herwig HWREAD = $(HERWIG) read --repo $(REPO) -L $(builddir)/.libs -i $(top_builddir)/src HWBUILD = $(HERWIG) build --repo $(REPO) -L $(builddir)/.libs -i $(top_builddir)/src HWINTEGRATE = $(HERWIG) integrate HWRUN = $(HERWIG) run -N $${NUMEVENTS:-10000} tests : tests-LEP tests-DIS tests-LHC tests-Gamma LEPDEPS = \ test-LEP-VV \ test-LEP-VH \ test-LEP-VBF \ test-LEP-BB \ test-LEP-Quarks \ test-LEP-Leptons if WANT_LIBFASTJET LEPDEPS += test-LEP-TopDecay endif tests-LEP : $(LEPDEPS) tests-DIS : test-DIS-Charged test-DIS-Neutral LHCDEPS = \ test-LHC-WW test-LHC-WZ test-LHC-ZZ \ test-LHC-ZGamma test-LHC-WGamma \ test-LHC-ZH test-LHC-WH \ test-LHC-ZJet test-LHC-WJet \ test-LHC-Z test-LHC-W \ test-LHC-ZZVBF test-LHC-VBF \ test-LHC-WWVBF \ test-LHC-bbH test-LHC-ttH \ test-LHC-GammaGamma test-LHC-GammaJet \ test-LHC-Higgs test-LHC-HiggsJet \ test-LHC-QCDFast test-LHC-QCD \ test-LHC-Top if WANT_LIBFASTJET LHCDEPS += \ test-LHC-Bottom \ test-LHC-WHJet test-LHC-ZHJet test-LHC-HJet \ test-LHC-ZShower test-LHC-WShower \ test-LHC-WHJet-Powheg test-LHC-ZHJet-Powheg test-LHC-HJet-Powheg \ test-LHC-ZShower-Powheg test-LHC-WShower-Powheg endif tests-LHC : $(LHCDEPS) tests-Gamma : test-Gamma-FF test-Gamma-WW test-Gamma-P LEPLIBS = LeptonTest.la HADLIBS = HadronTest.la if WANT_LIBFASTJET LEPLIBS += LeptonJetTest.la HADLIBS += HadronJetTest.la endif test-LEP-% : Inputs/LEP-%.in $(LEPLIBS) $(HWREAD) $< $(HWRUN) $(notdir $(subst .in,.run,$<)) test-Gamma-% : Inputs/Gamma-%.in GammaTest.la $(HWREAD) $< $(HWRUN) $(notdir $(subst .in,.run,$<)) test-DIS-% : Inputs/DIS-%.in DISTest.la $(HWREAD) $< $(HWRUN) $(notdir $(subst .in,.run,$<)) test-LHC-% : Inputs/LHC-%.in GammaTest.la $(HADLIBS) $(HWREAD) $< $(HWRUN) $(notdir $(subst .in,.run,$<)) tests-Rivet : Rivet-EE Rivet-DIS Rivet-Star Rivet-SppS \ Rivet-TVT-WZ Rivet-TVT-Photon Rivet-TVT-Jets \ Rivet-LHC-Jets Rivet-LHC-EW Rivet-LHC-Photon Rivet-LHC-Higgs Rivet-%.run : Rivet/%.in $(HWBUILD) -c .cache/$(subst .run,,$@) $< Rivet-Matchbox-%.yoda : Rivet-Matchbox-%.run $(HWINTEGRATE) -c .cache/$(subst .run,,$<) $< $(HWRUN) -c .cache/$(subst .run,,$<) $< Rivet-%.yoda : Rivet-%.run $(HWRUN) $< Rivet/%.in : python/make_input_files.py $(notdir $(subst .in,,$@)) -Rivet-inputfiles: $(shell echo Rivet/EE{,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg,-Merging}-{9.4,12,13,17,27.6,29,30.2,30.7,30,31.3,34.8,41,43.6,45,50,52,55,56,57,60.8,60,61.4,66,76,82,85,10,12.8,22,26.8,35,44,48.0,91,93.0,130,133,136,161,172,177,183,189,192,196,197,200,202,206,91-nopi}.in) \ - $(shell echo Rivet/EE{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Powheg,-Matchbox-Powheg}-14.in) \ +Rivet-inputfiles: $(shell echo Rivet/EE{,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg,-Merging}-{7.7,9.4,12,13,17,27.6,29,30.2,30.7,30,31.3,34,34.8,41,42.1,42.6,43.6,45,50,52,53.3,55,56,57,58,59.5,60.8,60,61.4,66,76,82,85,10,12.8,21.5,22,25,26.8,34.5,35,36.2,44,48.0,91,93.0,130,133,136,161,172,177,183,189,192,196,197,200,202,205,206,207,91-nopi}.in) \ + $(shell echo Rivet/EE{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Powheg,-Matchbox-Powheg}-{14,14.8}.in) \ $(shell echo Rivet/EE{,-Dipole}-{10.5,11.96,12.8,13.96,16.86,21.84,26.8,28.48,35.44,48.0,97.0}-gg.in) \ - $(shell echo Rivet/EE{,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg}-{2.2,2.6,3.0,3.2,4.6,4.8,4.5,10.52,10.52-sym,10.54,10.45,10.47}.in) \ - $(shell echo Rivet/EE-{Upsilon,Upsilon2,Upsilon4,JPsi,Psi2S,Tau,10.58-res,Lambdac,Omega,Xi0,Xic0,Xim}.in) \ + $(shell echo Rivet/EE{,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg}-{2.2,2.6,3.0,3.2,4.6,4.8,3.63,4.03,4.5,9.46,10.00,10.52,10.52-sym,10.54,10.45,10.47}.in) \ + $(shell echo Rivet/EE-{Upsilon,Upsilon2,Upsilon4,JPsi,Psi2S,Tau,Phi,10.58-res,Lambdac,Omega,Xi0,Xic0,Xim}.in) \ $(shell echo Rivet/DIS{,-NoME,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg,-Merging}-{e--LowQ2,e+-LowQ2,e+-HighQ2}.in) \ $(shell echo Rivet/TVT{,-Powheg,-Matchbox,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox-Powheg,-Merging}-{Run-I-Z,Run-I-W,Run-I-WZ,Run-II-Z-e,Run-II-Z-{,LowMass-,HighMass-}mu,Run-II-W}.in) \ $(shell echo Rivet/TVT{,-Dipole}-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet,PromptPhoton}.in) \ $(shell echo Rivet/TVT-Powheg-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.in) \ $(shell echo Rivet/TVT{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-{Run-II-Jets-{0..11},Run-I-Jets-{1..8}}.in ) \ $(shell echo Rivet/TVT{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-{630-Jets-{1..3},300-Jets-1,900-Jets-1}.in ) \ $(shell echo Rivet/TVT{,-Dipole}-{Run-I,Run-II,300,630,900}-UE.in) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-7-DiJets-{1..7}-{A,B,C}.in ) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-13-DiJets-{{1..11}-A,{6..11}-B}.in ) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-{7,8,13}-Jets-{0..10}.in ) \ $(shell echo Rivet/LHC{,-Dipole}-{900,2360,2760,7,8,13}-UE.in ) \ $(shell echo Rivet/LHC{,-Dipole}-{900,7,13}-UE-Long.in ) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-7-Charm-{1..5}.in) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-7-Bottom-{0..9}.in) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-7-Top-{L,SL}.in) \ $(shell echo Rivet/LHC{,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Matchbox,-Matchbox-Powheg,-Merging}-{8,13}-Top-{All,L,SL}.in) \ $(shell echo Rivet/Star{,-Dipole}-{UE,Jets-{1..4}}.in ) \ $(shell echo Rivet/SppS{,-Dipole}-{200,500,900,546}-UE.in ) \ $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Powheg,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-{W-{e,mu},13-Z-{e,mu},Z-HighMass{1,2}-e,{8,13}-W-mu,8-Z-Mass{1..4}-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},{8,13}-WZ,8-ZZ-lv,8-WW-ll,Z-mu-Short}.in) \ $(shell echo Rivet/LHC{,-Dipole}-7-{W,Z}Gamma-{e,mu}.in) \ $(shell echo Rivet/LHC{,-Dipole}-8-ZGamma-{e,mu}.in) \ $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-{7-W-Jet-{1..3}-e,7-Z-Jet-{0..3}-e,7-Z-Jet-0-mu}.in) \ $(shell echo Rivet/LHC{-Matchbox,-Matchbox-Powheg,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-{Z-b,Z-bb,8-Z-b,8-Z-bb,W-b,8-Z-jj}.in) \ $(shell echo Rivet/LHC{,-Dipole}-{7,8,13}-PromptPhoton-{1..4}.in) Rivet/LHC-GammaGamma-7.in \ $(shell echo Rivet/LHC{,-Powheg}-{7,8}-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.in) \ $(shell echo Rivet/LHC{,-Powheg,-Matchbox,-Matchbox-Powheg,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-{ggH,VBF,WH,ZH}.in) \ $(shell echo Rivet/LHC{,-Powheg,-Matchbox,-Matchbox-Powheg,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-8-{{ggH,VBF,WH,ZH}{,-GammaGamma},ggH-WW}.in) \ $(shell echo Rivet/LHC{,-Matchbox,-Matchbox-Powheg,-Dipole,-Dipole-MCatNLO,-Dipole-Matchbox-Powheg,-Merging}-ggHJet.in) # $(shell echo Rivet/ISR-{30,44,53,62}-UE.in ) $(shell echo Rivet/SppS-{53,63}-UE.in ) Rivet-GammaGamma: Rivet-GammaGamma/done touch $@ Rivet-GammaGamma/done: $(shell echo Rivet-GammaGamma-mumu-{3.5,4.5,5.5,6.5,7.5,9.0,12.5,17.5,30.0}.yoda ) rm -rf Rivet-GammaGamma python/merge-GammaGamma GammaGamma rivet-mkhtml -o Rivet-GammaGamma GammaGamma.yoda:Hw touch $@ Rivet-EE-Gamma: Rivet-EE-Gamma/done touch $@ Rivet-EE-Gamma/done: $(shell echo Rivet-EE-Gamma-Direct-mumu-{161,172,183,189,196,206}.yoda ) \ $(shell echo Rivet-EE-Gamma-Direct-tautau-{189,196,206}.yoda ) \ $(shell echo Rivet-EE-Gamma-{Direct,Single-Resolved,Double-Resolved}-Jets-{198,206}.yoda ) rm -rf Rivet-EE-Gamma python/merge-EE-Gamma EE-Gamma rivet-mkhtml -o Rivet-EE-Gamma EE-Gamma.yoda:Hw touch $@ Rivet-EE : Rivet-EE/done touch $@ -Rivet-EE/done : $(shell echo Rivet{,-Powheg}-EE-{9.4,12,13,14,17,27.6,29,30.2,30.7,30,31.3,34.8,43.6,45,50,52,55,56,57,60.8,60,61.4,66,76,10,12.8,22,26.8,35,41,44,48.0,82,85,91,93.0,130,133,136,161,172,177,183,189,192,196,197,200,202,206,91-nopi}.yoda) \ +Rivet-EE/done : $(shell echo Rivet{,-Powheg}-EE-{7.7,9.4,12,13,14,14.8,17,27.6,29,30.2,30.7,30,31.3,34,34.8,43.6,45,50,52,53.3,55,56,57,58,59.5,60.8,60,61.4,66,76,10,12.8,21.5,22,25,26.8,34.5,35,36.2,41,42.1,42.6,44,48.0,82,85,91,93.0,130,133,136,161,172,177,183,189,192,196,197,200,202,205,206,207,91-nopi}.yoda) \ $(shell echo Rivet-EE-{10.5,11.96,12.8,13.96,16.86,21.84,26.8,28.48,35.44,48.0,97.0}-gg.yoda) \ - $(shell echo Rivet-EE-{10.52,10.52-sym,2.2,2.6,3.0,3.2,4.6,4.8,10.54,10.45,10.47,Upsilon,Upsilon2,Upsilon4,Tau,Phi,10.58-res,10.58,Lambdac,Omega,Xi0,Xic0,Xim,JPsi,Psi2S}.yoda) + $(shell echo Rivet-EE-{10.52,10.52-sym,2.2,2.6,3.0,3.2,4.6,4.8,3.63,4.03,4.5,9.46,10.00,10.54,10.45,10.47,Upsilon,Upsilon2,Upsilon4,Tau,Phi,10.58-res,10.58,Lambdac,Omega,Xi0,Xic0,Xim,JPsi,Psi2S}.yoda) rm -rf Rivet-EE python/merge-EE --with-gg EE python/merge-EE Powheg-EE rivet-mkhtml -o Rivet-EE EE.yoda:Hw Powheg-EE.yoda:Hw-Powheg python/plot-EE Rivet-EE touch $@ Rivet-DIS : Rivet-DIS/done touch $@ Rivet-DIS/done: $(shell echo Rivet{-DIS,-DIS-NoME,-Powheg-DIS}-{e--LowQ2,e+-LowQ2,e+-HighQ2}.yoda) rm -rf Rivet-DIS python/merge-DIS DIS python/merge-DIS Powheg-DIS python/merge-DIS DIS-NoME rivet-mkhtml -o Rivet-DIS DIS.yoda:Hw Powheg-DIS.yoda:Hw-Powheg DIS-NoME.yoda:Hw-NoME touch $@ Rivet-TVT-EW : Rivet-TVT-EW/done touch $@ Rivet-TVT-EW/done: $(shell echo Rivet{,-Powheg}-TVT-{Run-I-Z,Run-I-W,Run-I-WZ,Run-II-Z-{e,{,LowMass-,HighMass-}mu},Run-II-W}.yoda) rm -rf Rivet-TVT-EW python/merge-TVT-EW TVT python/merge-TVT-EW Powheg-TVT rivet-mkhtml -o Rivet-TVT-EW TVT-EW.yoda:Hw Powheg-TVT-EW.yoda:Hw-Powheg touch $@ Rivet-TVT-Photon : Rivet-TVT-Photon/done touch $@ Rivet-TVT-Photon/done: $(shell echo Rivet{,-Powheg}-TVT-Run-II-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.yoda Rivet-TVT-Run-II-PromptPhoton.yoda) rm -rf Rivet-TVT-Photon python/merge-TVT-Photon TVT python/merge-TVT-Photon Powheg-TVT rivet-mkhtml -o Rivet-TVT-Photon TVT-Photon.yoda:Hw Powheg-TVT-Photon.yoda:Hw-Powheg touch $@ Rivet-TVT-Jets : Rivet-TVT-Jets/done touch $@ Rivet-TVT-Jets/done: $(shell echo Rivet-TVT-{Run-II-Jets-{0..11},Run-I-Jets-{1..8}}.yoda ) \ $(shell echo Rivet-TVT-{630-Jets-{1..3},300-Jets-1,900-Jets-1}.yoda ) \ $(shell echo Rivet-TVT-{Run-I,Run-II,300,630,900}-UE.yoda) rm -rf Rivet-TVT-Jets python/merge-TVT-Jets TVT rivet-mkhtml -o Rivet-TVT-Jets TVT-Jets.yoda:Hw touch $@ Rivet-Star : Rivet-Star/done touch $@ Rivet-Star/done : $(shell echo Rivet-Star-{UE,Jets-{1..4}}.yoda ) rm -rf Rivet-Star python/merge-Star Star rivet-mkhtml -o Rivet-Star Star.yoda:Hw touch $@ Rivet-SppS : Rivet-SppS/done touch $@ ## $(shell echo Rivet-ISR-{30,44,53,62}-UE.yoda ) \ ## {53,63,200,500,900,546} EHS-UE Rivet-SppS/done : $(shell echo Rivet-SppS-{200,500,900,546}-UE.yoda ) rm -rf Rivet-SppS python/merge-SppS SppS rivet-mkhtml -o Rivet-SppS SppS.yoda:Hw touch $@ Rivet-LHC-Jets : Rivet-LHC-Jets/done touch $@ Rivet-LHC-Jets/done : \ $(shell echo Rivet-LHC-7-DiJets-{1..7}-{A,B,C}.yoda ) \ $(shell echo Rivet-LHC-13-DiJets-{{1..11}-A,{6..11}-B}.yoda ) \ $(shell echo Rivet-LHC-{7,8,13}-Jets-{0..10}.yoda ) \ $(shell echo Rivet-LHC-2760-Jets-{1..3}.yoda ) \ $(shell echo Rivet-LHC-{900,2360,2760,7,8,13}-UE.yoda ) \ $(shell echo Rivet-LHC-{900,7,13}-UE-Long.yoda ) \ $(shell echo Rivet-LHC-7-Charm-{1..5}.yoda ) \ $(shell echo Rivet-LHC-7-Bottom-{0..9}.yoda ) \ $(shell echo Rivet-LHC-{7,8,13}-Top-{L,SL}.yoda ) \ $(shell echo Rivet-LHC-{8,13}-Top-All.yoda ) rm -rf Rivet-LHC-Jets python/merge-LHC-Jets LHC rivet-mkhtml -o Rivet-LHC-Jets LHC-Jets.yoda:Hw touch $@ Rivet-LHC-EW : Rivet-LHC-EW/done touch $@ Rivet-LHC-EW/done: \ $(shell echo Rivet{,-Powheg}-LHC-{13-Z-{e,mu},{8,13}-W-mu,Z-HighMass{1,2}-e,8-Z-Mass{1..4}-{e,mu},W-{e,mu},Z-{e,mu,mu-SOPHTY},Z-LowMass-{e,mu},Z-MedMass-e,WZ,WW-{emu,ll},ZZ-{ll,lv},{8,13}-WZ,8-ZZ-lv,8-WW-ll,Z-mu-Short}.yoda) \ $(shell echo Rivet-LHC-{7-W-Jet-{1..3}-e,7-Z-Jet-{0..3}-e,7-Z-Jet-0-mu}.yoda) \ $(shell echo Rivet-LHC-7-{W,Z}Gamma-{e,mu}.yoda) \ $(shell echo Rivet-LHC-8-ZGamma-{e,mu}.yoda) rm -rf Rivet-LHC-EW; python/merge-LHC-EW LHC python/merge-LHC-EW Powheg-LHC rivet-mkhtml -o Rivet-LHC-EW LHC-EW.yoda:Hw Powheg-LHC-EW.yoda:Hw-Powheg \ Rivet-LHC-Z-mu-SOPHTY.yoda:Hw Rivet-Powheg-LHC-Z-mu-SOPHTY.yoda:Hw-Powheg touch $@ Rivet-LHC-Photon : Rivet-LHC-Photon/done touch $@ Rivet-LHC-Photon/done: \ $(shell echo Rivet-LHC-{7,8,13}-PromptPhoton-{1..4}.yoda) \ Rivet-LHC-GammaGamma-7.yoda \ $(shell echo Rivet{,-Powheg}-LHC-{7,8}-{DiPhoton-GammaGamma,DiPhoton-GammaJet}.yoda) rm -rf Rivet-LHC-Photon python/merge-LHC-Photon LHC python/merge-LHC-Photon Powheg-LHC rivet-mkhtml -o Rivet-LHC-Photon LHC-Photon.yoda:Hw Powheg-LHC-Photon.yoda:Hw-Powheg touch $@ Rivet-LHC-Higgs : Rivet-LHC-Higgs/done touch $@ Rivet-LHC-Higgs/done: \ $(shell echo Rivet{,-Powheg}-LHC-{ggH,VBF,WH,ZH}.yoda) \ $(shell echo Rivet{,-Powheg}-LHC-8-{{ggH,VBF,WH,ZH}{,-GammaGamma},ggH-WW}.yoda) \ Rivet-LHC-ggHJet.yoda yodamerge --add Rivet-Powheg-LHC-8-{ggH{-GammaGamma,-WW,},{VBF,ZH,WH}{,-GammaGamma}}.yoda -o Powheg-LHC-Higgs.yoda yodamerge --add Rivet-LHC-8-{ggH{-GammaGamma,-WW,},{VBF,ZH,WH}{,-GammaGamma}}.yoda -o LHC-Higgs.yoda rm -rf Rivet-LHC-Higgs rivet-mkhtml -o Rivet-LHC-Higgs Powheg-LHC-Higgs.yoda:Hw-Powheg LHC-Higgs.yoda:Hw\ Rivet-Powheg-LHC-ggH.yoda:gg-Powheg Rivet-LHC-ggH.yoda:gg Rivet-LHC-ggHJet.yoda:HJet \ Rivet-Powheg-LHC-VBF.yoda:VBF-Powheg Rivet-LHC-VBF.yoda:VBF Rivet-LHC-WH.yoda:WH Rivet-LHC-ZH.yoda:ZH \ Rivet-Powheg-LHC-WH.yoda:WH-Powheg Rivet-Powheg-LHC-ZH.yoda:ZH-Powheg touch $@ clean-local: rm -f *.out *.log *.tex *.top *.run *.dump *.mult *.Bmult *.yoda Rivet/*.in anatohepmc.txt hepmctoana.txt rm -rf Rivet-* distclean-local: rm -rf .cache diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-1-A.in b/Tests/Rivet/LHC/LHC-13-DiJets-1-A.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-1-A.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-10-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-10-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-10-B.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-11-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-11-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-11-B.in @@ -0,0 +1,5 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-2-A.in b/Tests/Rivet/LHC/LHC-13-DiJets-2-A.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-2-A.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-3-A.in b/Tests/Rivet/LHC/LHC-13-DiJets-3-A.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-3-A.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-4-A.in b/Tests/Rivet/LHC/LHC-13-DiJets-4-A.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-4-A.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-5-A.in b/Tests/Rivet/LHC/LHC-13-DiJets-5-A.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-5-A.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-6-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-6-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-6-B.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-7-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-7-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-7-B.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-8-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-8-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-8-B.in @@ -0,0 +1,6 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 + diff --git a/Tests/Rivet/LHC/LHC-13-DiJets-9-B.in b/Tests/Rivet/LHC/LHC-13-DiJets-9-B.in new file mode 100644 --- /dev/null +++ b/Tests/Rivet/LHC/LHC-13-DiJets-9-B.in @@ -0,0 +1,5 @@ +################################################## +# select the analyses +################################################## +# ATLAS jets +insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2018_I1634970 diff --git a/Tests/Rivet/Templates/DIS-Matchbox.in b/Tests/Rivet/Templates/DIS-Matchbox.in --- a/Tests/Rivet/Templates/DIS-Matchbox.in +++ b/Tests/Rivet/Templates/DIS-Matchbox.in @@ -1,55 +1,55 @@ # -*- ThePEG-repository -*- # # DO NOT EDIT - autogenerated by make_input_files.py # ################################################## ## Herwig/Matchbox example input file ################################################## ################################################## ## Collider type ################################################## read snippets/Matchbox.in read snippets/EPCollider.in ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/MatrixElements/Matchbox set Factory:OrderInAlphaS 0 set Factory:OrderInAlphaEW 2 set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonQ2Scale ${shower} ${bscheme} -read Matchbox/MMHT2014.in +read Matchbox/CT14.in do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode # switch off initial state QED radiation set /Herwig/Particles/e-:PDF /Herwig/Partons/NoPDF set /Herwig/Particles/e+:PDF /Herwig/Partons/NoPDF # create the Rivet analysis create ThePEG::RivetAnalysis /Herwig/Analysis/RivetAnalysis RivetAnalysis.so insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis read ${parameterFile} ## Select the process cd /Herwig/MatrixElements/Matchbox ${process} cd /Herwig/Generators set EventGenerator:MaxErrors 1000000 saverun ${runname} EventGenerator diff --git a/Tests/Rivet/Templates/DIS-Merging.in b/Tests/Rivet/Templates/DIS-Merging.in --- a/Tests/Rivet/Templates/DIS-Merging.in +++ b/Tests/Rivet/Templates/DIS-Merging.in @@ -1,65 +1,65 @@ # -*- ThePEG-repository -*- # # DO NOT EDIT - autogenerated by make_input_files.py # ################################################## ## Herwig/Matchbox example input file ################################################## ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/EPCollider.in read snippets/MonacoSampler.in ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings read Matchbox/MadGraph-OpenLoops.in set /Herwig/Merging/MergingFactory:OrderInAlphaS 0 set /Herwig/Merging/MergingFactory:OrderInAlphaEW 2 set /Herwig/Merging/MergingFactory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonQ2Scale ################################################## ## PDF and AlphaS choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in set /Herwig/Couplings/NLOAlphaS:input_alpha_s 0.118 read Merging/FactorCMWScheme.in # switch off initial state QED radiation set /Herwig/Particles/e-:PDF /Herwig/Partons/NoPDF set /Herwig/Particles/e+:PDF /Herwig/Partons/NoPDF # create the Rivet analysis create ThePEG::RivetAnalysis /Herwig/Analysis/RivetAnalysis RivetAnalysis.so insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis read ${parameterFile} ## Select the process cd /Herwig/Merging/ set Merger:MergingScale 10.*GeV ${process} do /Herwig/Merging/MergingFactory:ProductionMode cd /Herwig/Generators set EventGenerator:MaxErrors 1000000 saverun ${runname} EventGenerator diff --git a/Tests/Rivet/Templates/Hadron-Matchbox.in b/Tests/Rivet/Templates/Hadron-Matchbox.in --- a/Tests/Rivet/Templates/Hadron-Matchbox.in +++ b/Tests/Rivet/Templates/Hadron-Matchbox.in @@ -1,50 +1,50 @@ # -*- ThePEG-repository -*- # # DO NOT EDIT - autogenerated by make_input_files.py # ################################################## ## Collider type ################################################## read snippets/Matchbox.in read snippets/PPCollider.in ################################################## ## Matrix element library selection ################################################## ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ${nlo} ################################################## ## Matching and shower selection ## Please also see flavour scheme settings ## towards the end of the input file. ################################################## ${shower} ################################################## ## PDF choice ################################################## ${bscheme} -read Matchbox/MMHT2014.in +read Matchbox/CT14.in ################################################## # Create the Herwig analysis ################################################## create ThePEG::RivetAnalysis /Herwig/Analysis/RivetAnalysis RivetAnalysis.so insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis set /Herwig/Analysis/RivetAnalysis:Debug No set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm ################################################## ## Save the generator ################################################## do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode ## Select the process cd /Herwig/MatrixElements/Matchbox ${process} read ${parameterFile} cd /Herwig/Generators set EventGenerator:MaxErrors 1000000 saverun ${runname} EventGenerator diff --git a/Tests/Rivet/Templates/Hadron-Merging.in b/Tests/Rivet/Templates/Hadron-Merging.in --- a/Tests/Rivet/Templates/Hadron-Merging.in +++ b/Tests/Rivet/Templates/Hadron-Merging.in @@ -1,50 +1,50 @@ # -*- ThePEG-repository -*- # # DO NOT EDIT - autogenerated by make_input_files.py # ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/PPCollider.in read snippets/MonacoSampler.in ################################################## ## Matrix element library selection ################################################## ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in read Matchbox/MadGraph-OpenLoops.in ################################################## ## PDF and AlphaS choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in set /Herwig/Couplings/NLOAlphaS:input_alpha_s 0.118 read Merging/FactorCMWScheme.in ################################################## # Create the Herwig analysis ################################################## create ThePEG::RivetAnalysis /Herwig/Analysis/RivetAnalysis RivetAnalysis.so insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis set /Herwig/Analysis/RivetAnalysis:Debug No set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm ## Select the process cd /Herwig/Merging/ set Merger:MergingScale 15.*GeV ${process} read ${parameterFile} ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode cd /Herwig/Generators set EventGenerator:MaxErrors 1000000 saverun ${runname} EventGenerator diff --git a/Tests/python/plot-EE b/Tests/python/plot-EE --- a/Tests/python/plot-EE +++ b/Tests/python/plot-EE @@ -1,3586 +1,3596 @@ #! /usr/bin/env python import glob,os,sys if __name__ == "__main__": import logging from optparse import OptionParser, OptionGroup parser = OptionParser(usage="%prog name") verbgroup = OptionGroup(parser, "Verbosity control") verbgroup.add_option("-v", "--verbose", action="store_const", const=logging.DEBUG, dest="LOGLEVEL", default=logging.INFO, help="print debug (very verbose) messages") verbgroup.add_option("-q", "--quiet", action="store_const", const=logging.WARNING, dest="LOGLEVEL", default=logging.INFO, help="be very quiet") parser.add_option_group(verbgroup) parser.add_option("--with-gg", action='store_true' , dest="gg", default=False, help="Include gg analyese") parser.add_option("--without-gg", action='store_false', dest="gg", default=False, help="Don\'t include gg analyses") (opts, args) = parser.parse_args() logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s") ## Check args if len(args) < 1: logging.error("Must specify at least the name of the files") sys.exit(1) directory=args[0] header=""" {title}

{title}

""" analyses={ "HadronDecays" : { }, "TauDecays" : { "2pi" : {}, "Kpi" : {}, "KK" : {}, "lnu" : {}, "Keta" : {}, "3pi" : {}, "Kpipi" : {}, "KKpi" : {}, "2pieta" : {}, "2pigamma" : {}, "3K" : {}, "4pi" : {}, "5pi" : {},}, "Charged" : {"TotalChargedMult" : { 0 : {}, 1 : {}, 4 : {}, 5 : {}, 51 : {}, 41 : {} , "C" : {} }, "ChargedSpectrum" : { 0 : { "x" : {}, "p" : {}, "xi" : {}}, 1 : { "x" : {}, "p" : {}, "xi" : {}}, 2 : { "x" : {}, "p" : {}, "xi" : {}}, 4 : { "x" : {}, "p" : {}, "xi" : {}}, 5 : { "x" : {}, "p" : {}, "xi" : {}}, 21 : { "x" : {}, "p" : {}, "xi" : {}}, "C" : { "x" : {}, "p" : {}, "xi" : {}}}, "ChargedRapidityThrust" : { }, "ChargedpTInThrust" : { }, "ChargedpTOutThrust" : { }, "ChargedpTThrust" : { }, "ChargedpTvsxpThrust" : { }, "ChargedpTOutvsxpThrust" : { }, "ChargedxFThrust" : { }, "ChargedRapiditySphericity" : { }, "ChargedpTInSphericity" : { }, "ChargedpTOutSphericity" : { }, "ChargedpLSphericity" : { }, "ChargedpTSphericity" : { }, "ChargedpT2Sphericity" : { }, "ChargedFlowSphericity" : { }, "ChargedEnergyFlowSphericity" : { }, "ChargedAveragepT2inSphericity" : { }, "ChargedAveragepT2outSphericity" : { }, "ChargedAveragepTThrust" : { }, "ChargedAveragepT2Thrust" : { }, "ChargedSumpTThrust" : { }, "ChargedSumpT2Thrust" : { }, "ChargedAveragepTSphericity" : { }, "ChargedAveragepT2Sphericity" : { }, "ChargedSumpTSphericity" : { }, "ChargedSumpT2Sphericity" : { }, "DistChargedMult" : {0 : {}, 1 : {}, 2 : {}, 4 : {}, 5 : {} , 21 : {}, "C" :{}}}, "IdentifiedParticle" : { 22 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 111 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 211 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 221 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 331 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 223 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 333 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 321 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 311 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 313 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 323 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 2212 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 413 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 423 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3122 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3212 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 2224 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3312 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3222 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, "3224B" : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 431 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 433 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3112 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3224 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3114 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3324 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3124 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 443 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 9010221 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 9000211 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 225 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 335 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 113 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 213 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 421 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 411 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 425 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 511 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4122 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 3334 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4332 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4132 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4112 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4114 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 4124 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, 14122 : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}, "321/2212" : { "x" : {}, "p" : {}, "xi" : {}, "Other" : {}, "Ratio" : {}}}, "IdentifiedParticleFlavour" : {111 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 211 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 321 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 311 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 313 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 333 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 2212 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 3122 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, 413 : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } }, "321/2212" : { 1 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 4 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 5 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 41 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} }, 51 : {"x" : {}, "xi" : {}, "p" : {}, "Ratio" : {}, "Other" : {} } },}, "MultiplicityFlavour" : {111 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 211 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 321 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 2212 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 413 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 3122 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 313 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 333 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, 311 : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, "321/2212" : { 1 : {}, 4 : {}, 5 : {}, 41 : {}, 51 : {} }, }, "Multiplicity" : { 22: {}, 111 : {}, 211 : {}, 221 : {}, 331 : {}, 113 : {},9010221 : {},9000211 : {}, 213 : {}, 223 : {}, 333 : {}, 321 : {}, 311 : {}, 411 : {}, 421 : {}, 431 : {}, 521 : {}, "511B" : {}, 531 : {}, 511 : {}, 313 : {}, 323 : {}, 2212 : {}, 413 : {}, 423 : {}, 433 : {}, 513 : {}, 515 : {}, 3122 : {}, 3312 : {}, 3212 : {}, 3112 : {}, 3114 : {}, 3324: {}, 3334 : {}, "321/2212" : {}, 4132 : {}, 443 : {}, 100443 : {}, 553 : {}, 20223 : {}, 20333 : {}, 20443 : {}, 225 :{}, 335 : {}, 20431 : {}, 435 : {}, 315 : {}, 325 : {}, 3222 : {}, 2224 : {}, 3224 : {}, 3114 : {}, 4122 : {}, 5122 :{}, 3124 :{}, 4222 : {}, "3222B" : {}, "3224B" : {}, }, "EventShapes" : { "T" : {}, "S" : {}, "D" : {}, "O" : {}, "Minor" : {}, "Major" : {}, "y12_dur" : {}, "y23_dur" : {}, "y34_dur" : {}, "y45_dur" : {}, "y56_dur" : {}, "y12_jade" : {}, "y23_jade" : {}, "y34_jade" : {}, "y45_jade" : {}, "y56_jade" : {}, "HeavyJetMass" : {} , "JetMassDifference" : {} , "LightJetMass" : {}, "TotalJetMass" : {} , "EEC" : {}, "AEEC" : {} , "P" : {}, "A" : {} , "Qx" : {}, "Q21" : {}, "BW" : {}, "BT" : {}, "BN" : {}, "Bdiff" : {}, "C" : {}, "1jet_dur" : {}, "2jet_dur" : {}, "3jet_dur" : {}, "4jet_dur" : {}, "5jet_dur" : {}, "6jet_dur" : {}, "1jet_jade" : {}, "2jet_jade" : {}, "3jet_jade" : {}, "4jet_jade" : {}, "5jet_jade" : {}, "6jet_jade" : {}, "Moment_T":{}, "Moment_H":{},"Moment_C":{},"Moment_S":{},"Moment_L":{},"Moment_y":{},"Moment_BW":{}, "Moment_BN":{},"Moment_BT":{},"Moment_O":{},"Moment_M":{},"Moment_m":{},}, "FourJet" : {"BZ" : {}, "KSW" : {}, "NR" : {}, "alpha34" : {} }, "EventShapesFlavour" : { "T" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "S" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "D" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "O" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "Minor" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "Major" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "y12" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"y23" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"y34" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"y45" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"y56" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "HeavyJetMass" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}} , "JetMassDifference" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}} , "LightJetMass" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "TotalJetMass" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}} , "EEC" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "AEEC" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}} , "P" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "A" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}} , "BW" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "BT" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "BN" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "Bdiff" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "C" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}}, "1jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"2jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"3jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"4jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"5jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},"6jet" : { 1 : {}, 2 : {}, 4 : {}, 5 : {}},}, "QED" : {}, } particleNames = { 22 : "$\\gamma$", 111 : "$\\pi^0$", 211 : "$\\pi^\\pm$", 221 : "$\\eta$", 331 : "$\\eta^\\prime$", 113 : "$\\rho^0$", 213 : "$\\rho^\\pm$", 223 : "$\\omega$", 333 : "$\\phi$", 115 : "$a_2^0$", 215 : "$a_2^\pm$", 225 : "$f_2$", 335 : "$f^\\prime_2$", 20223 : "$f_1$", 20333 : "$f^\\prime_1$", 20113 : "$a^0_1$", 20213 : "$a^\\pm_1$", 9010221 : "$f_0(980)$", 9000211 : "$a^\\pm_0(980)$", 311 : "$K^0,\\bar{K}^0$", 321 : "$K^\\pm$", 313 : "$K^{*0},\\bar{K}^{*0}$", 323 : "$K^{*\\pm}$", 315 : "$K^0_2,\\bar{K}^0_2$", 325 : "$K^\\pm_2$", 411 : "$D^\\pm$", 421 : "$D^0,\\bar{D}^0$", 413: "$D^{*\\pm}$", 415 : "$D^\\pm_2$", 425 : "$D^0_2, \\bar{D}^0_2$", 423: "$D^{*0},\\bar{D}^{*0}$", 431 : "$D_s^\\pm$", 435 : "$D^\\pm_{s2}$", 20431 : "$D^\\pm_{s1}$", 433 : "$D_s^{*\\pm}$", 511 : "$B^0,\\bar{B}^0$", "511B" : "$B^0,\\bar{B}^0, B^\\pm$", 521 : "$B^\\pm$", 531 : "$B^0_s,\\bar{B}^0_s$", 513 : "$B^*$",515 : "$B^{**}$", 443 : "$J/\\psi$" , 100443 : "$\\psi(2S)$", 553 : "$\Upsilon(1S)$", 20443 : "$\\chi_{c1}(1P)$", 441 : "$\\eta_c$", 100553 : "$\Upsilon(2S)$", 300553 : "$\Upsilon(4S)$", 445 : "$\\chi_{c2}(1P)$", 30443 : "$\\psi(3770)$", 2212 : "$p,\\bar{p}$", 2224 : "$\\Delta^{++},\\bar{\\Delta}^{--}$", 3122 : "$\\Lambda^0,\\bar{\\Lambda}^0$", 3222 : "$\\Sigma^+,\\bar{\Sigma}^-$", "3222B" : "$\\Sigma^\\pm,\\bar{\Sigma}^\\pm$", 3212 : "$\\Sigma^0,\\bar{\Sigma}^0$", 3112 : "$\\Sigma^-,\\bar{\Sigma}^+$", 3224 : "$\\Sigma^{*+},\\bar{\Sigma}^{*-}$", "3224B" : "$\\Sigma^{*\\pm},\\bar{\Sigma}^{*\\pm}$", 3214 : "$\\Sigma^{*0},\\bar{\Sigma}^{*0}$", 3114 : "$\\Sigma^{*-},\\bar{\Sigma}^{*+}$", 3322 : "$\\Xi^0,\\bar{\\Xi}^0$", 3312 : "$\\Xi^-,\\bar{\\Xi}^+$", 3324 : "$\\Xi^{*0},\\bar{\\Xi}^{*0}$", 3314 : "$\\Xi^{*-},\\bar{\\Xi}^{*+}$", 3334 : "$\\Omega^-,\\bar{\\Omega}^+$", 3124 : "$\\Lambda^0(1520),\\bar{\\Lambda}^0(1520)$", 4122 : "$\\Lambda_c^+,\\bar{\\Lambda}^+_c$", 4222 : "$\\Sigma_c^{++}, \\Sigma_c^{0}, \\bar{\\Sigma}_c^{++}, \\bar{\\Sigma}_c^{0}$", 5122 : "$\\Lambda_b^0,\\bar{\\Lambda}^0_b$", 14122 : "$\\Lambda_c(2595)^+,\\bar{\\Lambda}(2595)_c^+$", 4124 : "$\\Lambda_c(2625)^+,\\bar{\\Lambda}(2595)_c^+$", 4112 : "$\\Sigma_c^0,\\bar{\\Sigma}_c^0$", 4114 : "$\\Sigma_c^{*0},\\bar{\\Sigma}_c^{*0}$", 4332 : "$\\Omega_c^0,\\bar{\\Omega}_c^0$", 4132 : "$\\Xi_c^0,\\bar{\\Xi}_c^0$", "321/2212" : "$K^\\pm,p,\\bar{p}$" } # hadron species mLight = [211,111,221,331,213,113,223,333,225,335,20213,20113,20223,20333,9010221, 9000111, 9000211] mStrange = [311,321,313,323,315,325] mCharm = [411,421,413,423,425,431,433,435,20431] mBottom = [511,"511B",521,531,513,515] mccbar = [441,443,100443,20443,30443] mbbbar = [553,100553,300553] bLight = [2212,2224] bStrange = [3122,3222,"3222B",3212,3112,3114,3224,"3224B",3312,3322,3324,3334,3124] bCharm = [4122,4112,4222,4114,4332,4132,14122,4124] bBottom = [5122] # hadron decays modes = {} # neutral pion analyses["HadronDecays"][111] = { "Modes" : {"$\\pi^0\\to\\gamma e^+e^-$" : {} } } analyses["HadronDecays"][111]["Modes"]["$\\pi^0\\to\\gamma e^+e^-$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h2_111p_22p_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_111p_22p_11_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_111p_22p_11_mff"] # eta analyses["HadronDecays"][221] = { "Modes" : {"$\\eta\\to\\pi^0\\pi^0\\pi^0$" : {}, "$\\eta\\to\\pi^+\\pi^-\\pi^0$" : {}, "$\\eta\\to\\gamma e^+e^-$" : {}, "$\\eta\\to\\gamma \\pi^+\\pi^-$" : {}, "$\\eta\\to\\gamma\\gamma\\pi^0$" : {} } } analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\pi^0\\pi^0\\pi^0$"]["MC" ] = ["/MC_Eta_Decay/dpi0pi0_0"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\pi^+\\pi^-\\pi^0$"]["MC" ] = ["/MC_Eta_Decay/dpi0pim_0","/MC_Eta_Decay/dpi0pip_0", "/MC_Eta_Decay/dpippim_0"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\pi^+\\pi^-\\pi^0$"]["data"] = ["/KLOE2_2016_I1416990/d01-x01-y01","/KLOE2_2016_I1416990/d02-x01-y01", "/KLOE2_2016_I1416990/d02-x01-y02","/KLOE2_2016_I1416990/d02-x01-y03", "/KLOE2_2016_I1416990/d02-x01-y04","/KLOE2_2016_I1416990/d02-x01-y05", "/KLOE2_2016_I1416990/d02-x01-y06","/KLOE2_2016_I1416990/d02-x01-y07", "/KLOE2_2016_I1416990/d02-x01-y08","/KLOE2_2016_I1416990/d02-x01-y09", "/KLOE2_2016_I1416990/d02-x01-y10","/KLOE2_2016_I1416990/d02-x01-y11", "/KLOE2_2016_I1416990/d02-x01-y12","/KLOE2_2016_I1416990/d02-x01-y13", "/KLOE2_2016_I1416990/d02-x01-y14","/KLOE2_2016_I1416990/d02-x01-y15", "/KLOE2_2016_I1416990/d02-x01-y16","/KLOE2_2016_I1416990/d02-x01-y17"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\gamma e^+e^-$"]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_221p_22p_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_221p_22p_11_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_221p_22p_11_mff"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\gamma e^+e^-$"]["data"] = ["/A2_2017_I1486671/d01-x01-y01"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\gamma \\pi^+\\pi^-$"]["MC" ] = ["/MC_Eta_Decay/mpimgamma_0","/MC_Eta_Decay/mpipgamma_0", "/MC_Eta_Decay/mpippim_0" ,"/MC_Eta_Decay/photonenergy_0"] analyses["HadronDecays"][221]["Modes"]["$\\eta\\to\\gamma\\gamma\\pi^0$" ]["MC" ] = ["/MC_Eta_Decay/mgammagamma_0","/MC_Eta_Decay/mpi0gamma_0"] # eta' analyses["HadronDecays"][331] = { "Modes" : {"$\\eta^\\prime\\to\\pi^0\\pi^0\\pi^0$" : {}, "$\\eta^\\prime\\to\\pi^+\\pi^-\\pi^0$" : {}, "$\\eta^\\prime\\to\\eta\\pi^0\\pi^0$" : {}, "$\\eta^\\prime\\to\\eta\\pi^+\\pi^-$" : {}, "$\\eta^\\prime\\to\\gamma e^+e^-$" : {}, "$\\eta^\\prime\\to\\gamma \\mu^+\\mu^-$" : {}, "$\\eta^\\prime\\to\\gamma \\pi^+\\pi^-$" : {}, "$\\eta^\\prime\\to\\gamma\\gamma\\pi^0$" : {} } } analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma e^+e^-$"]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_11_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_11_mff"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma e^+e^-$"]["data"] = ["/BESIII_2015_I1364494/d01-x01-y03"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma \\mu^+\\mu^-$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_13_mff", "/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_13_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_331p_22p_13_mVf"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\pi^+\\pi^-\\pi^0$"]["MC"] = ["/MC_Eta_Decay/dpi0pim_1","/MC_Eta_Decay/dpippim_1", "/MC_Eta_Decay/dpi0pip_1"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma \\pi^+\\pi^-$"]["MC" ] =["/MC_Eta_Decay/mpimgamma_1","/MC_Eta_Decay/mpipgamma_1", "/MC_Eta_Decay/mpippim_1","/MC_Eta_Decay/photonenergy_1"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma \\pi^+\\pi^-$"]["data"] = ["/BESIII_2018_I1641075/d01-x01-y05"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\gamma\\gamma\\pi^0$"]["MC" ] = ["/MC_Eta_Decay/mgammagamma_1","/MC_Eta_Decay/mpi0gamma_1"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\pi^0\\pi^0\\pi^0$"]["MC" ] = ["/MC_Eta_Decay/dpi0pi0_1"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\eta\\pi^0\\pi^0$"]["MC" ] = ["/MC_Eta_Decay/dpi0eta","/MC_Eta_Decay/dpi0pi0_2"] analyses["HadronDecays"][331]["Modes"]["$\\eta^\\prime\\to\\eta\\pi^+\\pi^-$"]["MC" ] = ["/MC_Eta_Decay/dpimeta","/MC_Eta_Decay/dpipeta", "/MC_Eta_Decay/dpippim_2"] # omega analyses["HadronDecays"][223] = { "Modes" : {"$\\omega\\to\\pi^+\\pi^-\\pi^0$" : {}, "$\\omega\\to e^+e^-\\pi^0$" : {}, "$\\omega\\to \\mu^+\\mu^-\\pi^0$" : {},}} analyses["HadronDecays"][223]["Modes"]["$\\omega\\to\\pi^+\\pi^-\\pi^0$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz_1","/MC_OmegaPhia1_3Pion_Decay/m0_1", "/MC_OmegaPhia1_3Pion_Decay/mminus_1","/MC_OmegaPhia1_3Pion_Decay/mplus_1", "/MC_OmegaPhia1_3Pion_Decay/xhist_1","/MC_OmegaPhia1_3Pion_Decay/yhist_1"] analyses["HadronDecays"][223]["Modes"]["$\\omega\\to e^+e^-\\pi^0$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h_223p_111p_11_mPf", "/MC_Meson_Meson_Leptons_Decay/h_223p_111p_11_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_223p_111p_11_mff"] analyses["HadronDecays"][223]["Modes"]["$\\omega\\to \\mu^+\\mu^-\\pi^0$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h_223p_111p_13_mPf", "/MC_Meson_Meson_Leptons_Decay/h_223p_111p_13_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_223p_111p_13_mff"] analyses["HadronDecays"][223]["Modes"]["$\\omega\\to e^+e^-\\pi^0$"]["data"] = ["/A2_2017_I1486671/d02-x01-y01"] # phi analyses["HadronDecays"][333] = { "Modes" : {"$\\phi\\to\\pi^+\\pi^-\\pi^0$" : {}, "$\\phi\\to e^+e^-\\pi^0$" : {}, "$\\phi\\to e^+e^-\\eta$" : {}, "$\\phi\\to \\mu^+\\mu-\\gamma$" : {}, "$\\phi\\to \\pi^0\\pi^0\\gamma$" : {}, "$\\phi\\to \\eta\\pi^0\\gamma$" : {},}} analyses["HadronDecays"][333]["Modes"]["$\\phi\\to\\pi^+\\pi^-\\pi^0$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz_2","/MC_OmegaPhia1_3Pion_Decay/m0_2", "/MC_OmegaPhia1_3Pion_Decay/mminus_2","/MC_OmegaPhia1_3Pion_Decay/mplus_2", "/MC_OmegaPhia1_3Pion_Decay/xhist_2","/MC_OmegaPhia1_3Pion_Decay/yhist_2"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to\\pi^+\\pi^-\\pi^0$"]["data"] = ["/SND_2001_I558279/d01-x01-y01","/SND_2001_I558279/d02-x01-y01"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to e^+e^-\\pi^0$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h_333p_111p_11_mPf", "/MC_Meson_Meson_Leptons_Decay/h_333p_111p_11_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_333p_111p_11_mff"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to e^+e^-\\pi^0$"]["data"] = ["/KLOE2_2016_I1416825/d01-x01-y01"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to e^+e^-\\eta$"]["MC"] = ["/MC_Meson_Meson_Leptons_Decay/h_333p_221p_11_mPf", "/MC_Meson_Meson_Leptons_Decay/h_333p_221p_11_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_333p_221p_11_mff"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to e^+e^-\\eta$"]["data"] = ["/KLOE2_2014_I1317236/d01-x01-y01"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to \\pi^0\\pi^0\\gamma$"]["data"] = ["/KLOE_2002_I585183/d01-x01-y01","/SND_2000_I525398/d01-x01-y01"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to \\eta\\pi^0\\gamma$" ]["data"] = ["/KLOE_2009_I818106/d01-x01-y01","/SND_2000_I527094/d01-x01-y01"] analyses["HadronDecays"][333]["Modes"]["$\\phi\\to \\mu^+\\mu-\\gamma$"]["MC"]=["/MC_Meson_Meson_Leptons_Decay/h2_333p_22p_13_mff","/MC_Meson_Meson_Leptons_Decay/h2_333p_22p_13_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_333p_22p_13_mVf"] # a_1+ analyses["HadronDecays"][20213] = { "Modes" : { "$a_1^+\\to\\pi^+\\pi^0\\pi^0$" : {}, "$a_1^+\\to\\pi^+\\pi^-\\pi^+$" : {},}} analyses["HadronDecays"][20213]["Modes"]["$a_1^+\\to\\pi^+\\pi^0\\pi^0$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz1","/MC_OmegaPhia1_3Pion_Decay/hist1A", "/MC_OmegaPhia1_3Pion_Decay/hist1B"] analyses["HadronDecays"][20213]["Modes"]["$a_1^+\\to\\pi^+\\pi^-\\pi^+$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz3","/MC_OmegaPhia1_3Pion_Decay/hist3A", "/MC_OmegaPhia1_3Pion_Decay/hist3B"] # a_10 analyses["HadronDecays"][20113] = { "Modes" : { "$a_1^0\\to\\pi^0\\pi^0\\pi^0$" : {}, "$a_1^0\\to\\pi^+\\pi^-\\pi^0$" : {},}} analyses["HadronDecays"][20113]["Modes"]["$a_1^0\\to\\pi^0\\pi^0\\pi^0$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz0","/MC_OmegaPhia1_3Pion_Decay/hist0"] analyses["HadronDecays"][20113]["Modes"]["$a_1^0\\to\\pi^+\\pi^-\\pi^0$"]["MC"] = ["/MC_OmegaPhia1_3Pion_Decay/dalitz2","/MC_OmegaPhia1_3Pion_Decay/hist2A", "/MC_OmegaPhia1_3Pion_Decay/hist2B" ,"/MC_OmegaPhia1_3Pion_Decay/hist2C"] # charm decays # D+ analyses["HadronDecays"][411] = { "Modes" : { "$D^+\\to\\bar{K}^0e^+\\nu_e$" : {}, "$D^+\\to\\pi^0e^+\\nu_e$" : {}, "$D^+\\to \\bar{K}_1(1270)^0e^+\\nu_e$" : {}, "$D^+\\to\\bar{K}^0\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\pi^0\\mu^+\\nu_\\mu$" : {}, "$D^+\\to \\bar{K}_1(1270)^0\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\eta e^+\\nu_e$" : {}, "$D^+\\to\\eta\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\eta^\\prime e^+\\nu_e$" : {}, "$D^+\\to\\eta^\\prime\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\rho^0 e^+\\nu_e$" : {}, "$D^+\\to\\rho^0\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\omega e^+\\nu_e$" : {}, "$D^+\\to\\omega\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\bar{K}^{*0}e^+\\nu_e$" : {}, "$D^+\\to\\bar{K}^{*0}\\mu^+\\nu_\\mu$" : {}, "$D^+\\to\\bar{K}_2^{*0}e^+\\nu_e$" : {}, "$D^+\\to\\bar{K}_2^{*0}\\mu^+\\nu_\\mu$" : {}, "$D^+\\to K^-\\pi^+\\pi^+$" : {}, "$D^+\\to K^+\\pi^-\\pi^+$" : {}, "$D^+\\to\\bar{K}^0\\pi^+\\pi^0$" : {}, }} analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^0e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_311m_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_311m_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^0e^+\\nu_e$" ]["data"] = ["/BESIII_2017_I1519425/d01-x01-y01"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\pi^0e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_111p_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_111p_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\pi^0e^+\\nu_e$" ]["data"] = ["/BESIII_2017_I1519425/d02-x01-y01"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to \\bar{K}_1(1270)^0e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_10313m_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_10313m_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^0\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_311p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_311p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\pi^0\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_111p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_111p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to \\bar{K}_1(1270)^0\\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_10313p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_10313p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to K^-\\pi^+\\pi^+$" ]["MC" ] = ["/MC_D_Dalitz/dalitz3","/MC_D_Dalitz/h_Kpiall3", "/MC_D_Dalitz/h_Kpihigh3","/MC_D_Dalitz/h_Kpilow3", "/MC_D_Dalitz/h_pipi3"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to K^+\\pi^-\\pi^+$" ]["MC" ] = ["/MC_D_Dalitz/dalitz5","/MC_D_Dalitz/h_kppim5", "/MC_D_Dalitz/h_kppip5","/MC_D_Dalitz/h_pippim5",] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^0\\pi^+\\pi^0$" ]["MC" ] = ["/MC_D_Dalitz/dalitz4","/MC_D_Dalitz/h_Kpi04", "/MC_D_Dalitz/h_Kpip4","/MC_D_Dalitz/h_pipi4"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\eta e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_221p_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_221p_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\eta\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_221p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_221p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\eta^\\prime e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_331p_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_331p_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\eta^\\prime\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_331p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_331p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\rho^0 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_113p_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_113p_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\rho^0\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_113p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_113p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\omega e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_223p_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_223p_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\omega\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_223p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_223p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^{*0}e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_313m_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_313m_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}^{*0}\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_313p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_313p_13p_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}_2^{*0}e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411p_315m_11m_energy", "/MC_Semi_Leptonic_Decay/h_411p_315m_11m_scale"] analyses["HadronDecays"][411]["Modes"]["$D^+\\to\\bar{K}_2^{*0}\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_411m_315p_13p_energy", "/MC_Semi_Leptonic_Decay/h_411m_315p_13p_scale"] # D^0 analyses["HadronDecays"][421] ={ "Modes" : { "$D^0\\to K^-e^+\\nu_e$" : {}, "$D^0\\to K^-\\mu^+\\nu_\\mu$" : {}, "$D^0\\to K^{*-}e^+\\nu_e$" : {}, "$D^0\\to K^{*-}\\mu^+\\nu_\\mu$" : {}, "$D^0\\to K^{*-}_2e^+\\nu_e$" : {}, "$D^0\\to K^{*-}_2\\mu^+\\nu_\\mu$" : {}, "$D^0\\to K_1(1270)^{-}e^+\\nu_e$" : {}, "$D^0\\to K_1(1270)^{-}\\mu^+\\nu_\\mu$": {}, "$D^0\\to \\pi^-e^+\\nu_e$" : {}, "$D^0\\to \\pi^-\\mu^+\\nu_\\mu$" : {}, "$D^0\\to \\rho^-e^+\\nu_e$" : {}, "$D^0\\to \\rho^-\\mu^+\\nu_\\mu$" : {}, "$D^0\\to K^-\\pi^+\\pi^0$" : {}, "$D^0\\to \\bar{K}^0\\pi^+\\pi^-$" : {}, }} analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^{*-}e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_323m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_323m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^{*-}\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_323p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_323p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^{*-}_2e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_325m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_325m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^{*-}_2\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_325p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_325p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K_1(1270)^{-}e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_10323m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_10323m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K_1(1270)^{-}\\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_10323p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_10323p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^-e^+\\nu_e$" ]["data"] = ["/BESIII_2015_I1391138/d01-x01-y03"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^-e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_321m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_321m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^-\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_321p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_321p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\pi^-e^+\\nu_e$" ]["data"] = ["/BABAR_2015_I1334693/d01-x01-y01", "/BESIII_2015_I1391138/d02-x01-y03"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\pi^-e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_211m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_211m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\pi^-\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_211p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_211p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\rho^-e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421p_213m_11m_energy", "/MC_Semi_Leptonic_Decay/h_421p_213m_11m_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\rho^-\\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_421m_213p_13p_energy", "/MC_Semi_Leptonic_Decay/h_421m_213p_13p_scale"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to K^-\\pi^+\\pi^0$" ]["MC" ] = ["/MC_D_Dalitz/dalitz2","/MC_D_Dalitz/h_minus2", "/MC_D_Dalitz/h_neutral2","/MC_D_Dalitz/h_pipi2"] analyses["HadronDecays"][421]["Modes"]["$D^0\\to \\bar{K}^0\\pi^+\\pi^-$" ]["MC" ] = ["/MC_D_Dalitz/dalitz1","/MC_D_Dalitz/h_minus1", "/MC_D_Dalitz/h_pipi1","/MC_D_Dalitz/h_plus1"] analyses["HadronDecays"][431] = { "Modes" : { "$D_s^+\\to \\eta e^+\\nu_e$" : {}, "$D_s^+\\to \\eta \\mu^+\\nu_\\mu$" : {}, "$D_s^+\\to \\eta^\\prime e^+\\nu_e$" : {}, "$D_s^+\\to \\eta^\\prime \\mu^+\\nu_\\mu$" : {}, "$D_s^+\\to \\phi e^+\\nu_e$" : {}, "$D_s^+\\to \\phi \\mu^+\\nu_\\mu$" : {}, "$D_s^+\\to K^0 e^+\\nu_e$" : {}, "$D_s^+\\to K^0 \\mu^+\\nu_\\mu$" : {}, "$D_s^+\\to K^{*0} e^+\\nu_e$" : {}, "$D_s^+\\to K^{*0} \\mu^+\\nu_\\mu$" : {}, "$D_s^+\\to K^+\\pi^-\\pi^+$" : {}, }} analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\eta e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431p_221p_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_221p_11m_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\eta \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431m_221p_13p_energy", "/MC_Semi_Leptonic_Decay/h_431m_221p_13p_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\eta^\\prime e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431p_331p_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_331p_11m_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\eta^\\prime \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431m_331p_13p_energy", "/MC_Semi_Leptonic_Decay/h_431m_331p_13p_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\phi e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431p_333p_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_333p_11m_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to \\phi \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431m_333p_13p_energy", "/MC_Semi_Leptonic_Decay/h_431m_333p_13p_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to K^0 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431p_311m_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_311m_11m_scale", "/MC_Semi_Leptonic_Decay/h_431p_311p_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_311p_11m_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to K^0 \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431m_311p_13p_energy", "/MC_Semi_Leptonic_Decay/h_431m_311p_13p_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to K^{*0} e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431p_313p_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_313p_11m_scale", "/MC_Semi_Leptonic_Decay/h_431p_313m_11m_energy", "/MC_Semi_Leptonic_Decay/h_431p_313m_11m_scale"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to K^{*0} \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_431m_313p_13p_scale", "/MC_Semi_Leptonic_Decay/h_431m_313p_13p_energy"] analyses["HadronDecays"][431]["Modes"]["$D_s^+\\to K^+\\pi^-\\pi^+$" ]["MC" ] = ["/MC_D_Dalitz/dalitz6","/MC_D_Dalitz/h_kppim6", "/MC_D_Dalitz/h_kppip6","/MC_D_Dalitz/h_pippim6"] analyses["HadronDecays"][511]={ "Spectrum" : {}, "Modes" : { "$B^0\\to\\pi^- e^+\\nu_e$" : {}, "$B^0\\to\\pi^- \\mu^+\\nu_\\mu$" : {}, "$B^0\\to\\rho^- e^+\\nu_e$" : {}, "$B^0\\to\\rho^- \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^- e^+\\nu_e$" : {}, "$B^0\\to D^- \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^{*-} e^+\\nu_e$" : {}, "$B^0\\to D^{*-} \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^{*-}_2 e^+\\nu_e$" : {}, "$B^0\\to D^{*-}_2 \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^{*-}_0(2400) e^+\\nu_e$" : {}, "$B^0\\to D^{*-}_0(2400) \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^{-}_1(2430) e^+\\nu_e$" : {}, "$B^0\\to D^{-}_1(2430) \\mu^+\\nu_\\mu$" : {}, "$B^0\\to D^{-}_1(2420) e^+\\nu_e$" : {}, "$B^0\\to D^{-}_1(2420) \\mu^+\\nu_\\mu$" : {}, "$B^0\\to K^{*0} e^+e^-$" : {}, "$B^0\\to K^{*0} \\mu^+\\mu^-$" : {}, "$B^0\\to K^0 e^+e^-$" : {}, "$B^0\\to K^0 \\mu^+\\mu^-$" : {}, "$B\\to X_s\\gamma$" : {},}} analyses["HadronDecays"][521]={"Modes" : { "$B^+\\to\\pi^0 e^+\\nu_e$" : {}, "$B^+\\to\\pi^0 \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\omega e^+\\nu_e$" : {}, "$B^+\\to\\omega \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\rho^0 e^+\\nu_e$" : {}, "$B^+\\to\\rho^0 \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\eta^\\prime e^+\\nu_e$" : {}, "$B^+\\to\\eta^\\prime \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\eta e^+\\nu_e$" : {}, "$B^+\\to\\eta \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\bar{D}^0 e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^0 \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\bar{D}^{*0} e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^{*0} \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\bar{D}^{*0}_2 e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^{*0}_2 \\mu^+\\nu_\\mu$": {}, "$B^+\\to\\bar{D}^{*0}_0(2400) e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^{*0}_0(2400) \\mu^+\\nu_\\mu$": {}, "$B^+\\to\\bar{D}^{0}_1(2430) e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^{0}_1(2430) \\mu^+\\nu_\\mu$" : {}, "$B^+\\to\\bar{D}^{0}_1(2420) e^+\\nu_e$" : {}, "$B^+\\to\\bar{D}^{0}_1(2420) \\mu^+\\nu_\\mu$" : {}, "$B^+\\to K^{*+} e^+e^-$" : {}, "$B^+\\to K^{*+} \\mu^+\\mu^-$" : {}, "$B^+\\to K^- e^+e^-$" : {}, "$B^+\\to K^- \\mu^+\\mu^-$" : {},} } analyses["HadronDecays"][511]["Spectrum"][311] = ["/ARGUS_1994_I354224/d01-x01-y01"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\pi^0 e^+\\nu_e$" ]["data"] = ["/BELLE_2013_I1238273/d02-x01-y01"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\pi^0 e^+\\nu_e$" ]["MC"] = ["/MC_Semi_Leptonic_Decay/h_521p_111p_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_111p_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\pi^0 \\mu^+\\nu_\\mu$" ]["MC"] = ["/MC_Semi_Leptonic_Decay/h_521m_111p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_111p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\pi^- e^+\\nu_e$" ]["data"] = ["/BELLE_2011_I878990/d01-x01-y01","/BELLE_2013_I1238273/d01-x01-y01"] #analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\pi^- \\mu^+\\nu_\\mu$" ]["data"] = [] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\pi^- e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_211m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_211m_11m_scale",] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\pi^- \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_211p_13p_scale", "/MC_Semi_Leptonic_Decay/h_511m_211p_13p_energy"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\rho^- e^+\\nu_e$" ]["data"] = ["/BELLE_2013_I1238273/d03-x01-y01"] #analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\rho^- \\mu^+\\nu_\\mu$" ]["data"] = [] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\rho^- e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_213m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_213m_11m_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to\\rho^- \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_213p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_213p_13p_scale",] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\omega e^+\\nu_e$" ]["data"] = ["/BELLE_2013_I1238273/d05-x01-y01","/BABAR_2013_I1116411/d01-x01-y01"] #analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\omega \\mu^+\\nu_\\mu$" ]["data"] = [] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\omega e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_223p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_223p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\omega \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_223p_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_223p_11m_scale",] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\rho^0 e^+\\nu_e$" ]["data"] = ["/BELLE_2013_I1238273/d04-x01-y01"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\rho^0 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_113p_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_113p_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\rho^0 \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_113p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_113p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^- e^+\\nu_e$" ]["data"] = ["/BELLE_2015_I1397632/d01-x01-y01"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^- \\mu^+\\nu_\\mu$" ]["data"] = ["/BELLE_2015_I1397632/d01-x01-y02"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^- e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_411m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_411m_11m_scale",] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^- \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_411p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_411p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-} e^+\\nu_e$" ]["data"] = ["/BELLE_2017_I1512299/d01-x01-y01","/BELLE_2017_I1512299/d02-x01-y01", "/BELLE_2017_I1512299/d03-x01-y01","/BELLE_2017_I1512299/d04-x01-y01",] #analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-} \\mu^+\\nu_\\mu$" ]["data"] = [] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-} e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_413m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_413m_11m_scale",] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-} \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_413p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_413p_13p_scale",] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-}_2 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_415m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_415m_11m_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-}_2 \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_415p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_415p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\eta^\\prime e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_331p_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_331p_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\eta^\\prime \\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_331p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_331p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\eta e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_221p_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_221p_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\eta \\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_221p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_221p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^0 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_421m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_421m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^0 \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_421p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_421p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^0 e^+\\nu_e$" ]["data"] = ["/BELLE_2015_I1397632/d02-x01-y01"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^0 \\mu^+\\nu_\\mu$" ]["data"] = ["/BELLE_2015_I1397632/d02-x01-y02"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0} e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_423m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_423m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0} \\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_423p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_423p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0}_2 e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_425m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_425m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0}_2 \\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_425p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_425p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0}_0(2400) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_10421m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_10421m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{*0}_0(2400) \\mu^+\\nu_\\mu$"]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_10421p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_10421p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{0}_1(2430) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_20423m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_20423m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{0}_1(2430) \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_20423p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_20423p_13p_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{0}_1(2420) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521p_10423m_11m_energy", "/MC_Semi_Leptonic_Decay/h_521p_10423m_11m_scale"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to\\bar{D}^{0}_1(2420) \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_521m_10423p_13p_energy", "/MC_Semi_Leptonic_Decay/h_521m_10423p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-}_0(2400) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_10411m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_10411m_11m_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{*-}_0(2400) \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_10411p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_10411p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{-}_1(2430) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_20413m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_20413m_11m_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{-}_1(2430) \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_20413p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_20413p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{-}_1(2420) e^+\\nu_e$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511p_10413m_11m_energy", "/MC_Semi_Leptonic_Decay/h_511p_10413m_11m_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to D^{-}_1(2420) \\mu^+\\nu_\\mu$" ]["MC" ] = ["/MC_Semi_Leptonic_Decay/h_511m_10413p_13p_energy", "/MC_Semi_Leptonic_Decay/h_511m_10413p_13p_scale"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to K^{*0} e^+e^-$" ]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_11_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_11_mff"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to K^{*0} \\mu^+\\mu^-$"]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_13_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_13_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_511p_313p_13_mff"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to K^0 e^+e^-$" ]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h_511p_311p_11_mPf", "/MC_Meson_Meson_Leptons_Decay/h_511p_311p_11_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_511p_311p_11_mff", "/MC_Meson_Meson_Leptons_Decay/h_511m_311m_11_mPf", "/MC_Meson_Meson_Leptons_Decay/h_511m_311m_11_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_511m_311m_11_mff"] analyses["HadronDecays"][511]["Modes"]["$B^0\\to K^0 \\mu^+\\mu^-$"]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h_511m_311m_13_mPf", "/MC_Meson_Meson_Leptons_Decay/h_511m_311m_13_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_511m_311m_13_mff"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to K^{*+} e^+e^-$" ]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_521m_323m_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_521m_323m_11_mff", "/MC_Meson_Meson_Leptons_Decay/h2_521m_323m_11_mVfbar"] analyses["HadronDecays"][521]["Modes"]["$B^+\\to K^{*+} \\mu^+\\mu^-$"]["MC" ] = [] analyses["HadronDecays"][521]["Modes"]["$B^+\\to K^- e^+e^-$" ]["MC" ] = [] analyses["HadronDecays"][521]["Modes"]["$B^+\\to K^- \\mu^+\\mu^-$" ]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h_521m_321m_13_mPfbar", "/MC_Meson_Meson_Leptons_Decay/h_521m_321m_13_mff", "/MC_Meson_Meson_Leptons_Decay/h_521m_321m_13_mPf"] analyses["HadronDecays"][511]["Modes"]["$B\\to X_s\\gamma$"]["data"]=["/BELLE_2015_I1330289/d01-x01-y02"] # charmonium analyses["HadronDecays"][443] = { "Modes" : { "$J/\\psi\\to\\eta e^+e^-$" : {}, "$J/\\psi\\to\\gamma e^+e^-$" : {}, "$J/\\psi\\to p\\bar{p}$" : {}, "$J/\\psi\\to n\\bar{n}$" : {}, "$J/\\psi\\to \\Sigma^{*-}\\bar\\Sigma^{*+}$" : {}, "$J/\\psi\\to \\Sigma^{*0}\\bar\\Sigma^{*0}$" : {}, "$J/\\psi\\to \\Sigma^{*+}\\bar\\Sigma^{*-}$" : {}, "$J/\\psi\\to \\Xi^{-}\\bar\\Xi^{+}$" : {}, "$J/\\psi\\to \\Xi^{0}\\bar\\Xi^{0}$" : {}, "$J/\\psi\\to \\Lambda^{0}\\bar\\Lambda^{0}$" : {}, "$J/\\psi\\to \\Sigma^{0}\\bar\\Sigma^{0}$" : {}, }} analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to\\eta e^+e^-$" ]["data"] = ["/BESIII_2018_I1697377/d01-x01-y01"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to\\gamma e^+e^-$"]["MC" ] = ["/MC_Meson_Meson_Leptons_Decay/h2_443p_22p_11_mVf", "/MC_Meson_Meson_Leptons_Decay/h2_443p_22p_11_mVfbar", "/MC_Meson_Meson_Leptons_Decay/h2_443p_22p_11_mff"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to p\\bar{p}$" ]["data"] = ["/BESIII_2012_I1113599/d01-x01-y01"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to p\\bar{p}$" ]["MC"] = ["/BESIII_2012_I1113599/ctheta_p"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to n\\bar{n}$" ]["data"] = ["/BESIII_2012_I1113599/d01-x01-y02"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to n\\bar{n}$" ]["MC"] = ["/BESIII_2012_I1113599/ctheta_n"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Sigma^{*-}\\bar\\Sigma^{*+}$"]["data"] = ["/BESIII_2016_I1422780/d02-x01-y02","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Sigma^{*0}\\bar\\Sigma^{*0}$"]["data"] = ["/BESIII_2017_I1506414/d01-x01-y01","/BESIII_2017_I1506414/d02-x01-y01"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Sigma^{*+}\\bar\\Sigma^{*-}$"]["data"] = ["/BESIII_2016_I1422780/d02-x01-y03","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Xi^{-}\\bar\\Xi^{+}$" ]["data"] = ["/BESIII_2016_I1422780/d02-x01-y01","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Xi^{0}\\bar\\Xi^{0}$" ]["data"] = ["/BESIII_2017_I1506414/d01-x01-y02","/BESIII_2017_I1506414/d02-x02-y01"] -analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Lambda^{0}\\bar\\Lambda^{0}$"]["data"] = ["/BESIII_2017_I1510563/d01-x01-y01","/BESIII_2017_I1510563/d02-x01-y01"] +analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Lambda^{0}\\bar\\Lambda^{0}$"]["data"] = ["/BESIII_2017_I1510563/d01-x01-y01","/BESIII_2017_I1510563/d02-x01-y01", + "/BESIII_2019_I1691850/d01-x01-y01","/BESIII_2019_I1691850/d01-x02-y01", + "/BESIII_2019_I1691850/d01-x03-y01","/BESIII_2019_I1691850/d01-x04-y01", + "/BESIII_2019_I1691850/d01-x05-y01",] +analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Lambda^{0}\\bar\\Lambda^{0}$"]["MC" ] = ["/BESIII_2019_I1691850/T1_n","/BESIII_2019_I1691850/T1_p", + "/BESIII_2019_I1691850/T2_n","/BESIII_2019_I1691850/T2_p", + "/BESIII_2019_I1691850/T3_n","/BESIII_2019_I1691850/T3_p", + "/BESIII_2019_I1691850/T4_n","/BESIII_2019_I1691850/T4_p", + "/BESIII_2019_I1691850/T5_n","/BESIII_2019_I1691850/T5_p", + "/BESIII_2019_I1691850/mu_n","/BESIII_2019_I1691850/mu_p", + "/BESIII_2019_I1691850/cThetaL",] analyses["HadronDecays"][443]["Modes"]["$J/\\psi\\to \\Sigma^{0}\\bar\\Sigma^{0}$" ]["data"] = ["/BESIII_2017_I1510563/d01-x01-y03","/BESIII_2017_I1510563/d02-x02-y01"] # eta_c analyses["HadronDecays"][441] = {"DistChargedMult" : {}} analyses["HadronDecays"][441]["DistChargedMult"]["data"] = ["/BESIII_2019_I1724880/d01-x01-y01"] # psi(3770) analyses["HadronDecays"][30443] = { "Modes" : { "$\\psi(3770)\\to J/\\psi\\pi^0\\pi^0$" : {}, "$\\psi(3770)\\to J/\\psi\\pi^+\\pi^-$" : {},}} analyses["HadronDecays"][30443]["Modes"]["$\\psi(3770)\\to J/\\psi\\pi^0\\pi^0$"]["MC" ] = ["/MC_Onium_PiPi_Decay/h_30443_443_mpi0pi0","/MC_Onium_PiPi_Decay/h_30443_443_hpi0pi0"] analyses["HadronDecays"][30443]["Modes"]["$\\psi(3770)\\to J/\\psi\\pi^+\\pi^-$"]["MC" ] = ["/MC_Onium_PiPi_Decay/h_30443_443_hpippim","/MC_Onium_PiPi_Decay/h_30443_443_mpippim"] # psi(2S) analyses["HadronDecays"][100443] = { "Modes" : { "$\\psi(2S)\\to p\\bar{p}$" : {}, "$\\psi(2S)\\to n\\bar{n}$" : {}, "$\\psi(2S)\\to \\Sigma^{*-}\\bar\\Sigma^{*+}$" : {}, "$\\psi(2S)\\to \\Sigma^{*0}\\bar\\Sigma^{*0}$" : {}, "$\\psi(2S)\\to \\Sigma^{*+}\\bar\\Sigma^{*-}$" : {}, "$\\psi(2S)\\to \\Xi^{-}\\bar\\Xi^{+}$" : {}, "$\\psi(2S)\\to \\Xi^{0}\\bar\\Xi^{0}$" : {}, "$\\psi(2S)\\to \\Lambda^{0}\\bar\\Lambda^{0}$" : {}, "$\\psi(2S)\\to \\Sigma^{0}\\bar\\Sigma^{0}$" : {}, }} analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to p\\bar{p}$" ]["data"] = ["/BESIII_2018_I1658762/d01-x01-y01"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to p\\bar{p}$" ]["MC"] = ["/BESIII_2018_I1658762/ctheta_p"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to n\\bar{n}$" ]["data"] = ["/BESIII_2018_I1658762/d01-x01-y02"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to n\\bar{n}$" ]["MC"] = ["/BESIII_2018_I1658762/ctheta_n"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Sigma^{*-}\\bar\\Sigma^{*+}$"]["data"] = ["/BESIII_2016_I1422780/d02-x01-y05","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Sigma^{*0}\\bar\\Sigma^{*0}$"]["data"] = ["/BESIII_2017_I1506414/d01-x01-y03","/BESIII_2017_I1506414/d02-x03-y01"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Sigma^{*+}\\bar\\Sigma^{*-}$"]["data"] = ["/BESIII_2016_I1422780/d02-x01-y06","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Xi^{-}\\bar\\Xi^{+}$" ]["data"] = ["/BESIII_2016_I1422780/d02-x01-y04","/BESIII_2016_I1422780/d01-x01-y03"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Xi^{0}\\bar\\Xi^{0}$" ]["data"] = ["/BESIII_2017_I1506414/d01-x01-y04","/BESIII_2017_I1506414/d02-x04-y01"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Lambda^{0}\\bar\\Lambda^{0}$"]["data"] = ["/BESIII_2017_I1510563/d01-x01-y02","/BESIII_2017_I1510563/d02-x03-y01"] analyses["HadronDecays"][100443]["Modes"]["$\\psi(2S)\\to \\Sigma^{0}\\bar\\Sigma^{0}$" ]["data"] = ["/BESIII_2017_I1510563/d01-x01-y04","/BESIII_2017_I1510563/d02-x04-y01"] # bottomonium # upsilon(1s) analyses["HadronDecays"][553] = { "Mult" : {}, "Spectrum" : {} } analyses["HadronDecays"][553]["Mult"][3122 ] = ["/ARGUS_1988_I251097/d01-x01-y01"] analyses["HadronDecays"][553]["Mult"][3312 ] = ["/ARGUS_1988_I251097/d01-x01-y02"] analyses["HadronDecays"][553]["Mult"][3212 ] = ["/ARGUS_1988_I251097/d01-x01-y03"] analyses["HadronDecays"][553]["Mult"][3114 ] = ["/ARGUS_1988_I251097/d01-x01-y04"] analyses["HadronDecays"][553]["Mult"][3224 ] = ["/ARGUS_1988_I251097/d01-x01-y05"] analyses["HadronDecays"][553]["Mult"][3324 ] = ["/ARGUS_1988_I251097/d01-x01-y06"] analyses["HadronDecays"][553]["Mult"][3334 ] = ["/ARGUS_1988_I251097/d01-x01-y07"] analyses["HadronDecays"][553]["Mult"][333 ] = ["/ARGUS_1989_I262551/d03-x01-y01","/ARGUS_1993_S2789213/d02-x01-y05"] analyses["HadronDecays"][553]["Mult"][211 ] = ["/ARGUS_1989_I276860/d01-x01-y01","/ARGUS_1989_I276860/d01-x01-y02"] analyses["HadronDecays"][553]["Mult"][311 ] = ["/ARGUS_1989_I276860/d02-x01-y01"] analyses["HadronDecays"][553]["Mult"][321 ] = ["/ARGUS_1989_I276860/d03-x01-y01"] analyses["HadronDecays"][553]["Mult"][2212 ] = ["/ARGUS_1989_I276860/d04-x01-y01","/ARGUS_1989_I276860/d04-x01-y02"] analyses["HadronDecays"][553]["Mult"][111 ] = ["/ARGUS_1990_I278933/d01-x01-y02"] analyses["HadronDecays"][553]["Mult"][221 ] = ["/ARGUS_1990_I278933/d02-x01-y02"] analyses["HadronDecays"][553]["Mult"][331 ] = ["/ARGUS_1993_S2669951/d01-x01-y01","/ARGUS_1993_S2669951/d01-x01-y02"] analyses["HadronDecays"][553]["Mult"][113 ] = ["/ARGUS_1993_S2789213/d02-x01-y02"] analyses["HadronDecays"][553]["Mult"][223 ] = ["/ARGUS_1993_S2789213/d02-x01-y01"] analyses["HadronDecays"][553]["Mult"][313 ] = ["/ARGUS_1993_S2789213/d02-x01-y03"] analyses["HadronDecays"][553]["Mult"][323 ] = ["/ARGUS_1993_S2789213/d02-x01-y04"] analyses["HadronDecays"][553]["Mult"][9010221] = ["/ARGUS_1993_S2669951/d05-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][3122] = ["/ARGUS_1988_I251097/d03-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][3312] = ["/ARGUS_1988_I251097/d07-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][3124] = ["/ARGUS_1989_I262415/d03-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][333 ] = ["/ARGUS_1989_I262551/d02-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][211 ] = ["/ARGUS_1989_I276860/d05-x01-y01","/ARGUS_1989_I276860/d09-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][321 ] = ["/ARGUS_1989_I276860/d06-x01-y01","/ARGUS_1989_I276860/d10-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][311 ] = ["/ARGUS_1989_I276860/d07-x01-y01","/ARGUS_1989_I276860/d11-x01-y01", "/PLUTO_1981_I165122/d06-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][2212] = ["/ARGUS_1989_I276860/d08-x01-y01","/ARGUS_1989_I276860/d12-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][111 ] = ["/ARGUS_1990_I278933/d04-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][221 ] = ["/ARGUS_1990_I278933/d06-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][9010221] = ["/ARGUS_1993_S2669951/d03-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][323] = ["/ARGUS_1993_S2789213/d05-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][313] = ["/ARGUS_1993_S2789213/d08-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][113] = ["/ARGUS_1993_S2789213/d11-x01-y01"] analyses["HadronDecays"][553]["Spectrum"][223] = ["/ARGUS_1993_S2789213/d14-x01-y01"] # upsion(2s) analyses["HadronDecays"][100553] = { "Mult" : {}, "Spectrum" : {}, "Modes" : { "$\\Upsilon(2S)\\to J/\\psi\\pi^0\\pi^0$" : {}, "$\\Upsilon(2S)\\to J/\\psi\\pi^+\\pi^-$" : {}, "$\\Upsilon(2S)\\to \\Upsilon(1S))\\pi^0\\pi^0$" : {}, "$\\Upsilon(2S)\\to \\Upsilon(1S)\\pi^+\\pi^-$" : {},}} analyses["HadronDecays"][100553]["Mult"][111]= ["/ARGUS_1990_I278933/d01-x01-y03"] analyses["HadronDecays"][100553]["Mult"][221]= ["/ARGUS_1990_I278933/d02-x01-y03"] analyses["HadronDecays"][100553]["Mult"][333]= ["/ARGUS_1989_I262551/d04-x01-y01"] analyses["HadronDecays"][100553]["Spectrum"][3122] = ["/ARGUS_1988_I251097/d04-x01-y01"] analyses["HadronDecays"][100553]["Spectrum"][3312] = ["/ARGUS_1988_I251097/d08-x01-y01"] analyses["HadronDecays"][100553]["Spectrum"][333 ] = ["/ARGUS_1989_I262551/d02-x01-y02"] analyses["HadronDecays"][100553]["Spectrum"][111 ] = ["/ARGUS_1990_I278933/d04-x01-y02"] analyses["HadronDecays"][100553]["Spectrum"][221 ] = ["/ARGUS_1990_I278933/d06-x01-y02"] analyses["HadronDecays"][100553]["Spectrum"][9010221] = ["/ARGUS_1993_S2669951/d04-x01-y01"] analyses["HadronDecays"][100553]["Modes"]["$\\Upsilon(2S)\\to J/\\psi\\pi^0\\pi^0$"]["MC"] = ["/MC_Onium_PiPi_Decay/h_100443_443_hpi0pi0", "/MC_Onium_PiPi_Decay/h_100443_443_mpi0pi0"] analyses["HadronDecays"][100553]["Modes"]["$\\Upsilon(2S)\\to J/\\psi\\pi^+\\pi^-$"]["MC"] = ["/MC_Onium_PiPi_Decay/h_100443_443_hpippim", "/MC_Onium_PiPi_Decay/h_100443_443_mpippim"] analyses["HadronDecays"][100553]["Modes"]["$\\Upsilon(2S)\\to \\Upsilon(1S))\\pi^0\\pi^0$"]["MC"] = ["/MC_Onium_PiPi_Decay/h_100553_553_mpi0pi0", "/MC_Onium_PiPi_Decay/h_100553_553_hpi0pi0"] analyses["HadronDecays"][100553]["Modes"]["$\\Upsilon(2S)\\to \\Upsilon(1S)\\pi^+\\pi^-$" ]["MC"] = ["/MC_Onium_PiPi_Decay/h_100553_553_mpippim", "/MC_Onium_PiPi_Decay/h_100553_553_hpippim"] # upsilon(4s) analyses["HadronDecays"][300553] = { "Mult" : {}, "Spectrum" : {}, "DistChargedMult" : {}, "Modes" : {"$\\Upsilon(4S)\\to\\Upsilon(1S)\\pi^0\\pi^0$" : {}, "$\\Upsilon(4S)\\to\\Upsilon(1S)\\pi^+\\pi^-$" : {}, "$\\Upsilon(4S)\\to J/\\psi\\pi^0\\pi^0$" : {}, "$\\Upsilon(4S)\\to J/\\psi\\pi^+\\pi^-$" : {},}} analyses["HadronDecays"][300553]["Modes"]["$\\Upsilon(4S)\\to\\Upsilon(1S)\\pi^0\\pi^0$"]["MC"]=["/MC_Onium_PiPi_Decay/h_300553_100553_hpi0pi0", "/MC_Onium_PiPi_Decay/h_300553_100553_mpi0pi0"] analyses["HadronDecays"][300553]["Modes"]["$\\Upsilon(4S)\\to\\Upsilon(1S)\\pi^+\\pi^-$"]["MC"]=["/MC_Onium_PiPi_Decay/h_300553_100553_hpippim", "/MC_Onium_PiPi_Decay/h_300553_100553_mpippim"] analyses["HadronDecays"][300553]["Modes"]["$\\Upsilon(4S)\\to J/\\psi\\pi^0\\pi^0$" ]["MC"]=["/MC_Onium_PiPi_Decay/h_300553_553_hpi0pi0", "/MC_Onium_PiPi_Decay/h_300553_553_mpi0pi0"] analyses["HadronDecays"][300553]["Modes"]["$\\Upsilon(4S)\\to J/\\psi\\pi^+\\pi^-$" ]["MC"]=["/MC_Onium_PiPi_Decay/h_300553_553_mpippim", "/MC_Onium_PiPi_Decay/h_300553_553_hpippim"] analyses["HadronDecays"][300553]["DistChargedMult"]["data"] = ["/ARGUS_1992_I319102/d03-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 211 ] = ["/ARGUS_1993_S2653028/d07-x01-y01","/ARGUS_1993_S2653028/d08-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d87-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 321 ] = ["/ARGUS_1993_S2653028/d09-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d60-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d61-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d62-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 2212] = ["/ARGUS_1993_S2653028/d10-x01-y01","/ARGUS_1993_S2653028/d11-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d110-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 223 ] = ["/ARGUS_1993_S2789213/d03-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 113 ] = ["/ARGUS_1993_S2789213/d03-x01-y02", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d90-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 313 ] = ["/ARGUS_1993_S2789213/d03-x01-y03", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d65-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 323 ] = ["/ARGUS_1993_S2789213/d03-x01-y04", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d64-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 333 ] = ["/ARGUS_1993_S2789213/d03-x01-y05", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d92-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 111 ] = ["/BELLE_2001_S4598261/d02-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d88-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 4222] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d104-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 4112] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d106-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 4122] = ["/BABAR_2007_S6895344/d04-x01-y01", "/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d96-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 3122] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d113-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 3312] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d116-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 411 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d29-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 421 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d30-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 413 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d31-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 423 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d32-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 431 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d33-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 433 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d34-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 443 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d48-x01-y01", "/BABAR_2003_I593379/d01-x01-y01","/BABAR_2003_I593379/d01-x01-y02"] analyses["HadronDecays"][300553]["Mult"][100443 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d50-x01-y01", "/BABAR_2003_I593379/d01-x01-y07"] analyses["HadronDecays"][300553]["Mult"][ 20443 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d51-x01-y01", "/BABAR_2003_I593379/d01-x01-y03","/BABAR_2003_I593379/d01-x01-y04"] analyses["HadronDecays"][300553]["Mult"][ 445 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d53-x01-y01", "/BABAR_2003_I593379/d01-x01-y05","/BABAR_2003_I593379/d01-x01-y06"] analyses["HadronDecays"][300553]["Mult"][ 311 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d63-x01-y01"] analyses["HadronDecays"][300553]["Mult"][ 221 ] = ["/PDG_Upsilon_4S_HADRON_MULTIPLICITIES/d89-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][111 ] = ["/BELLE_2001_S4598261/d01-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][211 ] = ["/ARGUS_1993_S2653028/d01-x01-y01","/ARGUS_1993_S2653028/d02-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][321 ] = ["/ARGUS_1993_S2653028/d03-x01-y01","/ARGUS_1993_S2653028/d06-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][2212 ] = ["/ARGUS_1993_S2653028/d04-x01-y01","/ARGUS_1993_S2653028/d05-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][113 ] = ["/ARGUS_1993_S2789213/d12-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][4122 ] = ["/BABAR_2007_S6895344/d03-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][4132 ] = ["/BABAR_2005_S6181155/d01-x01-y01","/BABAR_2005_S6181155/d02-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][323 ] = ["/ARGUS_1993_S2789213/d06-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][313 ] = ["/ARGUS_1993_S2789213/d09-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][443 ] = ["/BABAR_2003_I593379/d06-x01-y01","/BABAR_2003_I593379/d10-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][20443 ] = ["/BABAR_2003_I593379/d07-x01-y01"] analyses["HadronDecays"][300553]["Spectrum"][445 ] = ["/BABAR_2003_I593379/d07-x01-y02"] analyses["HadronDecays"][300553]["Spectrum"][100443] = ["/BABAR_2003_I593379/d08-x01-y01"] # analyses["HadronDecays"][3312] = { "Modes" : { "$\\Xi^-\\to\\Lambda^0\\pi^-$" : {} } } analyses["HadronDecays"][3312]["Modes"]["$\\Xi^-\\to\\Lambda^0\\pi^-$"]["data"] = ["/E756_2000_I530367/d01-x01-y01","/E756_2000_I530367/d01-x01-y02"] analyses["HadronDecays"][3312]["Modes"]["$\\Xi^-\\to\\Lambda^0\\pi^-$"]["MC" ] = ["/E756_2000_I530367/cthetaP","/E756_2000_I530367/cthetaM"] analyses["HadronDecays"][3322] = { "Modes" : { "$\\Xi^0\\to\\Lambda^0\\pi^0$" : {}, "$\\Xi^0\\to\\Sigma^0\\gamma$" : {}, "$\\Xi^0\\to\\Lambda^0\\gamma$" : {} } } analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Lambda^0\\pi^0$"]["data"] = ["/NA48_2010_I868871/d01-x01-y01"] analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Lambda^0\\pi^0$"]["MC" ] = ["/NA48_2010_I868871/ctheta_pi0"] analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Lambda^0\\gamma$"]["data"] = ["/NA48_2010_I868871/d02-x01-y01"] analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Lambda^0\\gamma$"]["MC" ] = ["/NA48_2010_I868871/ctheta_gamma"] analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Sigma^0\\gamma$"]["data"] = ["/NA48_2010_I868871/d03-x01-y01"] analyses["HadronDecays"][3322]["Modes"]["$\\Xi^0\\to\\Sigma^0\\gamma$"]["MC" ] = ["/NA48_2010_I868871/ctheta_Sigma_0" ,"/NA48_2010_I868871/ctheta_Sigma_1" , "/NA48_2010_I868871/ctheta_Sigma_2" ,"/NA48_2010_I868871/ctheta_Sigma_3" , "/NA48_2010_I868871/ctheta_Sigma_4" ,"/NA48_2010_I868871/ctheta_Sigma_5" , "/NA48_2010_I868871/ctheta_Sigma_6" ,"/NA48_2010_I868871/ctheta_Sigma_7" , "/NA48_2010_I868871/ctheta_Sigma_8" ,"/NA48_2010_I868871/ctheta_Sigma_9" , "/NA48_2010_I868871/ctheta_Sigma_10","/NA48_2010_I868871/ctheta_Sigma_11", "/NA48_2010_I868871/ctheta_Sigma_12","/NA48_2010_I868871/ctheta_Sigma_13", "/NA48_2010_I868871/ctheta_Sigma_14","/NA48_2010_I868871/ctheta_Sigma_15", "/NA48_2010_I868871/ctheta_Sigma_16","/NA48_2010_I868871/ctheta_Sigma_17", "/NA48_2010_I868871/ctheta_Sigma_18","/NA48_2010_I868871/ctheta_Sigma_19"] analyses["HadronDecays"][3334] = { "Modes" : { "$\\Omega^-\\to\\Lambda^0K^-$" : {} } } analyses["HadronDecays"][3334]["Modes"]["$\\Omega^-\\to\\Lambda^0K^-$"]["data"] = ["/HyperCP_2005_I677384/d01-x01-y01","/HyperCP_2005_I677384/d01-x01-y02", "/HyperCP_2005_I677384/d01-x01-y03"] analyses["HadronDecays"][3334]["Modes"]["$\\Omega^-\\to\\Lambda^0K^-$"]["MC" ] = ["/HyperCP_2005_I677384/cthetaM","/HyperCP_2005_I677384/cthetaP", "/HyperCP_2005_I677384/cthetaAll"] analyses["HadronDecays"][4132] = { "Modes" : { "$\\Xi^0_c\\to\\Xi^-\\pi^+$" : {} } } analyses["HadronDecays"][4132]["Modes"]["$\\Xi^0_c\\to\\Xi^-\\pi^+$"]["data"] = ["/CLEO_2000_I537236/d01-x01-y01"] analyses["HadronDecays"][4132]["Modes"]["$\\Xi^0_c\\to\\Xi^-\\pi^+$"]["MC" ] = ["/CLEO_2000_I537236/ctheta"] analyses["HadronDecays"][4122] = { "Modes" : { "$\\Lambda^+_c\\to\\Lambda^0\\pi^+$" : {} } } analyses["HadronDecays"][4122]["Modes"]["$\\Lambda^+_c\\to\\Lambda^0\\pi^+$"]["data"] = ["/FOCUS_2006_I693639/d01-x01-y01"] analyses["HadronDecays"][4122]["Modes"]["$\\Lambda^+_c\\to\\Lambda^0\\pi^+$"]["MC" ] = ["/FOCUS_2006_I693639/ctheta"] # charged multiplicity (total) analyses["Charged"]["TotalChargedMult"][0][12.0 ] = ["/JADE_1983_I190818/d01-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][14.0 ] = ["/TASSO_1989_I277658/d02-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][21.65] = ["/PLUTO_1980_I154270/d01-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][22.0 ] = ["/TASSO_1980_I143691/d01-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][29.0 ] = ["/TPC_1987_I235694/d05-x01-y04","/HRS_1986_I18502/d03-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][50.0 ] = ["/AMY_1990_I295160/d02-x01-y01"] analyses["Charged"]["TotalChargedMult"][0][55.7 ] = ["/AMY_1990_I295160/d02-x02-y01"] analyses["Charged"]["TotalChargedMult"][0][91.2 ] = ["/ALEPH_1991_S2435284/d02-x01-y01","/OPAL_1992_I321190/d05-x01-y01", "/DELPHI_1991_I301657/d04-x01-y01","/ALEPH_2004_S5765862/d01-x01-y01", "/DELPHI_1996_S3430090/d35-x01-y01","/DELPHI_1998_I473409/d01-x01-y01", "/OPAL_1998_S3780481/d09-x01-y04","/ALEPH_1996_S3486095/d19-x01-y01"] # light quark events analyses["Charged"]["TotalChargedMult"][1][29.0 ] = ["/TPC_1987_I235694/d04-x01-y04"] analyses["Charged"]["TotalChargedMult"][1][91.2 ] = ["/OPAL_2002_S5361494/d01-x01-y03","/OPAL_1998_S3780481/d09-x01-y01", "/DELPHI_1998_I473409/d03-x01-y01","/SLD_2004_S5693039/d08-x02-y01", "/SLD_1996_S3398250/d03-x01-y01"] analyses["Charged"]["TotalChargedMult"][1 ][195.0] = ["/DELPHI_2000_S4328825/d01-x01-y03"] # charm events analyses["Charged"]["TotalChargedMult"][4][29.0 ] = ["/TPC_1987_I235694/d03-x01-y04"] analyses["Charged"]["TotalChargedMult"][4][91.2 ] = ["/OPAL_2002_S5361494/d01-x01-y02","/OPAL_1998_S3780481/d09-x01-y02", "/SLD_2004_S5693039/d08-x02-y02","/SLD_1996_S3398250/d02-x01-y01"] analyses["Charged"]["TotalChargedMult"][4 ][195.0] = ["/DELPHI_2000_S4328825/d01-x01-y02"] # bottom events analyses["Charged"]["TotalChargedMult"][5][29.0 ] = ["/TPC_1987_I235694/d02-x01-y04"] analyses["Charged"]["TotalChargedMult"][5][91.2 ] = ["/OPAL_2002_S5361494/d01-x01-y01","/OPAL_1998_S3780481/d09-x01-y03", "/DELPHI_1998_I473409/d02-x01-y01","/SLD_2004_S5693039/d08-x02-y03", "/SLD_1996_S3398250/d01-x01-y01"] analyses["Charged"]["TotalChargedMult"][5 ][195.0] = ["/DELPHI_2000_S4328825/d01-x01-y01"] # difference charm-light analyses["Charged"]["TotalChargedMult"][41][91.2 ] = ["/SLD_2004_S5693039/d08-x03-y02","/SLD_1996_S3398250/d04-x01-y01"] # difference bottom-light analyses["Charged"]["TotalChargedMult"][51][91.2 ] = ["/OPAL_2002_S5361494/d01-x01-y04","/SLD_2004_S5693039/d08-x03-y03", "/SLD_1996_S3398250/d05-x01-y01"] analyses["Charged"]["TotalChargedMult"][51][195.0] = ["/DELPHI_2000_S4328825/d01-x01-y04"] # with cuts analyses["Charged"]["TotalChargedMult"]["C"][91.2] = ["\ALEPH_1996_S3486095/d20-x01-y01","\ALEPH_1996_S3486095/d21-x01-y01", "\ALEPH_1996_S3486095/d22-x01-y01","\ALEPH_1996_S3486095/d23-x01-y01"] # charged multiplicity (dist) analyses["Charged"]["DistChargedMult"][0][10.47] = ["/ARGUS_1992_I319102/d02-x01-y01"] analyses["Charged"]["DistChargedMult"][0][14.0] = ["/TASSO_1989_I277658/d05-x01-y01"] analyses["Charged"]["DistChargedMult"][0][22.0] = ["/TASSO_1989_I277658/d05-x01-y02"] analyses["Charged"]["DistChargedMult"][0][29.0] = ["/HRS_1986_I18502/d01-x01-y01"] analyses["Charged"]["DistChargedMult"][0][34.8] = ["/TASSO_1989_I277658/d05-x01-y03"] analyses["Charged"]["DistChargedMult"][0][35.0] = ["/TASSO_1988_I263859/d06-x01-y01"] analyses["Charged"]["DistChargedMult"][0][43.6] = ["/TASSO_1989_I277658/d05-x01-y04"] analyses["Charged"]["DistChargedMult"][0][50.0] = ["/AMY_1990_I295160/d01-x01-y01"] analyses["Charged"]["DistChargedMult"][0][52.0] = ["/AMY_1990_I295160/d01-x01-y02"] analyses["Charged"]["DistChargedMult"][0][55.0] = ["/AMY_1990_I295160/d01-x01-y03"] analyses["Charged"]["DistChargedMult"][0][56.0] = ["/AMY_1990_I295160/d01-x01-y04"] analyses["Charged"]["DistChargedMult"][0][57.0] = ["/AMY_1990_I295160/d01-x01-y05"] analyses["Charged"]["DistChargedMult"][0][60.0] = ["/AMY_1990_I295160/d01-x01-y06"] analyses["Charged"]["DistChargedMult"][0][60.8] = ["/AMY_1990_I295160/d01-x01-y07"] analyses["Charged"]["DistChargedMult"][0][61.4] = ["/AMY_1990_I295160/d01-x01-y08"] analyses["Charged"]["DistChargedMult"][0][55.7] = ["/AMY_1990_I295160/d01-x01-y09"] analyses["Charged"]["DistChargedMult"][0][91.2] = ["/ALEPH_1991_S2435284/d01-x01-y01","/OPAL_1992_I321190/d01-x01-y01", "/DELPHI_1991_I301657/d02-x01-y01","/L3_2004_I652683/d59-x01-y01", "/ALEPH_1996_S3486095/d18-x01-y01"] analyses["Charged"]["DistChargedMult"][2][91.2] = ["/L3_2004_I652683/d59-x01-y02"] analyses["Charged"]["DistChargedMult"][5][91.2] = ["/L3_2004_I652683/d59-x01-y03"] analyses["Charged"]["DistChargedMult"][0][130.1]=["/L3_2004_I652683/d60-x01-y01"] analyses["Charged"]["DistChargedMult"][0][136.3]=["/L3_2004_I652683/d60-x01-y02"] analyses["Charged"]["DistChargedMult"][0][161.3]=["/L3_2004_I652683/d60-x01-y03"] analyses["Charged"]["DistChargedMult"][0][172.3]=["/L3_2004_I652683/d61-x01-y01"] analyses["Charged"]["DistChargedMult"][0][182.8]=["/L3_2004_I652683/d61-x01-y02"] analyses["Charged"]["DistChargedMult"][0][188.6]=["/L3_2004_I652683/d61-x01-y03"] analyses["Charged"]["DistChargedMult"][0][194.4]=["/L3_2004_I652683/d62-x01-y01"] analyses["Charged"]["DistChargedMult"][0][200.2]=["/L3_2004_I652683/d62-x01-y02"] analyses["Charged"]["DistChargedMult"][0][206.2]=["/L3_2004_I652683/d62-x01-y03"] analyses["Charged"]["DistChargedMult"]["C"][91.2]=["/DELPHI_1991_I324035/d01-x01-y01","/DELPHI_1991_I324035/d02-x01-y01", "/DELPHI_1991_I324035/d03-x01-y01","/DELPHI_1991_I324035/d04-x01-y01", "/DELPHI_1991_I324035/d05-x01-y01","/DELPHI_1991_I324035/d06-x01-y01", "/DELPHI_1991_I324035/d07-x01-y01","/DELPHI_1991_I324035/d08-x01-y01", "/DELPHI_1991_I324035/d09-x01-y01","/DELPHI_1991_I324035/d10-x01-y01", "/DELPHI_1991_I324035/d11-x01-y01","/DELPHI_1991_I324035/d12-x01-y01", "/DELPHI_1991_I324035/d13-x01-y01", "/DELPHI_1992_I334948/d01-x01-y01","/DELPHI_1992_I334948/d01-x01-y02", "/DELPHI_1992_I334948/d01-x01-y03","/DELPHI_1992_I334948/d02-x01-y01", "/DELPHI_1992_I334948/d02-x01-y02","/DELPHI_1992_I334948/d02-x01-y03", "/DELPHI_1992_I334948/d03-x01-y01","/DELPHI_1992_I334948/d03-x01-y02", "/DELPHI_1992_I334948/d03-x01-y03",] analyses["Charged"]["DistChargedMult"][21][ 5.25] = ["/OPAL_2004_I631361/d01-x01-y01"] analyses["Charged"]["DistChargedMult"][21][ 5.98] = ["/OPAL_2004_I631361/d01-x01-y02"] analyses["Charged"]["DistChargedMult"][21][ 6.98] = ["/OPAL_2004_I631361/d01-x01-y03"] analyses["Charged"]["DistChargedMult"][21][ 8.43] = ["/OPAL_2004_I631361/d02-x01-y01"] analyses["Charged"]["DistChargedMult"][21][10.92] = ["/OPAL_2004_I631361/d02-x01-y02"] analyses["Charged"]["DistChargedMult"][21][14.24] = ["/OPAL_2004_I631361/d03-x01-y01"] analyses["Charged"]["DistChargedMult"][21][17.72] = ["/OPAL_2004_I631361/d03-x01-y02"] # charged particle spectra # xi analyses["Charged"]["ChargedSpectrum"][0]["xi"][2.2 ] = ["/BESII_2004_I622224/d01-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][2.6 ] = ["/BESII_2004_I622224/d02-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][3.0 ] = ["/BESII_2004_I622224/d03-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][3.2 ] = ["/BESII_2004_I622224/d04-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][4.6 ] = ["/BESII_2004_I622224/d05-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][4.8 ] = ["/BESII_2004_I622224/d06-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][12.0 ] = ["/TASSO_1980_I153511/d05-x01-y01","/TASSO_1982_I177174/d02-x01-y01", "/TASSO_1982_I177174/d03-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][58.0 ] = ["/TOPAZ_1995_I381900/d01-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][91.2 ] = ["/ALEPH_1996_S3486095/d17-x01-y01","/DELPHI_1996_S3430090/d08-x01-y01", "/L3_2004_I652683/d65-x01-y01","/OPAL_1998_S3780481/d08-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][130.1] = ["/L3_2004_I652683/d66-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][133.0] = ["/ALEPH_2004_S5765862/d11-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][136.3] = ["/L3_2004_I652683/d66-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][161.0] = ["/ALEPH_2004_S5765862/d12-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][161.3] = ["/L3_2004_I652683/d66-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][172.0] = ["/ALEPH_2004_S5765862/d13-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][172.3] = ["/L3_2004_I652683/d67-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][182.8] = ["/L3_2004_I652683/d67-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][183.0] = ["/DELPHI_2003_I620250/d32-x01-y01","/ALEPH_2004_S5765862/d14-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][188.6] = ["/L3_2004_I652683/d67-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][189.0] = ["/ALEPH_2004_S5765862/d15-x01-y01","/DELPHI_2003_I620250/d32-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][192.0] = ["/DELPHI_2003_I620250/d32-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][194.4] = ["/L3_2004_I652683/d68-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][200.2] = ["/L3_2004_I652683/d68-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][206.2] = ["/L3_2004_I652683/d68-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][196.0] = ["/DELPHI_2003_I620250/d32-x01-y04","/ALEPH_2004_S5765862/d16-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][200.0] = ["/DELPHI_2003_I620250/d33-x01-y01","/ALEPH_2004_S5765862/d17-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][200.5] = ["/OPAL_2003_I595335/d05-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][202.0] = ["/DELPHI_2003_I620250/d33-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][205.0] = ["/DELPHI_2003_I620250/d33-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][206.0] = ["/ALEPH_2004_S5765862/d18-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["xi"][207.0] = ["/DELPHI_2003_I620250/d33-x01-y04"] # x analyses["Charged"]["ChargedSpectrum"][0]["x" ][13.0 ] = ["/TASSO_1980_I143691/d05-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][14.0 ] = ["/TASSO_1982_I177174/d01-x01-y01","/TASSO_1982_I177174/d02-x01-y02", "/TASSO_1982_I177174/d03-x01-y02"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][19.5 ] = ["/TASSO_1980_I143691/d06-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][22.0 ] = ["/TASSO_1982_I177174/d01-x01-y02","/TASSO_1982_I177174/d02-x01-y03", "/TASSO_1982_I177174/d03-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][25.0 ] = ["/TASSO_1982_I177174/d02-x01-y04","/TASSO_1982_I177174/d03-x01-y04"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][29.0 ] = ["/TPC_1988_I262143/d01-x01-y04" ,"/HRS_1985_I201482/d10-x01-y01", "/HRS_1985_I201482/d12-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][30.0 ] = ["/TASSO_1982_I177174/d02-x01-y05","/TASSO_1982_I177174/d03-x01-y05", "/TASSO_1980_I143691/d07-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][30.8 ] = ["/TASSO_1980_I153511/d06-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][33.0 ] = ["/TASSO_1982_I177174/d01-x01-y03"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][34.0 ] = ["/TASSO_1982_I177174/d02-x01-y06","/TASSO_1982_I177174/d03-x01-y06"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][35.0 ] = ["/TASSO_1982_I177174/d02-x01-y07","/TASSO_1982_I177174/d03-x01-y07", "/TASSO_1988_I263859/d10-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][55.2 ] = ["/AMY_1990_I283337/d02-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][91.2 ] = ["/DELPHI_1998_I473409/d16-x01-y01","/DELPHI_1998_I473409/d17-x01-y01", "/ALEPH_1996_S3486095/d09-x01-y01","/OPAL_1998_S3780481/d04-x01-y01", "/SLD_2004_S5693039/d01-x01-y01","/SLD_1999_S3743934/d04-x01-y01", "/DELPHI_1996_S3430090/d07-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][133.0] = ["/ALEPH_2004_S5765862/d02-x01-y01","/ALEPH_2004_S5765862/d19-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][161.0] = ["/ALEPH_2004_S5765862/d03-x01-y01","/ALEPH_2004_S5765862/d20-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][172.0] = ["/ALEPH_2004_S5765862/d04-x01-y01","/ALEPH_2004_S5765862/d21-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][183.0] = ["/ALEPH_2004_S5765862/d05-x01-y01","/ALEPH_2004_S5765862/d22-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][189.0] = ["/ALEPH_2004_S5765862/d06-x01-y01","/ALEPH_2004_S5765862/d23-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][196.0] = ["/ALEPH_2004_S5765862/d07-x01-y01","/ALEPH_2004_S5765862/d24-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][200.0] = ["/ALEPH_2004_S5765862/d08-x01-y01","/ALEPH_2004_S5765862/d25-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][200.5] = ["/OPAL_2003_I595335/d04-x01-y01"] analyses["Charged"]["ChargedSpectrum"][0]["x" ][206.0] = ["/ALEPH_2004_S5765862/d09-x01-y01","/ALEPH_2004_S5765862/d26-x01-y01"] # with cuts analyses["Charged"]["ChargedSpectrum"]["C"]["x" ][29.0 ] = ["/HRS_1985_I201482/d11-x01-y01","/HRS_1985_I201482/d13-x01-y01", "/HRS_1985_I201482/d14-x01-y01","/HRS_1985_I201482/d15-x01-y01"] # flavour separated analyses["Charged"]["ChargedSpectrum"][1]["x" ][91.2] = ["/DELPHI_1998_I473409/d32-x01-y01","/DELPHI_1998_I473409/d33-x01-y01", "/DELPHI_1997_I428178/d01-x01-y03","/OPAL_1998_S3780481/d01-x01-y01", "/SLD_2004_S5693039/d08-x01-y01"] analyses["Charged"]["ChargedSpectrum"][1]["xi"][91.2] = ["/OPAL_1998_S3780481/d05-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][13.0 ] = ["/OPAL_2004_I648738/d06-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][28.0 ] = ["/OPAL_2004_I648738/d07-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][49.0 ] = ["/OPAL_2004_I648738/d08-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][100.0] = ["/OPAL_2004_I648738/d09-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][91.2 ] = ["/OPAL_2004_I648738/d10-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["x" ][196.0] = ["/OPAL_2004_I648738/d11-x01-y01"] analyses["Charged"]["ChargedSpectrum"][2]["xi"][91.2 ] = ["/L3_2004_I652683/d65-x01-y02"] analyses["Charged"]["ChargedSpectrum"][4]["x" ][91.2 ] = ["/DELPHI_1997_I428178/d01-x01-y02","/OPAL_1998_S3780481/d02-x01-y01", "/SLD_2004_S5693039/d08-x01-y02"] analyses["Charged"]["ChargedSpectrum"][4]["xi"][91.2 ] = ["/OPAL_1998_S3780481/d06-x01-y01"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][13.0 ] = ["/OPAL_2004_I648738/d06-x01-y02"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][28.0 ] = ["/OPAL_2004_I648738/d07-x01-y02"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][49.0 ] = ["/OPAL_2004_I648738/d08-x01-y02"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][100.0] = ["/OPAL_2004_I648738/d09-x01-y02"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][91.2 ] = ["/DELPHI_1998_I473409/d24-x01-y01","/DELPHI_1998_I473409/d25-x01-y01", "/DELPHI_1997_I428178/d01-x01-y01","/OPAL_1998_S3780481/d03-x01-y01", "/SLD_2004_S5693039/d08-x01-y03","/OPAL_2004_I648738/d10-x01-y02"] analyses["Charged"]["ChargedSpectrum"][5]["xi"][91.2 ] = ["/OPAL_1998_S3780481/d07-x01-y01","/L3_2004_I652683/d65-x01-y03"] analyses["Charged"]["ChargedSpectrum"][5]["x" ][196.0] = ["/OPAL_2004_I648738/d11-x01-y02"] # gluons analyses["Charged"]["ChargedSpectrum"][21]["x"][ 6.5 ] = ["/OPAL_2004_I648738/d06-x01-y03"] analyses["Charged"]["ChargedSpectrum"][21]["x"][14.0 ] = ["/OPAL_2004_I648738/d07-x01-y03"] analyses["Charged"]["ChargedSpectrum"][21]["x"][14.24] = ["/OPAL_2004_I631361/d05-x01-y01"] analyses["Charged"]["ChargedSpectrum"][21]["x"][17.72] = ["/OPAL_2004_I631361/d05-x01-y02"] analyses["Charged"]["ChargedSpectrum"][21]["x"][24.5 ] = ["/OPAL_2004_I648738/d08-x01-y03"] analyses["Charged"]["ChargedSpectrum"][21]["x"][50.0 ] = ["/OPAL_2004_I648738/d09-x01-y03"] # rapidity w.r.t thrust analyses["Charged"]["ChargedRapidityThrust"][13.0 ] = ["/TASSO_1980_I143691/d02-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][19.5 ] = ["/TASSO_1980_I143691/d03-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][29.0 ] = ["/HRS_1985_I201482/d19-x01-y01","/HRS_1985_I201482/d20-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][30.0 ] = ["/TASSO_1980_I143691/d04-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][55.2 ] = ["/AMY_1990_I283337/d01-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][91.2 ] = ["/DELPHI_1996_S3430090/d05-x01-y01","/ALEPH_1996_S3486095/d10-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][133.0] = ["/ALEPH_2004_S5765862/d36-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][161.0] = ["/ALEPH_2004_S5765862/d37-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][172.0] = ["/ALEPH_2004_S5765862/d38-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][183.0] = ["/DELPHI_2003_I620250/d30-x01-y01","/ALEPH_2004_S5765862/d39-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][189.0] = ["/DELPHI_2003_I620250/d30-x01-y02","/ALEPH_2004_S5765862/d40-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][192.0] = ["/DELPHI_2003_I620250/d30-x01-y03"] analyses["Charged"]["ChargedRapidityThrust"][196.0] = ["/DELPHI_2003_I620250/d30-x01-y04","/ALEPH_2004_S5765862/d41-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][200.0] = ["/DELPHI_2003_I620250/d31-x01-y01","/ALEPH_2004_S5765862/d42-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][200.5] = ["/OPAL_2003_I595335/d03-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][202.0] = ["/DELPHI_2003_I620250/d31-x01-y02"] analyses["Charged"]["ChargedRapidityThrust"][205.0] = ["/DELPHI_2003_I620250/d31-x01-y03"] analyses["Charged"]["ChargedRapidityThrust"][206.0] = ["/ALEPH_2004_S5765862/d43-x01-y01"] analyses["Charged"]["ChargedRapidityThrust"][207.0] = ["/DELPHI_2003_I620250/d31-x01-y04"] # pt in w.r.t thrust analyses["Charged"]["ChargedpTInThrust" ][91.2 ] = ["/DELPHI_1996_S3430090/d01-x01-y01","/ALEPH_1996_S3486095/d11-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][133.0] = ["/ALEPH_2004_S5765862/d27-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][161.0] = ["/ALEPH_2004_S5765862/d28-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][172.0] = ["/ALEPH_2004_S5765862/d29-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][183.0] = ["/DELPHI_2003_I620250/d34-x01-y01","/ALEPH_2004_S5765862/d30-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][189.0] = ["/DELPHI_2003_I620250/d34-x01-y02","/ALEPH_2004_S5765862/d31-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][192.0] = ["/DELPHI_2003_I620250/d34-x01-y03"] analyses["Charged"]["ChargedpTInThrust" ][196.0] = ["/DELPHI_2003_I620250/d34-x01-y04","/ALEPH_2004_S5765862/d32-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][200.0] = ["/DELPHI_2003_I620250/d35-x01-y01","/ALEPH_2004_S5765862/d33-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][200.5] = ["/OPAL_2003_I595335/d01-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][202.0] = ["/DELPHI_2003_I620250/d35-x01-y02"] analyses["Charged"]["ChargedpTInThrust" ][205.0] = ["/DELPHI_2003_I620250/d35-x01-y03"] analyses["Charged"]["ChargedpTInThrust" ][206.0] = ["/ALEPH_2004_S5765862/d34-x01-y01"] analyses["Charged"]["ChargedpTInThrust" ][207.0] = ["/DELPHI_2003_I620250/d35-x01-y04"] # pt out thrust analyses["Charged"]["ChargedpTOutThrust"][91.2 ] = ["/DELPHI_1996_S3430090/d02-x01-y01","/ALEPH_1996_S3486095/d12-x01-y01"] analyses["Charged"]["ChargedpTOutThrust"][183.0] = ["/DELPHI_2003_I620250/d36-x01-y01"] analyses["Charged"]["ChargedpTOutThrust"][189.0] = ["/DELPHI_2003_I620250/d36-x01-y02"] analyses["Charged"]["ChargedpTOutThrust"][192.0] = ["/DELPHI_2003_I620250/d36-x01-y03"] analyses["Charged"]["ChargedpTOutThrust"][196.0] = ["/DELPHI_2003_I620250/d36-x01-y04"] analyses["Charged"]["ChargedpTOutThrust"][200.0] = ["/DELPHI_2003_I620250/d37-x01-y01"] analyses["Charged"]["ChargedpTOutThrust"][200.5] = ["/OPAL_2003_I595335/d02-x01-y01"] analyses["Charged"]["ChargedpTOutThrust"][202.0] = ["/DELPHI_2003_I620250/d37-x01-y02"] analyses["Charged"]["ChargedpTOutThrust"][205.0] = ["/DELPHI_2003_I620250/d37-x01-y03"] analyses["Charged"]["ChargedpTOutThrust"][206.0] = ["/ALEPH_2004_S5765862/d35-x01-y01"] analyses["Charged"]["ChargedpTOutThrust"][207.0] = ["/DELPHI_2003_I620250/d37-x01-y04"] # pT analyses["Charged"]["ChargedpTThrust" ][29.0] = ["/HRS_1985_I201482/d22-x01-y01","/HRS_1985_I201482/d23-x01-y01"] analyses["Charged"]["ChargedpTvsxpThrust" ][91.2] = ["/DELPHI_1996_S3430090/d10-x01-y01"] analyses["Charged"]["ChargedpTOutvsxpThrust"][91.2] = ["/DELPHI_1996_S3430090/d09-x01-y01"] # averages analyses["Charged"]["ChargedAveragepTThrust" ][20.] = ["/PLUTO_1983_I191161/d01-x01-y01"] analyses["Charged"]["ChargedAveragepT2Thrust" ][20.] = ["/PLUTO_1983_I191161/d01-x01-y02"] analyses["Charged"]["ChargedSumpTThrust" ][20.] = ["/PLUTO_1983_I191161/d01-x01-y03"] analyses["Charged"]["ChargedSumpT2Thrust" ][20.] = ["/PLUTO_1983_I191161/d01-x01-y04"] analyses["Charged"]["ChargedAveragepTSphericity" ][20.] = ["/PLUTO_1983_I191161/d02-x01-y01"] analyses["Charged"]["ChargedAveragepT2Sphericity"][20.] = ["/PLUTO_1983_I191161/d02-x01-y02"] analyses["Charged"]["ChargedSumpTSphericity" ][20.] = ["/PLUTO_1983_I191161/d02-x01-y03"] analyses["Charged"]["ChargedSumpT2Sphericity" ][20.] = ["/PLUTO_1983_I191161/d02-x01-y04"] # xF analyses["Charged"]["ChargedxFThrust"][29.0] = ["/HRS_1985_I201482/d16-x01-y01","/HRS_1985_I201482/d17-x01-y01"] # rapidity sphericity analyses["Charged"]["ChargedRapiditySphericity"][35.0 ] = ["/TASSO_1988_I263859/d11-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][91.2 ] = ["/DELPHI_1996_S3430090/d06-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][133.0] = ["/ALEPH_2004_S5765862/d44-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][161.0] = ["/ALEPH_2004_S5765862/d45-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][172.0] = ["/ALEPH_2004_S5765862/d46-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][183.0] = ["/ALEPH_2004_S5765862/d47-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][189.0] = ["/ALEPH_2004_S5765862/d48-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][196.0] = ["/ALEPH_2004_S5765862/d49-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][200.0] = ["/ALEPH_2004_S5765862/d50-x01-y01"] analyses["Charged"]["ChargedRapiditySphericity"][206.0] = ["/ALEPH_2004_S5765862/d51-x01-y01"] # pt in sphericity analyses["Charged"]["ChargedpTInSphericity" ][35.0 ] = ["/TASSO_1988_I263859/d07-x01-y01"] analyses["Charged"]["ChargedpTInSphericity" ][55.2 ] = ["/AMY_1990_I283337/d06-x01-y01"] analyses["Charged"]["ChargedpTInSphericity" ][91.2 ] = ["/DELPHI_1996_S3430090/d03-x01-y01"] # pt out sphericity analyses["Charged"]["ChargedpTOutSphericity"][35.0 ] = ["/TASSO_1988_I263859/d08-x01-y01"] analyses["Charged"]["ChargedpTOutSphericity"][55.2 ] = ["/AMY_1990_I283337/d07-x01-y01"] analyses["Charged"]["ChargedpTOutSphericity"][91.2 ] = ["/DELPHI_1996_S3430090/d04-x01-y01"] # others analyses["Charged"]["ChargedpLSphericity" ][55.2] = ["/AMY_1990_I283337/d03-x01-y01" ] analyses["Charged"]["ChargedpTSphericity" ][55.2] = ["/AMY_1990_I283337/d04-x01-y01" ] analyses["Charged"]["ChargedpTSphericity" ][35.0] = ["/TASSO_1988_I263859/d09-x01-y01"] analyses["Charged"]["ChargedpT2Sphericity"][55.2] = ["/AMY_1990_I283337/d05-x01-y01" ] analyses["Charged"]["ChargedFlowSphericity"][55.2] = ["/AMY_1990_I283337/d10-x01-y01" ] analyses["Charged"]["ChargedEnergyFlowSphericity"][55.2] = ["/AMY_1990_I283337/d11-x01-y01" ] analyses["Charged"]["ChargedAveragepT2inSphericity" ][29.0] = ["/HRS_1985_I201482/d24-x01-y01"] analyses["Charged"]["ChargedAveragepT2inSphericity" ][35.0] = ["/TASSO_1988_I263859/d04-x01-y01"] analyses["Charged"]["ChargedAveragepT2inSphericity" ][55.2] = ["/AMY_1990_I283337/d08-x01-y01"] analyses["Charged"]["ChargedAveragepT2outSphericity"][29.0] = ["/HRS_1985_I201482/d25-x01-y01"] analyses["Charged"]["ChargedAveragepT2outSphericity"][35.0] = ["/TASSO_1988_I263859/d05-x01-y01"] analyses["Charged"]["ChargedAveragepT2outSphericity"][55.2] = ["/AMY_1990_I283337/d09-x01-y01"] # identified particle (flavour sep) analyses["IdentifiedParticleFlavour"][111 ][5]["x"][91.2]=["/DELPHI_1996_I401100/d03-x01-y01","/SLD_2004_S5693039/d05-x01-y03"] analyses["IdentifiedParticleFlavour"][211 ][5]["x"][91.2]=["/DELPHI_1998_I473409/d26-x01-y01","/DELPHI_1998_I473409/d27-x01-y01", "/SLD_1999_S3743934/d10-x01-y03"] analyses["IdentifiedParticleFlavour"][321 ][5]["x"][91.2]=["/DELPHI_1998_I473409/d28-x01-y01","/DELPHI_1998_I473409/d29-x01-y01", "/SLD_2004_S5693039/d06-x01-y03","/SLD_1999_S3743934/d12-x01-y03"] analyses["IdentifiedParticleFlavour"][2212][5]["x"][91.2]=["/DELPHI_1998_I473409/d30-x01-y01","/DELPHI_1998_I473409/d31-x01-y01", "/SLD_2004_S5693039/d07-x01-y03","/SLD_1999_S3743934/d16-x01-y03"] analyses["IdentifiedParticleFlavour"][211 ][4]["x"][91.2]=["/SLD_2004_S5693039/d05-x01-y02","/SLD_1999_S3743934/d10-x01-y02"] analyses["IdentifiedParticleFlavour"][321 ][4]["x"][91.2]=["/SLD_2004_S5693039/d06-x01-y02","/SLD_1999_S3743934/d12-x01-y02"] analyses["IdentifiedParticleFlavour"][2212][4]["x"][91.2]=["/SLD_2004_S5693039/d07-x01-y02","/SLD_1999_S3743934/d16-x01-y02"] analyses["IdentifiedParticleFlavour"][211 ][1]["x"][91.2]=["/DELPHI_1998_I473409/d34-x01-y01","/DELPHI_1998_I473409/d35-x01-y01", "/SLD_2004_S5693039/d05-x01-y01","/SLD_1999_S3743934/d10-x01-y01"] analyses["IdentifiedParticleFlavour"][321 ][1]["x"][91.2]=["/DELPHI_1998_I473409/d36-x01-y01","/DELPHI_1998_I473409/d37-x01-y01", "/SLD_2004_S5693039/d06-x01-y01","/SLD_1999_S3743934/d12-x01-y01"] analyses["IdentifiedParticleFlavour"][2212][1]["x"][91.2]=["/DELPHI_1998_I473409/d38-x01-y01","/DELPHI_1998_I473409/d39-x01-y01", "/SLD_2004_S5693039/d07-x01-y01","/SLD_1999_S3743934/d16-x01-y01"] analyses["IdentifiedParticleFlavour"][413][5]["x"][91.2]=["/OPAL_1995_I382219/d04-x01-y01"] analyses["IdentifiedParticleFlavour"][413][4]["x"][91.2]=["/OPAL_1995_I382219/d05-x01-y01"] analyses["IdentifiedParticleFlavour"][313 ][1]["x"][91.2]=["/SLD_1999_S3743934/d14-x01-y01"] analyses["IdentifiedParticleFlavour"][313 ][4]["x"][91.2]=["/SLD_1999_S3743934/d14-x01-y02"] analyses["IdentifiedParticleFlavour"][313 ][5]["x"][91.2]=["/SLD_1999_S3743934/d14-x01-y03"] analyses["IdentifiedParticleFlavour"][3122][1]["x"][91.2]=["/SLD_1999_S3743934/d18-x01-y01"] analyses["IdentifiedParticleFlavour"][3122][4]["x"][91.2]=["/SLD_1999_S3743934/d18-x01-y02"] analyses["IdentifiedParticleFlavour"][3122][5]["x"][91.2]=["/SLD_1999_S3743934/d18-x01-y03"] analyses["IdentifiedParticleFlavour"][311 ][1]["x"][91.2]=["/SLD_1999_S3743934/d20-x01-y01"] analyses["IdentifiedParticleFlavour"][311 ][4]["x"][91.2]=["/SLD_1999_S3743934/d20-x01-y02"] analyses["IdentifiedParticleFlavour"][311 ][5]["x"][91.2]=["/SLD_1999_S3743934/d20-x01-y03"] analyses["IdentifiedParticleFlavour"][333 ][1]["x"][91.2]=["/SLD_1999_S3743934/d22-x01-y01"] analyses["IdentifiedParticleFlavour"][333 ][4]["x"][91.2]=["/SLD_1999_S3743934/d22-x01-y02"] analyses["IdentifiedParticleFlavour"][333 ][5]["x"][91.2]=["/SLD_1999_S3743934/d22-x01-y03"] analyses["IdentifiedParticleFlavour"][211 ][41]["x"][91.2]=["/SLD_1999_S3743934/d11-x01-y01"] analyses["IdentifiedParticleFlavour"][211 ][51]["x"][91.2]=["/SLD_1999_S3743934/d11-x01-y02"] analyses["IdentifiedParticleFlavour"][321 ][41]["x"][91.2]=["/SLD_1999_S3743934/d13-x01-y01"] analyses["IdentifiedParticleFlavour"][321 ][51]["x"][91.2]=["/SLD_1999_S3743934/d13-x01-y02"] analyses["IdentifiedParticleFlavour"][313 ][41]["x"][91.2]=["/SLD_1999_S3743934/d15-x01-y01"] analyses["IdentifiedParticleFlavour"][313 ][51]["x"][91.2]=["/SLD_1999_S3743934/d15-x01-y02"] analyses["IdentifiedParticleFlavour"][2212][41]["x"][91.2]=["/SLD_1999_S3743934/d17-x01-y01"] analyses["IdentifiedParticleFlavour"][2212][51]["x"][91.2]=["/SLD_1999_S3743934/d17-x01-y02"] analyses["IdentifiedParticleFlavour"][3122][41]["x"][91.2]=["/SLD_1999_S3743934/d19-x01-y01"] analyses["IdentifiedParticleFlavour"][3122][51]["x"][91.2]=["/SLD_1999_S3743934/d19-x01-y02"] analyses["IdentifiedParticleFlavour"][311 ][41]["x"][91.2]=["/SLD_1999_S3743934/d21-x01-y01"] analyses["IdentifiedParticleFlavour"][311 ][51]["x"][91.2]=["/SLD_1999_S3743934/d21-x01-y02"] analyses["IdentifiedParticleFlavour"][333 ][41]["x"][91.2]=["/SLD_1999_S3743934/d23-x01-y01"] analyses["IdentifiedParticleFlavour"][333 ][51]["x"][91.2]=["/SLD_1999_S3743934/d23-x01-y02"] analyses["IdentifiedParticleFlavour"][211][5]["Ratio"][91.2]=["/DELPHI_1998_I473409/d08-x01-y01"] analyses["IdentifiedParticleFlavour"][211][1]["Ratio"][91.2]=["/DELPHI_1998_I473409/d12-x01-y01"] analyses["IdentifiedParticleFlavour"][321][5]["Ratio"][91.2]=["/DELPHI_1998_I473409/d09-x01-y01"] analyses["IdentifiedParticleFlavour"][321][1]["Ratio"][91.2]=["/DELPHI_1998_I473409/d13-x01-y01"] analyses["IdentifiedParticleFlavour"][2212][5]["Ratio"][91.2]=["/DELPHI_1998_I473409/d10-x01-y01"] analyses["IdentifiedParticleFlavour"][2212][1]["Ratio"][91.2]=["/DELPHI_1998_I473409/d14-x01-y01"] analyses["IdentifiedParticleFlavour"]["321/2212"][5]["Ratio"][91.2]=["/DELPHI_1998_I473409/d11-x01-y01"] analyses["IdentifiedParticleFlavour"]["321/2212"][1]["Ratio"][91.2]=["/DELPHI_1998_I473409/d15-x01-y01"] analyses["IdentifiedParticleFlavour"][311][4]["Other"][29.0]=["/HRS_1990_I280958/d05-x01-y01"] analyses["IdentifiedParticleFlavour"][311][1]["Other"][29.0]=["/HRS_1990_I280958/d06-x01-y01"] analyses["MultiplicityFlavour"]["321/2212"][1][91.2] = ["/DELPHI_1998_I473409/d03-x01-y05"] analyses["MultiplicityFlavour"]["321/2212"][5][91.2] = ["/DELPHI_1998_I473409/d02-x01-y05"] analyses["MultiplicityFlavour"][211 ][41][91.2]=["/SLD_1999_S3743934/d25-x01-y01"] analyses["MultiplicityFlavour"][211 ][51][91.2]=["/SLD_1999_S3743934/d25-x01-y02"] analyses["MultiplicityFlavour"][321 ][41][91.2]=["/SLD_1999_S3743934/d25-x02-y01"] analyses["MultiplicityFlavour"][321 ][51][91.2]=["/SLD_1999_S3743934/d25-x02-y02"] analyses["MultiplicityFlavour"][311 ][41][91.2]=["/SLD_1999_S3743934/d25-x03-y01"] analyses["MultiplicityFlavour"][311 ][51][91.2]=["/SLD_1999_S3743934/d25-x03-y02"] analyses["MultiplicityFlavour"][313 ][41][91.2]=["/SLD_1999_S3743934/d25-x04-y01"] analyses["MultiplicityFlavour"][313 ][51][91.2]=["/SLD_1999_S3743934/d25-x04-y02"] analyses["MultiplicityFlavour"][333 ][41][91.2]=["/SLD_1999_S3743934/d25-x05-y01"] analyses["MultiplicityFlavour"][333 ][51][91.2]=["/SLD_1999_S3743934/d25-x05-y02"] analyses["MultiplicityFlavour"][2212][41][91.2]=["/SLD_1999_S3743934/d25-x06-y01"] analyses["MultiplicityFlavour"][2212][51][91.2]=["/SLD_1999_S3743934/d25-x06-y02"] analyses["MultiplicityFlavour"][3122][41][91.2]=["/SLD_1999_S3743934/d25-x07-y01"] analyses["MultiplicityFlavour"][3122][51][91.2]=["/SLD_1999_S3743934/d25-x07-y02"] analyses["MultiplicityFlavour"][211 ][1][91.2]=["/SLD_2004_S5693039/d05-x02-y01","/SLD_1999_S3743934/d24-x01-y02", "/DELPHI_1998_I473409/d03-x01-y02"] analyses["MultiplicityFlavour"][211 ][4][91.2]=["/SLD_2004_S5693039/d05-x02-y02","/SLD_1999_S3743934/d24-x01-y03"] analyses["MultiplicityFlavour"][211 ][5][91.2]=["/SLD_2004_S5693039/d05-x02-y03","/SLD_1999_S3743934/d24-x01-y04", "/DELPHI_1998_I473409/d02-x01-y02"] analyses["MultiplicityFlavour"][321 ][1][91.2]=["/SLD_2004_S5693039/d06-x02-y01","/SLD_1999_S3743934/d24-x02-y02", "/DELPHI_1998_I473409/d03-x01-y03"] analyses["MultiplicityFlavour"][321 ][4][91.2]=["/SLD_2004_S5693039/d06-x02-y02","/SLD_1999_S3743934/d24-x02-y03"] analyses["MultiplicityFlavour"][321 ][5][91.2]=["/SLD_2004_S5693039/d06-x02-y03","/SLD_1999_S3743934/d24-x02-y04", "/DELPHI_1998_I473409/d02-x01-y03"] analyses["MultiplicityFlavour"][311 ][1][91.2]=["/SLD_1999_S3743934/d24-x03-y02"] analyses["MultiplicityFlavour"][311 ][4][91.2]=["/SLD_1999_S3743934/d24-x03-y03"] analyses["MultiplicityFlavour"][311 ][5][91.2]=["/SLD_1999_S3743934/d24-x03-y04"] analyses["MultiplicityFlavour"][313 ][1][91.2]=["/SLD_1999_S3743934/d24-x04-y02"] analyses["MultiplicityFlavour"][313 ][4][91.2]=["/SLD_1999_S3743934/d24-x04-y03"] analyses["MultiplicityFlavour"][313 ][5][91.2]=["/SLD_1999_S3743934/d24-x04-y04"] analyses["MultiplicityFlavour"][333 ][1][91.2]=["/SLD_1999_S3743934/d24-x05-y02"] analyses["MultiplicityFlavour"][333 ][4][91.2]=["/SLD_1999_S3743934/d24-x05-y03"] analyses["MultiplicityFlavour"][333 ][5][91.2]=["/SLD_1999_S3743934/d24-x05-y04"] analyses["MultiplicityFlavour"][2212][1][91.2]=["/SLD_2004_S5693039/d07-x02-y01","/SLD_1999_S3743934/d24-x06-y02", "/DELPHI_1998_I473409/d03-x01-y04"] analyses["MultiplicityFlavour"][2212][4][91.2]=["/SLD_2004_S5693039/d07-x02-y02","/SLD_1999_S3743934/d24-x06-y03"] analyses["MultiplicityFlavour"][2212][5][91.2]=["/SLD_2004_S5693039/d07-x02-y03","/SLD_1999_S3743934/d24-x06-y04", "/DELPHI_1998_I473409/d02-x01-y04"] analyses["MultiplicityFlavour"][3122][1][91.2]=["/SLD_1999_S3743934/d24-x07-y02"] analyses["MultiplicityFlavour"][3122][4][91.2]=["/SLD_1999_S3743934/d24-x07-y03"] analyses["MultiplicityFlavour"][3122][5][91.2]=["/SLD_1999_S3743934/d24-x07-y04"] # identified particle distributions # photons # x_E analyses["IdentifiedParticle"][22 ]["x" ][14.0]=["/CELLO_1983_I191415/d01-x01-y01"] analyses["IdentifiedParticle"][22 ]["x" ][22.0]=["/CELLO_1983_I191415/d02-x01-y01"] analyses["IdentifiedParticle"][22 ]["x" ][29.0]=["/TPC_1985_I205868/d01-x01-y01" ] analyses["IdentifiedParticle"][22 ]["x" ][34.0]=["/CELLO_1983_I191415/d03-x01-y01"] analyses["IdentifiedParticle"][22 ]["x" ][35.0]=["/CELLO_1989_I276764/d02-x01-y01","/JADE_1990_I282847/d01-x01-y01"] analyses["IdentifiedParticle"][22 ]["x" ][44.0]=["/JADE_1990_I282847/d02-x01-y01"] analyses["IdentifiedParticle"][22 ]["x" ][91.2]=["/OPAL_1998_S3749908/d02-x01-y01"] # xi analyses["IdentifiedParticle"][22 ]["xi"][91.2]=["/ALEPH_1996_S3486095/d28-x01-y01","/OPAL_1998_S3749908/d03-x01-y01"] # charged pions # x analyses["IdentifiedParticle"][211 ]["x" ][10.0 ] = ["/ARGUS_1989_I276860/d09-x01-y02"] analyses["IdentifiedParticle"][211 ]["x" ][10.52] = ["/BELLE_2013_I1216515/d01-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][12.0 ] = ["/TASSO_1980_I153656/d02-x01-y02"] analyses["IdentifiedParticle"][211 ]["x" ][14.0 ] = ["/TASSO_1983_I181470/d20-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][22.0 ] = ["/TASSO_1983_I181470/d22-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][29.0 ] = ["/TPC_1988_I262143/d01-x01-y01","/TPC_1988_I262143/d05-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][30.0 ] = ["/TASSO_1980_I153656/d05-x01-y02"] analyses["IdentifiedParticle"][211 ]["x" ][34.0 ] = ["/TASSO_1989_I267755/d07-x01-y01","/TASSO_1983_I181470/d24-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][44.0 ] = ["/TASSO_1989_I267755/d10-x01-y01"] analyses["IdentifiedParticle"][211 ]["x" ][91.2 ] = ["/ALEPH_1995_I382179/d01-x01-y01","/DELPHI_1998_I473409/d19-x01-y01", "/ALEPH_1996_S3486095/d25-x01-y01","/SLD_2004_S5693039/d02-x01-y02", "/SLD_1999_S3743934/d01-x01-y02"] analyses["IdentifiedParticle"][211 ]["Other" ][91.2 ] = ["/SLD_1999_S3743934/d26-x01-y01","/SLD_1999_S3743934/d26-x01-y02", "/SLD_1999_S3743934/d27-x01-y01","/SLD_2004_S5693039/d09-x01-y01", "/SLD_2004_S5693039/d09-x01-y02","/SLD_2004_S5693039/d09-x01-y03",] # p analyses["IdentifiedParticle"][211 ]["p" ][10.0 ] = ["/ARGUS_1989_I276860/d05-x01-y02"] analyses["IdentifiedParticle"][211 ]["p" ][10.54] = ["/BABAR_2013_I1238276/d01-x01-y01","/BABAR_2013_I1238276/d02-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][12.0 ] = ["/TASSO_1980_I153656/d02-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][14.0 ] = ["/TASSO_1983_I181470/d19-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][22.0 ] = ["/TASSO_1983_I181470/d25-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][30.0 ] = ["/TASSO_1980_I153656/d05-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][34.0 ] = ["/TASSO_1983_I181470/d13-x01-y01"] analyses["IdentifiedParticle"][211 ]["p" ][91.2 ] = ["/DELPHI_1998_I473409/d18-x01-y01","/OPAL_1994_S2927284/d01-x01-y01"] # xi analyses["IdentifiedParticle"][211 ]["xi"][58.0 ] = ["/TOPAZ_1995_I381900/d02-x01-y01"] # ratios analyses["IdentifiedParticle"][211 ]["Ratio"][12.0 ] = ["/TASSO_1980_I153656/d08-x01-y01"] analyses["IdentifiedParticle"][211 ]["Ratio"][29.0 ] = ["/TPC_1988_I262143/d06-x01-y01"] analyses["IdentifiedParticle"][211 ]["Ratio"][30.0 ] = ["/TASSO_1980_I153656/d11-x01-y01"] analyses["IdentifiedParticle"][211 ]["Ratio"][34.0 ] = ["/TASSO_1989_I267755/d01-x01-y01"] analyses["IdentifiedParticle"][211 ]["Ratio"][44.0 ] = ["/TASSO_1989_I267755/d04-x01-y01"] analyses["IdentifiedParticle"][211 ]["Ratio"][91.2 ] = ["/DELPHI_1998_I473409/d04-x01-y01","/SLD_1999_S3743934/d01-x01-y01"] # neutral pions # x analyses["IdentifiedParticle"][111 ]["x" ][10.0]=["/ARGUS_1990_I278933/d03-x01-y01","/ARGUS_1990_I278933/d03-x01-y02"] analyses["IdentifiedParticle"][111 ]["x" ][14.0]=["/TASSO_1982_I168232/d02-x03-y03","/CELLO_1983_I191415/d04-x01-y01"] analyses["IdentifiedParticle"][111 ]["x" ][22.0]=["/CELLO_1983_I191415/d05-x01-y01"] analyses["IdentifiedParticle"][111 ]["x" ][29.0]=["/TPC_1985_I205868/d02-x01-y01" ] analyses["IdentifiedParticle"][111 ]["x" ][34.0]=["/TASSO_1982_I168232/d03-x03-y03","/TASSO_1986_I230950/d02-x01-y01", "/CELLO_1983_I191415/d06-x01-y01"] analyses["IdentifiedParticle"][111 ]["x" ][35.0]=["/CELLO_1989_I276764/d03-x01-y01","/CELLO_1989_I276764/d04-x01-y01", "/JADE_1990_I282847/d03-x01-y01"] analyses["IdentifiedParticle"][111 ]["x" ][44.0]=["/TASSO_1989_I267755/d13-x01-y01","/JADE_1990_I282847/d04-x01-y01"] analyses["IdentifiedParticle"][111 ]["x" ][91.2]=["/DELPHI_1996_I401100/d01-x01-y01","/ALEPH_1996_S3486095/d29-x01-y01", "/OPAL_1998_S3749908/d04-x01-y01",] # p/E analyses["IdentifiedParticle"][111 ]["p" ][14.0]=["/TASSO_1982_I168232/d02-x01-y01","/TASSO_1982_I168232/d02-x02-y02"] analyses["IdentifiedParticle"][111 ]["p" ][34.0]=["/TASSO_1982_I168232/d03-x01-y01","/TASSO_1982_I168232/d03-x02-y02", "/TASSO_1986_I230950/d01-x01-y01"] # xi analyses["IdentifiedParticle"][111 ]["xi"][91.2]=["/OPAL_1998_S3749908/d05-x01-y01"] # eta #x analyses["IdentifiedParticle"][221 ]["x" ][10.0]=["/ARGUS_1990_I278933/d05-x01-y01","/ARGUS_1990_I278933/d05-x01-y02"] analyses["IdentifiedParticle"][221 ]["x" ][29.0]=["/HRS_1988_I250824/d01-x01-y01"] analyses["IdentifiedParticle"][221 ]["x" ][35.0]=["/CELLO_1989_I276764/d05-x01-y01" ,"/JADE_1990_I282847/d05-x01-y01"] analyses["IdentifiedParticle"][221 ]["x" ][91.2]=["/ALEPH_2002_S4823664/d02-x01-y02","/L3_1992_I336180/d01-x01-y01", "/ALEPH_1996_S3486095/d30-x01-y01","/OPAL_1998_S3749908/d06-x01-y01",] # xi analyses["IdentifiedParticle"][221 ]["xi"][91.2]=["/L3_1992_I336180/d02-x01-y01","/OPAL_1998_S3749908/d07-x01-y01"] # eta' # x analyses["IdentifiedParticle"][331 ]["x" ][91.2]=["/L3_1997_I427107/d07-x01-y01" ,"/L3_1997_I427107/d09-x01-y01", "/ALEPH_1996_S3486095/d31-x01-y01","/OPAL_1998_S3749908/d12-x01-y01"] # xi analyses["IdentifiedParticle"][331 ]["xi"][91.2]=["/L3_1997_I427107/d08-x01-y01","/L3_1997_I427107/d10-x01-y01", "/OPAL_1998_S3749908/d13-x01-y01"] # rho +/- analyses["IdentifiedParticle"][213 ]["x" ][91.2] = ["/OPAL_1998_S3749908/d08-x01-y01"] analyses["IdentifiedParticle"][213 ]["xi"][91.2] = ["/OPAL_1998_S3749908/d09-x01-y01"] # rho0 analyses["IdentifiedParticle"][113 ]["x" ][10.0] = ["/ARGUS_1993_S2789213/d10-x01-y01"] analyses["IdentifiedParticle"][113 ]["x" ][35.0] = ["/JADE_1984_I203145/d02-x01-y01"] analyses["IdentifiedParticle"][113 ]["x" ][91.2] = ["/DELPHI_1999_S3960137/d01-x01-y01","/ALEPH_1996_S3486095/d37-x01-y01"] # omega analyses["IdentifiedParticle"][223 ]["x" ][10.0] = ["/ARGUS_1993_S2789213/d13-x01-y01"] analyses["IdentifiedParticle"][223 ]["x" ][91.2] = ["/ALEPH_2002_S4823664/d03-x01-y02","/L3_1997_I427107/d05-x01-y01", "/ALEPH_1996_S3486095/d38-x01-y01","/OPAL_1998_S3749908/d10-x01-y01",] analyses["IdentifiedParticle"][223 ]["xi"][91.2] = ["/L3_1997_I427107/d06-x01-y01","/OPAL_1998_S3749908/d11-x01-y01"] # phi analyses["IdentifiedParticle"][333 ]["x" ][10.0] = ["/ARGUS_1989_I262551/d01-x01-y01"] analyses["IdentifiedParticle"][333 ]["x" ][29.0] = ["/TPC_1984_I200105/d01-x01-y01"] analyses["IdentifiedParticle"][333 ]["x" ][91.2] = ["/DELPHI_1996_I420528/d03-x01-y01","/ALEPH_1996_S3486095/d40-x01-y01", "/OPAL_1998_S3702294/d02-x01-y03","/SLD_1999_S3743934/d09-x01-y01"] analyses["IdentifiedParticle"][333 ]["Other"][29.0] = ["/TPC_1984_I200105/d03-x01-y01"] # f_2 analyses["IdentifiedParticle"][225]["x" ][91.2]=["/DELPHI_1999_S3960137/d01-x01-y03","/OPAL_1998_S3702294/d02-x01-y02"] # f_2' analyses["IdentifiedParticle"][335]["x" ][91.2]=["/DELPHI_1996_I416741/d01-x01-y01"] # f_0(980) analyses["IdentifiedParticle"][9010221]["x" ][10.0]=["/ARGUS_1993_S2669951/d02-x01-y01"] analyses["IdentifiedParticle"][9010221]["x" ][91.2]=["/DELPHI_1999_S3960137/d01-x01-y02","/OPAL_1998_S3702294/d02-x01-y01"] # a_0 =/- analyses["IdentifiedParticle"][9000211]["x" ][91.2]=["/OPAL_1998_S3749908/d14-x01-y01"] analyses["IdentifiedParticle"][9000211]["xi" ][91.2]=["/OPAL_1998_S3749908/d15-x01-y01"] # strange mesons # K0 # x analyses["IdentifiedParticle"][311 ]["x" ][3.63] = ["/PLUTO_1977_I118873/d02-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][4.03] = ["/PLUTO_1977_I118873/d03-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][4.5] = ["/PLUTO_1977_I118873/d04-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][9.4] = ["/PLUTO_1981_I165122/d05-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][10.0] = ["/ARGUS_1989_I276860/d11-x01-y02"] analyses["IdentifiedParticle"][311 ]["x" ][14.0] = ["/TASSO_1980_I153341/d04-x01-y01","/TASSO_1985_I205119/d01-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][22.0] = ["/TASSO_1985_I205119/d02-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][29.0] = ["/TPC_1984_I205869/d04-x01-y01","/HRS_1990_I280958/d03-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][30.0] = ["/PLUTO_1981_I165122/d04-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][34.0] = ["/TASSO_1985_I205119/d03-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][34.5] = ["/TASSO_1990_I284251/d01-x01-y03"] analyses["IdentifiedParticle"][311 ]["x" ][35.0] = ["/TASSO_1990_I284251/d01-x01-y02","/CELLO_1990_I283026/d01-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][42.6] = ["/TASSO_1990_I284251/d01-x01-y01"] analyses["IdentifiedParticle"][311 ]["x" ][91.2] = ["/OPAL_2000_S4418603/d03-x01-y01","/DELPHI_1995_I377487/d08-x01-y01", "/ALEPH_1996_S3486095/d32-x01-y01","/SLD_1999_S3743934/d05-x01-y01"] # p analyses["IdentifiedParticle"][311 ]["p" ][10.0] = ["/ARGUS_1989_I276860/d07-x01-y02"] analyses["IdentifiedParticle"][311 ]["p" ][14.0] = ["/TASSO_1980_I153341/d02-x01-y01","/TASSO_1985_I205119/d07-x01-y01"] analyses["IdentifiedParticle"][311 ]["p" ][22.0] = ["/TASSO_1985_I205119/d08-x01-y01"] analyses["IdentifiedParticle"][311 ]["p" ][34.0] = ["/TASSO_1985_I205119/d09-x01-y01"] # xi analyses["IdentifiedParticle"][311 ]["xi" ][58.0] = ["/TOPAZ_1995_I381900/d03-x01-y01"] analyses["IdentifiedParticle"][311 ]["xi" ][91.2] = ["/DELPHI_1995_I377487/d09-x01-y01"] # other analyses["IdentifiedParticle"][311 ]["Other"][14.8 ] = ["/TASSO_1990_I284251/d06-x01-y01","/TASSO_1990_I284251/d06-x01-y02"] analyses["IdentifiedParticle"][311 ]["Other"][21.5 ] = ["/TASSO_1990_I284251/d07-x01-y01","/TASSO_1990_I284251/d07-x01-y02"] analyses["IdentifiedParticle"][311 ]["Other"][29.0 ] = ["/HRS_1990_I280958/d04-x01-y01"] analyses["IdentifiedParticle"][311 ]["Other"][35.0 ] = ["/TASSO_1990_I284251/d05-x01-y03","/TASSO_1990_I284251/d05-x01-y04"] analyses["IdentifiedParticle"][311 ]["Other"][42.6 ] = ["/TASSO_1990_I284251/d05-x01-y01","/TASSO_1990_I284251/d05-x01-y02"] # K+/- # x analyses["IdentifiedParticle"][321 ]["x" ][10.0 ] = ["/ARGUS_1989_I276860/d10-x01-y02"] analyses["IdentifiedParticle"][321 ]["x" ][10.52] = ["/BELLE_2013_I1216515/d01-x01-y02"] analyses["IdentifiedParticle"][321 ]["x" ][12.0 ] = ["/TASSO_1980_I153656/d03-x01-y02"] analyses["IdentifiedParticle"][321 ]["x" ][14.0 ] = ["/TASSO_1983_I181470/d26-x01-y01"] analyses["IdentifiedParticle"][321 ]["x" ][22.0 ] = ["/TASSO_1983_I181470/d10-x01-y01"] analyses["IdentifiedParticle"][321 ]["x" ][29.0 ] = ["/TPC_1988_I262143/d01-x01-y02","/TPC_1988_I262143/d05-x01-y02"] analyses["IdentifiedParticle"][321 ]["x" ][30.0 ] = ["/TASSO_1980_I153656/d06-x01-y02"] analyses["IdentifiedParticle"][321 ]["x" ][34.0 ] = ["/TASSO_1989_I267755/d08-x01-y01","/TASSO_1983_I181470/d12-x01-y01"] analyses["IdentifiedParticle"][321 ]["x" ][44.0 ] = ["/TASSO_1989_I267755/d11-x01-y01"] analyses["IdentifiedParticle"][321 ]["x" ][91.2 ] = ["/ALEPH_1995_I382179/d02-x01-y01","/DELPHI_1995_I394052/d05-x01-y01", "/DELPHI_1998_I473409/d21-x01-y01","/SLD_1999_S3743934/d02-x01-y02", "/ALEPH_1996_S3486095/d26-x01-y01","/SLD_2004_S5693039/d03-x01-y02"] # p analyses["IdentifiedParticle"][321 ]["p" ][10.0 ] = ["/ARGUS_1989_I276860/d06-x01-y02"] analyses["IdentifiedParticle"][321 ]["p" ][10.54] = ["/BABAR_2013_I1238276/d01-x01-y02","/BABAR_2013_I1238276/d02-x01-y02"] analyses["IdentifiedParticle"][321 ]["p" ][12.0 ] = ["/TASSO_1980_I153656/d03-x01-y01"] analyses["IdentifiedParticle"][321 ]["p" ][14.0 ] = ["/TASSO_1983_I181470/d21-x01-y01"] analyses["IdentifiedParticle"][321 ]["p" ][22.0 ] = ["/TASSO_1983_I181470/d27-x01-y01"] analyses["IdentifiedParticle"][321 ]["p" ][30.0 ] = ["/TASSO_1980_I153656/d06-x01-y01"] analyses["IdentifiedParticle"][321 ]["p" ][34.0 ] = ["/TASSO_1983_I181470/d15-x01-y01"] analyses["IdentifiedParticle"][321 ]["p" ][91.2 ] = ["/DELPHI_1995_I394052/d03-x01-y01","/DELPHI_1998_I473409/d20-x01-y01", "/OPAL_1994_S2927284/d02-x01-y01"] # xi analyses["IdentifiedParticle"][321 ]["xi" ][58.0 ] = ["/TOPAZ_1995_I381900/d02-x01-y02"] # ratio analyses["IdentifiedParticle"][321 ]["Ratio"][12.0 ] = ["/TASSO_1980_I153656/d09-x01-y01"] analyses["IdentifiedParticle"][321 ]["Ratio"][29.0 ] = ["/TPC_1988_I262143/d07-x01-y01","/TPC_1988_I262143/d06-x01-y02"] analyses["IdentifiedParticle"][321 ]["Ratio"][30.0 ] = ["/TASSO_1980_I153656/d12-x01-y01"] analyses["IdentifiedParticle"][321 ]["Ratio"][34.0 ] = ["/TASSO_1989_I267755/d02-x01-y01"] analyses["IdentifiedParticle"][321 ]["Ratio"][44.0 ] = ["/TASSO_1989_I267755/d05-x01-y01"] analyses["IdentifiedParticle"][321 ]["Ratio"][91.2 ] = ["/DELPHI_1998_I473409/d05-x01-y01","/SLD_1999_S3743934/d02-x01-y01"] # other analyses["IdentifiedParticle"][321 ]["Other"][91.2 ] = ["/SLD_1999_S3743934/d30-x01-y01","/SLD_1999_S3743934/d30-x01-y02", "/SLD_1999_S3743934/d31-x01-y01","/SLD_2004_S5693039/d10-x01-y01", "/SLD_2004_S5693039/d10-x01-y02","/SLD_2004_S5693039/d10-x01-y03"] # K*0 analyses["IdentifiedParticle"][313 ]["x" ][10.0 ] = ["/ARGUS_1993_S2789213/d07-x01-y01"] analyses["IdentifiedParticle"][313 ]["x" ][29.0 ] = ["/TPC_1984_I205869/d03-x01-y01"] analyses["IdentifiedParticle"][313 ]["x" ][91.2 ] = ["/DELPHI_1996_I420528/d01-x01-y01","/ALEPH_1996_S3486095/d39-x01-y01", "/OPAL_1997_S3608263/d01-x01-y01","/SLD_1999_S3743934/d08-x01-y01"] analyses["IdentifiedParticle"][313 ]["Other"][91.2 ] = ["/SLD_1999_S3743934/d28-x01-y01","/SLD_1999_S3743934/d28-x01-y02", "/SLD_1999_S3743934/d29-x01-y01"] # K* +/- analyses["IdentifiedParticle"][323 ]["x" ][10.0 ] = ["/ARGUS_1993_S2789213/d04-x01-y01"] analyses["IdentifiedParticle"][323 ]["x" ][14.8 ] = ["/TASSO_1990_I284251/d02-x01-y01"] analyses["IdentifiedParticle"][323 ]["x" ][21.5 ] = ["/TASSO_1990_I284251/d03-x01-y01"] analyses["IdentifiedParticle"][323 ]["x" ][34.5 ] = ["/TASSO_1990_I284251/d08-x01-y03"] analyses["IdentifiedParticle"][323 ]["x" ][35.0 ] = ["/TASSO_1990_I284251/d08-x01-y02","/CELLO_1990_I283026/d02-x01-y01", "/JADE_1984_I203145/d03-x01-y01"] analyses["IdentifiedParticle"][323 ]["x" ][42.6 ] = ["/TASSO_1990_I284251/d08-x01-y01"] analyses["IdentifiedParticle"][323 ]["x" ][91.2 ] = ["/OPAL_1993_I342766/d01-x01-y01","/DELPHI_1995_I377487/d10-x01-y01", "/ALEPH_1996_S3486095/d43-x01-y01"] analyses["IdentifiedParticle"][323 ]["Other"][35.0 ] = ["/TASSO_1990_I284251/d10-x01-y01","/TASSO_1990_I284251/d10-x01-y02"] # charm # D+/- analyses["IdentifiedParticle"][421 ]["x" ][10.5 ] = ["/CLEO_2004_S5809304/d03-x01-y01","/CLEO_2004_S5809304/d04-x01-y01"] analyses["IdentifiedParticle"][421 ]["x" ][29.0 ] = ["/HRS_1988_I23360/d02-x01-y01"] # D0 analyses["IdentifiedParticle"][411 ]["x" ][10.5 ] = ["/CLEO_2004_S5809304/d02-x01-y01","/CLEO_2004_S5809304/d09-x01-y01"] analyses["IdentifiedParticle"][411 ]["x" ][29.0 ] = ["/HRS_1988_I23360/d02-x01-y02"] # D* 0 analyses["IdentifiedParticle"][423 ]["x" ][10.5]=["/CLEO_2004_S5809304/d07-x01-y01","/CLEO_2004_S5809304/d08-x01-y01"] # D* +/- analyses["IdentifiedParticle"][413 ]["x" ][29.0 ] = ["/TPC_1986_I217416/d01-x01-y01","/TPC_1986_I217416/d01-x01-y02", "/HRS_1988_I23360/d01-x01-y01","/HRS_1988_I23360/d01-x01-y02"] analyses["IdentifiedParticle"][413 ]["x" ][34.4 ] = ["/JADE_1984_I202785/d01-x01-y01"] analyses["IdentifiedParticle"][413 ]["x" ][36.2 ] = ["/TASSO_1989_I278856/d01-x01-y01","/TASSO_1989_I278856/d01-x01-y02", "/TASSO_1989_I278856/d02-x01-y01","/TASSO_1989_I278856/d02-x01-y02"] analyses["IdentifiedParticle"][413 ]["x" ][91.2 ] = ["/ALEPH_1999_S4193598/d01-x01-y01"] analyses["IdentifiedParticle"][413 ]["x" ][10.5 ] = ["/CLEO_2004_S5809304/d05-x01-y01","/CLEO_2004_S5809304/d06-x01-y01"] analyses["IdentifiedParticle"][413 ]["Other"][34.4 ] = ["/JADE_1984_I202785/d03-x01-y01"] # D_2 analyses["IdentifiedParticle"][425 ]["x" ][10.0 ] = ["/ARGUS_1989_I268577/d02-x01-y01"] # D_s+ analyses["IdentifiedParticle"][431 ]["x" ][10.5 ] = ["/CLEO_2000_I526554/d02-x01-y01","/CLEO_2000_I526554/d04-x01-y01"] # D_s*+ analyses["IdentifiedParticle"][433 ]["x" ][10.5 ] = ["/CLEO_2000_I526554/d01-x01-y01","/CLEO_2000_I526554/d03-x01-y01"] # charmonium analyses["IdentifiedParticle"][443 ]["x" ][91.2 ] = ["/OPAL_1996_S3257789/d01-x01-y01"] # other analyses["IdentifiedParticle"]["321/2212"]["Ratio"][91.2 ] = ["/DELPHI_1998_I473409/d07-x01-y01"] # # Baryons # # light unflavoured # proton # x analyses["IdentifiedParticle"][2212]["x" ][10.0 ] = ["/ARGUS_1989_I276860/d12-x01-y02"] analyses["IdentifiedParticle"][2212]["x" ][12.0 ] = ["/TASSO_1980_I153656/d04-x01-y02"] analyses["IdentifiedParticle"][2212]["x" ][14.0 ] = ["/TASSO_1983_I181470/d14-x01-y01"] analyses["IdentifiedParticle"][2212]["x" ][22.0 ] = ["/TASSO_1983_I181470/d16-x01-y01"] analyses["IdentifiedParticle"][2212]["x" ][29.0 ] = ["/TPC_1988_I262143/d01-x01-y03","/TPC_1988_I262143/d05-x01-y03"] analyses["IdentifiedParticle"][2212]["x" ][30.0 ] = ["/TASSO_1980_I153656/d07-x01-y02"] analyses["IdentifiedParticle"][2212]["x" ][34.0 ] = ["/TASSO_1989_I267755/d09-x01-y01","/TASSO_1983_I181470/d18-x01-y01"] analyses["IdentifiedParticle"][2212]["x" ][44.0 ] = ["/TASSO_1989_I267755/d12-x01-y01"] analyses["IdentifiedParticle"][2212]["x" ][91.2 ] = ["/ALEPH_1995_I382179/d03-x01-y01","/DELPHI_1995_I394052/d06-x01-y01", "/DELPHI_1998_I473409/d23-x01-y01","/ALEPH_1996_S3486095/d27-x01-y01", "/SLD_2004_S5693039/d04-x01-y02","/SLD_1999_S3743934/d03-x01-y02"] # p analyses["IdentifiedParticle"][2212]["p" ][10.0 ] = ["/ARGUS_1989_I276860/d08-x01-y02"] analyses["IdentifiedParticle"][2212]["p" ][10.54] = ["/BABAR_2013_I1238276/d01-x01-y03","/BABAR_2013_I1238276/d02-x01-y03"] analyses["IdentifiedParticle"][2212]["p" ][12.0 ] = ["/TASSO_1980_I153656/d04-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][14.0 ] = ["/TASSO_1983_I181470/d23-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][22.0 ] = ["/TASSO_1983_I181470/d11-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][30.0 ] = ["/TASSO_1980_I153656/d07-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][34.0 ] = ["/TASSO_1989_I267755/d03-x01-y01","/JADE_1981_I166363/d01-x01-y01", "/TASSO_1983_I181470/d17-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][44.0 ] = ["/TASSO_1989_I267755/d06-x01-y01"] analyses["IdentifiedParticle"][2212]["p" ][91.2 ] = ["/DELPHI_1995_I394052/d04-x01-y01","/DELPHI_1998_I473409/d22-x01-y01", "/OPAL_1994_S2927284/d03-x01-y01",] # xi analyses["IdentifiedParticle"][2212]["xi" ][58.0 ] = ["/TOPAZ_1995_I381900/d02-x01-y03"] # ratio analyses["IdentifiedParticle"][2212]["Ratio"][12.0 ] = ["/TASSO_1980_I153656/d10-x01-y01"] analyses["IdentifiedParticle"][2212]["Ratio"][29.0 ] = ["/TPC_1988_I262143/d06-x01-y03","/TPC_1988_I262143/d07-x01-y02", "/TPC_1988_I262143/d07-x01-y03"] analyses["IdentifiedParticle"][2212]["Ratio"][30.0 ] = ["/TASSO_1980_I153656/d13-x01-y01"] analyses["IdentifiedParticle"][2212]["Ratio"][91.2 ] = ["/SLD_1999_S3743934/d03-x01-y01","/DELPHI_1998_I473409/d06-x01-y01"] analyses["IdentifiedParticle"][2212]["Other"][91.2 ] = ["/SLD_1999_S3743934/d32-x01-y01","/SLD_1999_S3743934/d32-x01-y02", "/SLD_1999_S3743934/d33-x01-y01","/SLD_2004_S5693039/d11-x01-y01", "/SLD_2004_S5693039/d11-x01-y02","/SLD_2004_S5693039/d11-x01-y03"] # Delta++ analyses["IdentifiedParticle"][2224]["x" ][91.2 ] = ["/OPAL_1995_S3198391/d01-x01-y01","/DELPHI_1995_I399737/d01-x01-y01"] # hyperons # lambda0 # x analyses["IdentifiedParticle"][3122]["x" ][10.0 ] = ["/ARGUS_1988_I251097/d05-x01-y01","/ARGUS_1988_I251097/d06-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][10.52] = ["/BELLE_2017_I1606201/d01-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][14.0 ] = ["/TASSO_1985_I205119/d04-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][22.0 ] = ["/TASSO_1985_I205119/d05-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][29.0 ] = ["/HRS_1992_I339573/d01-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][34.0 ] = ["/TASSO_1985_I205119/d06-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][34.8 ] = ["/TASSO_1989_I266893/d08-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][35.0 ] = ["/CELLO_1990_I283026/d03-x01-y01"] analyses["IdentifiedParticle"][3122]["x" ][91.2 ] = ["/OPAL_1997_S3396100/d01-x01-y01","/ALEPH_1996_S3486095/d33-x01-y01", "/DELPHI_1993_I360638/d01-x01-y01","/SLD_1999_S3743934/d07-x01-y01"] # p analyses["IdentifiedParticle"][3122]["p" ][14.0 ] = ["/TASSO_1985_I205119/d10-x01-y01"] analyses["IdentifiedParticle"][3122]["p" ][22.0 ] = ["/TASSO_1985_I205119/d11-x01-y01"] analyses["IdentifiedParticle"][3122]["p" ][34.0 ] = ["/JADE_1981_I166363/d02-x01-y01","/TASSO_1985_I205119/d12-x01-y01"] analyses["IdentifiedParticle"][3122]["p" ][34.8 ] = ["/TASSO_1989_I266893/d03-x01-y01"] # xi analyses["IdentifiedParticle"][3122]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d02-x01-y01"] # other analyses["IdentifiedParticle"][3122]["Other"][34.8 ] = ["/TASSO_1989_I266893/d04-x01-y01","/TASSO_1989_I266893/d05-x01-y01", "/TASSO_1989_I266893/d06-x01-y01","/TASSO_1989_I266893/d07-x01-y01", "/TASSO_1989_I266893/d15-x01-y01","/TASSO_1989_I266893/d15-x01-y02", "/TASSO_1989_I266893/d15-x01-y03"] analyses["IdentifiedParticle"][3122]["Other"][91.2 ] = ["/DELPHI_1993_I360638/d03-x01-y01","/DELPHI_1993_I360638/d04-x01-y01", "/DELPHI_1993_I360638/d05-x01-y01","/DELPHI_1993_I360638/d06-x01-y01", "/SLD_1999_S3743934/d34-x01-y01","/SLD_1999_S3743934/d34-x01-y02", "/SLD_1999_S3743934/d35-x01-y01"] # Sigma+ analyses["IdentifiedParticle"][3222]["x" ][91.2 ] = ["/OPAL_1997_I421977/d01-x01-y01"] # sigma0 analyses["IdentifiedParticle"][3212]["x" ][10.52] = ["/BELLE_2017_I1606201/d02-x01-y01"] # sigma- analyses["IdentifiedParticle"][3112]["x" ][91.2 ] = ["/OPAL_1997_I421977/d02-x01-y01","/DELPHI_2000_I524694/d01-x01-y01"] # Sigma*+ analyses["IdentifiedParticle"][3224 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d03-x01-y01"] analyses["IdentifiedParticle"][3224 ]["x" ][91.2 ] = ["/DELPHI_1995_S3137023/d03-x01-y01","/OPAL_1997_S3396100/d05-x01-y01"] analyses["IdentifiedParticle"][3224 ]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d06-x01-y01"] analyses["IdentifiedParticle"]["3224B"]["x" ][91.2 ] = ["/ALEPH_1996_S3486095/d35-x01-y01"] # sigma*- analyses["IdentifiedParticle"][3114 ]["x" ][91.2 ] = ["/OPAL_1997_S3396100/d07-x01-y01"] analyses["IdentifiedParticle"][3114 ]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d08-x01-y01"] # xi- analyses["IdentifiedParticle"][3312]["x" ][10.0 ] = ["/ARGUS_1988_I251097/d09-x01-y01"] analyses["IdentifiedParticle"][3312]["x" ][10.52] = ["/BELLE_2017_I1606201/d05-x01-y01"] analyses["IdentifiedParticle"][3312]["x" ][34.4 ] = ["/TASSO_1983_I192072/d02-x01-y01"] analyses["IdentifiedParticle"][3312]["x" ][34.8 ] = ["/TASSO_1989_I266893/d23-x01-y01"] analyses["IdentifiedParticle"][3312]["p" ][34.8 ] = ["/TASSO_1989_I266893/d18-x01-y01"] analyses["IdentifiedParticle"][3312]["x" ][91.2 ] = ["/OPAL_1997_S3396100/d03-x01-y01","/DELPHI_1995_S3137023/d02-x01-y01", "/ALEPH_1996_S3486095/d34-x01-y01"] analyses["IdentifiedParticle"][3312]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d04-x01-y01","/DELPHI_2006_I719387/d01-x03-y01",] analyses["IdentifiedParticle"][3312]["Other"][34.8 ] = ["/TASSO_1989_I266893/d19-x01-y01","/TASSO_1989_I266893/d20-x01-y01", "/TASSO_1989_I266893/d21-x01-y01","/TASSO_1989_I266893/d22-x01-y01"] # xi*0 analyses["IdentifiedParticle"][3324]["x" ][10.52] = ["/BELLE_2017_I1606201/d07-x01-y01"] analyses["IdentifiedParticle"][3324]["x" ][91.2 ] = ["/OPAL_1997_S3396100/d09-x01-y01","/ALEPH_1996_S3486095/d36-x01-y01"] analyses["IdentifiedParticle"][3324]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d10-x01-y01"] # omega analyses["IdentifiedParticle"][3334]["x" ][10.52] = ["/BELLE_2017_I1606201/d06-x01-y01"] # lambda 1520 analyses["IdentifiedParticle"][3124]["x" ][10.0 ] = ["/ARGUS_1989_I262415/d04-x01-y01"] analyses["IdentifiedParticle"][3124]["x" ][10.52] = ["/BELLE_2017_I1606201/d04-x01-y01"] analyses["IdentifiedParticle"][3124]["x" ][91.2 ] = ["/OPAL_1997_S3396100/d11-x01-y01","/DELPHI_2000_I524694/d03-x01-y01"] analyses["IdentifiedParticle"][3124]["xi" ][91.2 ] = ["/OPAL_1997_S3396100/d12-x01-y01"] # charm baryons # lambda_c analyses["IdentifiedParticle"][4122 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d08-x01-y01"] analyses["IdentifiedParticle"][4122 ]["x" ][10.54] = ["/BABAR_2007_S6895344/d01-x01-y01"] analyses["IdentifiedParticle"][4122 ]["Other"][10.5 ] = ["/CLEO_2001_I552541/d03-x01-y01","/CLEO_2001_I552541/d03-x01-y02", "/CLEO_2001_I552541/d03-x01-y03","/CLEO_2001_I552541/d03-x01-y04", "/CLEO_2001_I552541/d04-x01-y01","/CLEO_2001_I552541/d04-x01-y02", "/CLEO_2001_I552541/d04-x01-y03","/CLEO_2001_I552541/d04-x01-y04",] # sigma_c0 analyses["IdentifiedParticle"][4112 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d11-x01-y01"] # sigma_c*0 analyses["IdentifiedParticle"][4114 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d12-x01-y01"] # xi_c analyses["IdentifiedParticle"][4132 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d14-x01-y01","/BELLE_2017_I1606201/d15-x01-y01"] analyses["IdentifiedParticle"][4132 ]["p" ][10.58] = ["/BABAR_2005_S6181155/d02-x01-y02"] # omega_c analyses["IdentifiedParticle"][4332 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d13-x01-y01"] # lambda_c(2595) analyses["IdentifiedParticle"][14122]["x" ][10.52] = ["/BELLE_2017_I1606201/d09-x01-y01"] # lambda_c(2625) analyses["IdentifiedParticle"][4124 ]["x" ][10.52] = ["/BELLE_2017_I1606201/d10-x01-y01"] # b fragmentation analyses["IdentifiedParticle"][511]["weak" ] = ["/DELPHI_2011_I890503/d01-x01-y01","/SLD_2002_S4869273/d01-x01-y01", "/ALEPH_2001_S4656318/d01-x01-y01","/OPAL_2003_I599181/d01-x01-y01"] analyses["IdentifiedParticle"][511]["weak_mean"] = ["/DELPHI_2011_I890503/d02-x01-y01","/ALEPH_2001_S4656318/d07-x01-y01", "/OPAL_2003_I599181/d02-x01-y01"] analyses["IdentifiedParticle"][511]["lead" ] = ["/ALEPH_2001_S4656318/d01-x01-y02"] analyses["IdentifiedParticle"][511]["lead_mean"] = ["/ALEPH_2001_S4656318/d07-x01-y02"] # multiplcities analyses["Multiplicity"]["321/2212"][91.2] = ["/DELPHI_1998_I473409/d01-x01-y05"] # mesons analyses["Multiplicity"][211 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d01-x01-y01"] analyses["Multiplicity"][211 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d01-x01-y02"] analyses["Multiplicity"][211 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d01-x01-y03","/DELPHI_1996_S3430090/d36-x01-y01", "/DELPHI_1998_I473409/d01-x01-y02","/SLD_2004_S5693039/d02-x02-y02", "/SLD_1999_S3743934/d24-x01-y01"] analyses["Multiplicity"][211 ][165.0] = ["/PDG_HADRON_MULTIPLICITIES/d01-x01-y04"] analyses["Multiplicity"][111 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d02-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d02-x01-y01","/ARGUS_1990_I278933/d01-x01-y01"] analyses["Multiplicity"][111 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d02-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d02-x01-y02"] analyses["Multiplicity"][111 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d02-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d02-x01-y03", "/DELPHI_1996_S3430090/d36-x01-y02","/ALEPH_1996_S3486095/d44-x01-y02"] analyses["Multiplicity"][321 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d03-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d03-x01-y01"] analyses["Multiplicity"][321 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d03-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d03-x01-y02"] analyses["Multiplicity"][321 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d03-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d03-x01-y03", "/DELPHI_1996_S3430090/d36-x01-y03","/DELPHI_1998_I473409/d01-x01-y03", "/SLD_2004_S5693039/d03-x02-y02","/SLD_1999_S3743934/d24-x02-y01"] analyses["Multiplicity"][321 ][165.0] = ["/PDG_HADRON_MULTIPLICITIES/d03-x01-y04","/PDG_HADRON_MULTIPLICITIES_RATIOS/d03-x01-y04"] analyses["Multiplicity"][311 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d04-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d04-x01-y01","/PLUTO_1981_I165122/d02-x01-y01"] analyses["Multiplicity"][311 ][30. ] = ["/TASSO_1990_I284251/d04-x01-y01"] analyses["Multiplicity"][311 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d04-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d04-x01-y02"] analyses["Multiplicity"][311 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d04-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d04-x01-y03", "/DELPHI_1996_S3430090/d36-x01-y04","/ALEPH_1996_S3486095/d44-x01-y05","/SLD_1999_S3743934/d24-x03-y01"] analyses["Multiplicity"][311 ][165.0] = ["/PDG_HADRON_MULTIPLICITIES/d04-x01-y04","/PDG_HADRON_MULTIPLICITIES_RATIOS/d04-x01-y04"] analyses["Multiplicity"][221 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d05-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d05-x01-y01","/ARGUS_1990_I278933/d02-x01-y01"] analyses["Multiplicity"][221 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d05-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d05-x01-y02"] analyses["Multiplicity"][221 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d05-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d05-x01-y03", "/DELPHI_1996_S3430090/d36-x01-y05","/ALEPH_1996_S3486095/d44-x01-y03"] analyses["Multiplicity"][331 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d06-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d06-x01-y01"] analyses["Multiplicity"][331 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d06-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d06-x01-y02"] analyses["Multiplicity"][331 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d06-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d06-x01-y03", "/DELPHI_1996_S3430090/d36-x01-y06","/ALEPH_1996_S3486095/d44-x01-y04"] analyses["Multiplicity"][411 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d07-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d07-x01-y01"] analyses["Multiplicity"][411 ][10.58] = ["/CLEO_2004_S5809304/d01-x01-y01"] analyses["Multiplicity"][411 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d07-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d07-x01-y02"] analyses["Multiplicity"][411 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d07-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d07-x01-y03","/DELPHI_1996_S3430090/d36-x01-y07"] analyses["Multiplicity"][421 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d08-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d08-x01-y01"] analyses["Multiplicity"][421 ][10.58] = ["/CLEO_2004_S5809304/d01-x01-y02","/CLEO_2004_S5809304/d01-x01-y03"] analyses["Multiplicity"][421 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d08-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d08-x01-y02"] analyses["Multiplicity"][421 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d08-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d08-x01-y03","/DELPHI_1996_S3430090/d36-x01-y08"] analyses["Multiplicity"][431 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d09-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d09-x01-y01"] analyses["Multiplicity"][431 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d09-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d09-x01-y02"] analyses["Multiplicity"][431 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d09-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d09-x01-y03"] analyses["Multiplicity"]["511B"][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d10-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d10-x01-y01","/DELPHI_1996_S3430090/d36-x01-y09"] analyses["Multiplicity"][521 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d11-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d11-x01-y01"] analyses["Multiplicity"][531 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d12-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d12-x01-y01"] analyses["Multiplicity"][9010221][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d13-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d13-x01-y01"] analyses["Multiplicity"][9010221][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d13-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d13-x01-y02"] analyses["Multiplicity"][9010221][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d13-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d13-x01-y03","/DELPHI_1996_S3430090/d37-x01-y01"] analyses["Multiplicity"][9000211][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d14-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d14-x01-y01"] analyses["Multiplicity"][113 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d15-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d15-x01-y01","/ARGUS_1993_S2789213/d01-x01-y02"] analyses["Multiplicity"][113 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d15-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d15-x01-y02"] analyses["Multiplicity"][113 ][34.0 ] = ["/TASSO_1982_I179022/d01-x01-y01"] analyses["Multiplicity"][113 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d15-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d15-x01-y03", "/ALEPH_1996_S3486095/d44-x01-y06","/DELPHI_1996_S3430090/d38-x01-y01"] analyses["Multiplicity"][213 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d16-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d16-x01-y01"] analyses["Multiplicity"][223 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d17-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d17-x01-y01","/ARGUS_1993_S2789213/d01-x01-y01"] analyses["Multiplicity"][223 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d17-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d17-x01-y02", "/ALEPH_1996_S3486095/d44-x01-y07"] analyses["Multiplicity"][323 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d18-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d18-x01-y01","/ARGUS_1993_S2789213/d01-x01-y04"] analyses["Multiplicity"][323 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d18-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d18-x01-y02"] analyses["Multiplicity"][323 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d18-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d18-x01-y03", "/OPAL_1993_I342766/d02-x01-y01","/DELPHI_1996_S3430090/d38-x01-y02","/ALEPH_1996_S3486095/d44-x01-y09"] analyses["Multiplicity"][313 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d19-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d19-x01-y01","/ARGUS_1993_S2789213/d01-x01-y03"] analyses["Multiplicity"][313 ][30. ] = ["/TASSO_1990_I284251/d09-x01-y01"] analyses["Multiplicity"][313 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d19-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d19-x01-y02"] analyses["Multiplicity"][313 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d19-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d19-x01-y03", "/DELPHI_1996_S3430090/d38-x01-y03","/ALEPH_1996_S3486095/d44-x01-y10","/SLD_1999_S3743934/d24-x04-y01"] analyses["Multiplicity"][333 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d20-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d20-x01-y01","/ARGUS_1993_S2789213/d01-x01-y05"] analyses["Multiplicity"][333 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d20-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d20-x01-y02"] analyses["Multiplicity"][333 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d20-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d20-x01-y03", "/DELPHI_1996_S3430090/d38-x01-y04","/ALEPH_1996_S3486095/d44-x01-y08","/SLD_1999_S3743934/d24-x05-y01"] analyses["Multiplicity"][413 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d21-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d21-x01-y01"] analyses["Multiplicity"][413 ][10.58] = ["/CLEO_2004_S5809304/d01-x01-y04","/CLEO_2004_S5809304/d01-x01-y05"] analyses["Multiplicity"][413 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d21-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d21-x01-y02"] analyses["Multiplicity"][413 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d21-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d21-x01-y03", "/DELPHI_1996_S3430090/d38-x01-y05","/OPAL_1995_I382219/d03-x01-y01"] analyses["Multiplicity"][423 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d22-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d22-x01-y01"] analyses["Multiplicity"][423 ][10.58] = ["/CLEO_2004_S5809304/d01-x01-y06","/CLEO_2004_S5809304/d01-x01-y07"] analyses["Multiplicity"][423 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d22-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d22-x01-y02"] analyses["Multiplicity"][433 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d23-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d23-x01-y01"] analyses["Multiplicity"][433 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d23-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d23-x01-y02"] analyses["Multiplicity"][513 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d24-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d24-x01-y01"] analyses["Multiplicity"][443 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d25-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d25-x01-y01"] analyses["Multiplicity"][443 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d25-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d25-x01-y02", "/OPAL_1996_S3257789/d02-x01-y01"] analyses["Multiplicity"][100443 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d26-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d26-x01-y01", "/OPAL_1996_S3257789/d02-x01-y02"] analyses["Multiplicity"][553 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d27-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d27-x01-y01"] analyses["Multiplicity"][20223 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d28-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d28-x01-y01"] analyses["Multiplicity"][20333 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d29-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d29-x01-y01"] analyses["Multiplicity"][20443 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d30-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d30-x01-y01"] analyses["Multiplicity"][225 ][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d31-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d31-x01-y01"] analyses["Multiplicity"][225 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d31-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d31-x01-y02"] analyses["Multiplicity"][225 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d31-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d31-x01-y03","/DELPHI_1996_S3430090/d39-x01-y01"] analyses["Multiplicity"][335 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d32-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d32-x01-y01"] analyses["Multiplicity"][325 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d33-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d33-x01-y01"] analyses["Multiplicity"][315 ][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d34-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d34-x01-y01"] analyses["Multiplicity"][315 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d34-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d34-x01-y02","/DELPHI_1996_S3430090/d39-x01-y02"] analyses["Multiplicity"][515 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d35-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d35-x01-y01"] analyses["Multiplicity"][20431][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d36-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d36-x01-y01"] analyses["Multiplicity"][435 ][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d37-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d37-x01-y01"] #baryons analyses["Multiplicity"][2212][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d38-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d38-x01-y01"] analyses["Multiplicity"][2212][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d38-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d38-x01-y02"] analyses["Multiplicity"][2212][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d38-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d38-x01-y03", "/DELPHI_1996_S3430090/d40-x01-y01","/DELPHI_1998_I473409/d01-x01-y04", "/SLD_2004_S5693039/d04-x02-y02","/SLD_1999_S3743934/d24-x06-y01"] analyses["Multiplicity"][2212][165.0] = ["/PDG_HADRON_MULTIPLICITIES/d38-x01-y04","/PDG_HADRON_MULTIPLICITIES_RATIOS/d38-x01-y04"] analyses["Multiplicity"][3122][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d39-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d39-x01-y01","/ARGUS_1988_I251097/d02-x01-y01"] analyses["Multiplicity"][3122][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d39-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d39-x01-y02"] analyses["Multiplicity"][3122][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d39-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d39-x01-y03", "/DELPHI_1996_S3430090/d40-x01-y02","/ALEPH_1996_S3486095/d44-x01-y11","/DELPHI_1993_I360638/d02-x01-y01", "/SLD_1999_S3743934/d24-x07-y01"] analyses["Multiplicity"][3122][165.0] = ["/PDG_HADRON_MULTIPLICITIES/d39-x01-y04","/PDG_HADRON_MULTIPLICITIES_RATIOS/d39-x01-y04"] analyses["Multiplicity"][3212][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d40-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d40-x01-y01","/ARGUS_1988_I251097/d02-x01-y03"] analyses["Multiplicity"][3212][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d40-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d40-x01-y02"] analyses["Multiplicity"][3112][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d41-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d41-x01-y01"] analyses["Multiplicity"][3222][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d42-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d42-x01-y01","/ALEPH_1996_S3486095/d44-x01-y12"] analyses["Multiplicity"][3312][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d44-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d44-x01-y01","/ARGUS_1988_I251097/d02-x01-y02"] analyses["Multiplicity"][3312][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d44-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d44-x01-y02"] analyses["Multiplicity"][3312][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d44-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d44-x01-y03", "/DELPHI_1996_S3430090/d40-x01-y03","/ALEPH_1996_S3486095/d44-x01-y13"] analyses["Multiplicity"][2224][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d45-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d45-x01-y01"] analyses["Multiplicity"][2224][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d45-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d45-x01-y02","/DELPHI_1996_S3430090/d40-x01-y05"] analyses["Multiplicity"][3114][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d46-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d46-x01-y01","/ARGUS_1988_I251097/d02-x01-y04"] analyses["Multiplicity"][3114][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d46-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d46-x01-y02"] analyses["Multiplicity"][3114][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d46-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d46-x01-y03"] analyses["Multiplicity"][3224][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d47-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d47-x01-y01","/ARGUS_1988_I251097/d02-x01-y05"] analyses["Multiplicity"][3224][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d47-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d47-x01-y02"] analyses["Multiplicity"][3224][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d47-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d47-x01-y03"] analyses["Multiplicity"][3324][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d49-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d49-x01-y01","/ARGUS_1988_I251097/d02-x01-y06"] analyses["Multiplicity"][3324][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d49-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d49-x01-y02", "/DELPHI_1996_S3430090/d40-x01-y07","/ALEPH_1996_S3486095/d44-x01-y15"] analyses["Multiplicity"][3334][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d50-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d50-x01-y01","/ARGUS_1988_I251097/d02-x01-y07"] analyses["Multiplicity"][3334][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d50-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d50-x01-y02"] analyses["Multiplicity"][3334][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d50-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d50-x01-y03", "/DELPHI_1996_S3430090/d40-x01-y04","/ALEPH_1996_S3486095/d44-x01-y16"] analyses["Multiplicity"][4122][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d51-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d51-x01-y01", "/BABAR_2007_S6895344/d02-x01-y01"] analyses["Multiplicity"][4122][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d51-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d51-x01-y02"] analyses["Multiplicity"][4122][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d51-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d51-x01-y03"] analyses["Multiplicity"][5122][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d52-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d52-x01-y01","/DELPHI_1996_S3430090/d40-x01-y08"] analyses["Multiplicity"][4222][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d53-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d53-x01-y01"] analyses["Multiplicity"][3124][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d54-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d54-x01-y01"] analyses["Multiplicity"][3124][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d54-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d54-x01-y02"] # analyses["Multiplicity"]["3222B"][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d43-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d43-x01-y01"] analyses["Multiplicity"]["3224B"][10. ] = ["/PDG_HADRON_MULTIPLICITIES/d48-x01-y01","/PDG_HADRON_MULTIPLICITIES_RATIOS/d48-x01-y01"] analyses["Multiplicity"]["3224B"][32.0 ] = ["/PDG_HADRON_MULTIPLICITIES/d48-x01-y02","/PDG_HADRON_MULTIPLICITIES_RATIOS/d48-x01-y02"] analyses["Multiplicity"]["3224B"][91.2 ] = ["/PDG_HADRON_MULTIPLICITIES/d48-x01-y03","/PDG_HADRON_MULTIPLICITIES_RATIOS/d48-x01-y03", "/DELPHI_1996_S3430090/d40-x01-y06","/ALEPH_1996_S3486095/d44-x01-y14"] analyses["Multiplicity"][4132][10.52] = ["/BABAR_2005_S6181155/d03-x01-y01"] # event shapes # thrust based analyses["EventShapes"]["T"][14.0 ] = ["/TASSO_1990_S2148048/d08-x01-y01"] analyses["EventShapes"]["T"][22.0 ] = ["/TASSO_1990_S2148048/d08-x01-y02"] analyses["EventShapes"]["T"][29.0 ] = ["/HRS_1985_I201482/d03-x01-y01","/HRS_1985_I201482/d04-x01-y01"] analyses["EventShapes"]["T"][35.0 ] = ["/TASSO_1990_S2148048/d08-x01-y03","/TASSO_1988_I263859/d03-x01-y01", "/JADE_1998_S3612880/d06-x01-y01"] analyses["EventShapes"]["T"][44.0 ] = ["/TASSO_1990_S2148048/d08-x01-y04","/JADE_1998_S3612880/d02-x01-y01"] analyses["EventShapes"]["T"][45.0 ] = ["/DELPHI_2003_I620250/d01-x01-y01"] analyses["EventShapes"]["T"][55.2 ] = ["/AMY_1990_I283337/d12-x01-y01"] analyses["EventShapes"]["T"][58.0 ] = ["/TOPAZ_1993_I361661/d01-x01-y01"] analyses["EventShapes"]["T"][66.0 ] = ["/DELPHI_2003_I620250/d01-x01-y02"] analyses["EventShapes"]["T"][76.0 ] = ["/DELPHI_2003_I620250/d01-x01-y03"] analyses["EventShapes"]["T"][91.2 ] = ["/DELPHI_1996_S3430090/d11-x01-y01","/ALEPH_1996_S3486095/d03-x01-y01", "/OPAL_2004_S6132243/d01-x01-y01","/ALEPH_2004_S5765862/d54-x01-y01"] analyses["EventShapes"]["T"][133.0] = ["/ALEPH_2004_S5765862/d55-x01-y01","/OPAL_2004_S6132243/d01-x01-y02"] analyses["EventShapes"]["T"][161.0] = ["/ALEPH_2004_S5765862/d56-x01-y01"] analyses["EventShapes"]["T"][172.0] = ["/ALEPH_2004_S5765862/d57-x01-y01"] analyses["EventShapes"]["T"][177.0] = ["/OPAL_2004_S6132243/d01-x01-y03"] analyses["EventShapes"]["T"][183.0] = ["/DELPHI_2003_I620250/d38-x01-y01","/ALEPH_2004_S5765862/d58-x01-y01"] analyses["EventShapes"]["T"][189.0] = ["/DELPHI_2003_I620250/d38-x01-y02","/ALEPH_2004_S5765862/d59-x01-y01"] analyses["EventShapes"]["T"][192.0] = ["/DELPHI_2003_I620250/d38-x01-y03"] analyses["EventShapes"]["T"][196.0] = ["/DELPHI_2003_I620250/d38-x01-y04"] analyses["EventShapes"]["T"][200.0] = ["/DELPHI_2003_I620250/d39-x01-y01","/ALEPH_2004_S5765862/d60-x01-y01"] analyses["EventShapes"]["T"][197.0] = ["/OPAL_2004_S6132243/d01-x01-y04"] analyses["EventShapes"]["T"][202.0] = ["/DELPHI_2003_I620250/d39-x01-y02"] analyses["EventShapes"]["T"][205.0] = ["/DELPHI_2003_I620250/d39-x01-y03"] analyses["EventShapes"]["T"][206.0] = ["/ALEPH_2004_S5765862/d61-x01-y01"] analyses["EventShapes"]["T"][207.0] = ["/DELPHI_2003_I620250/d39-x01-y04"] analyses["EventShapes"]["T"][41.4 ] = ["/L3_2004_I652683/d21-x01-y01"] analyses["EventShapes"]["T"][55.3 ] = ["/L3_2004_I652683/d21-x01-y02"] analyses["EventShapes"]["T"][65.4 ] = ["/L3_2004_I652683/d21-x01-y03"] analyses["EventShapes"]["T"][75.7 ] = ["/L3_2004_I652683/d22-x01-y01"] analyses["EventShapes"]["T"][82.3 ] = ["/L3_2004_I652683/d22-x01-y02"] analyses["EventShapes"]["T"][85.1 ] = ["/L3_2004_I652683/d22-x01-y03"] analyses["EventShapes"]["T"][130.1] = ["/L3_2004_I652683/d23-x01-y01"] analyses["EventShapes"]["T"][136.3] = ["/L3_2004_I652683/d23-x01-y02"] analyses["EventShapes"]["T"][161.3] = ["/L3_2004_I652683/d23-x01-y03"] analyses["EventShapes"]["T"][172.3] = ["/L3_2004_I652683/d24-x01-y01"] analyses["EventShapes"]["T"][182.8] = ["/L3_2004_I652683/d24-x01-y02"] analyses["EventShapes"]["T"][188.6] = ["/L3_2004_I652683/d24-x01-y03"] analyses["EventShapes"]["T"][194.4] = ["/L3_2004_I652683/d25-x01-y01"] analyses["EventShapes"]["T"][200.2] = ["/L3_2004_I652683/d25-x01-y02"] analyses["EventShapes"]["T"][206.2] = ["/L3_2004_I652683/d25-x01-y03"] analyses["EventShapes"]["Moment_T"][91.2 ] = ["/OPAL_2004_S6132243/d15-x01-y01"] analyses["EventShapes"]["Moment_T"][133.0] = ["/OPAL_2004_S6132243/d15-x01-y02"] analyses["EventShapes"]["Moment_T"][177.0] = ["/OPAL_2004_S6132243/d15-x01-y03"] analyses["EventShapes"]["Moment_T"][197.0] = ["/OPAL_2004_S6132243/d15-x01-y04"] analyses["EventShapesFlavour"]["T"][2][91.2] = ["/L3_2004_I652683/d47-x01-y01"] analyses["EventShapesFlavour"]["T"][5][91.2] = ["/L3_2004_I652683/d47-x01-y02"] analyses["EventShapesFlavour"]["HeavyJetMass"][2][91.2] = ["/L3_2004_I652683/d48-x01-y01"] analyses["EventShapesFlavour"]["HeavyJetMass"][5][91.2] = ["/L3_2004_I652683/d48-x01-y02"] analyses["EventShapesFlavour"]["BT"][2][91.2] = ["/L3_2004_I652683/d49-x01-y01"] analyses["EventShapesFlavour"]["BT"][5][91.2] = ["/L3_2004_I652683/d49-x01-y02"] analyses["EventShapesFlavour"]["BW"][2][91.2] = ["/L3_2004_I652683/d50-x01-y01"] analyses["EventShapesFlavour"]["BW"][5][91.2] = ["/L3_2004_I652683/d50-x01-y02"] analyses["EventShapesFlavour"]["C"][2][91.2] = ["/L3_2004_I652683/d51-x01-y01"] analyses["EventShapesFlavour"]["C"][5][91.2] = ["/L3_2004_I652683/d51-x01-y02"] analyses["EventShapesFlavour"]["D"][2][91.2] = ["/L3_2004_I652683/d52-x01-y01"] analyses["EventShapesFlavour"]["D"][5][91.2] = ["/L3_2004_I652683/d52-x01-y02"] analyses["EventShapes"]["Moment_H" ][91.2 ] = ["/OPAL_2004_S6132243/d16-x01-y01"] analyses["EventShapes"]["Moment_H" ][133.0] = ["/OPAL_2004_S6132243/d16-x01-y02"] analyses["EventShapes"]["Moment_H" ][177.0] = ["/OPAL_2004_S6132243/d16-x01-y03"] analyses["EventShapes"]["Moment_H" ][197.0] = ["/OPAL_2004_S6132243/d16-x01-y04"] analyses["EventShapes"]["Moment_C" ][91.2 ] = ["/OPAL_2004_S6132243/d17-x01-y01"] analyses["EventShapes"]["Moment_C" ][133.0] = ["/OPAL_2004_S6132243/d17-x01-y02"] analyses["EventShapes"]["Moment_C" ][177.0] = ["/OPAL_2004_S6132243/d17-x01-y03"] analyses["EventShapes"]["Moment_C" ][197.0] = ["/OPAL_2004_S6132243/d17-x01-y04"] analyses["EventShapes"]["Moment_BT"][91.2 ] = ["/OPAL_2004_S6132243/d18-x01-y01"] analyses["EventShapes"]["Moment_BT"][133.0] = ["/OPAL_2004_S6132243/d18-x01-y02"] analyses["EventShapes"]["Moment_BT"][177.0] = ["/OPAL_2004_S6132243/d18-x01-y03"] analyses["EventShapes"]["Moment_BT"][197.0] = ["/OPAL_2004_S6132243/d18-x01-y04"] analyses["EventShapes"]["Moment_BW"][91.2 ] = ["/OPAL_2004_S6132243/d19-x01-y01"] analyses["EventShapes"]["Moment_BW"][133.0] = ["/OPAL_2004_S6132243/d19-x01-y02"] analyses["EventShapes"]["Moment_BW"][177.0] = ["/OPAL_2004_S6132243/d19-x01-y03"] analyses["EventShapes"]["Moment_BW"][197.0] = ["/OPAL_2004_S6132243/d19-x01-y04"] analyses["EventShapes"]["Moment_y" ][91.2 ] = ["/OPAL_2004_S6132243/d20-x01-y01"] analyses["EventShapes"]["Moment_y" ][133.0] = ["/OPAL_2004_S6132243/d20-x01-y02"] analyses["EventShapes"]["Moment_y" ][177.0] = ["/OPAL_2004_S6132243/d20-x01-y03"] analyses["EventShapes"]["Moment_y" ][197.0] = ["/OPAL_2004_S6132243/d20-x01-y04"] analyses["EventShapes"]["Moment_M" ][91.2 ] = ["/OPAL_2004_S6132243/d21-x01-y01"] analyses["EventShapes"]["Moment_M" ][133.0] = ["/OPAL_2004_S6132243/d21-x01-y02"] analyses["EventShapes"]["Moment_M" ][177.0] = ["/OPAL_2004_S6132243/d21-x01-y03"] analyses["EventShapes"]["Moment_M" ][197.0] = ["/OPAL_2004_S6132243/d21-x01-y04"] analyses["EventShapes"]["Moment_m" ][91.2 ] = ["/OPAL_2004_S6132243/d22-x01-y01"] analyses["EventShapes"]["Moment_m" ][133.0] = ["/OPAL_2004_S6132243/d22-x01-y02"] analyses["EventShapes"]["Moment_m" ][177.0] = ["/OPAL_2004_S6132243/d22-x01-y03"] analyses["EventShapes"]["Moment_m" ][197.0] = ["/OPAL_2004_S6132243/d22-x01-y04"] analyses["EventShapes"]["Moment_S" ][91.2 ] = ["/OPAL_2004_S6132243/d23-x01-y01"] analyses["EventShapes"]["Moment_S" ][133.0] = ["/OPAL_2004_S6132243/d23-x01-y02"] analyses["EventShapes"]["Moment_S" ][177.0] = ["/OPAL_2004_S6132243/d23-x01-y03"] analyses["EventShapes"]["Moment_S" ][197.0] = ["/OPAL_2004_S6132243/d23-x01-y04"] analyses["EventShapes"]["Moment_O" ][91.2 ] = ["/OPAL_2004_S6132243/d24-x01-y01"] analyses["EventShapes"]["Moment_O" ][133.0] = ["/OPAL_2004_S6132243/d24-x01-y02"] analyses["EventShapes"]["Moment_O" ][177.0] = ["/OPAL_2004_S6132243/d24-x01-y03"] analyses["EventShapes"]["Moment_O" ][197.0] = ["/OPAL_2004_S6132243/d24-x01-y04"] analyses["EventShapes"]["Moment_L" ][91.2 ] = ["/OPAL_2004_S6132243/d25-x01-y01"] analyses["EventShapes"]["Moment_L" ][133.0] = ["/OPAL_2004_S6132243/d25-x01-y02"] analyses["EventShapes"]["Moment_L" ][177.0] = ["/OPAL_2004_S6132243/d25-x01-y03"] analyses["EventShapes"]["Moment_L" ][197.0] = ["/OPAL_2004_S6132243/d25-x01-y04"] analyses["EventShapes"]["Moment_BN"][91.2 ] = ["/OPAL_2004_S6132243/d26-x01-y01"] analyses["EventShapes"]["Moment_BN"][133.0] = ["/OPAL_2004_S6132243/d26-x01-y02"] analyses["EventShapes"]["Moment_BN"][177.0] = ["/OPAL_2004_S6132243/d26-x01-y03"] analyses["EventShapes"]["Moment_BN"][197.0] = ["/OPAL_2004_S6132243/d26-x01-y04"] analyses["EventShapes"]["Major"][45.0 ] = ["/DELPHI_2003_I620250/d02-x01-y01"] analyses["EventShapes"]["Major"][55.2 ] = ["/AMY_1990_I283337/d13-x01-y01"] analyses["EventShapes"]["Major"][66.0 ] = ["/DELPHI_2003_I620250/d02-x01-y02"] analyses["EventShapes"]["Major"][76.0 ] = ["/DELPHI_2003_I620250/d02-x01-y03"] analyses["EventShapes"]["Major"][91.2 ] = ["/DELPHI_1996_S3430090/d12-x01-y01","/OPAL_2004_S6132243/d07-x01-y01", "/ALEPH_2004_S5765862/d94-x01-y01"] analyses["EventShapes"]["Major"][133.0] = ["/ALEPH_2004_S5765862/d95-x01-y01","/OPAL_2004_S6132243/d07-x01-y02"] analyses["EventShapes"]["Major"][161.0] = ["/ALEPH_2004_S5765862/d96-x01-y01"] analyses["EventShapes"]["Major"][172.0] = ["/ALEPH_2004_S5765862/d97-x01-y01"] analyses["EventShapes"]["Major"][177.0] = ["/OPAL_2004_S6132243/d07-x01-y03"] analyses["EventShapes"]["Major"][183.0] = ["/DELPHI_2003_I620250/d40-x01-y01","/ALEPH_2004_S5765862/d98-x01-y01"] analyses["EventShapes"]["Major"][189.0] = ["/DELPHI_2003_I620250/d40-x01-y02","/ALEPH_2004_S5765862/d99-x01-y01"] analyses["EventShapes"]["Major"][192.0] = ["/DELPHI_2003_I620250/d40-x01-y03"] analyses["EventShapes"]["Major"][196.0] = ["/DELPHI_2003_I620250/d40-x01-y04"] analyses["EventShapes"]["Major"][197.0] = ["/OPAL_2004_S6132243/d07-x01-y04"] analyses["EventShapes"]["Major"][200.0] = ["/DELPHI_2003_I620250/d41-x01-y01","/ALEPH_2004_S5765862/d100-x01-y01"] analyses["EventShapes"]["Major"][202.0] = ["/DELPHI_2003_I620250/d41-x01-y02"] analyses["EventShapes"]["Major"][205.0] = ["/DELPHI_2003_I620250/d41-x01-y03"] analyses["EventShapes"]["Major"][206.0] = ["/ALEPH_2004_S5765862/d101-x01-y01"] analyses["EventShapes"]["Major"][207.0] = ["/DELPHI_2003_I620250/d41-x01-y04"] analyses["EventShapes"]["Minor"][45.0 ] = ["/DELPHI_2003_I620250/d03-x01-y01"] analyses["EventShapes"]["Minor"][55.2 ] = ["/AMY_1990_I283337/d14-x01-y01"] analyses["EventShapes"]["Minor"][66.0 ] = ["/DELPHI_2003_I620250/d03-x01-y02"] analyses["EventShapes"]["Minor"][76.0 ] = ["/DELPHI_2003_I620250/d03-x01-y03"] analyses["EventShapes"]["Minor"][91.2 ] = ["/DELPHI_1996_S3430090/d13-x01-y01","/ALEPH_2004_S5765862/d102-x01-y01", "/ALEPH_1996_S3486095/d04-x01-y01","/OPAL_2004_S6132243/d08-x01-y01"] analyses["EventShapes"]["Minor"][133.0] = ["/ALEPH_2004_S5765862/d103-x01-y01","/OPAL_2004_S6132243/d08-x01-y02"] analyses["EventShapes"]["Minor"][161.0] = ["/ALEPH_2004_S5765862/d104-x01-y01"] analyses["EventShapes"]["Minor"][172.0] = ["/ALEPH_2004_S5765862/d105-x01-y01"] analyses["EventShapes"]["Minor"][177.0] = ["/OPAL_2004_S6132243/d08-x01-y03"] analyses["EventShapes"]["Minor"][183.0] = ["/DELPHI_2003_I620250/d42-x01-y01","/ALEPH_2004_S5765862/d106-x01-y01"] analyses["EventShapes"]["Minor"][189.0] = ["/DELPHI_2003_I620250/d42-x01-y02","/ALEPH_2004_S5765862/d107-x01-y01"] analyses["EventShapes"]["Minor"][192.0] = ["/DELPHI_2003_I620250/d42-x01-y03"] analyses["EventShapes"]["Minor"][196.0] = ["/DELPHI_2003_I620250/d42-x01-y04"] analyses["EventShapes"]["Minor"][197.0] = ["/OPAL_2004_S6132243/d08-x01-y04"] analyses["EventShapes"]["Minor"][200.0] = ["/DELPHI_2003_I620250/d43-x01-y01","/ALEPH_2004_S5765862/d108-x01-y01"] analyses["EventShapes"]["Minor"][202.0] = ["/DELPHI_2003_I620250/d43-x01-y02"] analyses["EventShapes"]["Minor"][205.0] = ["/DELPHI_2003_I620250/d43-x01-y03"] analyses["EventShapes"]["Minor"][206.0] = ["/ALEPH_2004_S5765862/d109-x01-y01"] analyses["EventShapes"]["Minor"][207.0] = ["/DELPHI_2003_I620250/d43-x01-y04"] analyses["EventShapes"]["O"][45.0 ] = ["/DELPHI_2003_I620250/d06-x01-y01"] analyses["EventShapes"]["O"][55.2 ] = ["/AMY_1990_I283337/d15-x01-y01"] analyses["EventShapes"]["O"][66.0 ] = ["/DELPHI_2003_I620250/d06-x01-y02"] analyses["EventShapes"]["O"][76.0 ] = ["/DELPHI_2003_I620250/d06-x01-y03"] analyses["EventShapes"]["O"][91.2 ] = ["/ALEPH_2004_S5765862/d133-x01-y01","/DELPHI_1996_S3430090/d14-x01-y01", "/ALEPH_1996_S3486095/d08-x01-y01","/OPAL_2004_S6132243/d11-x01-y01"] analyses["EventShapes"]["O"][133.0] = ["/ALEPH_2004_S5765862/d134-x01-y01","/OPAL_2004_S6132243/d11-x01-y02"] analyses["EventShapes"]["O"][161.0] = ["/ALEPH_2004_S5765862/d135-x01-y01"] analyses["EventShapes"]["O"][172.0] = ["/ALEPH_2004_S5765862/d136-x01-y01"] analyses["EventShapes"]["O"][177.0] = ["/OPAL_2004_S6132243/d11-x01-y03"] analyses["EventShapes"]["O"][183.0] = ["/DELPHI_2003_I620250/d44-x01-y01","/ALEPH_2004_S5765862/d137-x01-y01"] analyses["EventShapes"]["O"][189.0] = ["/DELPHI_2003_I620250/d44-x01-y02","/ALEPH_2004_S5765862/d138-x01-y01"] analyses["EventShapes"]["O"][192.0] = ["/DELPHI_2003_I620250/d44-x01-y03"] analyses["EventShapes"]["O"][196.0] = ["/DELPHI_2003_I620250/d44-x01-y04"] analyses["EventShapes"]["O"][197.0] = ["/OPAL_2004_S6132243/d11-x01-y04"] analyses["EventShapes"]["O"][200.0] = ["/DELPHI_2003_I620250/d45-x01-y01","/ALEPH_2004_S5765862/d139-x01-y01"] analyses["EventShapes"]["O"][202.0] = ["/DELPHI_2003_I620250/d45-x01-y02"] analyses["EventShapes"]["O"][205.0] = ["/DELPHI_2003_I620250/d45-x01-y03"] analyses["EventShapes"]["O"][206.0] = ["/ALEPH_2004_S5765862/d140-x01-y01"] analyses["EventShapes"]["O"][207.0] = ["/DELPHI_2003_I620250/d45-x01-y04"] # jet broadenings analyses["EventShapes"]["BW"][45.0 ] = ["/DELPHI_2003_I620250/d13-x01-y01"] analyses["EventShapes"]["BW"][66.0 ] = ["/DELPHI_2003_I620250/d13-x01-y02"] analyses["EventShapes"]["BW"][76.0 ] = ["/DELPHI_2003_I620250/d13-x01-y03"] analyses["EventShapes"]["BW"][91.2 ] = ["/DELPHI_1996_S3430090/d23-x01-y01","/ALEPH_2004_S5765862/d78-x01-y01","/OPAL_2004_S6132243/d05-x01-y01"] analyses["EventShapes"]["BW"][133.0] = ["/OPAL_2004_S6132243/d05-x01-y02","/ALEPH_2004_S5765862/d79-x01-y01"] analyses["EventShapes"]["BW"][161.0] = ["/ALEPH_2004_S5765862/d80-x01-y01"] analyses["EventShapes"]["BW"][172.0] = ["/ALEPH_2004_S5765862/d81-x01-y01"] analyses["EventShapes"]["BW"][177.0] = ["/OPAL_2004_S6132243/d05-x01-y03"] analyses["EventShapes"]["BW"][183.0] = ["/DELPHI_2003_I620250/d46-x01-y01","/ALEPH_2004_S5765862/d82-x01-y01"] analyses["EventShapes"]["BW"][189.0] = ["/DELPHI_2003_I620250/d46-x01-y02","/ALEPH_2004_S5765862/d83-x01-y01"] analyses["EventShapes"]["BW"][192.0] = ["/DELPHI_2003_I620250/d46-x01-y03"] analyses["EventShapes"]["BW"][196.0] = ["/DELPHI_2003_I620250/d46-x01-y04"] analyses["EventShapes"]["BW"][197.0] = ["/OPAL_2004_S6132243/d05-x01-y04"] analyses["EventShapes"]["BW"][200.0] = ["/DELPHI_2003_I620250/d47-x01-y01","/ALEPH_2004_S5765862/d84-x01-y01"] analyses["EventShapes"]["BW"][202.0] = ["/DELPHI_2003_I620250/d47-x01-y02"] analyses["EventShapes"]["BW"][205.0] = ["/DELPHI_2003_I620250/d47-x01-y03"] analyses["EventShapes"]["BW"][206.0] = ["/ALEPH_2004_S5765862/d85-x01-y01"] analyses["EventShapes"]["BW"][207.0] = ["/DELPHI_2003_I620250/d47-x01-y04"] analyses["EventShapes"]["BW"][41.4 ] = ["/L3_2004_I652683/d36-x01-y01"] analyses["EventShapes"]["BW"][55.3 ] = ["/L3_2004_I652683/d36-x01-y02"] analyses["EventShapes"]["BW"][65.4 ] = ["/L3_2004_I652683/d36-x01-y03"] analyses["EventShapes"]["BW"][75.7 ] = ["/L3_2004_I652683/d37-x01-y01"] analyses["EventShapes"]["BW"][82.3 ] = ["/L3_2004_I652683/d37-x01-y02"] analyses["EventShapes"]["BW"][85.1 ] = ["/L3_2004_I652683/d37-x01-y03"] analyses["EventShapes"]["BW"][130.1] = ["/L3_2004_I652683/d38-x01-y01"] analyses["EventShapes"]["BW"][136.3] = ["/L3_2004_I652683/d38-x01-y02"] analyses["EventShapes"]["BW"][161.3] = ["/L3_2004_I652683/d38-x01-y03"] analyses["EventShapes"]["BW"][172.3] = ["/L3_2004_I652683/d39-x01-y01"] analyses["EventShapes"]["BW"][182.8] = ["/L3_2004_I652683/d39-x01-y02"] analyses["EventShapes"]["BW"][188.6] = ["/L3_2004_I652683/d39-x01-y03"] analyses["EventShapes"]["BW"][194.4] = ["/L3_2004_I652683/d40-x01-y01"] analyses["EventShapes"]["BW"][200.2] = ["/L3_2004_I652683/d40-x01-y02"] analyses["EventShapes"]["BW"][206.2] = ["/L3_2004_I652683/d40-x01-y03"] analyses["EventShapes"]["BW"][35.0] = ["/JADE_1998_S3612880/d09-x01-y01"] analyses["EventShapes"]["BW"][44.0] = ["/JADE_1998_S3612880/d05-x01-y01"] analyses["EventShapes"]["BN"][45.0 ] = ["/DELPHI_2003_I620250/d14-x01-y01"] analyses["EventShapes"]["BN"][66.0 ] = ["/DELPHI_2003_I620250/d14-x01-y02"] analyses["EventShapes"]["BN"][76.0 ] = ["/DELPHI_2003_I620250/d14-x01-y03"] analyses["EventShapes"]["BN"][91.2 ] = ["/DELPHI_1996_S3430090/d24-x01-y01","/OPAL_2004_S6132243/d13-x01-y01"] analyses["EventShapes"]["BN"][133.0] = ["/OPAL_2004_S6132243/d13-x01-y02"] analyses["EventShapes"]["BN"][177.0] = ["/OPAL_2004_S6132243/d13-x01-y03"] analyses["EventShapes"]["BN"][197.0] = ["/OPAL_2004_S6132243/d13-x01-y04"] analyses["EventShapes"]["BT"][41.4 ] = ["/L3_2004_I652683/d31-x01-y01"] analyses["EventShapes"]["BT"][55.3 ] = ["/L3_2004_I652683/d31-x01-y02"] analyses["EventShapes"]["BT"][65.4 ] = ["/L3_2004_I652683/d31-x01-y03"] analyses["EventShapes"]["BT"][75.7 ] = ["/L3_2004_I652683/d32-x01-y01"] analyses["EventShapes"]["BT"][82.3 ] = ["/L3_2004_I652683/d32-x01-y02"] analyses["EventShapes"]["BT"][85.1 ] = ["/L3_2004_I652683/d32-x01-y03"] analyses["EventShapes"]["BT"][91.2 ] = ["/DELPHI_1996_S3430090/d25-x01-y01","/OPAL_2004_S6132243/d04-x01-y01", "/ALEPH_2004_S5765862/d70-x01-y01"] analyses["EventShapes"]["BT"][130.1] = ["/L3_2004_I652683/d33-x01-y01"] analyses["EventShapes"]["BT"][133.0] = ["/OPAL_2004_S6132243/d04-x01-y02","/ALEPH_2004_S5765862/d71-x01-y01"] analyses["EventShapes"]["BT"][136.3] = ["/L3_2004_I652683/d33-x01-y02"] analyses["EventShapes"]["BT"][161.3] = ["/L3_2004_I652683/d33-x01-y03"] analyses["EventShapes"]["BT"][172.3] = ["/L3_2004_I652683/d34-x01-y01"] analyses["EventShapes"]["BT"][177.0] = ["/OPAL_2004_S6132243/d04-x01-y03"] analyses["EventShapes"]["BT"][182.8] = ["/L3_2004_I652683/d34-x01-y02"] analyses["EventShapes"]["BT"][188.6] = ["/L3_2004_I652683/d34-x01-y03"] analyses["EventShapes"]["BT"][194.4] = ["/L3_2004_I652683/d35-x01-y01"] analyses["EventShapes"]["BT"][197.0] = ["/OPAL_2004_S6132243/d04-x01-y04"] analyses["EventShapes"]["BT"][200.2] = ["/L3_2004_I652683/d35-x01-y02"] analyses["EventShapes"]["BT"][206.2] = ["/L3_2004_I652683/d35-x01-y03"] analyses["EventShapes"]["BT"][45.0 ] = ["/DELPHI_2003_I620250/d15-x01-y01"] analyses["EventShapes"]["BT"][66.0 ] = ["/DELPHI_2003_I620250/d15-x01-y02"] analyses["EventShapes"]["BT"][76.0 ] = ["/DELPHI_2003_I620250/d15-x01-y03"] analyses["EventShapes"]["BT"][161.0] = ["/ALEPH_2004_S5765862/d72-x01-y01"] analyses["EventShapes"]["BT"][172.0] = ["/ALEPH_2004_S5765862/d73-x01-y01"] analyses["EventShapes"]["BT"][183.0] = ["/DELPHI_2003_I620250/d48-x01-y01","/ALEPH_2004_S5765862/d74-x01-y01"] analyses["EventShapes"]["BT"][189.0] = ["/DELPHI_2003_I620250/d48-x01-y02","/ALEPH_2004_S5765862/d75-x01-y01"] analyses["EventShapes"]["BT"][192.0] = ["/DELPHI_2003_I620250/d48-x01-y03"] analyses["EventShapes"]["BT"][196.0] = ["/DELPHI_2003_I620250/d48-x01-y04"] analyses["EventShapes"]["BT"][200.0] = ["/DELPHI_2003_I620250/d49-x01-y01","/ALEPH_2004_S5765862/d76-x01-y01"] analyses["EventShapes"]["BT"][202.0] = ["/DELPHI_2003_I620250/d49-x01-y02"] analyses["EventShapes"]["BT"][205.0] = ["/DELPHI_2003_I620250/d49-x01-y03"] analyses["EventShapes"]["BT"][206.0] = ["/ALEPH_2004_S5765862/d77-x01-y01"] analyses["EventShapes"]["BT"][207.0] = ["/DELPHI_2003_I620250/d49-x01-y04"] analyses["EventShapes"]["BT"][35.0] = ["/JADE_1998_S3612880/d08-x01-y01"] analyses["EventShapes"]["BT"][44.0] = ["/JADE_1998_S3612880/d04-x01-y01"] analyses["EventShapes"]["Bdiff"][45.0 ] = ["/DELPHI_2003_I620250/d16-x01-y01"] analyses["EventShapes"]["Bdiff"][66.0 ] = ["/DELPHI_2003_I620250/d16-x01-y02"] analyses["EventShapes"]["Bdiff"][76.0 ] = ["/DELPHI_2003_I620250/d16-x01-y03"] analyses["EventShapes"]["Bdiff"][91.2 ] = ["/DELPHI_1996_S3430090/d26-x01-y01"] analyses["EventShapes"]["Bdiff"][183.0] = ["/DELPHI_2003_I620250/d50-x01-y01"] analyses["EventShapes"]["Bdiff"][189.0] = ["/DELPHI_2003_I620250/d50-x01-y02"] analyses["EventShapes"]["Bdiff"][192.0] = ["/DELPHI_2003_I620250/d50-x01-y03"] analyses["EventShapes"]["Bdiff"][196.0] = ["/DELPHI_2003_I620250/d50-x01-y04"] analyses["EventShapes"]["Bdiff"][200.0] = ["/DELPHI_2003_I620250/d51-x01-y01"] analyses["EventShapes"]["Bdiff"][202.0] = ["/DELPHI_2003_I620250/d51-x01-y02"] analyses["EventShapes"]["Bdiff"][205.0] = ["/DELPHI_2003_I620250/d51-x01-y03"] analyses["EventShapes"]["Bdiff"][207.0] = ["/DELPHI_2003_I620250/d51-x01-y04"] # C and D analyses["EventShapes"]["C"][45.0 ] = ["/DELPHI_2003_I620250/d17-x01-y01"] analyses["EventShapes"]["C"][66.0 ] = ["/DELPHI_2003_I620250/d17-x01-y02"] analyses["EventShapes"]["C"][76.0 ] = ["/DELPHI_2003_I620250/d17-x01-y03"] analyses["EventShapes"]["C"][91.2 ] = ["/DELPHI_1996_S3430090/d18-x01-y01","/ALEPH_1996_S3486095/d07-x01-y01", "/ALEPH_2004_S5765862/d86-x01-y01","/OPAL_2004_S6132243/d03-x01-y01"] analyses["EventShapes"]["C"][133.0] = ["/OPAL_2004_S6132243/d03-x01-y02","/ALEPH_2004_S5765862/d87-x01-y01"] analyses["EventShapes"]["C"][161.0] = ["/ALEPH_2004_S5765862/d88-x01-y01"] analyses["EventShapes"]["C"][172.0] = ["/ALEPH_2004_S5765862/d89-x01-y01"] analyses["EventShapes"]["C"][177.0] = ["/OPAL_2004_S6132243/d03-x01-y03"] analyses["EventShapes"]["C"][183.0] = ["/DELPHI_2003_I620250/d52-x01-y01","/ALEPH_2004_S5765862/d90-x01-y01"] analyses["EventShapes"]["C"][189.0] = ["/DELPHI_2003_I620250/d52-x01-y02","/ALEPH_2004_S5765862/d91-x01-y01"] analyses["EventShapes"]["C"][192.0] = ["/DELPHI_2003_I620250/d52-x01-y03"] analyses["EventShapes"]["C"][196.0] = ["/DELPHI_2003_I620250/d52-x01-y04"] analyses["EventShapes"]["C"][197.0] = ["/OPAL_2004_S6132243/d03-x01-y04"] analyses["EventShapes"]["C"][200.0] = ["/DELPHI_2003_I620250/d53-x01-y01","/ALEPH_2004_S5765862/d92-x01-y01"] analyses["EventShapes"]["C"][202.0] = ["/DELPHI_2003_I620250/d53-x01-y02"] analyses["EventShapes"]["C"][205.0] = ["/DELPHI_2003_I620250/d53-x01-y03"] analyses["EventShapes"]["C"][206.0] = ["/ALEPH_2004_S5765862/d93-x01-y01"] analyses["EventShapes"]["C"][207.0] = ["/DELPHI_2003_I620250/d53-x01-y04"] analyses["EventShapes"]["C"][130.1] = ["/L3_2004_I652683/d41-x01-y01"] analyses["EventShapes"]["C"][136.3] = ["/L3_2004_I652683/d41-x01-y02"] analyses["EventShapes"]["C"][161.3] = ["/L3_2004_I652683/d41-x01-y03"] analyses["EventShapes"]["C"][172.3] = ["/L3_2004_I652683/d42-x01-y01"] analyses["EventShapes"]["C"][182.8] = ["/L3_2004_I652683/d42-x01-y02"] analyses["EventShapes"]["C"][188.6] = ["/L3_2004_I652683/d42-x01-y03"] analyses["EventShapes"]["C"][194.4] = ["/L3_2004_I652683/d43-x01-y01"] analyses["EventShapes"]["C"][200.2] = ["/L3_2004_I652683/d43-x01-y02"] analyses["EventShapes"]["C"][206.2] = ["/L3_2004_I652683/d43-x01-y03"] analyses["EventShapes"]["D"][91.2 ] = ["/DELPHI_1996_S3430090/d19-x01-y01","/OPAL_2004_S6132243/d14-x01-y01"] analyses["EventShapes"]["D"][130.1] = ["/L3_2004_I652683/d44-x01-y01"] analyses["EventShapes"]["D"][133.0] = ["/OPAL_2004_S6132243/d14-x01-y02"] analyses["EventShapes"]["D"][136.3] = ["/L3_2004_I652683/d44-x01-y02"] analyses["EventShapes"]["D"][161.3] = ["/L3_2004_I652683/d44-x01-y03"] analyses["EventShapes"]["D"][172.3] = ["/L3_2004_I652683/d45-x01-y01"] analyses["EventShapes"]["D"][177.0] = ["/OPAL_2004_S6132243/d14-x01-y03"] analyses["EventShapes"]["D"][182.8] = ["/L3_2004_I652683/d45-x01-y02"] analyses["EventShapes"]["D"][188.6] = ["/L3_2004_I652683/d45-x01-y03"] analyses["EventShapes"]["D"][194.4] = ["/L3_2004_I652683/d46-x01-y01"] analyses["EventShapes"]["D"][197.0] = ["/OPAL_2004_S6132243/d14-x01-y04"] analyses["EventShapes"]["D"][200.2] = ["/L3_2004_I652683/d46-x01-y02"] analyses["EventShapes"]["D"][206.2] = ["/L3_2004_I652683/d46-x01-y03"] analyses["EventShapes"]["D"][183.0] = ["/DELPHI_2003_I620250/d54-x01-y01"] analyses["EventShapes"]["D"][189.0] = ["/DELPHI_2003_I620250/d54-x01-y02"] analyses["EventShapes"]["D"][192.0] = ["/DELPHI_2003_I620250/d54-x01-y03"] analyses["EventShapes"]["D"][196.0] = ["/DELPHI_2003_I620250/d54-x01-y04"] analyses["EventShapes"]["D"][200.0] = ["/DELPHI_2003_I620250/d55-x01-y01"] analyses["EventShapes"]["D"][202.0] = ["/DELPHI_2003_I620250/d55-x01-y02"] analyses["EventShapes"]["D"][205.0] = ["/DELPHI_2003_I620250/d55-x01-y03"] analyses["EventShapes"]["D"][207.0] = ["/DELPHI_2003_I620250/d55-x01-y04"] # hemispheres analyses["EventShapes"]["HeavyJetMass"][14.0] = ["/TASSO_1989_I279165/d02-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][22.0] = ["/TASSO_1989_I279165/d02-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][34.8] = ["/TASSO_1989_I279165/d02-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][35.0] = ["/JADE_1998_S3612880/d07-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][43.5] = ["/TASSO_1989_I279165/d02-x01-y04"] analyses["EventShapes"]["HeavyJetMass"][44.0] = ["/JADE_1998_S3612880/d03-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][45.0] = ["/DELPHI_2003_I620250/d07-x01-y01","/DELPHI_2003_I620250/d08-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][55.2] = ["/AMY_1990_I283337/d21-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][58.0] = ["/TOPAZ_1993_I361661/d02-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][66.0] = ["/DELPHI_2003_I620250/d07-x01-y02","/DELPHI_2003_I620250/d08-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][76.0] = ["/DELPHI_2003_I620250/d07-x01-y03","/DELPHI_2003_I620250/d08-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][91.2] = ["/DELPHI_1996_S3430090/d20-x01-y01","/ALEPH_1996_S3486095/d06-x01-y01","/OPAL_2004_S6132243/d02-x01-y01","/ALEPH_2004_S5765862/d62-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][133.0] = ["/OPAL_2004_S6132243/d02-x01-y02","/ALEPH_2004_S5765862/d63-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][161.0] = ["/ALEPH_2004_S5765862/d64-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][172.0] = ["/ALEPH_2004_S5765862/d65-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][177.0] = ["/OPAL_2004_S6132243/d02-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][183.0] = ["/DELPHI_2003_I620250/d56-x01-y01","/DELPHI_2003_I620250/d58-x01-y01", "/DELPHI_2003_I620250/d60-x01-y01","/ALEPH_2004_S5765862/d66-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][189.0] = ["/DELPHI_2003_I620250/d56-x01-y02","/DELPHI_2003_I620250/d58-x01-y02", "/DELPHI_2003_I620250/d60-x01-y02","/ALEPH_2004_S5765862/d67-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][192.0] = ["/DELPHI_2003_I620250/d56-x01-y03","/DELPHI_2003_I620250/d58-x01-y03", "/DELPHI_2003_I620250/d60-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][196.0] = ["/DELPHI_2003_I620250/d56-x01-y04","/DELPHI_2003_I620250/d58-x01-y04", "/DELPHI_2003_I620250/d60-x01-y04"] analyses["EventShapes"]["HeavyJetMass"][197.0] = ["/OPAL_2004_S6132243/d02-x01-y04"] analyses["EventShapes"]["HeavyJetMass"][200.0] = ["/DELPHI_2003_I620250/d57-x01-y01","/DELPHI_2003_I620250/d59-x01-y01", "/DELPHI_2003_I620250/d61-x01-y01","/ALEPH_2004_S5765862/d68-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][202.0] = ["/DELPHI_2003_I620250/d57-x01-y02","/DELPHI_2003_I620250/d59-x01-y02", "/DELPHI_2003_I620250/d61-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][205.0] = ["/DELPHI_2003_I620250/d57-x01-y03","/DELPHI_2003_I620250/d59-x01-y03", "/DELPHI_2003_I620250/d61-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][206.0] = ["/ALEPH_2004_S5765862/d69-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][207.0] = ["/DELPHI_2003_I620250/d57-x01-y04","/DELPHI_2003_I620250/d59-x01-y04", "/DELPHI_2003_I620250/d61-x01-y04"] analyses["EventShapes"]["HeavyJetMass"][41.4 ] = ["/L3_2004_I652683/d26-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][55.3 ] = ["/L3_2004_I652683/d26-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][65.4 ] = ["/L3_2004_I652683/d26-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][75.7 ] = ["/L3_2004_I652683/d27-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][82.3 ] = ["/L3_2004_I652683/d27-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][85.1 ] = ["/L3_2004_I652683/d27-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][130.1] = ["/L3_2004_I652683/d28-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][136.3] = ["/L3_2004_I652683/d28-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][161.3] = ["/L3_2004_I652683/d28-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][172.3] = ["/L3_2004_I652683/d29-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][182.8] = ["/L3_2004_I652683/d29-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][188.6] = ["/L3_2004_I652683/d29-x01-y03"] analyses["EventShapes"]["HeavyJetMass"][194.4] = ["/L3_2004_I652683/d30-x01-y01"] analyses["EventShapes"]["HeavyJetMass"][200.2] = ["/L3_2004_I652683/d30-x01-y02"] analyses["EventShapes"]["HeavyJetMass"][206.2] = ["/L3_2004_I652683/d30-x01-y03"] analyses["EventShapes"]["JetMassDifference"][14.0] = ["/TASSO_1989_I279165/d01-x01-y01"] analyses["EventShapes"]["JetMassDifference"][22.0] = ["/TASSO_1989_I279165/d01-x01-y02"] analyses["EventShapes"]["JetMassDifference"][34.8] = ["/TASSO_1989_I279165/d01-x01-y03"] analyses["EventShapes"]["JetMassDifference"][43.5] = ["/TASSO_1989_I279165/d01-x01-y04"] analyses["EventShapes"]["JetMassDifference"][45.0] = ["/DELPHI_2003_I620250/d10-x01-y01"] analyses["EventShapes"]["JetMassDifference"][55.2] = ["/AMY_1990_I283337/d22-x01-y01"] analyses["EventShapes"]["JetMassDifference"][66.0] = ["/DELPHI_2003_I620250/d10-x01-y02"] analyses["EventShapes"]["JetMassDifference"][76.0] = ["/DELPHI_2003_I620250/d10-x01-y03"] analyses["EventShapes"]["JetMassDifference"][91.2] = ["/DELPHI_1996_S3430090/d22-x01-y01","/ALEPH_2004_S5765862/d110-x01-y01"] analyses["EventShapes"]["JetMassDifference"][133.0] = ["/ALEPH_2004_S5765862/d111-x01-y01"] analyses["EventShapes"]["JetMassDifference"][161.0] = ["/ALEPH_2004_S5765862/d112-x01-y01"] analyses["EventShapes"]["JetMassDifference"][172.0] = ["/ALEPH_2004_S5765862/d113-x01-y01"] analyses["EventShapes"]["JetMassDifference"][183.0] = ["/DELPHI_2003_I620250/d64-x01-y01","/ALEPH_2004_S5765862/d114-x01-y01"] analyses["EventShapes"]["JetMassDifference"][189.0] = ["/DELPHI_2003_I620250/d64-x01-y02","/ALEPH_2004_S5765862/d115-x01-y01"] analyses["EventShapes"]["JetMassDifference"][192.0] = ["/DELPHI_2003_I620250/d64-x01-y03"] analyses["EventShapes"]["JetMassDifference"][196.0] = ["/DELPHI_2003_I620250/d64-x01-y04"] analyses["EventShapes"]["JetMassDifference"][200.0] = ["/DELPHI_2003_I620250/d65-x01-y01","/ALEPH_2004_S5765862/d116-x01-y01"] analyses["EventShapes"]["JetMassDifference"][202.0] = ["/DELPHI_2003_I620250/d65-x01-y02"] analyses["EventShapes"]["JetMassDifference"][205.0] = ["/DELPHI_2003_I620250/d65-x01-y03"] analyses["EventShapes"]["JetMassDifference"][206.0] = ["/ALEPH_2004_S5765862/d117-x01-y01"] analyses["EventShapes"]["JetMassDifference"][207.0] = ["/DELPHI_2003_I620250/d65-x01-y04"] analyses["EventShapes"]["LightJetMass"][14.0] = ["/TASSO_1989_I279165/d03-x01-y01"] analyses["EventShapes"]["LightJetMass"][22.0] = ["/TASSO_1989_I279165/d03-x01-y02"] analyses["EventShapes"]["LightJetMass"][34.8] = ["/TASSO_1989_I279165/d03-x01-y03"] analyses["EventShapes"]["LightJetMass"][43.5] = ["/TASSO_1989_I279165/d03-x01-y04"] analyses["EventShapes"]["LightJetMass"][45.0] = ["/DELPHI_2003_I620250/d09-x01-y01"] analyses["EventShapes"]["LightJetMass"][55.2] = ["/AMY_1990_I283337/d20-x01-y01"] analyses["EventShapes"]["LightJetMass"][66.0] = ["/DELPHI_2003_I620250/d09-x01-y02"] analyses["EventShapes"]["LightJetMass"][76.0] = ["/DELPHI_2003_I620250/d09-x01-y03"] analyses["EventShapes"]["LightJetMass"][91.2] = ["/DELPHI_1996_S3430090/d21-x01-y01","/OPAL_2004_S6132243/d12-x01-y01"] analyses["EventShapes"]["LightJetMass"][133.0] = ["/OPAL_2004_S6132243/d12-x01-y02"] analyses["EventShapes"]["LightJetMass"][177.0] = ["/OPAL_2004_S6132243/d12-x01-y03"] analyses["EventShapes"]["LightJetMass"][183.0] = ["/DELPHI_2003_I620250/d62-x01-y01"] analyses["EventShapes"]["LightJetMass"][189.0] = ["/DELPHI_2003_I620250/d62-x01-y02"] analyses["EventShapes"]["LightJetMass"][192.0] = ["/DELPHI_2003_I620250/d62-x01-y03"] analyses["EventShapes"]["LightJetMass"][196.0] = ["/DELPHI_2003_I620250/d62-x01-y04"] analyses["EventShapes"]["LightJetMass"][197.0] = ["/OPAL_2004_S6132243/d12-x01-y04"] analyses["EventShapes"]["LightJetMass"][200.0] = ["/DELPHI_2003_I620250/d63-x01-y01"] analyses["EventShapes"]["LightJetMass"][202.0] = ["/DELPHI_2003_I620250/d63-x01-y02"] analyses["EventShapes"]["LightJetMass"][205.0] = ["/DELPHI_2003_I620250/d63-x01-y03"] analyses["EventShapes"]["LightJetMass"][207.0] = ["/DELPHI_2003_I620250/d63-x01-y04"] analyses["EventShapes"]["TotalJetMass"][45.0] = ["/DELPHI_2003_I620250/d11-x01-y01","/DELPHI_2003_I620250/d12-x01-y01"] analyses["EventShapes"]["TotalJetMass"][66.0] = ["/DELPHI_2003_I620250/d11-x01-y02","/DELPHI_2003_I620250/d12-x01-y02"] analyses["EventShapes"]["TotalJetMass"][76.0] = ["/DELPHI_2003_I620250/d11-x01-y03","/DELPHI_2003_I620250/d12-x01-y03"] # jets # y12 analyses["EventShapes"]["y12_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d149-x01-y01"] analyses["EventShapes"]["y12_dur"][133.0] = ["/ALEPH_2004_S5765862/d150-x01-y01"] analyses["EventShapes"]["y12_dur"][161.0] = ["/ALEPH_2004_S5765862/d151-x01-y01"] analyses["EventShapes"]["y12_dur"][172.0] = ["/ALEPH_2004_S5765862/d152-x01-y01"] analyses["EventShapes"]["y12_dur"][183.0] = ["/ALEPH_2004_S5765862/d153-x01-y01"] analyses["EventShapes"]["y12_dur"][189.0] = ["/ALEPH_2004_S5765862/d154-x01-y01"] analyses["EventShapes"]["y12_dur"][200.0] = ["/ALEPH_2004_S5765862/d155-x01-y01"] analyses["EventShapes"]["y12_dur"][206.0] = ["/ALEPH_2004_S5765862/d156-x01-y01"] # y23 analyses["EventShapes"]["y23_dur"][22.0] = ["/JADE_1998_S3612880/d12-x01-y01"] analyses["EventShapes"]["y23_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d24-x01-y01","/JADE_1998_S3612880/d11-x01-y01"] analyses["EventShapes"]["y23_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d25-x01-y01","/JADE_1998_S3612880/d10-x01-y01"] analyses["EventShapes"]["y23_dur"][58.0 ] = ["/TOPAZ_1993_I361661/d03-x01-y01"] analyses["EventShapes"]["y23_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d157-x01-y01","/ALEPH_1996_S3486095/d05-x01-y01", "/OPAL_2004_S6132243/d06-x01-y01","/JADE_OPAL_2000_S4300807/d26-x01-y01", "/DELPHI_1996_S3430090/d27-x01-y01"] analyses["EventShapes"]["y23_dur"][133.0] = ["/ALEPH_2004_S5765862/d158-x01-y01","/OPAL_2004_S6132243/d06-x01-y02", "/JADE_OPAL_2000_S4300807/d27-x01-y01"] analyses["EventShapes"]["y23_dur"][161.0] = ["/ALEPH_2004_S5765862/d159-x01-y01","/JADE_OPAL_2000_S4300807/d28-x01-y01"] analyses["EventShapes"]["y23_dur"][172.0] = ["/ALEPH_2004_S5765862/d160-x01-y01","/JADE_OPAL_2000_S4300807/d29-x01-y01"] analyses["EventShapes"]["y23_dur"][177.0] = ["/OPAL_2004_S6132243/d06-x01-y03"] analyses["EventShapes"]["y23_dur"][183.0] = ["/ALEPH_2004_S5765862/d161-x01-y01","/JADE_OPAL_2000_S4300807/d30-x01-y01"] analyses["EventShapes"]["y23_dur"][189.0] = ["/ALEPH_2004_S5765862/d162-x01-y01","/JADE_OPAL_2000_S4300807/d31-x01-y01"] analyses["EventShapes"]["y23_dur"][197.0] = ["/OPAL_2004_S6132243/d06-x01-y04"] analyses["EventShapes"]["y23_dur"][200.0] = ["/ALEPH_2004_S5765862/d163-x01-y01"] analyses["EventShapes"]["y23_dur"][206.0] = ["/ALEPH_2004_S5765862/d164-x01-y01"] # y34 analyses["EventShapes"]["y34_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d24-x01-y02"] analyses["EventShapes"]["y34_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d25-x01-y02"] analyses["EventShapes"]["y34_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d165-x01-y01","/JADE_OPAL_2000_S4300807/d26-x01-y02", "/DELPHI_1996_S3430090/d29-x01-y01"] analyses["EventShapes"]["y34_dur"][133.0] = ["/ALEPH_2004_S5765862/d166-x01-y01","/JADE_OPAL_2000_S4300807/d27-x01-y02"] analyses["EventShapes"]["y34_dur"][161.0] = ["/ALEPH_2004_S5765862/d167-x01-y01","/JADE_OPAL_2000_S4300807/d28-x01-y02"] analyses["EventShapes"]["y34_dur"][172.0] = ["/ALEPH_2004_S5765862/d168-x01-y01","/JADE_OPAL_2000_S4300807/d29-x01-y02"] analyses["EventShapes"]["y34_dur"][183.0] = ["/ALEPH_2004_S5765862/d169-x01-y01","/JADE_OPAL_2000_S4300807/d30-x01-y02"] analyses["EventShapes"]["y34_dur"][189.0] = ["/ALEPH_2004_S5765862/d170-x01-y01","/JADE_OPAL_2000_S4300807/d31-x01-y02"] analyses["EventShapes"]["y34_dur"][206.0] = ["/ALEPH_2004_S5765862/d172-x01-y01"] # y45 analyses["EventShapes"]["y45_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d24-x01-y03"] analyses["EventShapes"]["y45_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d25-x01-y03"] analyses["EventShapes"]["y45_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d173-x01-y01","/JADE_OPAL_2000_S4300807/d26-x01-y03", "/DELPHI_1996_S3430090/d31-x01-y01"] analyses["EventShapes"]["y45_dur"][133.0] = ["/ALEPH_2004_S5765862/d174-x01-y01","/JADE_OPAL_2000_S4300807/d27-x01-y03"] analyses["EventShapes"]["y45_dur"][161.0] = ["/ALEPH_2004_S5765862/d175-x01-y01","/JADE_OPAL_2000_S4300807/d28-x01-y03"] analyses["EventShapes"]["y45_dur"][172.0] = ["/ALEPH_2004_S5765862/d176-x01-y01","/JADE_OPAL_2000_S4300807/d29-x01-y03"] analyses["EventShapes"]["y45_dur"][183.0] = ["/ALEPH_2004_S5765862/d177-x01-y01","/JADE_OPAL_2000_S4300807/d30-x01-y03"] analyses["EventShapes"]["y45_dur"][189.0] = ["/ALEPH_2004_S5765862/d178-x01-y01","/JADE_OPAL_2000_S4300807/d31-x01-y03"] analyses["EventShapes"]["y45_dur"][200.0] = ["/ALEPH_2004_S5765862/d179-x01-y01"] # y56 analyses["EventShapes"]["y56_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d24-x01-y04"] analyses["EventShapes"]["y56_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d25-x01-y04"] analyses["EventShapes"]["y56_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d180-x01-y01","/JADE_OPAL_2000_S4300807/d26-x01-y04"] analyses["EventShapes"]["y56_dur"][133.0] = ["/ALEPH_2004_S5765862/d181-x01-y01","/JADE_OPAL_2000_S4300807/d27-x01-y04"] analyses["EventShapes"]["y56_dur"][161.0] = ["/ALEPH_2004_S5765862/d182-x01-y01","/JADE_OPAL_2000_S4300807/d28-x01-y04"] analyses["EventShapes"]["y56_dur"][172.0] = ["/ALEPH_2004_S5765862/d183-x01-y01","/JADE_OPAL_2000_S4300807/d29-x01-y04"] analyses["EventShapes"]["y56_dur"][183.0] = ["/ALEPH_2004_S5765862/d184-x01-y01","/JADE_OPAL_2000_S4300807/d30-x01-y04"] analyses["EventShapes"]["y56_dur"][189.0] = ["/ALEPH_2004_S5765862/d185-x01-y01","/JADE_OPAL_2000_S4300807/d31-x01-y04"] analyses["EventShapes"]["y56_dur"][200.0] = ["/ALEPH_2004_S5765862/d186-x01-y01"] # jade scheme analyses["EventShapes"]["y23_jade"][57.7 ] = ["/AMY_1995_I406129/d02-x01-y01","/AMY_1995_I406129/d03-x01-y01", "/AMY_1995_I406129/d04-x01-y01","/AMY_1995_I406129/d06-x01-y01"] analyses["EventShapes"]["y23_jade"][91.2 ] = ["/DELPHI_1996_S3430090/d28-x01-y01"] analyses["EventShapes"]["y34_jade"][91.2 ] = ["/DELPHI_1996_S3430090/d30-x01-y01"] analyses["EventShapes"]["y45_jade"][91.2 ] = ["/DELPHI_1996_S3430090/d32-x01-y01"] # jet fractions # 1 jet analyses["EventShapes"]["1jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d187-x01-y01"] analyses["EventShapes"]["1jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d188-x01-y01"] analyses["EventShapes"]["1jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d189-x01-y01"] analyses["EventShapes"]["1jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d190-x01-y01"] analyses["EventShapes"]["1jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d191-x01-y01"] analyses["EventShapes"]["1jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d192-x01-y01"] analyses["EventShapes"]["1jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d193-x01-y01"] analyses["EventShapes"]["1jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d194-x01-y01"] # 2 jet analyses["EventShapes"]["2jet_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d16-x01-y01"] analyses["EventShapes"]["2jet_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d17-x01-y01"] analyses["EventShapes"]["2jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d195-x01-y01","/JADE_OPAL_2000_S4300807/d18-x01-y01"] analyses["EventShapes"]["2jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d196-x01-y01","/JADE_OPAL_2000_S4300807/d19-x01-y01"] analyses["EventShapes"]["2jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d197-x01-y01","/JADE_OPAL_2000_S4300807/d20-x01-y01"] analyses["EventShapes"]["2jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d198-x01-y01","/JADE_OPAL_2000_S4300807/d21-x01-y01"] analyses["EventShapes"]["2jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d199-x01-y01","/JADE_OPAL_2000_S4300807/d22-x01-y01"] analyses["EventShapes"]["2jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d200-x01-y01","/JADE_OPAL_2000_S4300807/d23-x01-y01"] analyses["EventShapes"]["2jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d201-x01-y01"] analyses["EventShapes"]["2jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d202-x01-y01"] # 3 jet analyses["EventShapes"]["3jet_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d16-x01-y02"] analyses["EventShapes"]["3jet_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d17-x01-y02"] analyses["EventShapes"]["3jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d203-x01-y01","/JADE_OPAL_2000_S4300807/d18-x01-y02"] analyses["EventShapes"]["3jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d204-x01-y01","/JADE_OPAL_2000_S4300807/d19-x01-y02"] analyses["EventShapes"]["3jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d205-x01-y01","/JADE_OPAL_2000_S4300807/d20-x01-y02"] analyses["EventShapes"]["3jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d206-x01-y01","/JADE_OPAL_2000_S4300807/d21-x01-y02"] analyses["EventShapes"]["3jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d207-x01-y01","/JADE_OPAL_2000_S4300807/d22-x01-y02"] analyses["EventShapes"]["3jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d208-x01-y01","/JADE_OPAL_2000_S4300807/d23-x01-y02"] analyses["EventShapes"]["3jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d209-x01-y01"] analyses["EventShapes"]["3jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d210-x01-y01"] # 4 jet analyses["EventShapes"]["4jet_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d16-x01-y03"] analyses["EventShapes"]["4jet_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d17-x01-y03"] analyses["EventShapes"]["4jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d211-x01-y01","/JADE_OPAL_2000_S4300807/d18-x01-y03"] analyses["EventShapes"]["4jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d212-x01-y01","/JADE_OPAL_2000_S4300807/d19-x01-y03"] analyses["EventShapes"]["4jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d213-x01-y01","/JADE_OPAL_2000_S4300807/d20-x01-y03"] analyses["EventShapes"]["4jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d214-x01-y01","/JADE_OPAL_2000_S4300807/d21-x01-y03"] analyses["EventShapes"]["4jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d215-x01-y01","/JADE_OPAL_2000_S4300807/d22-x01-y03"] analyses["EventShapes"]["4jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d216-x01-y01","/JADE_OPAL_2000_S4300807/d23-x01-y03"] analyses["EventShapes"]["4jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d217-x01-y01"] analyses["EventShapes"]["4jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d218-x01-y01"] # 5 jet analyses["EventShapes"]["5jet_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d16-x01-y04"] analyses["EventShapes"]["5jet_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d17-x01-y04"] analyses["EventShapes"]["5jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d219-x01-y01","/JADE_OPAL_2000_S4300807/d18-x01-y04"] analyses["EventShapes"]["5jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d220-x01-y01","/JADE_OPAL_2000_S4300807/d19-x01-y04"] analyses["EventShapes"]["5jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d221-x01-y01","/JADE_OPAL_2000_S4300807/d20-x01-y04"] analyses["EventShapes"]["5jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d222-x01-y01","/JADE_OPAL_2000_S4300807/d21-x01-y04"] analyses["EventShapes"]["5jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d223-x01-y01","/JADE_OPAL_2000_S4300807/d22-x01-y04"] analyses["EventShapes"]["5jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d224-x01-y01","/JADE_OPAL_2000_S4300807/d23-x01-y04"] analyses["EventShapes"]["5jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d225-x01-y01"] analyses["EventShapes"]["5jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d226-x01-y01"] # 6 jet analyses["EventShapes"]["6jet_dur"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d16-x01-y05"] analyses["EventShapes"]["6jet_dur"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d17-x01-y05"] analyses["EventShapes"]["6jet_dur"][91.2 ] = ["/ALEPH_2004_S5765862/d227-x01-y01","/JADE_OPAL_2000_S4300807/d18-x01-y05"] analyses["EventShapes"]["6jet_dur"][133.0] = ["/ALEPH_2004_S5765862/d228-x01-y01","/JADE_OPAL_2000_S4300807/d19-x01-y05"] analyses["EventShapes"]["6jet_dur"][161.0] = ["/ALEPH_2004_S5765862/d229-x01-y01","/JADE_OPAL_2000_S4300807/d20-x01-y05"] analyses["EventShapes"]["6jet_dur"][172.0] = ["/ALEPH_2004_S5765862/d230-x01-y01","/JADE_OPAL_2000_S4300807/d21-x01-y05"] analyses["EventShapes"]["6jet_dur"][183.0] = ["/ALEPH_2004_S5765862/d231-x01-y01","/JADE_OPAL_2000_S4300807/d22-x01-y05"] analyses["EventShapes"]["6jet_dur"][189.0] = ["/ALEPH_2004_S5765862/d232-x01-y01","/JADE_OPAL_2000_S4300807/d23-x01-y05"] analyses["EventShapes"]["6jet_dur"][200.0] = ["/ALEPH_2004_S5765862/d233-x01-y01"] analyses["EventShapes"]["6jet_dur"][206.0] = ["/ALEPH_2004_S5765862/d234-x01-y01"] # four jet angles analyses["FourJet"]["BZ" ][91.2] = ["/OPAL_2001_S4553896/d03-x01-y01"] analyses["FourJet"]["KSW" ][91.2] = ["/OPAL_2001_S4553896/d04-x01-y01"] analyses["FourJet"]["NR" ][91.2] = ["/OPAL_2001_S4553896/d05-x01-y01"] analyses["FourJet"]["alpha34"][91.2] = ["/OPAL_2001_S4553896/d06-x01-y01"] # EEC analyses["EventShapes"]["EEC" ][7.7 ] = ["/PLUTO_1981_I156315/d01-x01-y01"] analyses["EventShapes"]["EEC" ][9.4 ] = ["/PLUTO_1981_I156315/d01-x01-y02"] analyses["EventShapes"]["EEC" ][12.0] = ["/PLUTO_1981_I156315/d01-x01-y03"] analyses["EventShapes"]["EEC" ][13.0] = ["/PLUTO_1981_I156315/d01-x01-y04"] analyses["EventShapes"]["EEC" ][14.0] = ["/TASSO_1987_I248660/d01-x01-y01","/JADE_1984_I202784/d01-x01-y01"] analyses["EventShapes"]["EEC" ][17.0] = ["/PLUTO_1981_I156315/d01-x01-y05"] analyses["EventShapes"]["EEC" ][22.0] = ["/TASSO_1987_I248660/d02-x01-y01","/JADE_1984_I202784/d01-x01-y02", "/CELLO_1982_I12010/d01-x01-y01","/PLUTO_1981_I156315/d01-x01-y06"] analyses["EventShapes"]["EEC" ][27.6] = ["/PLUTO_1981_I156315/d01-x01-y07"] analyses["EventShapes"]["EEC" ][29.0] = ["/MAC_1985_I202924/d01-x01-y01","/MAC_1985_I202924/d01-x01-y02"] analyses["EventShapes"]["EEC" ][30.8] = ["/PLUTO_1981_I156315/d01-x01-y08"] analyses["EventShapes"]["EEC" ][34.0] = ["/JADE_1984_I202784/d01-x01-y03","/CELLO_1982_I12010/d01-x01-y02"] analyses["EventShapes"]["EEC" ][34.6] = ["/PLUTO_1985_I215869/d01-x01-y01"] analyses["EventShapes"]["EEC" ][34.8] = ["/TASSO_1987_I248660/d03-x01-y01"] analyses["EventShapes"]["EEC" ][43.5] = ["/TASSO_1987_I248660/d04-x01-y01"] analyses["EventShapes"]["EEC" ][53.3] = ["/TOPAZ_1989_I279575/d01-x01-y01","/TOPAZ_1989_I279575/d01-x01-y02"] analyses["EventShapes"]["EEC" ][91.2] = ["/DELPHI_1996_S3430090/d33-x01-y01"] analyses["EventShapes"]["EEC" ][59.5] = ["/TOPAZ_1989_I279575/d02-x01-y01","/TOPAZ_1989_I279575/d02-x01-y02"] # AEEC analyses["EventShapes"]["AEEC"][8.65] = ["/PLUTO_1981_I156315/d04-x01-y01"] analyses["EventShapes"]["AEEC"][14.0] = ["/JADE_1984_I202784/d02-x01-y01"] analyses["EventShapes"]["AEEC"][22.0] = ["/JADE_1984_I202784/d02-x01-y02","/CELLO_1982_I12010/d03-x01-y01"] analyses["EventShapes"]["AEEC"][29.0] = ["/MAC_1985_I202924/d01-x01-y03"] analyses["EventShapes"]["AEEC"][30.8] = ["/PLUTO_1981_I156315/d05-x01-y01"] analyses["EventShapes"]["AEEC"][34.0] = ["/JADE_1984_I202784/d02-x01-y03","/CELLO_1982_I12010/d03-x01-y02"] analyses["EventShapes"]["AEEC"][53.3] = ["/TOPAZ_1989_I279575/d01-x01-y03"] analyses["EventShapes"]["AEEC"][59.5] = ["/TOPAZ_1989_I279575/d02-x01-y03"] analyses["EventShapes"]["AEEC"][91.2] = ["/DELPHI_1996_S3430090/d34-x01-y01"] # sphericity based analyses["EventShapes"]["S"][12.0 ] = ["/TASSO_1980_I153511/d01-x01-y01"] analyses["EventShapes"]["S"][14.0 ] = ["/TASSO_1990_S2148048/d06-x01-y01"] analyses["EventShapes"]["S"][22.0 ] = ["/TASSO_1990_S2148048/d06-x01-y02"] analyses["EventShapes"]["S"][29.0 ] = ["/HRS_1985_I201482/d01-x01-y01"] analyses["EventShapes"]["S"][30.8 ] = ["/TASSO_1980_I153511/d02-x01-y01"] analyses["EventShapes"]["S"][35.0 ] = ["/TASSO_1990_S2148048/d06-x01-y03","/TASSO_1988_I263859/d01-x01-y01"] analyses["EventShapes"]["S"][44.0 ] = ["/TASSO_1990_S2148048/d06-x01-y04"] analyses["EventShapes"]["S"][45.0 ] = ["/DELPHI_2003_I620250/d04-x01-y01"] analyses["EventShapes"]["S"][55.2 ] = ["/AMY_1990_I283337/d16-x01-y01"] analyses["EventShapes"]["S"][66.0 ] = ["/DELPHI_2003_I620250/d04-x01-y02"] analyses["EventShapes"]["S"][76.0 ] = ["/DELPHI_2003_I620250/d04-x01-y03"] analyses["EventShapes"]["S"][91.2 ] = ["/ALEPH_2004_S5765862/d141-x01-y01","/DELPHI_1996_S3430090/d15-x01-y01", "/ALEPH_1996_S3486095/d01-x01-y01","/OPAL_2004_S6132243/d10-x01-y01"] analyses["EventShapes"]["S"][133.0] = ["/ALEPH_2004_S5765862/d142-x01-y01","/OPAL_2004_S6132243/d10-x01-y02"] analyses["EventShapes"]["S"][161.0] = ["/ALEPH_2004_S5765862/d143-x01-y01"] analyses["EventShapes"]["S"][172.0] = ["/ALEPH_2004_S5765862/d144-x01-y01"] analyses["EventShapes"]["S"][177.0] = ["/OPAL_2004_S6132243/d10-x01-y03"] analyses["EventShapes"]["S"][183.0] = ["/DELPHI_2003_I620250/d66-x01-y01","/ALEPH_2004_S5765862/d145-x01-y01"] analyses["EventShapes"]["S"][189.0] = ["/DELPHI_2003_I620250/d66-x01-y02","/ALEPH_2004_S5765862/d146-x01-y01"] analyses["EventShapes"]["S"][192.0] = ["/DELPHI_2003_I620250/d66-x01-y03"] analyses["EventShapes"]["S"][196.0] = ["/DELPHI_2003_I620250/d66-x01-y04"] analyses["EventShapes"]["S"][197.0] = ["/OPAL_2004_S6132243/d10-x01-y04"] analyses["EventShapes"]["S"][200.0] = ["/DELPHI_2003_I620250/d67-x01-y01","/ALEPH_2004_S5765862/d147-x01-y01"] analyses["EventShapes"]["S"][202.0] = ["/DELPHI_2003_I620250/d67-x01-y02"] analyses["EventShapes"]["S"][205.0] = ["/DELPHI_2003_I620250/d67-x01-y03"] analyses["EventShapes"]["S"][206.0] = ["/ALEPH_2004_S5765862/d148-x01-y01"] analyses["EventShapes"]["S"][207.0] = ["/DELPHI_2003_I620250/d67-x01-y04"] analyses["EventShapes"]["P"][45.0 ] = ["/DELPHI_2003_I620250/d05-x01-y01"] analyses["EventShapes"]["P"][66.0 ] = ["/DELPHI_2003_I620250/d05-x01-y02"] analyses["EventShapes"]["P"][76.0 ] = ["/DELPHI_2003_I620250/d05-x01-y03"] analyses["EventShapes"]["P"][91.2 ] = ["/DELPHI_1996_S3430090/d17-x01-y01"] analyses["EventShapes"]["P"][133.0] = ["/ALEPH_2004_S5765862/d126-x01-y01"] analyses["EventShapes"]["P"][161.0] = ["/ALEPH_2004_S5765862/d127-x01-y01"] analyses["EventShapes"]["P"][172.0] = ["/ALEPH_2004_S5765862/d128-x01-y01"] analyses["EventShapes"]["P"][183.0] = ["/DELPHI_2003_I620250/d68-x01-y01","/ALEPH_2004_S5765862/d129-x01-y01"] analyses["EventShapes"]["P"][189.0] = ["/DELPHI_2003_I620250/d68-x01-y02","/ALEPH_2004_S5765862/d130-x01-y01"] analyses["EventShapes"]["P"][192.0] = ["/DELPHI_2003_I620250/d68-x01-y03"] analyses["EventShapes"]["P"][196.0] = ["/DELPHI_2003_I620250/d68-x01-y04"] analyses["EventShapes"]["P"][200.0] = ["/DELPHI_2003_I620250/d69-x01-y01","/ALEPH_2004_S5765862/d131-x01-y01"] analyses["EventShapes"]["P"][202.0] = ["/DELPHI_2003_I620250/d69-x01-y02"] analyses["EventShapes"]["P"][205.0] = ["/DELPHI_2003_I620250/d69-x01-y03"] analyses["EventShapes"]["P"][206.0] = ["/ALEPH_2004_S5765862/d132-x01-y01"] analyses["EventShapes"]["P"][207.0] = ["/DELPHI_2003_I620250/d69-x01-y04"] analyses["EventShapes"]["A"][12.0 ] = ["/TASSO_1980_I153511/d03-x01-y01"] analyses["EventShapes"]["A"][14.0 ] = ["/TASSO_1990_S2148048/d07-x01-y01"] analyses["EventShapes"]["A"][22.0 ] = ["/TASSO_1990_S2148048/d07-x01-y02","/HRS_1985_I201482/d06-x01-y01"] analyses["EventShapes"]["A"][30.8 ] = ["/TASSO_1980_I153511/d04-x01-y01"] analyses["EventShapes"]["A"][35.0 ] = ["/TASSO_1990_S2148048/d07-x01-y03","/TASSO_1988_I263859/d02-x01-y01"] analyses["EventShapes"]["A"][44.0 ] = ["/TASSO_1990_S2148048/d07-x01-y04"] analyses["EventShapes"]["A"][55.2 ] = ["/AMY_1990_I283337/d17-x01-y01"] analyses["EventShapes"]["A"][91.2 ] = ["/ALEPH_2004_S5765862/d118-x01-y01","/DELPHI_1996_S3430090/d16-x01-y01", "/ALEPH_1996_S3486095/d02-x01-y01","/OPAL_2004_S6132243/d09-x01-y01"] analyses["EventShapes"]["A"][133.0] = ["/ALEPH_2004_S5765862/d119-x01-y01","/OPAL_2004_S6132243/d09-x01-y02"] analyses["EventShapes"]["A"][161.0] = ["/ALEPH_2004_S5765862/d120-x01-y01"] analyses["EventShapes"]["A"][172.0] = ["/ALEPH_2004_S5765862/d121-x01-y01"] analyses["EventShapes"]["A"][177.0] = ["/OPAL_2004_S6132243/d09-x01-y03"] analyses["EventShapes"]["A"][183.0] = ["/DELPHI_2003_I620250/d70-x01-y01","/ALEPH_2004_S5765862/d122-x01-y01"] analyses["EventShapes"]["A"][189.0] = ["/DELPHI_2003_I620250/d70-x01-y02","/ALEPH_2004_S5765862/d123-x01-y01"] analyses["EventShapes"]["A"][192.0] = ["/DELPHI_2003_I620250/d70-x01-y03"] analyses["EventShapes"]["A"][196.0] = ["/DELPHI_2003_I620250/d70-x01-y04"] analyses["EventShapes"]["A"][197.0] = ["/OPAL_2004_S6132243/d09-x01-y04"] analyses["EventShapes"]["A"][200.0] = ["/DELPHI_2003_I620250/d71-x01-y01","/ALEPH_2004_S5765862/d124-x01-y01"] analyses["EventShapes"]["A"][202.0] = ["/DELPHI_2003_I620250/d71-x01-y02"] analyses["EventShapes"]["A"][205.0] = ["/DELPHI_2003_I620250/d71-x01-y03"] analyses["EventShapes"]["A"][206.0] = ["/ALEPH_2004_S5765862/d125-x01-y01"] analyses["EventShapes"]["A"][207.0] = ["/DELPHI_2003_I620250/d71-x01-y04"] # other analyses["EventShapes"]["Qx" ][55.2] = ["/AMY_1990_I283337/d18-x01-y01"] analyses["EventShapes"]["Q21"][55.2] = ["/AMY_1990_I283337/d19-x01-y01"] analyses["QED"] = ["/ALEPH_1996_S3196992/d03-x01-y01","/ALEPH_1996_S3196992/d04-x01-y01", "/ALEPH_1996_S3196992/d01-x01-y01","/ALEPH_1996_S3196992/d02-x01-y01", "/ALEPH_1996_S3196992/d05-x01-y01","/ALEPH_1996_S3196992/d06-x01-y01", "/ALEPH_1996_S3196992/d07-x01-y01","/ALEPH_1996_S3196992/d08-x01-y01", "/OPAL_1993_S2692198/d01-x01-y01","/OPAL_1993_S2692198/d02-x01-y01", "/OPAL_1993_S2692198/d03-x01-y01","/OPAL_1993_S2692198/d03-x01-y02", "/OPAL_1993_S2692198/d03-x01-y03","/OPAL_1993_S2692198/d03-x01-y04", "/OPAL_1993_S2692198/d04-x01-y01","/OPAL_1993_S2692198/d04-x01-y02", "/OPAL_1993_S2692198/d04-x01-y03","/OPAL_1993_S2692198/d04-x01-y04",] # tau decays # 2 body analyses["TauDecays"]["KK" ]["data"] = ["/BABAR_2018_I1679886/d01-x01-y01"] analyses["TauDecays"]["KK" ]["MC" ] = ["/MC_TAU_Decay/h_2B_m2KK","/MC_TAU_Decay/h_2B_mKK"] analyses["TauDecays"]["Kpi" ]["data"] = ["/BELLE_2007_I753243/d01-x01-y01"] analyses["TauDecays"]["Kpi" ]["MC" ] = ["/MC_TAU_Decay/h_2B_m2KpiA","/MC_TAU_Decay/h_2B_m2KpiB", "/MC_TAU_Decay/h_2B_mKpiA","/MC_TAU_Decay/h_2B_mKpiB"] analyses["TauDecays"]["2pi" ]["data"] = ["/BELLE_2008_I786560/d01-x01-y01","/ALEPH_2014_I1267648/d01-x01-y01", "/CLEO_1999_I508944/d01-x01-y01"] analyses["TauDecays"]["2pi" ]["MC" ] = ["/MC_TAU_Decay/h_2B_m2pipi","/MC_TAU_Decay/h_2B_mpipi"] analyses["TauDecays"]["3pi" ]["data"] = ["/BELLE_2010_I841618/d01-x01-y01","/BABAR_2007_S7266081/d01-x01-y01", "/BABAR_2007_S7266081/d02-x01-y01","/BABAR_2007_S7266081/d11-x01-y01", "/ALEPH_2014_I1267648/d02-x01-y01","/ALEPH_2014_I1267648/d04-x01-y01"] analyses["TauDecays"]["3pi" ]["MC" ] = ["/MC_TAU_Decay/h_3B_pi0pi0pim_1","/MC_TAU_Decay/h_3B_pi0pi0pim_2","/MC_TAU_Decay/h_3B_pi0pi0pim_3", "/MC_TAU_Decay/h_3B_pippimpim_1","/MC_TAU_Decay/h_3B_pippimpim_2","/MC_TAU_Decay/h_3B_pippimpim_3"] analyses["TauDecays"]["Kpipi"]["data"] = ["/BELLE_2010_I841618/d02-x01-y01" ,"/BABAR_2007_S7266081/d03-x01-y01", "/BABAR_2007_S7266081/d04-x01-y01","/BABAR_2007_S7266081/d05-x01-y01", "/BABAR_2007_S7266081/d12-x01-y01"] analyses["TauDecays"]["Kpipi"]["MC" ] = ["/MC_TAU_Decay/h_3B_pi0pi0km_1","/MC_TAU_Decay/h_3B_pi0pi0km_2","/MC_TAU_Decay/h_3B_pi0pi0km_3", "/MC_TAU_Decay/h_3B_pimk0pi0_1","/MC_TAU_Decay/h_3B_pimk0pi0_2","/MC_TAU_Decay/h_3B_pimk0pi0_3", "/MC_TAU_Decay/h_3B_pimk0pi0_4"] analyses["TauDecays"]["KKpi" ]["data"] = ["/BELLE_2010_I841618/d03-x01-y01","/BABAR_2007_S7266081/d06-x01-y01", "/BABAR_2007_S7266081/d07-x01-y01","/BABAR_2007_S7266081/d08-x01-y01", "/BABAR_2007_S7266081/d13-x01-y01"] analyses["TauDecays"]["KKpi" ]["MC" ] = ["/MC_TAU_Decay/h_3B_klpimkl_1","/MC_TAU_Decay/h_3B_klpimkl_2","/MC_TAU_Decay/h_3B_klpimkl_3", "/MC_TAU_Decay/h_3B_kmpi0k0_1","/MC_TAU_Decay/h_3B_kmpi0k0_2","/MC_TAU_Decay/h_3B_kmpi0k0_3", "/MC_TAU_Decay/h_3B_kmpi0k0_4","/MC_TAU_Decay/h_3B_kmpimkp_1","/MC_TAU_Decay/h_3B_kmpimkp_2", "/MC_TAU_Decay/h_3B_kmpimkp_3","/MC_TAU_Decay/h_3B_kmpimkp_4","/MC_TAU_Decay/h_3B_kmpimpip_1", "/MC_TAU_Decay/h_3B_kmpimpip_2","/MC_TAU_Decay/h_3B_kmpimpip_3","/MC_TAU_Decay/h_3B_kmpimpip_4", "/MC_TAU_Decay/h_3B_kspimkl_1","/MC_TAU_Decay/h_3B_kspimkl_2","/MC_TAU_Decay/h_3B_kspimkl_3", "/MC_TAU_Decay/h_3B_kspimkl_4","/MC_TAU_Decay/h_3B_kspimks_1","/MC_TAU_Decay/h_3B_kspimks_2", "/MC_TAU_Decay/h_3B_kspimks_3"] analyses["TauDecays"]["3K" ]["data"] = ["/BELLE_2010_I841618/d04-x01-y01","/BABAR_2007_S7266081/d09-x01-y01", "/BABAR_2007_S7266081/d10-x01-y01","/BABAR_2007_S7266081/d14-x01-y01"] analyses["TauDecays"]["Keta"]["MC" ] = ["/MC_TAU_Decay/h_2B_m2Keta","/MC_TAU_Decay/h_2B_mKeta"] analyses["TauDecays"]["lnu" ]["MC" ] = ["/MC_TAU_Decay/h_2B_m2enu","/MC_TAU_Decay/h_2B_m2munu", "/MC_TAU_Decay/h_2B_menu","/MC_TAU_Decay/h_2B_mmunu"] analyses["TauDecays"]["2pieta"]["MC" ] = ["/MC_TAU_Decay/h_3B_pimpi0eta_1","/MC_TAU_Decay/h_3B_pimpi0eta_2", "/MC_TAU_Decay/h_3B_pimpi0eta_3","/MC_TAU_Decay/h_3B_pimpi0eta_4"] analyses["TauDecays"]["2pigamma"]["MC" ] = ["/MC_TAU_Decay/h_3B_pimpi0gamma_1","/MC_TAU_Decay/h_3B_pimpi0gamma_2", "/MC_TAU_Decay/h_3B_pimpi0gamma_3","/MC_TAU_Decay/h_3B_pimpi0gamma_4"] analyses["TauDecays"]["4pi"]["data"] = ["/ALEPH_2014_I1267648/d03-x01-y01","/ALEPH_2014_I1267648/d05-x01-y01"] analyses["TauDecays"]["4pi"]["MC" ] = ["/MC_TAU_Decay/h_4B_pipi_1","/MC_TAU_Decay/h_4B_pipi_2", "/MC_TAU_Decay/h_4B_pipi_3","/MC_TAU_Decay/h_4B_pipi_4", "/MC_TAU_Decay/h_4B_pipi_5","/MC_TAU_Decay/h_4B_pipi_6", "/MC_TAU_Decay/h_4B_pipipi_1","/MC_TAU_Decay/h_4B_pipipi_2", "/MC_TAU_Decay/h_4B_pipipi_3","/MC_TAU_Decay/h_4B_pipipi_4", "/MC_TAU_Decay/h_4B_pipipi_5","/MC_TAU_Decay/h_4B_pipipipi_1", "/MC_TAU_Decay/h_4B_pipipipi_2"] analyses["TauDecays"]["5pi"]["MC" ] = ["/MC_TAU_Decay/h_5B_pipi1_1","/MC_TAU_Decay/h_5B_pipi1_2", "/MC_TAU_Decay/h_5B_pipi1_3","/MC_TAU_Decay/h_5B_pipi1_4", "/MC_TAU_Decay/h_5B_pipi1_5","/MC_TAU_Decay/h_5B_pipi2_1", "/MC_TAU_Decay/h_5B_pipi2_2","/MC_TAU_Decay/h_5B_pipi3_1", "/MC_TAU_Decay/h_5B_pipi3_2","/MC_TAU_Decay/h_5B_pipi3_3", "/MC_TAU_Decay/h_5B_pipipi1_1","/MC_TAU_Decay/h_5B_pipipi1_2", "/MC_TAU_Decay/h_5B_pipipi1_3","/MC_TAU_Decay/h_5B_pipipi1_4", "/MC_TAU_Decay/h_5B_pipipi1_5","/MC_TAU_Decay/h_5B_pipipi2_1", "/MC_TAU_Decay/h_5B_pipipi2_2","/MC_TAU_Decay/h_5B_pipipi3_1", "/MC_TAU_Decay/h_5B_pipipi3_2","/MC_TAU_Decay/h_5B_pipipi3_3", "/MC_TAU_Decay/h_5B_pipipipi1_1","/MC_TAU_Decay/h_5B_pipipipi1_2", "/MC_TAU_Decay/h_5B_pipipipi1_3","/MC_TAU_Decay/h_5B_pipipipi2_1", "/MC_TAU_Decay/h_5B_pipipipi2_2","/MC_TAU_Decay/h_5B_pipipipi3_1", "/MC_TAU_Decay/h_5B_pipipipi3_2","/MC_TAU_Decay/h_5B_q1", "/MC_TAU_Decay/h_5B_q2","/MC_TAU_Decay/h_5B_q3"] analyses["EventShapes"]["2jet_jade"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d07-x01-y01"] analyses["EventShapes"]["3jet_jade"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d07-x01-y02"] analyses["EventShapes"]["4jet_jade"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d07-x01-y03"] analyses["EventShapes"]["5jet_jade"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d07-x01-y04"] analyses["EventShapes"]["6jet_jade"][35.0 ] = ["/JADE_OPAL_2000_S4300807/d07-x01-y05"] analyses["EventShapes"]["2jet_jade"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d08-x01-y01"] analyses["EventShapes"]["3jet_jade"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d08-x01-y02"] analyses["EventShapes"]["4jet_jade"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d08-x01-y03"] analyses["EventShapes"]["5jet_jade"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d08-x01-y04"] analyses["EventShapes"]["6jet_jade"][44.0 ] = ["/JADE_OPAL_2000_S4300807/d08-x01-y05"] analyses["EventShapes"]["2jet_jade"][91.2 ] = ["/JADE_OPAL_2000_S4300807/d09-x01-y01"] analyses["EventShapes"]["3jet_jade"][91.2 ] = ["/JADE_OPAL_2000_S4300807/d09-x01-y02"] analyses["EventShapes"]["4jet_jade"][91.2 ] = ["/JADE_OPAL_2000_S4300807/d09-x01-y03"] analyses["EventShapes"]["5jet_jade"][91.2 ] = ["/JADE_OPAL_2000_S4300807/d09-x01-y04"] analyses["EventShapes"]["6jet_jade"][91.2 ] = ["/JADE_OPAL_2000_S4300807/d09-x01-y05"] analyses["EventShapes"]["2jet_jade"][133.0] = ["/JADE_OPAL_2000_S4300807/d10-x01-y01"] analyses["EventShapes"]["3jet_jade"][133.0] = ["/JADE_OPAL_2000_S4300807/d10-x01-y02"] analyses["EventShapes"]["4jet_jade"][133.0] = ["/JADE_OPAL_2000_S4300807/d10-x01-y03"] analyses["EventShapes"]["5jet_jade"][133.0] = ["/JADE_OPAL_2000_S4300807/d10-x01-y04"] analyses["EventShapes"]["6jet_jade"][133.0] = ["/JADE_OPAL_2000_S4300807/d10-x01-y05"] analyses["EventShapes"]["2jet_jade"][161.0] = ["/JADE_OPAL_2000_S4300807/d11-x01-y01"] analyses["EventShapes"]["3jet_jade"][161.0] = ["/JADE_OPAL_2000_S4300807/d11-x01-y02"] analyses["EventShapes"]["4jet_jade"][161.0] = ["/JADE_OPAL_2000_S4300807/d11-x01-y03"] analyses["EventShapes"]["5jet_jade"][161.0] = ["/JADE_OPAL_2000_S4300807/d11-x01-y04"] analyses["EventShapes"]["6jet_jade"][161.0] = ["/JADE_OPAL_2000_S4300807/d11-x01-y05"] analyses["EventShapes"]["2jet_jade"][172.0] = ["/JADE_OPAL_2000_S4300807/d12-x01-y01"] analyses["EventShapes"]["3jet_jade"][172.0] = ["/JADE_OPAL_2000_S4300807/d12-x01-y02"] analyses["EventShapes"]["4jet_jade"][172.0] = ["/JADE_OPAL_2000_S4300807/d12-x01-y03"] analyses["EventShapes"]["5jet_jade"][172.0] = ["/JADE_OPAL_2000_S4300807/d12-x01-y04"] analyses["EventShapes"]["6jet_jade"][172.0] = ["/JADE_OPAL_2000_S4300807/d12-x01-y05"] analyses["EventShapes"]["2jet_jade"][183.0] = ["/JADE_OPAL_2000_S4300807/d13-x01-y01"] analyses["EventShapes"]["3jet_jade"][183.0] = ["/JADE_OPAL_2000_S4300807/d13-x01-y02"] analyses["EventShapes"]["4jet_jade"][183.0] = ["/JADE_OPAL_2000_S4300807/d13-x01-y03"] analyses["EventShapes"]["5jet_jade"][183.0] = ["/JADE_OPAL_2000_S4300807/d13-x01-y04"] analyses["EventShapes"]["6jet_jade"][183.0] = ["/JADE_OPAL_2000_S4300807/d13-x01-y05"] analyses["EventShapes"]["2jet_jade"][189.0] = ["/JADE_OPAL_2000_S4300807/d14-x01-y01"] analyses["EventShapes"]["3jet_jade"][189.0] = ["/JADE_OPAL_2000_S4300807/d14-x01-y02"] analyses["EventShapes"]["4jet_jade"][189.0] = ["/JADE_OPAL_2000_S4300807/d14-x01-y03"] analyses["EventShapes"]["5jet_jade"][189.0] = ["/JADE_OPAL_2000_S4300807/d14-x01-y04"] analyses["EventShapes"]["6jet_jade"][189.0] = ["/JADE_OPAL_2000_S4300807/d14-x01-y05"] figures=glob.glob("%s/*/*.dat" % directory) used=[] plotOutput="""
{name}: {energy} GeV
""" plotOutput2="""
{name}
""" def writePlots(plots,output) : global figures output.write("
\n") for energy in sorted(plots.keys()) : try : float(energy) except: continue for name in sorted(plots[energy]) : dat=name[1:] +".dat" figName = ("%s/%s" %(directory,dat)) if(figName not in figures) : continue used.append(figName) pdf=name[1:] +".pdf" png=name[1:] +".png" output.write(plotOutput.format(name=name[1:],pdf=pdf,png=png,dat=dat,energy=energy)) output.write("\n") output.write("
") def writePlots2(plots,output) : global figures output.write("
\n") for name in sorted(plots) : dat=name[1:] +".dat" figName = ("%s/%s" %(directory,dat)) tempName=figName.replace(".dat","") found = False names=[] for name in figures : if(tempName+"_" in name or tempName+".dat"==name) : found=True names.append(name) if(not found) : continue for name in names : used.append(name) trim = name[:-4].replace("%s/"%directory,"") pdf=trim+".pdf" png=trim+".png" dat=trim+".dat" output.write(plotOutput2.format(name=trim,pdf=pdf,png=png,dat=dat)) output.write("\n") output.write("
") def writeMisc(index) : global figures,used for val in used : if(val in figures) : del figures[figures.index(val)] index.write("
  • Other Plots\n") print 'Unused figures',len(figures) for val in figures: print val misc=open(os.path.join(directory,"misc.html"),'w') misc.write(header.format(title="Comparisions of Herwig7 and Miscellaneous $e^+e^-$ Data")) misc.write("
    \n") for val in sorted(figures) : name=val.replace("Rivet-EE","").replace(".dat","") dat=name[1:] +".dat" figName = ("%s/%s" %(directory,dat)) if(figName not in figures) : continue del figures[figures.index(figName)] pdf=name[1:] +".pdf" png=name[1:] +".png" misc.write(plotOutput.format(name=name[1:],pdf=pdf,png=png,dat=dat,energy="")) misc.write("\n") misc.write("
    ") # footer misc.write("\n") misc.close() def writeQED(index) : index.write("
  • QED Radiation\n") qed=open(os.path.join(directory,"qed.html"),'w') qed.write(header.format(title="Comparisions of Herwig7 and Photon Radiation Data")) writePlots2(analyses["QED"],qed) # footer qed.write("\n") qed.close() def writeTauDecays(index) : index.write("
  • Tau Decays\n") decays=open(os.path.join(directory,"taus.html"),'w') decays.write(header.format(title="Comparisions of Herwig7 and Tau Decay Data")) names = { "2pi" : "$\\tau\\to\\nu_\\tau\\pi^-\\pi^0$", "Kpi" : "$\\tau\\to\\nu_\\tau K\\pi$", "KK" : "$\\tau\\to\\nu_\\tau KK$", "lnu" : "$\\tau\\to\\nu_\\tau \\ell\\nu$", "Keta" : "$\\tau\\to\\nu_\\tau K\\eta$", "3pi" : "$\\tau\\to\\nu_\\tau\\pi\\pi\\pi$", "Kpipi" : "$\\tau\\to\\nu_\\tau K\\pi\\pi$", "KKpi" : "$\\tau\\to\\nu_\\tau KK\\pi$", "3K" : "$\\tau\\to\\nu_\\tau K^+K^-K^-$", "2pieta" : "$\\tau\\to\\nu_\\tau\\eta\\pi\\pi$", "2pigamma" : "$\\tau\\to\\nu_\\tau\\gamma\\pi\\pi$", "4pi" : "$\\tau\\to\\nu_\\tau4\\pi$", "5pi" : "$\\tau\\to\\nu_\\tau5\\pi$",} index.write("\n") decays.write("\n") decays.close() def writeParticleDecays(particles,decays,index) : for val in particles : if val not in analyses["HadronDecays"] : continue decays.write("
    \n

    %s

    \n" % (val,particleNames[val])) index.write("
    %s,\n" % (val,particleNames[val])) if("Modes" in analyses["HadronDecays"][val] and len(analyses["HadronDecays"][val]["Modes"]) !=0) : for mode,plots in analyses["HadronDecays"][val]["Modes"].iteritems() : decays.write("
    Mode: %s
    \n" % mode) if("data" in plots) : decays.write("
    Data
    \n") writePlots2(plots["data"],decays) if("MC" in plots) : decays.write("
    Monte Carlo
    \n") writePlots2(plots["MC"],decays) # multiplicity dist if("DistChargedMult" in analyses["HadronDecays"][val] and len(analyses["HadronDecays"][val]["DistChargedMult"]) !=0) : decays.write("
    Charged Particle Multplicity Distribution
    \n") if("data" in analyses["HadronDecays"][val]["DistChargedMult"]) : decays.write("
    Data
    \n") writePlots2(analyses["HadronDecays"][val]["DistChargedMult"]["data"],decays) if("MC" in analyses["HadronDecays"][val]["DistChargedMult"]) : decays.write("
    Monte Carlo
    \n") writePlots2(analyses["HadronDecays"][val]["DistChargedMult"]["MC"],decays) # multiplicities if("Mult" in analyses["HadronDecays"][val] and len(analyses["HadronDecays"][val]["Mult"]) !=0) : for prod,plots in sorted(analyses["HadronDecays"][val]["Mult"].iteritems()): if(len(plots)==0) : continue decays.write("
    Multiplicity of %s
    \n" % particleNames[prod]) writePlots2(plots,decays) # spectra if("Spectrum" in analyses["HadronDecays"][val] and len(analyses["HadronDecays"][val]["Spectrum"]) !=0) : for prod,plots in sorted(analyses["HadronDecays"][val]["Spectrum"].iteritems()): if(len(plots)==0) : continue decays.write("
    Spectrum of %s
    \n" % particleNames[prod]) writePlots2(plots,decays) def writeDecays(index) : decays=open(os.path.join(directory,"decays.html"),'w') decays.write(header.format(title="Comparisions of Herwig7 and Hadronic Decay Data")) index.write("
  • Hadron Decays\n") index.write(" \n") decays.write("\n") decays.close() def writeMult(index) : index.write("
  • Identified Particle Multiplicities\n") mult=open(os.path.join(directory,"mult.html"),'w') mult.write(header.format(title="Comparisions of Herwig7 and $e^+e^-$ Particle Multiplicities")) # mesons mult.write("

    Mesons

    \n") mult.write("

    Light, Unflavoured

    \n") index.write("\n") mult.write("\n") mult.close() def writeSpectrum(particles,index,ident) : latexNames = { "x" : "Scaled Momentum/Energy", "xi" : "Log of Scaled Momentum/Energy", "p" : "Momentum/Energy", "Ratio" : "Ratios of particle multiplicities", "Other" : "Other distributions" } for pdgId in particles: if(pdgId not in analyses["IdentifiedParticle"]) : continue sumL = len(analyses["IdentifiedParticle"][pdgId]["x"])+len(analyses["IdentifiedParticle"][pdgId]["p"])+\ len(analyses["IdentifiedParticle"][pdgId]["xi"])+len(analyses["IdentifiedParticle"][pdgId]["Ratio"])\ +len(analyses["IdentifiedParticle"][pdgId]["Other"]) if(sumL==0) : continue # lines in html ident.write("
  • Identified Particle Spectra\n") index.write("\n") ident.write("\n") ident.close() def writeFlavour(index) : flavour=open(os.path.join(directory,"flavour.html"),'w') flavour.write(header.format(title="Comparisions of Herwig7 and Flavour Separated $e^+e^-$ Data")) index.write("
  • Flavour Separated\n") index.write(" \n") flavour.write("\n") flavour.close() def writeCharged(index) : # headers charged=open(os.path.join(directory,"charged.html"),'w') charged.write(header.format(title="Comparisions of Herwig7 and $e^+e^-$ Data on Charged Particles")) index.write("
  • Charged Particles\n") index.write("\n") charged.write("\n") charged.close() def writeJets(index) : jets=open(os.path.join(directory,"jets.html"),'w') jets.write(header.format(title="Comparisions of Herwig7 and $e^+e^-$ Jet Data")) index.write("
  • Jets\n") index.write("\n") jets.write("\n") jets.write("\n") jets.close() def writeEventShapes(index) : lFormat="""
    \n<{hlevel} id=\"{tag}\">{name}\n""" index.write("
    \n") # sphericity and related index.write("
  • Sphericity related: \n") event.write("

    Sphericity and Related Variables

    \n") for obs in ["S","P","A","Qx","Q21"]: if obs == "S" : title="Sphericity" elif obs == "P" : title="Planarity" elif obs == "A" : title="Aplanarity" elif obs == "Qx" : title="$Q_x$" elif obs == "Q21": title="$Q_2-Q_1$" event.write(lFormat.format(hlevel="h3",tag=obs,name=title)) index.write(" %s,\n" %(obs,title)) writePlots(analyses["EventShapes"][obs],event) event.write("\n") # jet masses event.write("

    Jet Masses

    \n") index.write("
  • Jet Masses: \n") for obs in ["HeavyJetMass","LightJetMass","TotalJetMass","JetMassDifference"]: if obs == "HeavyJetMass" : title="Heavy Jet Mass" elif obs == "LightJetMass" : title="Light Jet Mass" elif obs == "TotalJetMass" : title="Total Jet Mass" elif obs == "JetMassDifference" : title="Jet Mass Difference" event.write(lFormat.format(hlevel="h3",tag=obs,name=title)) index.write(" %s,\n" %(obs,title)) writePlots(analyses["EventShapes"][obs],event) event.write("\n") # EEC and AEEC event.write("

    Energy-Energy Correlations

    \n") index.write("
  • Energy-Energy Correlations: \n") for obs in ["EEC","AEEC"]: if obs == "EEC" : title="Energy-Energy Correlation" elif obs == "AEEC" : title="Energy-Energy Asymmetry Correlation" event.write(lFormat.format(hlevel="h3",tag=obs,name=title)) index.write(" %s,\n" %(obs,title)) writePlots(analyses["EventShapes"][obs],event) event.write("\n") # jet broadening event.write("

    Jet Broadenings

    \n") index.write("
  • Jet Broadening: \n") for obs in ["BT","BW","BN","Bdiff"]: if obs == "BT" : title="Total Jet Broadening" elif obs == "BW" : title="Wide Jet Broadening" elif obs == "BN" : title="Narrow Jet Broadening" elif obs == "Bdiff" : title="Difference of Jet Broadenings" event.write(lFormat.format(hlevel="h3",tag=obs,name=title)) index.write(" %s,\n" %(obs,title)) writePlots(analyses["EventShapes"][obs],event) event.write("\n") # C and D event.write("

    C and D parameters

    \n") index.write("
  • C and D parameters: \n") for obs in ["C","D"]: title= "%s-parameter" % obs event.write(lFormat.format(hlevel="h3",tag=obs,name=title)) index.write(" %s,\n" %(obs,title)) writePlots(analyses["EventShapes"][obs],event) event.write("\n") # moments of event shapes event.write("

    Moments of Event Shapes

    \n") index.write("
  • Moments: \n") for val in ["Moment_T","Moment_M","Moment_m","Moment_O","Moment_H","Moment_L", "Moment_BT","Moment_BW","Moment_BN","Moment_C","Moment_S","Moment_y"] : if(val=="Moment_T") : event.write("
    \n

    Thrust

    \n") index.write(" thrust,\n") elif(val=="Moment_M") : event.write("
    \n

    Thrust Major

    \n") index.write("
    major,\n") elif(val=="Moment_m") : event.write("
    \n

    Thrust Minor

    \n") index.write("
    minor,\n") elif(val=="Moment_O") : event.write("
    \n

    Oblateness

    \n") index.write("
    oblateness,\n") elif(val=="Moment_H") : event.write("
    \n

    Heavy Jet Mass

    \n") index.write("
    heavy jet mass,\n") elif(val=="Moment_L") : event.write("
  • Gluons\n") gluon=open(os.path.join(directory,"gluon.html"),'w') gluon.write(header.format(title="Comparisions of Herwig7 and $e^+e^-$ Data on Gluon Jets")) index.write("
      \n") # charged particles dists gluon.write("

      Charged Particle Multiplicity in Gluon Jets

      \n") index.write("
    • Charged Particle Multiplicity \n") gluon.write("
      \n") writePlots(analyses["Charged"]["DistChargedMult"][21],gluon) gluon.write("
      \n") # spectra index.write("
    • Charged Spectra \n") gluon.write("

      Charged Particle Spectra for Gluon Jets

      \n") for val in ["x","p","xi"] : if(len(analyses["Charged"]["ChargedSpectrum"][21][val])==0) : continue if(val=="x") : gluon.write("

      Scaled Momentum

      \n") elif(val=="p") : gluon.write("

      Momentum

      \n") elif(val=="xi") : gluon.write("

      Log of the Scaled Momentum

      \n") gluon.write("
      \n") writePlots(analyses["Charged"]["ChargedSpectrum"][21][val],gluon) gluon.write("
      \n") # footer index.write("
    \n") gluon.write("\n") gluon.close() print 'Total no of figures',len(figures) index=open(os.path.join(directory,"herwig.html"),'w') index.write(header.format(title="Comparisions of Herwig7 and $e^+e^-$ Data")) # event shapes writeEventShapes(index) # charged particles writeCharged(index) # jets writeJets(index) # identified particle spectra writeIdentified(index) # identified particle multiplicity writeMult(index) # flavour writeFlavour(index) # gluons writeGluon(index) # QED writeQED(index) # tau decays writeTauDecays(index) # hadron decays writeDecays(index) # remaining plots if(len(figures)>0) : writeMisc(index) else : print 'All figures used' # footer index.write("\n") index.write("\n") index.close() diff --git a/src/DIS-Matchbox.in b/src/DIS-Matchbox.in --- a/src/DIS-Matchbox.in +++ b/src/DIS-Matchbox.in @@ -1,151 +1,152 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Matchbox example input file ################################################## ################################################## ## Collider type ################################################## read snippets/Matchbox.in read snippets/EPCollider.in ################################################## ## Beam energies ################################################## cd /Herwig/EventHandlers ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## EP collider parameters cd /Herwig/EventHandlers set EventHandler:BeamA /Herwig/Particles/e- set Luminosity:BeamEMaxA 30.*GeV set EventHandler:BeamB /Herwig/Particles/p+ set Luminosity:BeamEMaxB 920.*GeV ## Set the order of the couplings cd /Herwig/MatrixElements/Matchbox set Factory:OrderInAlphaS 0 set Factory:OrderInAlphaEW 2 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do Factory:Process e- p -> e- j ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in # read Matchbox/MadGraph-OpenLoops.in ################################################## ## Cut selection ## See the documentation for more options ################################################## ## cuts on additional jets cd /Herwig/Cuts # read Matchbox/DefaultEPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonQ2Scale ################################################## ## Matching and shower selection ## Please also see flavour scheme settings ## towards the end of the input file. ################################################## read Matchbox/MCatNLO-DefaultShower.in # read Matchbox/Powheg-DefaultShower.in ## use for strict LO/NLO comparisons # read Matchbox/MCatLO-DefaultShower.in ## use for improved LO showering # read Matchbox/LO-DefaultShower.in # read Matchbox/MCatNLO-DipoleShower.in # read Matchbox/Powheg-DipoleShower.in ## use for strict LO/NLO comparisons # read Matchbox/MCatLO-DipoleShower.in ## use for improved LO showering # read Matchbox/LO-DipoleShower.in # read Matchbox/NLO-NoShower.in # read Matchbox/LO-NoShower.in ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourScheme.in ## required for dipole shower and fixed order in five flavour scheme # read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +# read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## # cd /Herwig/Analysis # insert Rivet:Analyses 0 XXX_2015_ABC123 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 Rivet # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMC ################################################## ## Save the generator ################################################## do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode cd /Herwig/Generators saverun DIS-Matchbox EventGenerator diff --git a/src/LHC-MB.in b/src/LHC-MB.in --- a/src/LHC-MB.in +++ b/src/LHC-MB.in @@ -1,103 +1,62 @@ # -*- ThePEG-repository -*- ################################################################################ # This file contains our best tune to UE data from ATLAS at 7 TeV. More recent # tunes and tunes for other centre-of-mass energies as well as more usage # instructions can be obtained from this Herwig wiki page: # http://projects.hepforge.org/herwig/trac/wiki/MB_UE_tunes # The model for soft interactions and diffractions is explained in # [S. Gieseke, P. Kirchgaesser, F. Loshaj, arXiv:1612.04701] ################################################################################ read snippets/PPCollider.in ################################################## # Technical parameters for this run ################################################## cd /Herwig/Generators ################################################## # LHC physics parameters (override defaults here) ################################################## set EventGenerator:EventHandler:LuminosityFunction:Energy 7000.0 # Intrinsic pT tune extrapolated to LHC energy set /Herwig/Shower/ShowerHandler:IntrinsicPtGaussian 2.2*GeV # Minimum Bias read snippets/MB.in -# Read in parameters of the soft model recommended for MB/UE simulations -read snippets/SoftTune.in - - #Diffraction model read snippets/Diffraction.in -#Turn on Baryonic reconnection -read snippets/BaryonicReconnection.in - -# Normalization of the Min bias cross section for correct diffractive cross section -set /Herwig/MatrixElements/MEMinBias:csNorm 0.01 - - -# Use LHC parametrization of the cross section -set /Herwig/UnderlyingEvent/MPIHandler:DLmode 2 - - -#some preliminary parameters for the MPI model which need to be tuned -#TODO -set /Herwig/UnderlyingEvent/MPIHandler:pTmin0 3.02 -set /Herwig/UnderlyingEvent/MPIHandler:InvRadius 1.4 -set /Herwig/UnderlyingEvent/MPIHandler:Power 0.308 -set /Herwig/Partons/RemnantDecayer:ladderMult 0.45 -set /Herwig/Partons/RemnantDecayer:ladderbFactor 1.0 -set /Herwig/UnderlyingEvent/MPIHandler:DiffractiveRatio 0.17 - -#ordered pTs -set /Herwig/Partons/RemnantDecayer:PtDistribution 4 -#use random remnant connections -set /Herwig/Partons/RemnantDecayer:RandomConnection No - -# set the correct PDFs -set /Herwig/Partons/HardLOPDF:PDFName CT14lo -set /Herwig/Partons/ShowerLOPDF:PDFName CT14lo -set /Herwig/Partons/MPIPDF:PDFName CT14lo -set /Herwig/Partons/RemnantPDF:PDFName CT14lo - -#set /Herwig/Shower/ShowerHandler:CascadeHandler NULL # Switch off parton shower -#set /Herwig/Hadronization/HadronizationHandler:HadronizationHandler NULL -# do Soft interactions - -#set /Herwig/Hadronization/ColourReconnector:ColourReconnection No ################################################# # Analyses ################################################## -#Comment these lines out in order to use rivet analyses -cd /Herwig/Analysis -create ThePEG::RivetAnalysis RivetAnalysis RivetAnalysis.so - -cd /Herwig/Generators -insert EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis - -#Some example analyses -insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1084540 -insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8918562 +## Comment these lines out in order to use rivet analyses +# cd /Herwig/Analysis +# create ThePEG::RivetAnalysis RivetAnalysis RivetAnalysis.so + +# cd /Herwig/Generators +# insert EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/RivetAnalysis +## Some example analyses +# insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2012_I1084540 +# insert /Herwig/Analysis/RivetAnalysis:Analyses 0 ATLAS_2010_S8918562 #set /Herwig/Analysis/Plot:EventNumber 54 #cd /Herwig/Generators #insert EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/Plot #insert EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/HepMCFile #set /Herwig/Analysis/HepMCFile:PrintEvent 1000000 #set /Herwig/Analysis/HepMCFile:Format GenEvent #set /Herwig/Analysis/HepMCFile:Units GeV_mm #set /Herwig/Analysis/HepMCFile:Filename events.fifo ################################################## # Save run for later usage with 'Herwig run' ################################################## cd /Herwig/Generators saverun LHC-MB EventGenerator diff --git a/src/LHC-Matchbox.in b/src/LHC-Matchbox.in --- a/src/LHC-Matchbox.in +++ b/src/LHC-Matchbox.in @@ -1,157 +1,158 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Matchbox example input file ################################################## ################################################## ## Collider type ################################################## read snippets/Matchbox.in read snippets/PPCollider.in ################################################## ## Beam energy sqrt(s) ################################################## cd /Herwig/EventHandlers set EventHandler:LuminosityFunction:Energy 13000*GeV ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/MatrixElements/Matchbox set Factory:OrderInAlphaS 0 set Factory:OrderInAlphaEW 2 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do Factory:Process p p -> e+ e- ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in # read Matchbox/MadGraph-OpenLoops.in # read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam # read Matchbox/HiggsEffective.in ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set ChargedLeptonPairMassCut:MinMass 60*GeV set ChargedLeptonPairMassCut:MaxMass 120*GeV ## cuts on additional jets # read Matchbox/DefaultPPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox set Factory:ScaleChoice /Herwig/MatrixElements/Matchbox/Scales/LeptonPairMassScale ################################################## ## Matching and shower selection ## Please also see flavour scheme settings ## towards the end of the input file. ################################################## read Matchbox/MCatNLO-DefaultShower.in # read Matchbox/Powheg-DefaultShower.in ## use for strict LO/NLO comparisons # read Matchbox/MCatLO-DefaultShower.in ## use for improved LO showering # read Matchbox/LO-DefaultShower.in # read Matchbox/MCatNLO-DipoleShower.in # read Matchbox/Powheg-DipoleShower.in ## use for strict LO/NLO comparisons # read Matchbox/MCatLO-DipoleShower.in ## use for improved LO showering # read Matchbox/LO-DipoleShower.in # read Matchbox/NLO-NoShower.in # read Matchbox/LO-NoShower.in ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourScheme.in ## required for dipole shower and fixed order in five flavour scheme # read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +# read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## # cd /Herwig/Analysis # insert Rivet:Analyses 0 XXX_2015_ABC123 # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 Rivet # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMC ################################################## ## Save the generator ################################################## do /Herwig/MatrixElements/Matchbox/Factory:ProductionMode cd /Herwig/Generators saverun LHC-Matchbox EventGenerator diff --git a/src/LHE-FxFx.in b/src/LHE-FxFx.in --- a/src/LHE-FxFx.in +++ b/src/LHE-FxFx.in @@ -1,150 +1,148 @@ ################################################## # Example generator based on LHC parameters # For FxFx merging with MadGraph5/aMC@NLO # usage: Herwig read FxFx.in ################################################## -read snippets/SoftModel.in -################################################## # Technical parameters for this run ################################################## cd /Herwig/Generators set EventGenerator:NumberOfEvents 100000000 set EventGenerator:RandomNumberGenerator:Seed 31122001 set EventGenerator:PrintEvent 1 set EventGenerator:MaxErrors 10000 ################################################################## # Create the Les Houches file handler and reader for FxFx events ################################################################## cd /Herwig/EventHandlers library HwFxFx.so create Herwig::FxFxEventHandler LesHouchesHandler # set the various step handlers set LesHouchesHandler:PartonExtractor /Herwig/Partons/PPExtractor set LesHouchesHandler:HadronizationHandler /Herwig/Hadronization/ClusterHadHandler set LesHouchesHandler:DecayHandler /Herwig/Decays/DecayHandler # set the weight option (for MC@NLO) set LesHouchesHandler:WeightOption VarNegWeight # set event hander as one to be used set /Herwig/Generators/EventGenerator:EventHandler /Herwig/EventHandlers/LesHouchesHandler # Set up an EMPTY CUTS object # Normally you will have imposed any cuts you want # when generating the event file and don't want any more # in particular for POWHEG and MC@NLO you must not apply cuts on the # the extra jet create ThePEG::Cuts /Herwig/Cuts/NoCuts # Create a LH reader specialised for FxFx events cd /Herwig/EventHandlers create Herwig::FxFxFileReader FxFxLHReader insert LesHouchesHandler:FxFxReaders[0] FxFxLHReader # Create the FxFxHandler for merging with the shower cd /Herwig/Shower library HwFxFxHandler.so create Herwig::FxFxHandler FxFxHandler set /Herwig/Shower/FxFxHandler:SplittingGenerator /Herwig/Shower/SplittingGenerator set /Herwig/Shower/FxFxHandler:KinematicsReconstructor /Herwig/Shower/KinematicsReconstructor set /Herwig/Shower/FxFxHandler:PartnerFinder /Herwig/Shower/PartnerFinder set /Herwig/EventHandlers/LesHouchesHandler:CascadeHandler /Herwig/Shower/FxFxHandler ################################################################################### # PDF settings # # You may wish to use the same PDF as the events were generated with # ################################################################################### create ThePEG::LHAPDF /Herwig/Partons/LHAPDF ThePEGLHAPDF.so set /Herwig/Partons/LHAPDF:PDFName NAME_OF_PDF set /Herwig/Partons/RemnantDecayer:AllowTop Yes set /Herwig/Partons/LHAPDF:RemnantHandler /Herwig/Partons/HadronRemnants set /Herwig/Particles/p+:PDF /Herwig/Partons/LHAPDF set /Herwig/Particles/pbar-:PDF /Herwig/Partons/LHAPDF set /Herwig/Partons/PPExtractor:FirstPDF /Herwig/Partons/LHAPDF set /Herwig/Partons/PPExtractor:SecondPDF /Herwig/Partons/LHAPDF # We would recommend the shower uses the default PDFs with which it was tuned. # However it can be argued that the same set as for the sample should be used for # matched samples, i.e. MC@NLO (and less so POWHEG) set /Herwig/Shower/ShowerHandler:PDFA /Herwig/Partons/LHAPDF set /Herwig/Shower/ShowerHandler:PDFB /Herwig/Partons/LHAPDF # You can in principle also change the PDFs for the remnant extraction and # multiple scattering. As the generator was tuned with the default values # this is STRONGLY DISCOURAGED without retuning the MPI parameters # create the reader and set cuts set /Herwig/EventHandlers/FxFxLHReader:FileName NAME_OF_FILE #(the file can be compressed (gziped,bziped)) set /Herwig/EventHandlers/FxFxLHReader:WeightWarnings false set /Herwig/EventHandlers/FxFxLHReader:AllowedToReOpen No set /Herwig/EventHandlers/FxFxLHReader:InitPDFs 0 set /Herwig/EventHandlers/FxFxLHReader:Cuts /Herwig/Cuts/NoCuts # option to ensure momentum conservation is O.K. due rounding errors (recommended) set /Herwig/EventHandlers/FxFxLHReader:MomentumTreatment RescaleEnergy # set the pdfs set /Herwig/EventHandlers/FxFxLHReader:PDFA /Herwig/Partons/LHAPDF set /Herwig/EventHandlers/FxFxLHReader:PDFB /Herwig/Partons/LHAPDF # if using BSM models with QNUMBER info #set /Herwig/EventHandlers/FxFxLHReader:QNumbers Yes #set /Herwig/EventHandlers/FxFxLHReader:Decayer /Herwig/Decays/Mambo ################################################## # Shower parameters # ################################################## # normally, especially for POWHEG, you want # the scale supplied in the event files (SCALUP) # to be used as a pT veto scale in the parton shower set /Herwig/Shower/ShowerHandler:MaxPtIsMuF Yes set /Herwig/Shower/ShowerHandler:RestrictPhasespace Yes # Shower parameters # treatment of wide angle radiation set /Herwig/Shower/PartnerFinder:PartnerMethod Random set /Herwig/Shower/PartnerFinder:ScaleChoice Partner # with MC@NLO these parameters are required for consistency of the subtraction terms set /Herwig/Shower/KinematicsReconstructor:InitialInitialBoostOption LongTransBoost set /Herwig/Shower/KinematicsReconstructor:ReconstructionOption General set /Herwig/Shower/KinematicsReconstructor:InitialStateReconOption Rapidity set /Herwig/Shower/ShowerHandler:SpinCorrelations No ############################################################# # Set up the FxFxHandler # ############################################################# cd /Herwig/Shower set /Herwig/Shower/FxFxHandler:MPIHandler /Herwig/UnderlyingEvent/MPIHandler set /Herwig/Shower/FxFxHandler:RemDecayer /Herwig/Partons/RemnantDecayer set /Herwig/Shower/FxFxHandler:ShowerAlpha AlphaQCD # set the heavy quark decay product vetoing process on/off set FxFxHandler:HeavyQVeto Yes # Automatic detection of the hard process (experimental) set FxFxHandler:HardProcessDetection Automatic # No. of light jets in maximum-multiplicity FxFx process set FxFxHandler:njetsmax MAXIMUM_NUMBER_OF_PARTONS_IN_LHE_FILE # Make sure this is set correctly! # Mimimum parton-parton R-sep used for generation. set FxFxHandler:drjmin 0 # Recommended key merging parameters below cd /Herwig/Shower # turn the Vetoing On or Off completely set FxFxHandler:VetoIsTurnedOff VetoingIsOn # merging mode: in this case FxFx: set FxFxHandler:MergeMode FxFx # merging scale set FxFxHandler:ETClus 20*GeV # jet radius used in clustering in merging. set FxFxHandler:RClus 1.0 # Max |eta| for jets in clustering in merging. set FxFxHandler:EtaClusMax 10 # Default 1.5 factor used to decide if a jet matches a parton # in merging: if DR(parton,jet) h0 [ j j ] set MergingFactory:NLOProcesses 2 # Set the merging scale deviding the parton shower # from the matrix element region in phase space. set Merger:MergingScale 15.*GeV set Merger:MergingScaleSmearing 0.1 # The following line clear a preweighter # that is not working for Higgs as here # pt and HT are 0 before the shower. # See other merging files for more information. clear MergingFactory:Preweighters # The next line can switch of hadronization # and MPI modelling. Use with care!! # read Matchbox/PQCDLevel.in ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in read Matchbox/OnShellHProduction.in set /Herwig/Particles/h0:Stable Stable # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in read Matchbox/MadGraph-OpenLoops.in #read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam and ## MadGraph-Openloops #read Matchbox/HiggsEffective.in cd /Herwig/MatrixElements/Matchbox/Amplitudes set OpenLoops:HiggsEff Yes set MadGraph:Model heft ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set ChargedLeptonPairMassCut:MinMass 60*GeV set ChargedLeptonPairMassCut:MaxMass 120*GeV cd /Herwig/MatrixElements/Matchbox/Utility insert DiagramGenerator:ExcludeInternal 0 /Herwig/Particles/gamma ## cuts on additional jets cd /Herwig/Cuts/ # read Matchbox/DefaultPPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox/Scales/ set /Herwig/Merging/MergingFactory:ScaleChoice FixedScale set FixedScale:FixedScale 125.*GeV ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## CMW - Scheme ################################################## read snippets/Dipole_AutoTune_prel.in ### Use factor in alpha_s argument: alpha_s(q) -> alpha_s(fac*q) ### with fac=exp(-(67-3pi^2-10/3*Nf)/(33-2Nf)) read Merging/FactorCMWScheme.in ### Linear CMW multiplication: ### alpha_s(q) -> alpha_s(q)(1+K_g*alpha_s(q)/2pi ) # read Merging/LinearCMWScheme.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +#read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## cd /Herwig/Analysis ## Write HepMC events. Modify the PrintEvent interface for your needs. # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMCFile ## Setup the Rivet analysis: #read snippets/Rivet.in #insert Rivet:Analyses 0 XXX_2017_ABC123 ## Here we collected a various Rivet analysis for Higgs at LHC ## at the 8 TeV. (The collection might not be complete.) # read Merging/LHC8-H-Analysis.in ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode set /Herwig/Generators/EventGenerator:IntermediateOutput Yes cd /Herwig/Generators saverun LHC-H-Merging EventGenerator diff --git a/src/Merging/LHC-J-Merging.in b/src/Merging/LHC-J-Merging.in --- a/src/Merging/LHC-J-Merging.in +++ b/src/Merging/LHC-J-Merging.in @@ -1,191 +1,192 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Merging example input file ################################################## ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/PPCollider.in read snippets/MonacoSampler.in ################################################## ## Beam energy sqrt(s) ################################################## cd /Herwig/EventHandlers set EventHandler:LuminosityFunction:Energy 7000*GeV ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/Merging set MergingFactory:OrderInAlphaS 2 set MergingFactory:OrderInAlphaEW 0 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do MergingFactory:Process p p -> j j [ j ] set MergingFactory:NLOProcesses 1 # Set the merging scale deviding the parton shower # from the matrix element region in phase space. set Merger:MergingScale 20.*GeV set Merger:MergingScaleSmearing 0.1 # The following lines control a preweighter, # that can be used to force more events in higher # HT or pt regions. The unweighted events are accepted # with a enhanced probability W, that is divided fron the # event weight once the event is accepted. # W = ((HT/scale)^HTPower + (pt_max/scale)^MaxPTPower) # with scale = MZ (can be changed) # Note that the weights will therefore differ from "1" # if the powers are not zero. set MPreWeight:HTPower 0 set MPreWeight:MaxPTPower 0 set MPreWeight:OnlyColoured No # The next line can switch of hadronization # and MPI modelling. Use with care!! # read Matchbox/PQCDLevel.in ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in read Matchbox/MadGraph-OpenLoops.in # read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam ## and MadGraph-OpenLoops # read Matchbox/HiggsEffective.in ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set ChargedLeptonPairMassCut:MinMass 60*GeV set ChargedLeptonPairMassCut:MaxMass 120*GeV cd /Herwig/MatrixElements/Matchbox/Utility insert DiagramGenerator:ExcludeInternal 0 /Herwig/Particles/gamma ## cuts on additional jets cd /Herwig/Cuts/ read Matchbox/DefaultPPJets.in insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox/Scales/ set /Herwig/Merging/MergingFactory:ScaleChoice MaxJetPtScale ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## CMW - Scheme ################################################## read snippets/Dipole_AutoTune_prel.in ### Use factor in alpha_s argument: alpha_s(q) -> alpha_s(fac*q) ### with fac=exp(-(67-3pi^2-10/3*Nf)/(33-2Nf)) read Merging/FactorCMWScheme.in ### Linear CMW multiplication: ### alpha_s(q) -> alpha_s(q)(1+K_g*alpha_s(q)/2pi ) # read Merging/LinearCMWScheme.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +# read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## cd /Herwig/Analysis ## Write HepMC events. Modify the PrintEvent interface for your needs. # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMCFile ## Setup the Rivet analysis: #read snippets/Rivet.in #insert Rivet:Analyses 0 XXX_2017_ABC123 ## Here we collected a various Rivet analysis for Jets at LHC ## at the 7 TeV. (The collection might not be complete.) # read Merging/LHC7-J-Analysis.in ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode set /Herwig/Generators/EventGenerator:IntermediateOutput Yes cd /Herwig/Generators saverun LHC-J-Merging EventGenerator diff --git a/src/Merging/LHC-T-Merging.in b/src/Merging/LHC-T-Merging.in --- a/src/Merging/LHC-T-Merging.in +++ b/src/Merging/LHC-T-Merging.in @@ -1,193 +1,194 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Merging example input file ################################################## ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/PPCollider.in read snippets/MonacoSampler.in ################################################## ## Beam energy sqrt(s) ################################################## cd /Herwig/EventHandlers set EventHandler:LuminosityFunction:Energy 7000*GeV ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/Merging set MergingFactory:OrderInAlphaS 2 set MergingFactory:OrderInAlphaEW 0 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do MergingFactory:Process p p -> t tbar [ j] set MergingFactory:NLOProcesses 1 # Set the merging scale deviding the parton shower # from the matrix element region in phase space. set Merger:MergingScale 20.*GeV set Merger:MergingScaleSmearing 0.1 # The following lines control a preweighter, # that can be used to force more events in higher # HT or pt regions. The unweighted events are accepted # with a enhanced probability W, that is divided fron the # event weight once the event is accepted. # W = ((HT/scale)^HTPower + (pt_max/scale)^MaxPTPower) # with scale = MZ (can be changed) # Note that the weights will therefore differ from "1" # if the powers are not zero. set MPreWeight:HTPower 0 set MPreWeight:MaxPTPower 0 set MPreWeight:OnlyColoured No # The next line can switch of hadronization # and MPI modelling. Use with care!! # read Matchbox/PQCDLevel.in ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in read Matchbox/MadGraph-OpenLoops.in # read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam and ## MadGraph-Openloops # read Matchbox/HiggsEffective.in ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set ChargedLeptonPairMassCut:MinMass 60*GeV set ChargedLeptonPairMassCut:MaxMass 120*GeV cd /Herwig/MatrixElements/Matchbox/Utility insert DiagramGenerator:ExcludeInternal 0 /Herwig/Particles/gamma ## cuts on additional jets cd /Herwig/Cuts/ # read Matchbox/DefaultPPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox/Scales/ set /Herwig/Merging/MergingFactory:ScaleChoice TopPairMassScale ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## CMW - Scheme ################################################## read snippets/Dipole_AutoTune_prel.in ### Use factor in alpha_s argument: alpha_s(q) -> alpha_s(fac*q) ### with fac=exp(-(67-3pi^2-10/3*Nf)/(33-2Nf)) read Merging/FactorCMWScheme.in ### Linear CMW multiplication: ### alpha_s(q) -> alpha_s(q)(1+K_g*alpha_s(q)/2pi ) # read Merging/LinearCMWScheme.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +# read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## cd /Herwig/Analysis ## Write HepMC events. Modify the PrintEvent interface for your needs. # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMCFile ## Setup the Rivet analysis: #read snippets/Rivet.in #insert Rivet:Analyses 0 XXX_2017_ABC123 ## Here we collected a various Rivet analysis for Tops at LHC ## at the 7 TeV. (The collection might not be complete.) # read Merging/LHC7-T-Analysis.in ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode set /Herwig/Generators/EventGenerator:IntermediateOutput Yes cd /Herwig/Generators saverun LHC-T-Merging EventGenerator diff --git a/src/Merging/LHC-W-Merging.in b/src/Merging/LHC-W-Merging.in --- a/src/Merging/LHC-W-Merging.in +++ b/src/Merging/LHC-W-Merging.in @@ -1,194 +1,195 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Merging example input file ################################################## ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/PPCollider.in read snippets/MonacoSampler.in ################################################## ## Beam energy sqrt(s) ################################################## cd /Herwig/EventHandlers set EventHandler:LuminosityFunction:Energy 7000*GeV ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/Merging set MergingFactory:OrderInAlphaS 0 set MergingFactory:OrderInAlphaEW 2 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do MergingFactory:Process p p -> l nu [ j j ] set MergingFactory:NLOProcesses 2 # Set the merging scale deviding the parton shower # from the matrix element region in phase space. set Merger:MergingScale 15.*GeV set Merger:MergingScaleSmearing 0.1 # The following lines control a preweighter, # that can be used to force more events in higher # HT or pt regions. The unweighted events are accepted # with a enhanced probability W, that is divided fron the # event weight once the event is accepted. # W = ((HT/scale)^HTPower + (pt_max/scale)^MaxPTPower) # with scale = MZ (can be changed) # Note that the weights will therefore differ from "1" # if the powers are not zero. set MPreWeight:HTPower 0 set MPreWeight:MaxPTPower 0 set MPreWeight:OnlyColoured No # The next line can switch of hadronization # and MPI modelling. Use with care!! # read Matchbox/PQCDLevel.in ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in # read Matchbox/MadGraph-OpenLoops.in # read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam and ## MadGraph-Openloops # read Matchbox/HiggsEffective.in ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set /Herwig/Cuts/LeptonPairMassCut:MinMass 60*GeV set /Herwig/Cuts/LeptonPairMassCut:MaxMass 120*GeV cd /Herwig/MatrixElements/Matchbox/Utility insert DiagramGenerator:ExcludeInternal 0 /Herwig/Particles/gamma ## cuts on additional jets cd /Herwig/Cuts/ # read Matchbox/DefaultPPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox/Scales/ set /Herwig/Merging/MergingFactory:ScaleChoice LeptonPairMassScale ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## CMW - Scheme ################################################## read snippets/Dipole_AutoTune_prel.in ### Use factor in alpha_s argument: alpha_s(q) -> alpha_s(fac*q) ### with fac=exp(-(67-3pi^2-10/3*Nf)/(33-2Nf)) read Merging/FactorCMWScheme.in ### Linear CMW multiplication: ### alpha_s(q) -> alpha_s(q)(1+K_g*alpha_s(q)/2pi ) # read Merging/LinearCMWScheme.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +# read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## cd /Herwig/Analysis ## Write HepMC events. Modify the PrintEvent interface for your needs. # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMCFile ## Setup the Rivet analysis: #read snippets/Rivet.in #insert Rivet:Analyses 0 XXX_2017_ABC123 ## Here we collected a various Rivet analysis for Ws at LHC ## at the 7 TeV. (The collection might not be complete.) # read Merging/LHC7-W-Analysis.in ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode set /Herwig/Generators/EventGenerator:IntermediateOutput Yes cd /Herwig/Generators saverun LHC-W-Merging EventGenerator diff --git a/src/Merging/LHC-Z-Merging.in b/src/Merging/LHC-Z-Merging.in --- a/src/Merging/LHC-Z-Merging.in +++ b/src/Merging/LHC-Z-Merging.in @@ -1,194 +1,195 @@ # -*- ThePEG-repository -*- ################################################## ## Herwig/Merging example input file ################################################## ################################################## ## Collider type ################################################## read snippets/DipoleMerging.in read snippets/PPCollider.in read snippets/MonacoSampler.in ################################################## ## Beam energy sqrt(s) ################################################## cd /Herwig/EventHandlers set EventHandler:LuminosityFunction:Energy 7000*GeV ################################################## ## Process selection ################################################## ## Note that event generation may fail if no matching matrix element has ## been found. Coupling orders are with respect to the Born process, ## i.e. NLO QCD does not require an additional power of alphas. ## Model assumptions read Matchbox/StandardModelLike.in read Matchbox/DiagonalCKM.in ## Set the order of the couplings cd /Herwig/Merging set MergingFactory:OrderInAlphaS 0 set MergingFactory:OrderInAlphaEW 2 ## Select the process ## You may use identifiers such as p, pbar, j, l, mu+, h0 etc. do MergingFactory:Process p p -> e+ e- [ j j ] set MergingFactory:NLOProcesses 2 # Set the merging scale deviding the parton shower # from the matrix element region in phase space. set Merger:MergingScale 15.*GeV set Merger:MergingScaleSmearing 0.1 # The following lines control a preweighter, # that can be used to force more events in higher # HT or pt regions. The unweighted events are accepted # with a enhanced probability W, that is divided fron the # event weight once the event is accepted. # W = ((HT/scale)^HTPower + (pt_max/scale)^MaxPTPower) # with scale = MZ (can be changed) # Note that the weights will therefore differ from "1" # if the powers are not zero. set MPreWeight:HTPower 0 set MPreWeight:MaxPTPower 0 set MPreWeight:OnlyColoured No # The next line can switch of hadronization # and MPI modelling. Use with care!! # read Matchbox/PQCDLevel.in ## Special settings required for on-shell production of unstable particles ## enable for on-shell top production # read Matchbox/OnShellTopProduction.in ## enable for on-shell W, Z or h production # read Matchbox/OnShellWProduction.in # read Matchbox/OnShellZProduction.in # read Matchbox/OnShellHProduction.in # Special settings for the VBF approximation # read Matchbox/VBFDiagramsOnly.in ################################################## ## Matrix element library selection ################################################## ## Select a generic tree/loop combination or a ## specialized NLO package # read Matchbox/MadGraph-GoSam.in # read Matchbox/MadGraph-MadGraph.in # read Matchbox/MadGraph-NJet.in # read Matchbox/MadGraph-OpenLoops.in # read Matchbox/HJets.in # read Matchbox/VBFNLO.in ## Uncomment this to use ggh effective couplings ## currently only supported by MadGraph-GoSam and ## MadGraph-Openloops # read Matchbox/HiggsEffective.in ################################################## ## Cut selection ## See the documentation for more options ################################################## cd /Herwig/Cuts/ set ChargedLeptonPairMassCut:MinMass 60*GeV set ChargedLeptonPairMassCut:MaxMass 120*GeV cd /Herwig/MatrixElements/Matchbox/Utility insert DiagramGenerator:ExcludeInternal 0 /Herwig/Particles/gamma ## cuts on additional jets cd /Herwig/Cuts/ # read Matchbox/DefaultPPJets.in # insert JetCuts:JetRegions 0 FirstJet # insert JetCuts:JetRegions 1 SecondJet # insert JetCuts:JetRegions 2 ThirdJet # insert JetCuts:JetRegions 3 FourthJet ################################################## ## Scale choice ## See the documentation for more options ################################################## cd /Herwig/MatrixElements/Matchbox/Scales/ set /Herwig/Merging/MergingFactory:ScaleChoice LeptonPairMassScale ################################################## ## Scale uncertainties ################################################## # read Matchbox/MuDown.in # read Matchbox/MuUp.in ################################################## ## Shower scale uncertainties ################################################## # read Matchbox/MuQDown.in # read Matchbox/MuQUp.in ################################################## ## CMW - Scheme ################################################## read snippets/Dipole_AutoTune_prel.in ### Use factor in alpha_s argument: alpha_s(q) -> alpha_s(fac*q) ### with fac=exp(-(67-3pi^2-10/3*Nf)/(33-2Nf)) read Merging/FactorCMWScheme.in ### Linear CMW multiplication: ### alpha_s(q) -> alpha_s(q)(1+K_g*alpha_s(q)/2pi ) # read Merging/LinearCMWScheme.in ################################################## ## PDF choice ################################################## read Matchbox/FiveFlavourNoBMassScheme.in -read Matchbox/MMHT2014.in +read Matchbox/CT14.in +#read Matchbox/MMHT2014.in ################################################## ## Analyses ################################################## cd /Herwig/Analysis ## Write HepMC events. Modify the PrintEvent interface for your needs. # insert /Herwig/Generators/EventGenerator:AnalysisHandlers 0 HepMCFile ## Setup the Rivet analysis: #read snippets/Rivet.in #insert Rivet:Analyses 0 XXX_2017_ABC123 ## Here we collected a various Rivet analysis for Zs at LHC ## at the 8 TeV. (The collection might not be complete.) # read Merging/LHC7-Z-Analysis.in ################################################## ## Save the generator ################################################## do /Herwig/Merging/MergingFactory:ProductionMode set /Herwig/Generators/EventGenerator:IntermediateOutput Yes cd /Herwig/Generators saverun LHC-Z-Merging EventGenerator diff --git a/src/defaults/Cuts.in b/src/defaults/Cuts.in --- a/src/defaults/Cuts.in +++ b/src/defaults/Cuts.in @@ -1,118 +1,118 @@ # -*- ThePEG-repository -*- ########################################################### # Default cuts (applied to the hard subprocess) # # Don't change values here, re-set them in your own input # files using these as examples. ########################################################### mkdir /Herwig/Matchers cd /Herwig/Matchers create ThePEG::Matcher Lepton create ThePEG::Matcher Neutrino create ThePEG::Matcher ChargedLepton create ThePEG::Matcher LightQuark create ThePEG::Matcher LightParticle create ThePEG::Matcher LightAntiQuark create ThePEG::Matcher StandardQCDParton create ThePEG::Matcher Photon create ThePEG::Matcher Top create ThePEG::Matcher Bottom create ThePEG::Matcher WBoson create ThePEG::Matcher ZBoson create ThePEG::Matcher HiggsBoson mkdir /Herwig/Cuts cd /Herwig/Cuts # cut on jet pt create ThePEG::SimpleKTCut JetKtCut SimpleKTCut.so newdef JetKtCut:Matcher /Herwig/Matchers/StandardQCDParton newdef JetKtCut:MinKT 20.0*GeV # cut on photon create ThePEG::SimpleKTCut PhotonKtCut SimpleKTCut.so newdef PhotonKtCut:Matcher /Herwig/Matchers/Photon newdef PhotonKtCut:MinKT 20.0*GeV newdef PhotonKtCut:MinEta -3. newdef PhotonKtCut:MaxEta 3. # cut on leptons create ThePEG::SimpleKTCut LeptonKtCut SimpleKTCut.so newdef LeptonKtCut:Matcher /Herwig/Matchers/Lepton newdef LeptonKtCut:MinKT 0.0*GeV # cut on charged leptons create ThePEG::SimpleKTCut ChargedLeptonKtCut SimpleKTCut.so newdef ChargedLeptonKtCut:Matcher /Herwig/Matchers/ChargedLepton newdef ChargedLeptonKtCut:MinKT 0.0*GeV # cut on top quarks create ThePEG::KTRapidityCut TopKtCut KTRapidityCut.so newdef TopKtCut:Matcher /Herwig/Matchers/Top newdef TopKtCut:MinKT 0.0*GeV # cut on W bosons create ThePEG::KTRapidityCut WBosonKtCut KTRapidityCut.so newdef WBosonKtCut:Matcher /Herwig/Matchers/WBoson newdef WBosonKtCut:MinKT 0.0*GeV # cut on Z bosons create ThePEG::KTRapidityCut ZBosonKtCut KTRapidityCut.so newdef ZBosonKtCut:Matcher /Herwig/Matchers/ZBoson newdef ZBosonKtCut:MinKT 0.0*GeV # cut on Higgs bosons create ThePEG::KTRapidityCut HiggsBosonKtCut KTRapidityCut.so newdef HiggsBosonKtCut:Matcher /Herwig/Matchers/HiggsBoson newdef HiggsBosonKtCut:MinKT 0.0*GeV # cut on Higgs bosons create ThePEG::KTRapidityCut LightParticleKtCut KTRapidityCut.so newdef LightParticleKtCut:Matcher /Herwig/Matchers/LightParticle newdef LightParticleKtCut:MinKT 0.0*GeV # create a cut on the invariant mass of lepton pairs create ThePEG::V2LeptonsCut MassCut V2LeptonsCut.so newdef MassCut:Families All newdef MassCut:CComb All newdef MassCut:MinM 20.*GeV newdef MassCut:MaxM 14000.*GeV # create a cut on Q^2 for neutral current DIS create ThePEG::SimpleDISCut NeutralCurrentCut SimpleDISCut.so newdef NeutralCurrentCut:MinQ2 20. newdef NeutralCurrentCut:Current Neutral # create a cut on Q^2 for charged current DIS create ThePEG::SimpleDISCut ChargedCurrentCut SimpleDISCut.so newdef ChargedCurrentCut:MinQ2 20. newdef ChargedCurrentCut:Current Charged # create a cut of Q^2 for charged current DIS # Default Cuts object create ThePEG::Cuts Cuts newdef /Herwig/Generators/EventGenerator:EventHandler:Cuts /Herwig/Cuts/Cuts newdef Cuts:MHatMin 20.*GeV # insert into hadron cuts (by defaults) insert Cuts:OneCuts[0] JetKtCut insert Cuts:OneCuts[1] PhotonKtCut insert Cuts:OneCuts[2] LeptonKtCut insert Cuts:OneCuts[3] TopKtCut insert Cuts:OneCuts[4] WBosonKtCut insert Cuts:OneCuts[5] ZBosonKtCut insert Cuts:OneCuts[6] HiggsBosonKtCut insert Cuts:OneCuts[7] ChargedLeptonKtCut insert Cuts:MultiCuts[0] MassCut # create diffrent cuts object for MinBias to avoid numerical problems create ThePEG::Cuts MinBiasCuts newdef MinBiasCuts:ScaleMin 2.0*GeV2 -newdef MinBiasCuts:X1Min 0.055 -newdef MinBiasCuts:X2Min 0.055 +newdef MinBiasCuts:X1Min 0.011 +newdef MinBiasCuts:X2Min 0.011 newdef MinBiasCuts:MHatMin 0.0*GeV diff --git a/src/defaults/Hadronization.in b/src/defaults/Hadronization.in --- a/src/defaults/Hadronization.in +++ b/src/defaults/Hadronization.in @@ -1,95 +1,96 @@ # -*- ThePEG-repository -*- ############################################################ # Setup of default hadronization # # There are no user servicable parts inside. # # Anything that follows below should only be touched if you # know what you're doing. ############################################################# cd /Herwig/Particles create ThePEG::ParticleData Cluster setup Cluster 81 Cluster 0.00990 0.0 0.0 0.0 0 0 0 1 create ThePEG::ParticleData Remnant setup Remnant 82 Remnant 0.00990 0.0 0.0 0.0 0 0 0 1 mkdir /Herwig/Hadronization cd /Herwig/Hadronization create Herwig::ClusterHadronizationHandler ClusterHadHandler create Herwig::PartonSplitter PartonSplitter create Herwig::ClusterFinder ClusterFinder create Herwig::ColourReconnector ColourReconnector create Herwig::ClusterFissioner ClusterFissioner create Herwig::LightClusterDecayer LightClusterDecayer create Herwig::ClusterDecayer ClusterDecayer create Herwig::HwppSelector HadronSelector newdef ClusterHadHandler:PartonSplitter PartonSplitter newdef ClusterHadHandler:ClusterFinder ClusterFinder newdef ClusterHadHandler:ColourReconnector ColourReconnector newdef ClusterHadHandler:ClusterFissioner ClusterFissioner newdef ClusterHadHandler:LightClusterDecayer LightClusterDecayer newdef ClusterHadHandler:ClusterDecayer ClusterDecayer newdef ClusterHadHandler:MinVirtuality2 0.1*GeV2 newdef ClusterHadHandler:MaxDisplacement 1.0e-10*millimeter newdef ClusterHadHandler:UnderlyingEventHandler NULL newdef ClusterFissioner:HadronSelector HadronSelector newdef LightClusterDecayer:HadronSelector HadronSelector newdef ClusterDecayer:HadronSelector HadronSelector newdef ColourReconnector:ColourReconnection Yes -newdef ColourReconnector:ReconnectionProbability 0.652710 -newdef ColourReconnector:Algorithm Plain -newdef ColourReconnector:InitialTemperature 0.01 -newdef ColourReconnector:AnnealingFactor 0.21 -newdef ColourReconnector:AnnealingSteps 10 -newdef ColourReconnector:TriesPerStepFactor 0.66 +newdef ColourReconnector:ReconnectionProbabilityBaryonic 0.57 +newdef ColourReconnector:ReconnectionProbability 0.89 +newdef ColourReconnector:Algorithm Baryonic newdef ColourReconnector:OctetTreatment All # Clustering parameters for light quarks newdef ClusterFissioner:ClMaxLight 3.649 newdef ClusterFissioner:ClPowLight 2.780 newdef ClusterFissioner:PSplitLight 0.899 newdef ClusterDecayer:ClDirLight 1 newdef ClusterDecayer:ClSmrLight 0.78 # Clustering parameters for b-quarks newdef ClusterFissioner:ClMaxBottom 3.757 newdef ClusterFissioner:ClPowBottom 0.547 newdef ClusterFissioner:PSplitBottom 0.625 newdef ClusterDecayer:ClDirBottom 1 newdef ClusterDecayer:ClSmrBottom 0.078 newdef HadronSelector:SingleHadronLimitBottom 0.000 # Clustering parameters for c-quarks newdef ClusterFissioner:ClMaxCharm 3.950 newdef ClusterFissioner:ClPowCharm 2.559 newdef ClusterFissioner:PSplitCharm 0.994 newdef ClusterDecayer:ClDirCharm 1 newdef ClusterDecayer:ClSmrCharm 0.163 newdef HadronSelector:SingleHadronLimitCharm 0.000 # Clustering parameters for exotic quarks # (e.g. hadronizing Susy particles) newdef ClusterFissioner:ClMaxExotic 2.7*GeV newdef ClusterFissioner:ClPowExotic 1.46 newdef ClusterFissioner:PSplitExotic 1.00 newdef ClusterDecayer:ClDirExotic 1 newdef ClusterDecayer:ClSmrExotic 0. newdef HadronSelector:SingleHadronLimitExotic 0. # +newdef PartonSplitter:SplitPwtSquark 0.824135 +newdef PartonSplitter:Split uds + +# newdef HadronSelector:PwtDquark 1.0 newdef HadronSelector:PwtUquark 1.0 -newdef HadronSelector:PwtSquark 0.700 -newdef HadronSelector:PwtCquark 1.0 -newdef HadronSelector:PwtBquark 1.0 +newdef HadronSelector:PwtSquark 0.291717 +newdef HadronSelector:PwtCquark 0.0 +newdef HadronSelector:PwtBquark 0.0 newdef HadronSelector:PwtDIquark 0.298 newdef HadronSelector:SngWt 0.74 newdef HadronSelector:DecWt 0.62 newdef HadronSelector:Mode 1 newdef HadronSelector:BelowThreshold All diff --git a/src/defaults/MatrixElements.in b/src/defaults/MatrixElements.in --- a/src/defaults/MatrixElements.in +++ b/src/defaults/MatrixElements.in @@ -1,249 +1,250 @@ # -*- ThePEG-repository -*- ############################################################################## # Setup of default matrix elements. # # Only one ME is activated by default, but this file lists # some alternatives. All available MEs can be found in the # 'include/Herwig/MatrixElements' subdirectory of your Herwig # installation. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Instead of editing this file directly, you should reset # the matrix elements in your own input files: # # - create your custom SubProcessHandler # - insert the MEs you need # - set your SubProcessHandler instead of the default (see HerwigDefaults.in) ############################################################################## mkdir /Herwig/MatrixElements cd /Herwig/MatrixElements library HwMELepton.so library HwMEHadron.so library HwMEDIS.so ############################################################ # e+e- matrix elements ############################################################ # e+e- > q qbar create Herwig::MEee2gZ2qq MEee2gZ2qq newdef MEee2gZ2qq:MinimumFlavour 1 newdef MEee2gZ2qq:MaximumFlavour 5 newdef MEee2gZ2qq:AlphaQCD /Herwig/Shower/AlphaQCD newdef MEee2gZ2qq:AlphaQED /Herwig/Shower/AlphaQED # e+e- -> l+l- create Herwig::MEee2gZ2ll MEee2gZ2ll newdef MEee2gZ2ll:Allowed Charged set MEee2gZ2ll:AlphaQED /Herwig/Shower/AlphaQED # e+e- -> W+W- ZZ create Herwig::MEee2VV MEee2VV # e+e- -> ZH create Herwig::MEee2ZH MEee2ZH newdef MEee2ZH:Coupling /Herwig/Shower/AlphaQCD # e+e- -> e+e-H/nu_enu_ebarH create Herwig::MEee2HiggsVBF MEee2HiggsVBF ############################################################ # NLO (POWHEG e+e- matrix elements ############################################################ library HwPowhegMELepton.so create Herwig::MEee2gZ2qqPowheg PowhegMEee2gZ2qq newdef PowhegMEee2gZ2qq:MinimumFlavour 1 newdef PowhegMEee2gZ2qq:MaximumFlavour 5 newdef PowhegMEee2gZ2qq:AlphaQCD /Herwig/Shower/AlphaQCD newdef PowhegMEee2gZ2qq:AlphaQED /Herwig/Shower/AlphaQED create Herwig::MEee2gZ2llPowheg PowhegMEee2gZ2ll newdef PowhegMEee2gZ2ll:Allowed Charged set PowhegMEee2gZ2ll:AlphaQED /Herwig/Shower/AlphaQED ############################################################ # hadron-hadron matrix elements ############################################################ ################################### # Electroweak processes ################################### # q qbar -> gamma/Z -> l+l- create Herwig::MEqq2gZ2ff MEqq2gZ2ff newdef MEqq2gZ2ff:Process 3 newdef MEqq2gZ2ff:Coupling /Herwig/Shower/AlphaQCD # q qbar to W -> l nu create Herwig::MEqq2W2ff MEqq2W2ff newdef MEqq2W2ff:Process 2 newdef MEqq2W2ff:Coupling /Herwig/Shower/AlphaQCD # W+jet create Herwig::MEPP2WJet MEWJet newdef MEWJet:WDecay Leptons # Z+jet create Herwig::MEPP2ZJet MEZJet newdef MEZJet:ZDecay ChargedLeptons # PP->WW/WZ/ZZ create Herwig::MEPP2VV MEPP2VV # PP->WZ gamma create Herwig::MEPP2VGamma MEPP2VGamma ################################### # Photon and jet processes ################################### # qqbar/gg -> gamma gamma create Herwig::MEPP2GammaGamma MEGammaGamma # hadron-hadron to gamma+jet create Herwig::MEPP2GammaJet MEGammaJet # QCD 2-to-2 create Herwig::MEQCD2to2 MEQCD2to2 # MinBias create Herwig::MEMinBias MEMinBias - +newdef MEMinBias:csNorm 0.01 +newdef MEMinBias:Scale 2.0 ################################### # Heavy Quark ################################### # qqbar/gg -> t tbar create Herwig::MEPP2QQ MEHeavyQuark create Herwig::MEPP2SingleTop MESingleTopTChannel set MESingleTopTChannel:Process tChannel create Herwig::MEPP2SingleTop MESingleTopSChannel set MESingleTopSChannel:Process sChannel create Herwig::MEPP2SingleTop MESingleTopTW set MESingleTopTW:Process tW ################################### # Higgs processes ################################### # hadron-hadron to higgs create Herwig::MEPP2Higgs MEHiggs newdef MEHiggs:ShapeScheme MassGenerator newdef MEHiggs:Process gg newdef MEHiggs:Coupling /Herwig/Shower/AlphaQCD # hadron-hadron to higgs+jet create Herwig::MEPP2HiggsJet MEHiggsJet # PP->ZH create Herwig::MEPP2ZH MEPP2ZH newdef MEPP2ZH:Coupling /Herwig/Shower/AlphaQCD # PP->WH create Herwig::MEPP2WH MEPP2WH newdef MEPP2WH:Coupling /Herwig/Shower/AlphaQCD # PP -> Higgs via VBF create Herwig::MEPP2HiggsVBF MEPP2HiggsVBF newdef MEPP2HiggsVBF:ShowerAlphaQCD /Herwig/Shower/AlphaQCD # PP -> t tbar Higgs create Herwig::MEPP2QQHiggs MEPP2ttbarH newdef MEPP2ttbarH:QuarkType Top # PP -> b bbar Higgs create Herwig::MEPP2QQHiggs MEPP2bbbarH newdef MEPP2bbbarH:QuarkType Bottom ########################################################## # Hadron-Hadron NLO matrix elements in the Powheg scheme ########################################################## library HwPowhegMEHadron.so # q qbar -> gamma/Z -> l+l- create Herwig::MEqq2gZ2ffPowheg PowhegMEqq2gZ2ff newdef PowhegMEqq2gZ2ff:Process 3 newdef PowhegMEqq2gZ2ff:Coupling /Herwig/Shower/AlphaQCD # q qbar to W -> l nu create Herwig::MEqq2W2ffPowheg PowhegMEqq2W2ff newdef PowhegMEqq2W2ff:Process 2 newdef PowhegMEqq2W2ff:Coupling /Herwig/Shower/AlphaQCD # PP->ZH create Herwig::MEPP2ZHPowheg PowhegMEPP2ZH newdef PowhegMEPP2ZH:Coupling /Herwig/Shower/AlphaQCD # PP->WH create Herwig::MEPP2WHPowheg PowhegMEPP2WH newdef PowhegMEPP2WH:Coupling /Herwig/Shower/AlphaQCD # hadron-hadron to higgs create Herwig::MEPP2HiggsPowheg PowhegMEHiggs newdef PowhegMEHiggs:ShapeScheme MassGenerator newdef PowhegMEHiggs:Process gg newdef PowhegMEHiggs:Coupling /Herwig/Shower/AlphaQCD # PP->VV create Herwig::MEPP2VVPowheg PowhegMEPP2VV newdef PowhegMEPP2VV:Coupling /Herwig/Shower/AlphaQCD # PP -> Higgs via VBF create Herwig::MEPP2HiggsVBFPowheg PowhegMEPP2HiggsVBF newdef PowhegMEPP2HiggsVBF:ShowerAlphaQCD /Herwig/Shower/AlphaQCD # PP -> diphoton NLO create Herwig::MEPP2GammaGammaPowheg MEGammaGammaPowheg set MEGammaGammaPowheg:Process 0 set MEGammaGammaPowheg:Contribution 1 set MEGammaGammaPowheg:ShowerAlphaQCD /Herwig/Shower/AlphaQCD set MEGammaGammaPowheg:ShowerAlphaQED /Herwig/Shower/AlphaQED ########################################################## # DIS matrix elements ########################################################## # neutral current create Herwig::MENeutralCurrentDIS MEDISNC newdef MEDISNC:Coupling /Herwig/Shower/AlphaQCD newdef MEDISNC:Contribution 0 # charged current create Herwig::MEChargedCurrentDIS MEDISCC newdef MEDISCC:Coupling /Herwig/Shower/AlphaQCD newdef MEDISCC:Contribution 0 # neutral current (POWHEG) create Herwig::MENeutralCurrentDIS PowhegMEDISNC newdef PowhegMEDISNC:Coupling /Herwig/Shower/AlphaQCD newdef PowhegMEDISNC:Contribution 1 # charged current (POWHEG) create Herwig::MEChargedCurrentDIS PowhegMEDISCC newdef PowhegMEDISCC:Coupling /Herwig/Shower/AlphaQCD newdef PowhegMEDISCC:Contribution 1 ########################################################## # Gamma-Gamma matrix elements ########################################################## # fermion-antiferimon create Herwig::MEGammaGamma2ff MEgg2ff HwMEGammaGamma.so # W+ W- create Herwig::MEGammaGamma2WW MEgg2WW HwMEGammaGamma.so ########################################################## # Gamma-Hadron matrix elements ########################################################## # gamma parton -> 2 jets create Herwig::MEGammaP2Jets MEGammaP2Jets HwMEGammaHadron.so ########################################################## # Set up the Subprocesses # # Generic for all colliders ########################################################## create ThePEG::SubProcessHandler SubProcess newdef SubProcess:PartonExtractor /Herwig/Partons/PPExtractor diff --git a/src/defaults/PDF.in.in b/src/defaults/PDF.in.in --- a/src/defaults/PDF.in.in +++ b/src/defaults/PDF.in.in @@ -1,77 +1,77 @@ # -*- ThePEG-repository -*- # PDF.in. Generated from PDF.in.in by Makefile.am ##################################### # Default PDF set ##################################### # Handle leptons create ThePEG::LeptonLeptonPDF LeptonPDF LeptonLeptonPDF.so newdef LeptonPDF:RemnantHandler LeptonRemnants newdef /Herwig/Particles/e-:PDF LeptonPDF newdef /Herwig/Particles/e+:PDF LeptonPDF # Handle hadrons # NEW DEFAULT for Hw 7 library ThePEGLHAPDF.so create ThePEG::LHAPDF HardLOPDF newdef HardLOPDF:RemnantHandler HadronRemnants create ThePEG::LHAPDF HardNLOPDF newdef HardNLOPDF:RemnantHandler HadronRemnants create ThePEG::LHAPDF ShowerLOPDF newdef ShowerLOPDF:RemnantHandler HadronRemnants create ThePEG::LHAPDF ShowerNLOPDF newdef ShowerNLOPDF:RemnantHandler HadronRemnants create ThePEG::LHAPDF MPIPDF newdef MPIPDF:RemnantHandler HadronRemnants create ThePEG::LHAPDF RemnantPDF newdef RemnantPDF:RemnantHandler HadronRemnants -newdef HardLOPDF:PDFName MMHT2014lo68cl -newdef HardNLOPDF:PDFName MMHT2014nlo68cl +newdef HardLOPDF:PDFName CT14lo +newdef HardNLOPDF:PDFName CT14nlo -newdef ShowerLOPDF:PDFName MMHT2014lo68cl -newdef ShowerNLOPDF:PDFName MMHT2014nlo68cl +newdef ShowerLOPDF:PDFName CT14lo +newdef ShowerNLOPDF:PDFName CT14nlo -newdef MPIPDF:PDFName MMHT2014lo68cl -newdef RemnantPDF:PDFName MMHT2014lo68cl - +newdef MPIPDF:PDFName CT14lo +newdef RemnantPDF:PDFName CT14lo + # set LO PDFS for hard process and can be changed later newdef /Herwig/Particles/p+:PDF HardLOPDF newdef /Herwig/Particles/pbar-:PDF HardLOPDF # photons from leptons in WW approx create ThePEG::WeizsackerWilliamsPDF WWPDF WeizsackerWilliamsPDF.so create ThePEG::UnResolvedRemnant /Herwig/Partons/LeptonGammaRemnants newdef /Herwig/Partons/WWPDF:RemnantHandler /Herwig/Partons/LeptonGammaRemnants # photons from protons in Budnev approx create ThePEG::BudnevPDF BudnevPDF BudnevPDF.so create ThePEG::UnResolvedRemnant /Herwig/Partons/HadronGammaRemnants newdef /Herwig/Partons/BudnevPDF:RemnantHandler /Herwig/Partons/HadronGammaRemnants # partons inside photons create Herwig::SaSPhotonPDF /Herwig/Partons/SaSPDF HwSaSPhotonPDF.so set /Herwig/Partons/SaSPDF:RemnantHandler /Herwig/Partons/HadronRemnants # pomerons create Herwig::PomeronFlux PomeronFlux HwPomeronFlux.so newdef PomeronFlux:PDFFit Pomeron2006A newdef PomeronFlux:Q2Max 1. newdef PomeronFlux:Q2Min 1.0e-6 create ThePEG::UnResolvedRemnant /Herwig/Partons/ProtonRemnant UnResolvedRemnant.so newdef /Herwig/Partons/PomeronFlux:RemnantHandler /Herwig/Partons/ProtonRemnant create Herwig::PomeronPDF PomeronPDF HwPomeronPDF.so newdef PomeronPDF:RemnantHandler HadronRemnants newdef PomeronPDF:RootName @HERWIG_PDF_POMERON@ newdef /Herwig/Particles/pomeron:PDF PomeronPDF newdef PomeronPDF:PDFFit 2006A diff --git a/src/defaults/Partons.in b/src/defaults/Partons.in --- a/src/defaults/Partons.in +++ b/src/defaults/Partons.in @@ -1,36 +1,37 @@ # -*- ThePEG-repository -*- mkdir /Herwig/Partons cd /Herwig/Partons create ThePEG::NoRemnants NoRemnants create ThePEG::NoPDF NoPDF newdef NoPDF:RemnantHandler NoRemnants create ThePEG::UnResolvedRemnant LeptonRemnants UnResolvedRemnant.so create Herwig::HwRemDecayer RemnantDecayer HwShower.so newdef RemnantDecayer:PomeronStructure Gluon -newdef RemnantDecayer:colourDisrupt 0.7983 +newdef RemnantDecayer:colourDisrupt 0.0 newdef RemnantDecayer:ladderPower -0.088983 newdef RemnantDecayer:ladderNorm 1.086029 +newdef RemnantDecayer:PtDistribution 4 create ThePEG::SoftRemnantHandler HadronRemnants newdef HadronRemnants:RemnantDecayer RemnantDecayer read PDF.in # Make particle extractors create ThePEG::PartonExtractor EEExtractor newdef EEExtractor:NoPDF NoPDF cp EEExtractor PPExtractor newdef PPExtractor:FlatSHatY 1 newdef PPExtractor:FirstPDF HardLOPDF newdef PPExtractor:SecondPDF HardLOPDF cp EEExtractor EPExtractor newdef EPExtractor:FlatSHatY 1 newdef PPExtractor:FirstPDF HardLOPDF newdef PPExtractor:SecondPDF HardLOPDF newdef EPExtractor:SecondPDF HardLOPDF diff --git a/src/defaults/Shower.in b/src/defaults/Shower.in --- a/src/defaults/Shower.in +++ b/src/defaults/Shower.in @@ -1,406 +1,406 @@ # -*- ThePEG-repository -*- ############################################################ # Setup of default parton shower # # Useful switches for users are marked near the top of # this file. # # Don't edit this file directly, but reset the switches # in your own input files! ############################################################ library HwMPI.so library HwShower.so library HwMatching.so mkdir /Herwig/Shower cd /Herwig/Shower create Herwig::QTildeShowerHandler ShowerHandler newdef ShowerHandler:MPIHandler /Herwig/UnderlyingEvent/MPIHandler newdef ShowerHandler:RemDecayer /Herwig/Partons/RemnantDecayer # use LO PDFs for Shower, can be changed later newdef ShowerHandler:PDFA /Herwig/Partons/ShowerLOPDF newdef ShowerHandler:PDFB /Herwig/Partons/ShowerLOPDF newdef ShowerHandler:PDFARemnant /Herwig/Partons/RemnantPDF newdef ShowerHandler:PDFBRemnant /Herwig/Partons/RemnantPDF ##################################### # initial setup, don't change these! ##################################### create Herwig::SplittingGenerator SplittingGenerator create Herwig::ShowerAlphaQCD AlphaQCD create Herwig::ShowerAlphaQED AlphaQED set AlphaQED:CouplingSource Thompson create Herwig::ShowerAlphaQED AlphaEW set AlphaEW:CouplingSource MZ create Herwig::PartnerFinder PartnerFinder -newdef PartnerFinder:PartnerMethod 1 -newdef PartnerFinder:ScaleChoice 1 +newdef PartnerFinder:PartnerMethod 0 +newdef PartnerFinder:ScaleChoice 0 create Herwig::KinematicsReconstructor KinematicsReconstructor newdef KinematicsReconstructor:ReconstructionOption Colour3 newdef KinematicsReconstructor:InitialStateReconOption SofterFraction newdef KinematicsReconstructor:InitialInitialBoostOption LongTransBoost newdef KinematicsReconstructor:FinalFinalWeight Yes newdef /Herwig/Partons/RemnantDecayer:AlphaS AlphaQCD newdef /Herwig/Partons/RemnantDecayer:AlphaEM AlphaQED newdef ShowerHandler:PartnerFinder PartnerFinder newdef ShowerHandler:KinematicsReconstructor KinematicsReconstructor newdef ShowerHandler:SplittingGenerator SplittingGenerator newdef ShowerHandler:Interactions QEDQCD newdef ShowerHandler:SpinCorrelations Yes newdef ShowerHandler:SoftCorrelations Singular ################################################################## # Intrinsic pT # # Recommended: # 1.9 GeV for Tevatron W/Z production. # 2.1 GeV for LHC W/Z production at 10 TeV # 2.2 GeV for LHC W/Z production at 14 TeV # # Set all parameters to 0 to disable ################################################################## -newdef ShowerHandler:IntrinsicPtGaussian 1.3*GeV +newdef ShowerHandler:IntrinsicPtGaussian 2.2*GeV newdef ShowerHandler:IntrinsicPtBeta 0 newdef ShowerHandler:IntrinsicPtGamma 0*GeV newdef ShowerHandler:IntrinsicPtIptmax 0*GeV ############################################################# # Set up truncated shower handler. ############################################################# create Herwig::PowhegShowerHandler PowhegShowerHandler set PowhegShowerHandler:MPIHandler /Herwig/UnderlyingEvent/MPIHandler set PowhegShowerHandler:RemDecayer /Herwig/Partons/RemnantDecayer newdef PowhegShowerHandler:PDFA /Herwig/Partons/ShowerLOPDF newdef PowhegShowerHandler:PDFB /Herwig/Partons/ShowerLOPDF newdef PowhegShowerHandler:PDFARemnant /Herwig/Partons/RemnantPDF newdef PowhegShowerHandler:PDFBRemnant /Herwig/Partons/RemnantPDF newdef PowhegShowerHandler:MPIHandler /Herwig/UnderlyingEvent/MPIHandler newdef PowhegShowerHandler:RemDecayer /Herwig/Partons/RemnantDecayer newdef PowhegShowerHandler:PDFA /Herwig/Partons/ShowerLOPDF newdef PowhegShowerHandler:PDFB /Herwig/Partons/ShowerLOPDF newdef PowhegShowerHandler:PDFARemnant /Herwig/Partons/RemnantPDF newdef PowhegShowerHandler:PDFBRemnant /Herwig/Partons/RemnantPDF newdef PowhegShowerHandler:PartnerFinder PartnerFinder newdef PowhegShowerHandler:KinematicsReconstructor KinematicsReconstructor newdef PowhegShowerHandler:SplittingGenerator SplittingGenerator newdef PowhegShowerHandler:Interactions QEDQCD newdef PowhegShowerHandler:SpinCorrelations Yes newdef PowhegShowerHandler:SoftCorrelations Singular -newdef PowhegShowerHandler:IntrinsicPtGaussian 1.3*GeV +newdef PowhegShowerHandler:IntrinsicPtGaussian 2.2*GeV newdef PowhegShowerHandler:IntrinsicPtBeta 0 newdef PowhegShowerHandler:IntrinsicPtGamma 0*GeV newdef PowhegShowerHandler:IntrinsicPtIptmax 0*GeV newdef PowhegShowerHandler:EvolutionScheme DotProduct ############################################################# # End of interesting user servicable section. # # Anything that follows below should only be touched if you # know what you're doing. # # Really. ############################################################# # # a few default values newdef ShowerHandler:MECorrMode 1 newdef ShowerHandler:EvolutionScheme DotProduct newdef AlphaQCD:ScaleFactor 1.0 newdef AlphaQCD:NPAlphaS 2 newdef AlphaQCD:Qmin 0.935 newdef AlphaQCD:NumberOfLoops 2 newdef AlphaQCD:AlphaIn 0.1186 # # # Lets set up all the splittings create Herwig::HalfHalfOneSplitFn QtoQGammaSplitFn set QtoQGammaSplitFn:InteractionType QED set QtoQGammaSplitFn:ColourStructure ChargedChargedNeutral set QtoQGammaSplitFn:AngularOrdered Yes set QtoQGammaSplitFn:StrictAO Yes create Herwig::HalfHalfOneSplitFn QtoQGSplitFn newdef QtoQGSplitFn:InteractionType QCD newdef QtoQGSplitFn:ColourStructure TripletTripletOctet set QtoQGSplitFn:AngularOrdered Yes set QtoQGSplitFn:StrictAO Yes create Herwig::OneOneOneSplitFn GtoGGSplitFn newdef GtoGGSplitFn:InteractionType QCD newdef GtoGGSplitFn:ColourStructure OctetOctetOctet set GtoGGSplitFn:AngularOrdered Yes set GtoGGSplitFn:StrictAO Yes create Herwig::OneOneOneMassiveSplitFn WtoWGammaSplitFn newdef WtoWGammaSplitFn:InteractionType QED newdef WtoWGammaSplitFn:ColourStructure ChargedChargedNeutral set WtoWGammaSplitFn:AngularOrdered Yes set WtoWGammaSplitFn:StrictAO Yes create Herwig::OneHalfHalfSplitFn GtoQQbarSplitFn newdef GtoQQbarSplitFn:InteractionType QCD newdef GtoQQbarSplitFn:ColourStructure OctetTripletTriplet set GtoQQbarSplitFn:AngularOrdered Yes set GtoQQbarSplitFn:StrictAO Yes create Herwig::OneHalfHalfSplitFn GammatoQQbarSplitFn newdef GammatoQQbarSplitFn:InteractionType QED newdef GammatoQQbarSplitFn:ColourStructure NeutralChargedCharged set GammatoQQbarSplitFn:AngularOrdered Yes set GammatoQQbarSplitFn:StrictAO Yes create Herwig::HalfOneHalfSplitFn QtoGQSplitFn newdef QtoGQSplitFn:InteractionType QCD newdef QtoGQSplitFn:ColourStructure TripletOctetTriplet set QtoGQSplitFn:AngularOrdered Yes set QtoGQSplitFn:StrictAO Yes create Herwig::HalfOneHalfSplitFn QtoGammaQSplitFn newdef QtoGammaQSplitFn:InteractionType QED newdef QtoGammaQSplitFn:ColourStructure ChargedNeutralCharged set QtoGammaQSplitFn:AngularOrdered Yes set QtoGammaQSplitFn:StrictAO Yes create Herwig::HalfHalfOneEWSplitFn QtoQWZSplitFn newdef QtoQWZSplitFn:InteractionType EW newdef QtoQWZSplitFn:ColourStructure EW create Herwig::HalfHalfZeroEWSplitFn QtoQHSplitFn newdef QtoQHSplitFn:InteractionType EW newdef QtoQHSplitFn:ColourStructure EW create Herwig::OneOneOneEWSplitFn VtoVVSplitFn newdef VtoVVSplitFn:InteractionType EW newdef VtoVVSplitFn:ColourStructure EW create Herwig::OneOneZeroEWSplitFn VtoVHSplitFn newdef VtoVHSplitFn:InteractionType EW newdef VtoVHSplitFn:ColourStructure EW # # Now the Sudakovs create Herwig::PTCutOff PTCutOff newdef PTCutOff:pTmin 0.958*GeV create Herwig::SudakovFormFactor SudakovCommon newdef SudakovCommon:Alpha AlphaQCD newdef SudakovCommon:Cutoff PTCutOff newdef SudakovCommon:PDFmax 1.0 cp SudakovCommon QtoQGSudakov newdef QtoQGSudakov:SplittingFunction QtoQGSplitFn newdef QtoQGSudakov:PDFmax 1.9 cp SudakovCommon QtoQGammaSudakov set QtoQGammaSudakov:SplittingFunction QtoQGammaSplitFn set QtoQGammaSudakov:Alpha AlphaQED set QtoQGammaSudakov:PDFmax 1.9 cp QtoQGammaSudakov LtoLGammaSudakov cp PTCutOff LtoLGammaPTCutOff # Technical parameter to stop evolution. set LtoLGammaPTCutOff:pTmin 0.000001 set LtoLGammaSudakov:Cutoff LtoLGammaPTCutOff cp SudakovCommon QtoQWZSudakov set QtoQWZSudakov:SplittingFunction QtoQWZSplitFn set QtoQWZSudakov:Alpha AlphaEW set QtoQWZSudakov:PDFmax 1.9 cp QtoQWZSudakov LtoLWZSudakov cp SudakovCommon QtoQHSudakov set QtoQHSudakov:SplittingFunction QtoQHSplitFn set QtoQHSudakov:Alpha AlphaEW set QtoQHSudakov:PDFmax 1.9 cp QtoQHSudakov LtoLHSudakov cp SudakovCommon VtoVVSudakov set VtoVVSudakov:SplittingFunction VtoVVSplitFn set VtoVVSudakov:Alpha AlphaEW set VtoVVSudakov:PDFmax 1.9 cp SudakovCommon VtoVHSudakov set VtoVHSudakov:SplittingFunction VtoVHSplitFn set VtoVHSudakov:Alpha AlphaEW set VtoVHSudakov:PDFmax 1.9 cp SudakovCommon GtoGGSudakov newdef GtoGGSudakov:SplittingFunction GtoGGSplitFn newdef GtoGGSudakov:PDFmax 2.0 cp SudakovCommon WtoWGammaSudakov newdef WtoWGammaSudakov:SplittingFunction WtoWGammaSplitFn set WtoWGammaSudakov:Alpha AlphaQED cp SudakovCommon GtoQQbarSudakov newdef GtoQQbarSudakov:SplittingFunction GtoQQbarSplitFn newdef GtoQQbarSudakov:PDFmax 120.0 cp SudakovCommon GammatoQQbarSudakov newdef GammatoQQbarSudakov:SplittingFunction GammatoQQbarSplitFn set GammatoQQbarSudakov:Alpha AlphaQED newdef GammatoQQbarSudakov:PDFmax 120.0 cp SudakovCommon GtobbbarSudakov newdef GtobbbarSudakov:SplittingFunction GtoQQbarSplitFn newdef GtobbbarSudakov:PDFmax 40000.0 cp SudakovCommon GtoccbarSudakov newdef GtoccbarSudakov:SplittingFunction GtoQQbarSplitFn newdef GtoccbarSudakov:PDFmax 2000.0 cp SudakovCommon QtoGQSudakov newdef QtoGQSudakov:SplittingFunction QtoGQSplitFn cp SudakovCommon QtoGammaQSudakov newdef QtoGammaQSudakov:SplittingFunction QtoGammaQSplitFn set QtoGammaQSudakov:Alpha AlphaQED cp SudakovCommon utoGuSudakov newdef utoGuSudakov:SplittingFunction QtoGQSplitFn newdef utoGuSudakov:PDFFactor OverOneMinusZ newdef utoGuSudakov:PDFmax 5.0 cp SudakovCommon dtoGdSudakov newdef dtoGdSudakov:SplittingFunction QtoGQSplitFn newdef dtoGdSudakov:PDFFactor OverOneMinusZ # # Now add the final splittings # do SplittingGenerator:AddFinalSplitting u->u,g; QtoQGSudakov do SplittingGenerator:AddFinalSplitting d->d,g; QtoQGSudakov do SplittingGenerator:AddFinalSplitting s->s,g; QtoQGSudakov do SplittingGenerator:AddFinalSplitting c->c,g; QtoQGSudakov do SplittingGenerator:AddFinalSplitting b->b,g; QtoQGSudakov do SplittingGenerator:AddFinalSplitting t->t,g; QtoQGSudakov # do SplittingGenerator:AddFinalSplitting g->g,g; GtoGGSudakov # do SplittingGenerator:AddFinalSplitting g->u,ubar; GtoQQbarSudakov do SplittingGenerator:AddFinalSplitting g->d,dbar; GtoQQbarSudakov do SplittingGenerator:AddFinalSplitting g->s,sbar; GtoQQbarSudakov do SplittingGenerator:AddFinalSplitting g->c,cbar; GtoccbarSudakov do SplittingGenerator:AddFinalSplitting g->b,bbar; GtobbbarSudakov do SplittingGenerator:AddFinalSplitting g->t,tbar; GtoQQbarSudakov # do SplittingGenerator:AddFinalSplitting gamma->u,ubar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->d,dbar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->s,sbar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->c,cbar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->b,bbar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->t,tbar; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->e-,e+; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->mu-,mu+; GammatoQQbarSudakov do SplittingGenerator:AddFinalSplitting gamma->tau-,tau+; GammatoQQbarSudakov # do SplittingGenerator:AddFinalSplitting u->u,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting d->d,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting s->s,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting c->c,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting b->b,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting t->t,gamma; QtoQGammaSudakov do SplittingGenerator:AddFinalSplitting e-->e-,gamma; LtoLGammaSudakov do SplittingGenerator:AddFinalSplitting mu-->mu-,gamma; LtoLGammaSudakov do SplittingGenerator:AddFinalSplitting tau-->tau-,gamma; LtoLGammaSudakov do SplittingGenerator:AddFinalSplitting W+->W+,gamma; WtoWGammaSudakov # # Now lets add the initial splittings. Remember the form a->b,c; means # that the current particle b is given and we backward branch to new # particle a which is initial state and new particle c which is final state # do SplittingGenerator:AddInitialSplitting u->u,g; QtoQGSudakov do SplittingGenerator:AddInitialSplitting d->d,g; QtoQGSudakov do SplittingGenerator:AddInitialSplitting s->s,g; QtoQGSudakov do SplittingGenerator:AddInitialSplitting c->c,g; QtoQGSudakov do SplittingGenerator:AddInitialSplitting b->b,g; QtoQGSudakov do SplittingGenerator:AddInitialSplitting u->u,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting d->d,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting s->s,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting c->c,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting b->b,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting t->t,gamma; QtoQGammaSudakov do SplittingGenerator:AddInitialSplitting g->g,g; GtoGGSudakov # do SplittingGenerator:AddInitialSplitting g->d,dbar; GtoQQbarSudakov do SplittingGenerator:AddInitialSplitting g->u,ubar; GtoQQbarSudakov do SplittingGenerator:AddInitialSplitting g->s,sbar; GtoQQbarSudakov do SplittingGenerator:AddInitialSplitting g->c,cbar; GtoccbarSudakov do SplittingGenerator:AddInitialSplitting g->b,bbar; GtobbbarSudakov # do SplittingGenerator:AddInitialSplitting gamma->d,dbar; GammatoQQbarSudakov do SplittingGenerator:AddInitialSplitting gamma->u,ubar; GammatoQQbarSudakov do SplittingGenerator:AddInitialSplitting gamma->s,sbar; GammatoQQbarSudakov do SplittingGenerator:AddInitialSplitting gamma->c,cbar; GammatoQQbarSudakov do SplittingGenerator:AddInitialSplitting gamma->b,bbar; GammatoQQbarSudakov # do SplittingGenerator:AddInitialSplitting d->g,d; dtoGdSudakov do SplittingGenerator:AddInitialSplitting u->g,u; utoGuSudakov do SplittingGenerator:AddInitialSplitting s->g,s; QtoGQSudakov do SplittingGenerator:AddInitialSplitting c->g,c; QtoGQSudakov do SplittingGenerator:AddInitialSplitting b->g,b; QtoGQSudakov do SplittingGenerator:AddInitialSplitting dbar->g,dbar; dtoGdSudakov do SplittingGenerator:AddInitialSplitting ubar->g,ubar; utoGuSudakov do SplittingGenerator:AddInitialSplitting sbar->g,sbar; QtoGQSudakov do SplittingGenerator:AddInitialSplitting cbar->g,cbar; QtoGQSudakov do SplittingGenerator:AddInitialSplitting bbar->g,bbar; QtoGQSudakov # do SplittingGenerator:AddInitialSplitting d->gamma,d; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting u->gamma,u; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting s->gamma,s; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting c->gamma,c; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting b->gamma,b; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting dbar->gamma,dbar; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting ubar->gamma,ubar; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting sbar->gamma,sbar; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting cbar->gamma,cbar; QtoGammaQSudakov do SplittingGenerator:AddInitialSplitting bbar->gamma,bbar; QtoGammaQSudakov # # Electroweak # do SplittingGenerator:AddFinalSplitting u->u,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting d->d,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting s->s,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting c->c,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting b->b,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting t->t,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting u->u,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting d->d,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting s->s,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting c->c,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting b->b,Z0; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting t->t,Z0; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting u->d,W+; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting c->s,W+; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting d->u,W-; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting s->c,W-; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting u->d,W+; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting c->s,W+; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting d->u,W-; QtoQWZSudakov do SplittingGenerator:AddInitialSplitting s->c,W-; QtoQWZSudakov do SplittingGenerator:AddFinalSplitting c->c,h0; QtoQHSudakov do SplittingGenerator:AddFinalSplitting b->b,h0; QtoQHSudakov do SplittingGenerator:AddFinalSplitting t->t,h0; QtoQHSudakov do SplittingGenerator:AddInitialSplitting c->c,h0; QtoQHSudakov do SplittingGenerator:AddInitialSplitting b->b,h0; QtoQHSudakov do SplittingGenerator:AddInitialSplitting t->t,h0; QtoQHSudakov do SplittingGenerator:AddFinalSplitting gamma->W+,W-; VtoVVSudakov do SplittingGenerator:AddFinalSplitting Z0->W+,W-; VtoVVSudakov do SplittingGenerator:AddFinalSplitting W+->W+,gamma; VtoVVSudakov do SplittingGenerator:AddFinalSplitting W+->W+,Z0; VtoVVSudakov do SplittingGenerator:AddFinalSplitting W+->W+,h0; VtoVHSudakov do SplittingGenerator:AddFinalSplitting Z0->Z0,h0; VtoVHSudakov diff --git a/src/defaults/UnderlyingEvent.in b/src/defaults/UnderlyingEvent.in --- a/src/defaults/UnderlyingEvent.in +++ b/src/defaults/UnderlyingEvent.in @@ -1,75 +1,88 @@ # -*- ThePEG-repository -*- ################################################ # Set up the handler for the underlying event. ################################################ mkdir /Herwig/UnderlyingEvent cd /Herwig/UnderlyingEvent ######## cuts ################################################# library SimpleKTCut.so # cut on pt. Without a specific matcher object, it works on all # particles create ThePEG::SimpleKTCut KtCut newdef KtCut:MinKT 3.06 # create the cuts object for the Underlying Event create ThePEG::Cuts UECuts # This should always be 2*MinKT!! newdef UECuts:MHatMin 6.12 insert UECuts:OneCuts 0 KtCut ######## subprocess ########################################### create ThePEG::SubProcessHandler FastQCD create Herwig::MEQCD2to2Fast MEQCD2to2Fast HwMEHadronFast.so insert FastQCD:MatrixElements 0 MEQCD2to2Fast cp /Herwig/Partons/PPExtractor /Herwig/Partons/MPIExtractor newdef /Herwig/Partons/MPIExtractor:FlatSHatY 1 newdef FastQCD:PartonExtractor /Herwig/Partons/MPIExtractor # always use LO PDF for MPI and remnants newdef /Herwig/Partons/MPIExtractor:FirstPDF /Herwig/Partons/MPIPDF newdef /Herwig/Partons/MPIExtractor:SecondPDF /Herwig/Partons/MPIPDF ######## MPI Handler ########################################## library JetCuts.so library HwMPI.so create Herwig::MPIHandler MPIHandler # set the subprocesses and corresponding cuts insert MPIHandler:SubProcessHandlers 0 FastQCD insert MPIHandler:Cuts 0 UECuts # energy extrapolation for the MinKT cut newdef MPIHandler:EnergyExtrapolation Power -newdef MPIHandler:Power 0.420445 -newdef MPIHandler:pTmin0 3.568157 +newdef MPIHandler:Power 0.322 +newdef MPIHandler:pTmin0 2.55 newdef MPIHandler:ReferenceScale 7000.*GeV newdef MPIHandler:EEparamA 0.585*GeV newdef MPIHandler:EEparamB 37.45*GeV +# MultiPeriph model as default. +newdef /Herwig/Partons/RemnantDecayer:MultiPeriph Yes + +# Paramters for the ladders for soft MPIs +newdef /Herwig/Partons/RemnantDecayer:ladderMult 0.466 +newdef /Herwig/Partons/RemnantDecayer:ladderbFactor 0.46 +# Set gaussian width of longitudinal momentum fraction fluctuation +newdef /Herwig/Partons/RemnantDecayer:gaussWidth 0.03 + + +# Ratio of diffractive events in MinBias runs +newdef MPIHandler:DiffractiveRatio 0.133 + # The inverse hadron radius -newdef MPIHandler:InvRadius 1.489997 +newdef MPIHandler:InvRadius 1.58 # Set the details of the soft model # Flag to decide whether additional soft interactions (i.e. pt < ptmin) # should be simulated at all newdef MPIHandler:softInt Yes # Flag to decide whether to use the 2 component model. In this model, # the hadron radius (or better: mean parton-parton separation) can be # different for hard and soft scatters. The radius for the soft scatters # is computed during the run startup so that the elastic t-slope, B_el, # coincides with current measurements (for CMenergy < 1.8 TeV) or # Donnachie-Landshoff pomeron fit (CMenergy > 1.8 TeV). If this model is # disabled one has to take care that this observable is correctly # described by adjusting InvRadius properly. newdef MPIHandler:twoComp Yes newdef MPIHandler:DLmode 2 diff --git a/src/defaults/quarks.in b/src/defaults/quarks.in --- a/src/defaults/quarks.in +++ b/src/defaults/quarks.in @@ -1,35 +1,35 @@ # -*- ThePEG-repository -*- # # file containing the particle data for the quarks # create ThePEG::ConstituentParticleData d setup d 1 d 0.005 0. 0 0 -1 3 2 1 0.325 create ThePEG::ConstituentParticleData dbar setup dbar -1 dbar 0.005 0. 0 0 1 -3 2 1 0.325 makeanti dbar d create ThePEG::ConstituentParticleData ubar setup ubar -2 ubar 0.0023 0. 0 0 -2 -3 2 1 0.325 create ThePEG::ConstituentParticleData u setup u 2 u 0.0023 0. 0 0 2 3 2 1 0.325 makeanti u ubar create ThePEG::ConstituentParticleData c setup c 4 c 1.25 0. 0 0 2 3 2 1 1.6 create ThePEG::ConstituentParticleData cbar setup cbar -4 cbar 1.25 0. 0 0 -2 -3 2 1 1.6 makeanti cbar c create ThePEG::ConstituentParticleData sbar -setup sbar -3 sbar 0.095 0. 0 0 1 -3 2 1 0.5 +setup sbar -3 sbar 0.095 0. 0 0 1 -3 2 1 0.45 create ThePEG::ConstituentParticleData s -setup s 3 s 0.095 0. 0 0 -1 3 2 1 0.5 +setup s 3 s 0.095 0. 0 0 -1 3 2 1 0.45 makeanti s sbar create ThePEG::ConstituentParticleData b setup b 5 b 4.2 0. 0 0 -1 3 2 1 5 create ThePEG::ConstituentParticleData bbar setup bbar -5 bbar 4.2 0. 0 0 1 -3 2 1 5 makeanti bbar b create ThePEG::ParticleData t setup t 6 t 174.2 1.4 14 0 2 3 2 0 create ThePEG::ParticleData tbar setup tbar -6 tbar 174.2 1.4 14 0 -2 -3 2 0 makeanti tbar t diff --git a/src/snippets/BaryonicReconnection.in b/src/snippets/BaryonicReconnection.in deleted file mode 100644 --- a/src/snippets/BaryonicReconnection.in +++ /dev/null @@ -1,17 +0,0 @@ -# Set strange quark mass to 0.45 in order to allow alternative gluon splitting -set /Herwig/Particles/s:ConstituentMass 0.45*GeV -set /Herwig/Particles/sbar:ConstituentMass 0.45*GeV - -# Use Baryonic Colour Reconnection Model -set /Herwig/Hadronization/ColourReconnector:Algorithm Baryonic - -# Allow alternative gluon splitting -set /Herwig/Hadronization/PartonSplitter:Split uds - -# Parameters for the Baryonic Reconnection Model -set /Herwig/Hadronization/ColourReconnector:ReconnectionProbability 0.772606 -set /Herwig/Hadronization/ColourReconnector:ReconnectionProbabilityBaryonic 0.477612 -set /Herwig/UnderlyingEvent/MPIHandler:pTmin0 3.053252 -set /Herwig/UnderlyingEvent/MPIHandler:InvRadius 1.282032 -set /Herwig/Hadronization/HadronSelector:PwtSquark 0.291717 -set /Herwig/Hadronization/PartonSplitter:SplitPwtSquark 0.824135 diff --git a/src/snippets/Makefile.am b/src/snippets/Makefile.am --- a/src/snippets/Makefile.am +++ b/src/snippets/Makefile.am @@ -1,51 +1,48 @@ BUILT_SOURCES = done-all-links snippetsdir = ${pkgdatadir}/snippets INPUTFILES = \ CellGridSampler.in \ Diffraction.in \ DipoleMerging.in \ DipoleShowerFiveFlavours.in \ DipoleShowerFourFlavours.in \ EECollider.in \ EPCollider.in \ HepMCFixedOrder.in \ HepMC.in \ Matchbox.in \ MB-DipoleShower.in \ MB.in \ MonacoSampler.in \ Particles-SetLonglivedParticlesStable.in \ PDF-CT10.in \ PDF-NNPDF30NLO.in \ PPCollider.in \ RivetFixedOrder.in \ Rivet.in \ -SoftModel.in \ -SoftTune.in \ YFS.in \ -BaryonicReconnection.in \ CMWinQtiledShower.in \ Dipole_AutoTune_prel.in \ Tune-DotProduct.in \ Tune-DotProduct-Veto.in \ Tune-pT.in \ Tune-Q2.in \ EvolutionScheme-DotProduct.in \ EvolutionScheme-DotProduct-Veto.in \ EvolutionScheme-pT.in \ EvolutionScheme-Q2.in \ FixedTarget.in \ FixedTarget-PP.in dist_snippets_DATA = $(INPUTFILES) CLEANFILES = done-all-links done-all-links: $(INPUTFILES) @echo "Linking input files" @for i in $(INPUTFILES); do \ if test -f $(srcdir)/$$i -a ! -e $$i; then \ $(LN_S) -f $(srcdir)/$$i; fi; done @touch done-all-links diff --git a/src/snippets/PPCollider.in b/src/snippets/PPCollider.in --- a/src/snippets/PPCollider.in +++ b/src/snippets/PPCollider.in @@ -1,32 +1,30 @@ # -*- ThePEG-repository -*- cd /Herwig/EventHandlers create ThePEG::FixedCMSLuminosity Luminosity FixedCMSLuminosity.so set Luminosity:Energy 13000.0 set EventHandler:LuminosityFunction Luminosity set EventHandler:BeamA /Herwig/Particles/p+ set EventHandler:BeamB /Herwig/Particles/p+ cd /Herwig/Cuts # create the cuts object for hadron collisions set Cuts:ScaleMin 2.0*GeV2 set Cuts:X1Min 1.0e-5 set Cuts:X2Min 1.0e-5 # Matchbox settings cd /Herwig/MatrixElements/Matchbox set Factory:FirstPerturbativePDF Yes set Factory:SecondPerturbativePDF Yes set Factory:PartonExtractor /Herwig/Partons/PPExtractor cd /Herwig/Merging set MergingFactory:FirstPerturbativePDF Yes set MergingFactory:SecondPerturbativePDF Yes set MergingFactory:PartonExtractor /Herwig/Partons/PPExtractor cd /Herwig/Generators/ set /Herwig/MatrixElements/SubProcess:PartonExtractor /Herwig/Partons/PPExtractor -# Read in parameters to use the soft model -read snippets/SoftModel.in diff --git a/src/snippets/SoftModel.in b/src/snippets/SoftModel.in deleted file mode 100644 --- a/src/snippets/SoftModel.in +++ /dev/null @@ -1,19 +0,0 @@ -# Parameters for soft interactions - -set /Herwig/Partons/RemnantDecayer:colourDisrupt 0.0 -set /Herwig/Hadronization/ColourReconnector:ColourReconnection Yes - -# Use multiperipheral kinematics -set /Herwig/Partons/RemnantDecayer:MultiPeriph Yes - -# Set gaussian width of longitudinal momentum fraction fluctuation -set /Herwig/Partons/RemnantDecayer:gaussWidth 0.03 - -# Tuned to min-bias data (5B tune) -set /Herwig/Hadronization/ColourReconnector:ReconnectionProbability 0.652710 -set /Herwig/UnderlyingEvent/MPIHandler:pTmin0 3.568157 -set /Herwig/UnderlyingEvent/MPIHandler:InvRadius 1.489997 -set /Herwig/UnderlyingEvent/MPIHandler:Power 0.420445 -set /Herwig/Partons/RemnantDecayer:ladderPower -0.088983 -set /Herwig/Partons/RemnantDecayer:ladderNorm 1.086029 - diff --git a/src/snippets/SoftTune.in b/src/snippets/SoftTune.in deleted file mode 100644 --- a/src/snippets/SoftTune.in +++ /dev/null @@ -1,8 +0,0 @@ -# Recommended set of parameters for MB/UE runs - -set /Herwig/Hadronization/ColourReconnector:ReconnectionProbability 0.5 -set /Herwig/UnderlyingEvent/MPIHandler:pTmin0 3.502683 -set /Herwig/UnderlyingEvent/MPIHandler:InvRadius 1.402055 -set /Herwig/UnderlyingEvent/MPIHandler:Power 0.416852 -set /Herwig/Partons/RemnantDecayer:ladderPower -0.08 -set /Herwig/Partons/RemnantDecayer:ladderNorm 0.95