herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
LEPEventShapes.h
1 // -*- C++ -*-
2 //
3 // LEPEventShapes.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 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 
141  LEPEventShapes & operator=(const LEPEventShapes &) = delete;
142 
143 private:
144 
148  HistogramPtr _omthr;
149 
153  HistogramPtr _maj;
154 
158  HistogramPtr _min;
159 
163  HistogramPtr _obl;
164 
168  HistogramPtr _sph;
169 
173  HistogramPtr _apl;
174 
178  HistogramPtr _pla;
179 
183  HistogramPtr _c;
184 
188  HistogramPtr _d;
189 
193  HistogramPtr _mhi;
194 
198  HistogramPtr _mlo;
199 
203  HistogramPtr _mdiff;
204 
208  HistogramPtr _bmax;
209 
213  HistogramPtr _bmin;
214 
218  HistogramPtr _bsum;
219 
223  HistogramPtr _bdiff;
224 
228  EventShapesPtr _shapes;
229 };
230 
231 }
232 
233 #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.
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.