Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:25

0001 /* KrkNLO Event Reweight (Dipole) */
0002 
0003 #ifndef Herwig_KrknloEventReweight_H
0004 #define Herwig_KrknloEventReweight_H
0005 
0006 #include "Herwig/Shower/Dipole/Base/DipoleEventReweight.h"
0007 
0008 namespace Herwig {
0009 
0010 using namespace ThePEG;
0011 
0012 class KrknloEventReweight : public DipoleEventReweight
0013 {
0014 public:
0015   double weight(const PPair& in, const PList& out, const PList& hard,  Ptr<AlphaSBase>::tptr as) const;
0016   double weightCascade(const PPair& in, const PList& out, const PList& hard,  Ptr<AlphaSBase>::tptr as) const;
0017 
0018   bool firstInteraction() const ;
0019   bool secondaryInteractions() const;
0020   
0021   public:
0022 
0023     /** @name Functions used by the persistent I/O system. */
0024     //@{
0025     /**
0026      * Function used to write out object persistently.
0027      * @param os the persistent output stream written to.
0028      */
0029     void persistentOutput(PersistentOStream & os) const;
0030 
0031     /**
0032      * Function used to read in object persistently.
0033      * @param is the persistent input stream read from.
0034      * @param version the version number of the object when written.
0035      */
0036     void persistentInput(PersistentIStream & is, int);
0037     //@}
0038 
0039     /**
0040      * The standard Init function used to initialize the interfaces.
0041      * Called exactly once for each class by the class description system
0042      * before the main function starts or
0043      * when this class is dynamically loaded.
0044      */
0045     static void Init();
0046 
0047 protected:
0048 
0049   /** @name Clone Methods. */
0050   //@{
0051   /**
0052    * Make a simple clone of this object.
0053    * @return a pointer to the new object.
0054    */
0055   virtual IBPtr clone() const;
0056 
0057   /** Make a clone of this object, possibly modifying the cloned object
0058    * to make it sane.
0059    * @return a pointer to the new object.
0060    */
0061   virtual IBPtr fullclone() const;
0062   //@}
0063 
0064 
0065   // If needed, insert declarations of virtual function defined in the
0066   // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
0067 
0068 private:
0069 
0070   double scaleFactor_         = 1.0;
0071 
0072   unsigned int alphaSScale_R_ = 0;
0073   unsigned int alphaSScale_V_ = 0;
0074   
0075   unsigned int mode_          = 0;
0076   unsigned int mcPDF_         = 1;
0077   
0078 
0079   /**
0080    * The assignment operator is private and must never be called.
0081    * In fact, it should not even be implemented.
0082    */
0083   KrknloEventReweight & operator=(const KrknloEventReweight &) = delete;
0084 
0085 };
0086 
0087 }
0088 
0089 #endif /* Herwig_KrknloEventReweight_H */