herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
21 
22 public:
23 
29  HJetsAnalysis();
30 
34  virtual ~HJetsAnalysis();
36 
37 public:
38 
44  virtual void reconstructHardObjects(ParticleVector&);
45 
46 protected:
47 
51  virtual void analyzeSpecial(long id, double weight);
52 
56  virtual void finalize(XML::Element&);
57 
58 public:
59 
66  void persistentOutput(PersistentOStream & os) const;
67 
73  void persistentInput(PersistentIStream & is, int version);
75 
82  static void Init();
83 
84 protected:
85 
92  virtual IBPtr clone() const;
93 
98  virtual IBPtr fullclone() const;
100 
101 
102 // If needed, insert declarations of virtual function defined in the
103 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
104 
105 private:
106 
111 
116 
121 
126 
131 
132 protected:
133 
137  double yStar(const LorentzMomentum& jet1, const LorentzMomentum& jet2,
138  const LorentzMomentum& obj) const {
139  double y1 = jet1.rapidity();
140  double y2 = jet2.rapidity();
141  double res =
142  obj.rapidity() - 0.5*(y1+y2);
143  return res/(y1-y2);
144  }
145 
150  if ( !theHiggsYStar.bins().empty() )
151  return theHiggsYStar;
152  return theHiggsYStar =
153  Statistics::Histogram("HiggsYStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
154  }
155 
160  if ( !theThirdJetYStar.bins().empty() )
161  return theThirdJetYStar;
162  return theThirdJetYStar =
163  Statistics::Histogram("Jet3YStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
164  }
165 
170  if ( !theFourthJetYStar.bins().empty() )
171  return theFourthJetYStar;
172  return theFourthJetYStar =
173  Statistics::Histogram("Jet4YStar",Statistics::Histogram::regularBinEdges(-6,6,120),false,false);
174  }
175 
180  if ( !theJet12HiggsDeltaPhi.bins().empty() )
181  return theJet12HiggsDeltaPhi;
182  return theJet12HiggsDeltaPhi =
183  Statistics::Histogram("Jet12hDeltaPhi",
184  Statistics::Histogram::regularBinEdges(-Constants::pi,Constants::pi,32),
185  make_pair(-Constants::pi,Constants::pi));
186  }
187 
192  if ( !theJeppeDeltaPhi.bins().empty() )
193  return theJeppeDeltaPhi;
194  return theJeppeDeltaPhi =
195  Statistics::Histogram("JeppeDeltaPhi",
196  Statistics::Histogram::regularBinEdges(-Constants::pi,Constants::pi,32),
197  make_pair(-Constants::pi,Constants::pi));
198  }
199 
200 private:
201 
206  HJetsAnalysis & operator=(const HJetsAnalysis &) = delete;
207 
208 };
209 
210 }
211 
212 #endif /* Herwig_HJetsAnalysis_H */
A (one dimensional) histogram.
Statistics::Histogram theThirdJetYStar
Relative rapidity of the third jet between the first two jets.
Statistics::Histogram theHiggsYStar
Relative rapidity of the Higgs between the first two jets.
Statistics::Histogram & higgsYStar()
Relative rapidity of the Higgs between the first two jets.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Statistics::Histogram theJet12HiggsDeltaPhi
Delta phi between the Higgs and the two-jet system.
Statistics::Histogram theFourthJetYStar
Relative rapidity of the fourth jet between the first two jets.
Statistics::Histogram theJeppeDeltaPhi
Jeppe&#39;s delta phi.
Here is the documentation of the HJetsAnalysis class.
Definition: HJetsAnalysis.h:20
const std::vector< Bin > & bins() const
Return the bins.
Statistics::Histogram & fourthJetYStar()
Relative rapidity of the fourth jet between the first two jets.
static std::vector< double > regularBinEdges(double lower, double upper, size_t nBins)
Create equally spaced bin edges.
Statistics::Histogram & thirdJetYStar()
Relative rapidity of the third jet between the first two jets.
double yStar(const LorentzMomentum &jet1, const LorentzMomentum &jet2, const LorentzMomentum &obj) const
Calculate ystar given two jets and object of interest.
Element represents a (tree of) XML elements.
Definition: Element.h:56
-*- C++ -*-
vector< PPtr > ParticleVector
Statistics::Histogram & jet12HiggsDeltaPhi()
Delta phi between the Higgs and the two-jet system.
Here is the documentation of the JetsPlusAnalysis class.
Statistics::Histogram & jeppeDeltaPhi()
Delta phi between the Higgs and the two-jet system.