herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
LEPEventShapes.h
1 // -*- C++ -*-
2 //
3 // LEPEventShapes.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef HERWIG_LEPEventShapes_H
10 #define HERWIG_LEPEventShapes_H
11 //
12 // This is the declaration of the LEPEventShapes class.
13 //
14 
15 #include "ThePEG/Handlers/AnalysisHandler.h"
16 #include "ThePEG/Vectors/Lorentz5Vector.h"
17 #include "EventShapes.h"
18 #include "Herwig/Utilities/Histogram.h"
19 
20 namespace Herwig {
21 
22 using namespace ThePEG;
23 
33 
34 public:
35 
55  virtual void analyze(tEventPtr event, long ieve, int loop, int state);
56 
63  virtual LorentzRotation transform(tEventPtr event) const;
64 
70  virtual void analyze(const tPVector & particles);
71 
74 
75 public:
76 
83  void persistentOutput(PersistentOStream & os) const;
84 
90  void persistentInput(PersistentIStream & is, int version);
92 
99  static void Init();
100 
101 protected:
102 
109  virtual IBPtr clone() const {return new_ptr(*this);}
110 
115  virtual IBPtr fullclone() const {return new_ptr(*this);}
117 
118 protected:
119 
126  virtual void doinitrun();
127 
132  virtual void dofinish();
134 
135 private:
136 
142 
147  LEPEventShapes & operator=(const LEPEventShapes &) = delete;
148 
149 private:
150 
154  HistogramPtr _omthr;
155 
159  HistogramPtr _maj;
160 
164  HistogramPtr _min;
165 
169  HistogramPtr _obl;
170 
174  HistogramPtr _sph;
175 
179  HistogramPtr _apl;
180 
184  HistogramPtr _pla;
185 
189  HistogramPtr _c;
190 
194  HistogramPtr _d;
195 
199  HistogramPtr _mhi;
200 
204  HistogramPtr _mlo;
205 
209  HistogramPtr _mdiff;
210 
214  HistogramPtr _bmax;
215 
219  HistogramPtr _bmin;
220 
224  HistogramPtr _bsum;
225 
229  HistogramPtr _bdiff;
230 
234  EventShapesPtr _shapes;
235 };
236 
237 }
238 
239 #include "ThePEG/Utilities/ClassTraits.h"
240 
241 namespace ThePEG {
242 
247 template <>
248 struct BaseClassTrait<Herwig::LEPEventShapes,1> {
250  typedef AnalysisHandler NthBase;
251 };
252 
255 template <>
256 struct ClassTraits<Herwig::LEPEventShapes>
257  : public ClassTraitsBase<Herwig::LEPEventShapes> {
259  static string className() { return "Herwig::LEPEventShapes"; }
263  static string library() { return "HwAnalysis.so HwLEPAnalysis.so"; }
264 };
265 
268 }
269 
270 #endif /* HERWIG_LEPEventShapes_H */
virtual IBPtr clone() const
Make a simple clone of this object.
HistogramPtr _bmax
Histogram for the distribution.
HistogramPtr _mdiff
Histogram for the distribution.
HistogramPtr _obl
Histogram for the oblateness distribution.
The LEPEventShapes class performs the analysis of global event shapes and compares with LEP data...
HistogramPtr _d
Histogram for the D distribution.
HistogramPtr _apl
Histogram for the aplanarity distribution.
HistogramPtr _bsum
Histogram for the distribution.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
HistogramPtr _bdiff
Histogram for the distribution.
HistogramPtr _omthr
Histogram for distribution.
EventShapesPtr _shapes
Pointer to the object which calculates the event shapes.
HistogramPtr _bmin
Histogram for the distribution.
HistogramPtr _sph
Histogram for the sphericity distribution.
static ClassDescription< LEPEventShapes > initLEPEventShapes
The static object used to initialize the description of this class.
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
HistogramPtr _pla
Histogram for the planarity distribution.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
HistogramPtr _mhi
Histogram for the distribution.
HistogramPtr _min
Histogram for the minor distribution.
HistogramPtr _c
Histogram for the C distribution.
ThePEG::Ptr< Event >::transient_pointer tEventPtr
-*- C++ -*-
vector< tPPtr > tPVector
HistogramPtr _maj
Histogram for the major distribution.
HistogramPtr _mlo
Histogram for the distribution.