|
|
|||
File indexing completed on 2026-08-06 09:23:58
0001 // -*- C++ -*- 0002 // 0003 // SimpleLHCAnalysis.h is a part of Herwig - A multi-purpose Monte Carlo event generator 0004 // Copyright (C) 2002-2019 The Herwig Collaboration 0005 // 0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details. 0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 0008 // 0009 #ifndef HERWIG_SimpleLHCAnalysis_H 0010 #define HERWIG_SimpleLHCAnalysis_H 0011 // 0012 // This is the declaration of the SimpleLHCAnalysis class. 0013 // 0014 0015 #include "ThePEG/Repository/CurrentGenerator.h" 0016 #include "ThePEG/Handlers/AnalysisHandler.h" 0017 #include "Herwig/Utilities/Histogram.h" 0018 0019 namespace Herwig { 0020 0021 using namespace ThePEG; 0022 0023 /** \ingroup Analysis 0024 * The SimpleLHCAnalysis class is designed to perform some simple analysis of 0025 * gauge boson, W and Z, distributions in hadron-hadron collisions. The main 0026 * distriubtions are the transverse momentum and rapidities of the gauge bosons 0027 * which are of physical interest, and the azimuthal angle distribution for 0028 * testing purposes. 0029 * 0030 * @see \ref SimpleLHCAnalysisInterfaces "The interfaces" 0031 * defined for SimpleLHCAnalysis. 0032 */ 0033 class SimpleLHCAnalysis: public AnalysisHandler { 0034 0035 public: 0036 0037 /** 0038 * The default constructor. 0039 */ 0040 SimpleLHCAnalysis(); 0041 0042 /** @name Virtual Functions required by the AnalysisHandler class. */ 0043 //@{ 0044 /** 0045 * Analyze a given Event. Note that a fully generated event 0046 * may be presented several times, if it has been manipulated in 0047 * between. The default version of this function will call transform 0048 * to make a lorentz transformation of the whole event, then extract 0049 * all final state particles and call analyze(tPVector) of this 0050 * analysis object and those of all associated analysis objects. The 0051 * default version will not, however, do anything on events which 0052 * have not been fully generated, or have been manipulated in any 0053 * way. 0054 * @param event pointer to the Event to be analyzed. 0055 * @param ieve the event number. 0056 * @param loop the number of times this event has been presented. 0057 * If negative the event is now fully generated. 0058 * @param state a number different from zero if the event has been 0059 * manipulated in some way since it was last presented. 0060 */ 0061 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 0062 //@} 0063 0064 public: 0065 0066 /** 0067 * The standard Init function used to initialize the interfaces. 0068 * Called exactly once for each class by the class description system 0069 * before the main function starts or 0070 * when this class is dynamically loaded. 0071 */ 0072 static void Init(); 0073 0074 protected: 0075 0076 /** @name Clone Methods. */ 0077 //@{ 0078 /** 0079 * Make a simple clone of this object. 0080 * @return a pointer to the new object. 0081 */ 0082 virtual IBPtr clone() const {return new_ptr(*this);} 0083 0084 /** Make a clone of this object, possibly modifying the cloned object 0085 * to make it sane. 0086 * @return a pointer to the new object. 0087 */ 0088 virtual IBPtr fullclone() const {return new_ptr(*this);} 0089 //@} 0090 0091 protected: 0092 0093 /** @name Standard Interfaced functions. */ 0094 //@{ 0095 /** 0096 * Finalize this object. Called in the run phase just after a 0097 * run has ended. Used eg. to write out statistics. 0098 */ 0099 virtual void dofinish(); 0100 //@} 0101 0102 private: 0103 0104 /** 0105 * The assignment operator is private and must never be called. 0106 * In fact, it should not even be implemented. 0107 */ 0108 SimpleLHCAnalysis & operator=(const SimpleLHCAnalysis &) = delete; 0109 0110 private: 0111 0112 /** 0113 * \f$p_T\f$ of the Z boson 0114 */ 0115 vector<Histogram> _ptZ; 0116 0117 /** 0118 * \f$p_T\f$ of the \f$W^+\f$ boson 0119 */ 0120 vector<Histogram> _ptWp; 0121 0122 /** 0123 * \f$p_T\f$ of the \f$W^-\f$ boson 0124 */ 0125 vector<Histogram> _ptWm; 0126 0127 /** 0128 * Mass of the Z boson 0129 */ 0130 Histogram _mZ; 0131 0132 /** 0133 * Mass of the \f$W^+\f$ boson 0134 */ 0135 Histogram _mWp; 0136 0137 /** 0138 * Mass of the \f$W^-\f$ boson 0139 */ 0140 Histogram _mWm; 0141 0142 /** 0143 * Rapidity of Z 0144 */ 0145 Histogram _rapZ; 0146 0147 /** 0148 * Rapidity of \f$W^+\f$ boson 0149 */ 0150 Histogram _rapWp; 0151 0152 /** 0153 * Rapidity of \f$W^-\f$ boson 0154 */ 0155 Histogram _rapWm; 0156 0157 /** 0158 * Azimuth of Z 0159 */ 0160 Histogram _phiZ; 0161 0162 /** 0163 * Azimuth of \f$W^+\f$ boson 0164 */ 0165 Histogram _phiWp; 0166 0167 /** 0168 * Azimuth of \f$W^-\f$ boson 0169 */ 0170 Histogram _phiWm; 0171 0172 }; 0173 0174 } 0175 0176 #endif /* HERWIG_SimpleLHCAnalysis_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|