herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Analysis
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
10
namespace
Herwig
{
11
12
using namespace
ThePEG
;
13
20
class
HJetsAnalysis
:
public
Herwig::JetsPlusAnalysis
{
21
22
public
:
23
27
HJetsAnalysis
();
28
29
public
:
30
36
virtual
void
reconstructHardObjects
(
ParticleVector
&);
37
38
protected
:
39
43
virtual
void
analyzeSpecial
(
long
id
,
double
weight);
44
48
virtual
void
finalize
(
XML::Element
&);
49
50
public
:
51
58
void
persistentOutput
(
PersistentOStream
& os)
const
;
59
65
void
persistentInput
(
PersistentIStream
& is,
int
version);
67
74
static
void
Init
();
75
76
protected
:
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
97
private
:
98
102
Statistics::Histogram
theHiggsYStar
;
103
107
Statistics::Histogram
theThirdJetYStar
;
108
112
Statistics::Histogram
theFourthJetYStar
;
113
117
Statistics::Histogram
theJet12HiggsDeltaPhi
;
118
122
Statistics::Histogram
theJeppeDeltaPhi
;
123
124
protected
:
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
141
Statistics::Histogram
&
higgsYStar
() {
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
151
Statistics::Histogram
&
thirdJetYStar
() {
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
161
Statistics::Histogram
&
fourthJetYStar
() {
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
171
Statistics::Histogram
&
jet12HiggsDeltaPhi
() {
172
if
( !
theJet12HiggsDeltaPhi
.
bins
().empty() )
173
return
theJet12HiggsDeltaPhi
;
174
return
theJet12HiggsDeltaPhi
=
175
Statistics::Histogram
(
"Jet12hDeltaPhi"
,
176
Statistics::Histogram::regularBinEdges
(-
Constants::pi
,
Constants::pi
,32),
177
make_pair(-
Constants::pi
,
Constants::pi
));
178
}
179
183
Statistics::Histogram
&
jeppeDeltaPhi
() {
184
if
( !
theJeppeDeltaPhi
.
bins
().empty() )
185
return
theJeppeDeltaPhi
;
186
return
theJeppeDeltaPhi
=
187
Statistics::Histogram
(
"JeppeDeltaPhi"
,
188
Statistics::Histogram::regularBinEdges
(-
Constants::pi
,
Constants::pi
,32),
189
make_pair(-
Constants::pi
,
Constants::pi
));
190
}
191
192
private
:
193
198
HJetsAnalysis
&
operator=
(
const
HJetsAnalysis
&) =
delete
;
199
200
};
201
202
}
203
204
#endif
/* Herwig_HJetsAnalysis_H */
Herwig::HJetsAnalysis
Here is the documentation of the HJetsAnalysis class.
Definition:
HJetsAnalysis.h:20
Herwig::HJetsAnalysis::yStar
double yStar(const LorentzMomentum &jet1, const LorentzMomentum &jet2, const LorentzMomentum &obj) const
Calculate ystar given two jets and object of interest.
Definition:
HJetsAnalysis.h:129
Herwig::HJetsAnalysis::theThirdJetYStar
Statistics::Histogram theThirdJetYStar
Relative rapidity of the third jet between the first two jets.
Definition:
HJetsAnalysis.h:107
Herwig::HJetsAnalysis::jet12HiggsDeltaPhi
Statistics::Histogram & jet12HiggsDeltaPhi()
Delta phi between the Higgs and the two-jet system.
Definition:
HJetsAnalysis.h:171
Herwig::HJetsAnalysis::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::HJetsAnalysis::analyzeSpecial
virtual void analyzeSpecial(long id, double weight)
Perform any additional analysis required.
Herwig::HJetsAnalysis::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::HJetsAnalysis::higgsYStar
Statistics::Histogram & higgsYStar()
Relative rapidity of the Higgs between the first two jets.
Definition:
HJetsAnalysis.h:141
Herwig::HJetsAnalysis::reconstructHardObjects
virtual void reconstructHardObjects(ParticleVector &)
Reconstruct the desired electroweak objects and fill the respective momenta.
Herwig::HJetsAnalysis::thirdJetYStar
Statistics::Histogram & thirdJetYStar()
Relative rapidity of the third jet between the first two jets.
Definition:
HJetsAnalysis.h:151
Herwig::HJetsAnalysis::HJetsAnalysis
HJetsAnalysis()
The default constructor.
Herwig::HJetsAnalysis::theHiggsYStar
Statistics::Histogram theHiggsYStar
Relative rapidity of the Higgs between the first two jets.
Definition:
HJetsAnalysis.h:102
Herwig::HJetsAnalysis::finalize
virtual void finalize(XML::Element &)
Append any additional histograms to the given histogram element.
Herwig::HJetsAnalysis::fourthJetYStar
Statistics::Histogram & fourthJetYStar()
Relative rapidity of the fourth jet between the first two jets.
Definition:
HJetsAnalysis.h:161
Herwig::HJetsAnalysis::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::HJetsAnalysis::theFourthJetYStar
Statistics::Histogram theFourthJetYStar
Relative rapidity of the fourth jet between the first two jets.
Definition:
HJetsAnalysis.h:112
Herwig::HJetsAnalysis::theJet12HiggsDeltaPhi
Statistics::Histogram theJet12HiggsDeltaPhi
Delta phi between the Higgs and the two-jet system.
Definition:
HJetsAnalysis.h:117
Herwig::HJetsAnalysis::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::HJetsAnalysis::theJeppeDeltaPhi
Statistics::Histogram theJeppeDeltaPhi
Jeppe's delta phi.
Definition:
HJetsAnalysis.h:122
Herwig::HJetsAnalysis::operator=
HJetsAnalysis & operator=(const HJetsAnalysis &)=delete
The assignment operator is private and must never be called.
Herwig::HJetsAnalysis::jeppeDeltaPhi
Statistics::Histogram & jeppeDeltaPhi()
Delta phi between the Higgs and the two-jet system.
Definition:
HJetsAnalysis.h:183
Herwig::HJetsAnalysis::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::JetsPlusAnalysis
Here is the documentation of the JetsPlusAnalysis class.
Definition:
JetsPlusAnalysis.h:24
Statistics::Histogram
A (one dimensional) histogram.
Definition:
Statistics/Histogram.h:25
Statistics::Histogram::bins
const std::vector< Bin > & bins() const
Return the bins.
Definition:
Statistics/Histogram.h:122
Statistics::Histogram::regularBinEdges
static std::vector< double > regularBinEdges(double lower, double upper, size_t nBins)
Create equally spaced bin edges.
ThePEG::PersistentIStream
ThePEG::PersistentOStream
XML::Element
Element represents a (tree of) XML elements.
Definition:
Element.h:56
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Constants::pi
constexpr double pi
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6