Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:51:48

0001 #ifndef GAM2_SCALES_MGG2_MULTIPLIER_H
0002 #define GAM2_SCALES_MGG2_MULTIPLIER_H
0003 
0004 /**
0005  * @file GAM2ScalesMgg2Multiplier.h
0006  * @author Bryan BERTHOU (SPhN / CEA Saclay)
0007  * @date 28 October 2015
0008  * @version 1.0
0009  */
0010 
0011 #include <ElementaryUtils/parameters/Parameters.h>
0012 #include <string>
0013 
0014 #include "GAM2ScalesModule.h"
0015 
0016 namespace PARTONS {
0017 
0018 /**
0019  * @class GAM2ScalesMgg2Multiplier
0020  *
0021  * @brief Evaluation of factorization and renormalization scales as a linear function of \f$M_{\gamma\gamma}^2\f$.
0022  *
0023  * This model evaluates factorization and renormalization scales as a linear function of \f$M_{\gamma\gamma}^2\f$, i.e. <br>
0024  * \f$\mu_{F}^{2} = \mu_{R}^{2} = \lambda M_{\gamma\gamma}^2\f$ <br>
0025  * The value of \f$\lambda\f$ can be changed by GAM2ScalesMgg2Multiplier::configure() function using GAM2ScalesMgg2Multiplier::PARAMETER_NAME_LAMBDA parameter key.
0026  *
0027  * For an example of usage of this module see the abstract class documentation.
0028  */
0029 class GAM2ScalesMgg2Multiplier: public GAM2ScalesModule {
0030 
0031 public:
0032 
0033     /**
0034      * Name to set value of GAM2ScalesMgg2Multiplier::m_lambda via the automatization.
0035      */
0036     static const std::string PARAMETER_NAME_LAMBDA;
0037 
0038     /**
0039      * Unique ID to automatically register the class in the registry.
0040      */
0041     static const unsigned int classId;
0042 
0043     /**
0044      * Constructor.
0045      * @param className Name of class.
0046      */
0047     GAM2ScalesMgg2Multiplier(const std::string &className);
0048 
0049     /**
0050      * Copy constructor.
0051      * @param other Object to be copied.
0052      */
0053     GAM2ScalesMgg2Multiplier(const GAM2ScalesMgg2Multiplier &other);
0054 
0055     /**
0056      * Destructor.
0057      */
0058     virtual ~GAM2ScalesMgg2Multiplier();
0059 
0060     virtual GAM2ScalesMgg2Multiplier* clone() const;
0061     virtual void configure(const ElemUtils::Parameters &parameters);
0062     virtual Scales compute(const GAM2ObservableKinematic& kinematic);
0063 
0064 private:
0065 
0066     /**
0067      * Scaling parameter.
0068      */
0069     double m_lambda;
0070 };
0071 
0072 } /* namespace PARTONS */
0073 
0074 #endif /* GAM2_SCALES_MGG2_MULTIPLIER_H */