herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
CKKWTree.h
1 // -*- C++ -*-
2 #ifndef HERWIG_CKKWTree_H
3 #define HERWIG_CKKWTree_H
4 //
5 // This is the declaration of the CKKWTree class.
6 //
7 
8 #include "Herwig/Shower/QTilde/Base/HardTree.h"
9 #include "CKKWTree.fh"
10 
11 namespace Herwig {
12 
13 using namespace ThePEG;
14 
18 class CKKWTree: public HardTree {
19 
20 public:
21 
25  CKKWTree(vector<HardBranchingPtr>, vector<HardBranchingPtr>, ShowerInteraction);
26 
27 public:
28 
32  bool checkXOrdering();
33 
37  Energy lowestPtMomentum( int jetMeasureMode, int cutOption );
38 
42  bool checkHardOrdering();
43 
47  Energy totalPt() { return totalpT_; }
48 
53  void findNodes();
54 
58  map< HardBranchingPtr, Energy > & getNodes() { return nodes_; }
59 
63  Energy lowestPt( int jetMeasureMode, Energy2 s );
64 
68  bool ordered() const {return ordered_;}
69 
70 protected:
71 
75  void getLowestJetMeasure( HardBranchingPtr branch, int jetMeasureMode, int cutOption );
76 
80  Energy hadronJetMeasure( const Lorentz5Momentum & p1,
81  const Lorentz5Momentum & p2,
82  bool final );
86  Energy getJetMeasure( const Lorentz5Momentum & p1,
87  const Lorentz5Momentum & p2,
88  int jetMeasureMode );
89 
93  bool externalBranching( HardBranchingPtr a, HardBranchingPtr b );
94 
98  void fillHardScales( HardBranchingPtr branch, vector< pair< Energy, double > > & currentLine );
99 
103  bool fillNodes( HardBranchingPtr );
104 
108  bool fixParents( HardBranchingPtr );
109 
110 private:
111 
116  map< HardBranchingPtr, Energy > nodes_;
117 
121  vector< vector< pair< Energy, double > > > hardLineScales_;
122 
128 
132  Energy totalpT_;
133 
138  HardBranchingPtr lowestpT_;
139 
143  bool ordered_;
144 
145 };
146 
147 }
148 
149 #endif /* HERWIG_CKKWTree_H */
ShowerInteraction
Handy header file to be included in all Shower classes.
bool ordered_
Is the tree ordered.
Definition: CKKWTree.h:143
map< HardBranchingPtr, Energy > & getNodes()
Access the nodal branchings.
Definition: CKKWTree.h:58
bool ordered() const
Is the tree ordered?
Definition: CKKWTree.h:68
map< HardBranchingPtr, Energy > nodes_
Map containing all nodes with the ingoing partons and their scale (this is the the intermediates and ...
Definition: CKKWTree.h:116
Energy lowestpTMomentum_
The lowest pt of the branchings in the hardtree in whatever jet measure according to the hardtree mom...
Definition: CKKWTree.h:127
HardBranchingPtr lowestpT_
The hardBranching of softest branching This is found by looking at tree end points in fillNodes...
Definition: CKKWTree.h:138
Energy totalpT_
The sum of the pts of all branchings.
Definition: CKKWTree.h:132
The HardTree class is designed to contain the information required to implement the POWHEG approach f...
Definition: HardTree.h:23
vector< vector< pair< Energy, double > > > hardLineScales_
Scales and z along each hard line to check ordering.
Definition: CKKWTree.h:121
-*- C++ -*-
Energy totalPt()
Returns sum of pts of all branchings in tree.
Definition: CKKWTree.h:47
Here is the documentation of the CKKWTree class.
Definition: CKKWTree.h:18