herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HJetsAnalysis.h
1// -*- C++ -*-
2#ifndef Herwig_HJetsAnalysis_H
3#define Herwig_HJetsAnalysis_H
4//
5// This is the declaration of the HJetsAnalysis class.
6//
7
8#include "Herwig/Analysis/JetsPlusAnalysis.h"
9
10namespace Herwig {
11
12using namespace ThePEG;
13
21
22public:
23
28
29public:
30
37
38protected:
39
43 virtual void analyzeSpecial(long id, double weight);
44
48 virtual void finalize(XML::Element&);
49
50public:
51
59
65 void persistentInput(PersistentIStream & is, int version);
67
74 static void Init();
75
76protected:
77
84 virtual IBPtr clone() const;
85
90 virtual IBPtr fullclone() const;
92
93
94// If needed, insert declarations of virtual function defined in the
95// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
96
97private:
98
103
108
113
118
123
124protected:
125
129 double yStar(const LorentzMomentum& jet1, const LorentzMomentum& jet2,
130 const LorentzMomentum& obj) const {
131 double y1 = jet1.rapidity();
132 double y2 = jet2.rapidity();
133 double res =
134 obj.rapidity() - 0.5*(y1+y2);
135 return res/(y1-y2);
136 }
137
142 if ( !theHiggsYStar.bins().empty() )
143 return theHiggsYStar;
144 return theHiggsYStar =
145 Statistics::Histogram("HiggsYStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
146 }
147
152 if ( !theThirdJetYStar.bins().empty() )
153 return theThirdJetYStar;
154 return theThirdJetYStar =
155 Statistics::Histogram("Jet3YStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
156 }
157
162 if ( !theFourthJetYStar.bins().empty() )
163 return theFourthJetYStar;
164 return theFourthJetYStar =
165 Statistics::Histogram("Jet4YStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
166 }
167
172 if ( !theJet12HiggsDeltaPhi.bins().empty() )
174 return theJet12HiggsDeltaPhi =
175 Statistics::Histogram("Jet12hDeltaPhi",
177 make_pair(-Constants::pi,Constants::pi));
178 }
179
184 if ( !theJeppeDeltaPhi.bins().empty() )
185 return theJeppeDeltaPhi;
186 return theJeppeDeltaPhi =
187 Statistics::Histogram("JeppeDeltaPhi",
189 make_pair(-Constants::pi,Constants::pi));
190 }
191
192private:
193
199
200};
201
202}
203
204#endif /* Herwig_HJetsAnalysis_H */
Here is the documentation of the HJetsAnalysis class.
Definition: HJetsAnalysis.h:20
double yStar(const LorentzMomentum &jet1, const LorentzMomentum &jet2, const LorentzMomentum &obj) const
Calculate ystar given two jets and object of interest.
Statistics::Histogram theThirdJetYStar
Relative rapidity of the third jet between the first two jets.
Statistics::Histogram & jet12HiggsDeltaPhi()
Delta phi between the Higgs and the two-jet system.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void analyzeSpecial(long id, double weight)
Perform any additional analysis required.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Statistics::Histogram & higgsYStar()
Relative rapidity of the Higgs between the first two jets.
virtual void reconstructHardObjects(ParticleVector &)
Reconstruct the desired electroweak objects and fill the respective momenta.
Statistics::Histogram & thirdJetYStar()
Relative rapidity of the third jet between the first two jets.
HJetsAnalysis()
The default constructor.
Statistics::Histogram theHiggsYStar
Relative rapidity of the Higgs between the first two jets.
virtual void finalize(XML::Element &)
Append any additional histograms to the given histogram element.
Statistics::Histogram & fourthJetYStar()
Relative rapidity of the fourth jet between the first two jets.
virtual IBPtr clone() const
Make a simple clone of this object.
Statistics::Histogram theFourthJetYStar
Relative rapidity of the fourth jet between the first two jets.
Statistics::Histogram theJet12HiggsDeltaPhi
Delta phi between the Higgs and the two-jet system.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Statistics::Histogram theJeppeDeltaPhi
Jeppe's delta phi.
HJetsAnalysis & operator=(const HJetsAnalysis &)=delete
The assignment operator is private and must never be called.
Statistics::Histogram & jeppeDeltaPhi()
Delta phi between the Higgs and the two-jet system.
static void Init()
The standard Init function used to initialize the interfaces.
Here is the documentation of the JetsPlusAnalysis class.
A (one dimensional) histogram.
const std::vector< Bin > & bins() const
Return the bins.
static std::vector< double > regularBinEdges(double lower, double upper, size_t nBins)
Create equally spaced bin edges.
Element represents a (tree of) XML elements.
Definition: Element.h:56
-*- C++ -*-
constexpr double pi
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< PPtr > ParticleVector