herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Analysis
LeptonsJetsAnalysis.h
1
// -*- C++ -*-
2
#ifndef Herwig_LeptonsJetsAnalysis_H
3
#define Herwig_LeptonsJetsAnalysis_H
4
//
5
// This is the declaration of the LeptonsJetsAnalysis class.
6
//
7
8
#include "ThePEG/Handlers/AnalysisHandler.h"
9
#include "ThePEG/Cuts/JetFinder.h"
10
#include "ThePEG/Cuts/JetRegion.h"
11
#include "ThePEG/Repository/EventGenerator.h"
12
#include "Herwig/Utilities/Statistics/Histogram.h"
13
14
namespace
Herwig
{
15
16
using namespace
ThePEG
;
17
24
class
LeptonsJetsAnalysis
:
public
AnalysisHandler
{
25
26
public
:
27
31
LeptonsJetsAnalysis
();
32
33
public
:
34
54
virtual
void
analyze
(
tEventPtr
event,
long
ieve,
int
loop,
int
state
);
56
57
protected
:
58
62
void
analyze
(
ParticleVector
&,
long
,
double
);
63
67
void
clear
() {
68
theJets
.clear();
69
theEWIDs
.clear();
70
theChargedLeptons
.clear();
71
theNeutrinos
.clear();
72
theHiggs
.clear();
73
}
74
78
virtual
void
reconstructJets
(
const
ParticleVector
&);
79
83
Ptr<JetFinder>::tptr
jetFinder
()
const
{
84
return
theJetFinder
;
85
}
86
90
const
vector<Ptr<JetRegion>::ptr>&
jetRegions
()
const
{
return
theJetRegions
; }
91
95
unsigned
int
nJets
()
const
{
return
theJets
.size(); }
96
100
LorentzMomentum&
jetMomentum
(
const
unsigned
int
id
) {
101
return
theJets
[id];
102
}
103
107
virtual
void
reconstructEWParticles
(
ParticleVector
&);
108
112
LorentzMomentum&
eWIDMomentum
(
const
unsigned
int
id
) {
113
return
theEWIDs
[id];
114
}
115
119
LorentzMomentum&
chargedLeptonMomentum
(
const
unsigned
int
id
) {
120
return
theChargedLeptons
[id];
121
}
122
126
LorentzMomentum&
neutrinoMomentum
(
const
unsigned
int
id
) {
127
return
theNeutrinos
[id];
128
}
129
133
LorentzMomentum&
pTmissMomentum
() {
134
return
thePTmiss
;
135
}
136
140
LorentzMomentum&
higgsMomentum
(
const
unsigned
int
id
) {
141
return
theHiggs
[id];
142
}
143
144
protected
:
145
150
virtual
void
dofinish
();
151
152
public
:
153
160
void
persistentOutput
(
PersistentOStream
& os)
const
;
161
167
void
persistentInput
(
PersistentIStream
& is,
int
version);
169
176
static
void
Init
();
177
178
protected
:
179
186
virtual
IBPtr
clone
()
const
;
187
192
virtual
IBPtr
fullclone
()
const
;
194
195
196
// If needed, insert declarations of virtual function defined in the
197
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
198
199
protected
:
200
205
struct
ObjectProperties
{
206
210
Statistics::Histogram
pt
;
211
Statistics::Histogram
ptlow;
212
Statistics::Histogram
pt_logx;
213
217
Statistics::Histogram
y
;
218
222
Statistics::Histogram
phi
;
223
227
Statistics::Histogram
mass
;
228
Statistics::Histogram
masslow;
229
233
ObjectProperties
() {}
234
238
ObjectProperties
(
const
string
&
name
, Energy)
239
:
pt
(
name
+
"Pt"
,Statistics::
Histogram
::regularBinEdges(0,1000,200),true,false),
240
ptlow(
name
+
"Ptlow"
,Statistics::
Histogram
::regularBinEdges(0,200,100),true,false),
241
pt_logx(
name
+
"PtLogX"
,Statistics::
Histogram
::logBinEdges(0.1,1000,100),true,false),
242
y
(
name
+
"Y"
,Statistics::
Histogram
::regularBinEdges(-6,6,120),false,false),
243
phi
(
name
+
"Phi"
,Statistics::
Histogram
::regularBinEdges(-Constants::
pi
,Constants::
pi
,62),
244
make_pair(-Constants::
pi
,Constants::
pi
)),
245
mass
(
name
+
"Mass"
,Statistics::
Histogram
::regularBinEdges(0,5000,500),true,false),
246
masslow(
name
+
"Masslow"
,Statistics::
Histogram
::regularBinEdges(0,250,100),true,false) {}
247
251
void
count
(
const
LorentzMomentum& p,
double
weight,
unsigned
int
id
) {
252
pt
.
count
(
Statistics::EventContribution
(p.perp()/GeV,weight,5.),
id
);
253
ptlow.
count
(
Statistics::EventContribution
(p.perp()/GeV,weight,2.),
id
);
254
pt_logx.
count
(
Statistics::EventContribution
(p.perp()/GeV,weight,1.),
id
);
255
y
.
count
(
Statistics::EventContribution
(p.rapidity(),weight,0.1),
id
);
256
phi
.
count
(
Statistics::EventContribution
(p.phi(),weight,0.1),
id
);
257
mass
.
count
(
Statistics::EventContribution
(p.m()/GeV,weight,10.),
id
);
258
masslow.
count
(
Statistics::EventContribution
(p.m()/GeV,weight,2.5),
id
);
259
}
260
264
void
count
(Energy perp,
double
rapidity,
265
double
xphi, Energy m,
266
double
weight,
unsigned
int
id
) {
267
pt
.
count
(
Statistics::EventContribution
(perp/GeV,weight,5.),
id
);
268
ptlow.
count
(
Statistics::EventContribution
(perp/GeV,weight,1.),
id
);
269
pt_logx.
count
(
Statistics::EventContribution
(perp/GeV,weight,1.),
id
);
270
y
.
count
(
Statistics::EventContribution
(rapidity,weight,0.1),
id
);
271
phi
.
count
(
Statistics::EventContribution
(xphi,weight,0.1),
id
);
272
mass
.
count
(
Statistics::EventContribution
(m/GeV,weight,5.),
id
);
273
masslow.
count
(
Statistics::EventContribution
(m/GeV,weight,1.25),
id
);
274
}
275
279
void
finalize
(
XML::Element
& elem) {
280
pt
.
finalize
(); elem.
append
(
pt
.
toXML
());
281
ptlow.
finalize
(); elem.
append
(ptlow.
toXML
());
282
pt_logx.
finalize
(); elem.
append
(pt_logx.
toXML
());
283
y
.
finalize
(); elem.
append
(
y
.
toXML
());
284
phi
.
finalize
(); elem.
append
(
phi
.
toXML
());
285
mass
.
finalize
(); elem.
append
(
mass
.
toXML
());
286
masslow.
finalize
(); elem.
append
(masslow.
toXML
());
287
}
288
289
};
290
295
struct
PairProperties
296
:
public
ObjectProperties
{
297
301
static
double
dPhi
(
const
LorentzMomentum& a,
302
const
LorentzMomentum& b){
303
double
phi1 = a.phi();
304
double
phi2 = b.phi();
305
double
diff=phi1-phi2;
306
if
(diff<-
Constants::pi
){
307
diff+=(2.0*
Constants::pi
);
308
}
309
else
if
(diff>
Constants::pi
){
310
diff-=(2.0*
Constants::pi
);
311
}
312
return
diff;
313
}
314
318
static
double
dY
(
const
LorentzMomentum& a,
319
const
LorentzMomentum& b){
320
return
abs(a.rapidity()-b.rapidity());
321
}
322
326
static
double
dR
(
const
LorentzMomentum& a,
327
const
LorentzMomentum& b){
328
return
sqrt
(
sqr
(
dPhi
(a,b))+
sqr
(
dY
(a,b)));
329
}
330
334
static
double
yy
(
const
LorentzMomentum& a,
335
const
LorentzMomentum& b){
336
double
ya = a.rapidity();
337
double
yb = b.rapidity();
338
double
yres =
sqrt
(abs(ya*yb));
339
return
ya*yb < 0. ? -yres : yres;
340
}
341
345
Statistics::Histogram
deltaY
;
346
350
Statistics::Histogram
deltaPhi
;
351
355
Statistics::Histogram
deltaR
;
356
360
Statistics::Histogram
yDotY
;
361
365
PairProperties
()
366
:
ObjectProperties
() {}
367
371
PairProperties
(
const
string
&
name
, Energy ecm)
372
:
ObjectProperties
(
name
,ecm),
373
deltaY
(
name
+
"DeltaY"
,Statistics::
Histogram
::regularBinEdges(0,6,60),true,false),
374
deltaPhi
(
name
+
"DeltaPhi"
,Statistics::
Histogram
::regularBinEdges(-Constants::
pi
,Constants::
pi
,32),
375
make_pair(-Constants::
pi
,Constants::
pi
)),
376
deltaR
(
name
+
"DeltaR"
,Statistics::
Histogram
::regularBinEdges(0,10,100),true,false),
377
yDotY
(
name
+
"YDotY"
,Statistics::
Histogram
::regularBinEdges(-6,6,120),false,false) {}
378
382
void
count
(
const
LorentzMomentum& p,
const
LorentzMomentum& q,
double
weight,
unsigned
int
id
) {
383
ObjectProperties::count
(p+q,weight,
id
);
384
deltaY
.
count
(
Statistics::EventContribution
(
dY
(p,q),weight,0.1),
id
);
385
deltaPhi
.
count
(
Statistics::EventContribution
(
dPhi
(p,q),weight,0.1),
id
);
386
deltaR
.
count
(
Statistics::EventContribution
(
dR
(p,q),weight,0.1),
id
);
387
yDotY
.
count
(
Statistics::EventContribution
(
yy
(p,q),weight,0.1),
id
);
388
}
389
393
void
finalize
(
XML::Element
& elem) {
394
ObjectProperties::finalize
(elem);
395
deltaY
.
finalize
(); elem.
append
(
deltaY
.
toXML
());
396
deltaPhi
.
finalize
(); elem.
append
(
deltaPhi
.
toXML
());
397
deltaR
.
finalize
(); elem.
append
(
deltaR
.
toXML
());
398
yDotY
.
finalize
(); elem.
append
(
yDotY
.
toXML
());
399
}
400
401
};
402
407
struct
TripleProperties
408
:
public
ObjectProperties
{
409
413
static
double
dYstar
(
const
LorentzMomentum& a,
414
const
LorentzMomentum& b,
415
const
LorentzMomentum& c){
416
return
c.rapidity()-(a.rapidity()+b.rapidity())/2.;
417
}
418
422
static
double
dZstar
(
const
LorentzMomentum& a,
423
const
LorentzMomentum& b,
424
const
LorentzMomentum& c){
425
return
dYstar
(a,b,c)*2./abs(a.rapidity()-b.rapidity());
426
}
427
431
Statistics::Histogram
deltaYstar
;
432
436
Statistics::Histogram
deltaZstar
;
437
441
TripleProperties
()
442
:
ObjectProperties
() {}
443
447
TripleProperties
(
const
string
&
name
, Energy ecm)
448
:
ObjectProperties
(
name
,ecm),
449
deltaYstar
(
name
+
"DeltaYstar"
,Statistics::
Histogram
::regularBinEdges(-6,6,120),true,false),
450
deltaZstar
(
name
+
"DeltaZstar"
,Statistics::
Histogram
::regularBinEdges(-3,3,120),true,false) {}
451
455
void
count
(
const
LorentzMomentum& p,
const
LorentzMomentum& q,
const
LorentzMomentum& r,
456
double
weight,
unsigned
int
id
) {
457
ObjectProperties::count
(p+q+r,weight,
id
);
458
deltaYstar
.
count
(
Statistics::EventContribution
(
dYstar
(p,q,r),weight,0.1),
id
);
459
deltaZstar
.
count
(
Statistics::EventContribution
(
dZstar
(p,q,r),weight,0.05),
id
);
460
}
461
465
void
finalize
(
XML::Element
& elem) {
466
ObjectProperties::finalize
(elem);
467
deltaYstar
.
finalize
(); elem.
append
(
deltaYstar
.
toXML
());
468
deltaZstar
.
finalize
(); elem.
append
(
deltaZstar
.
toXML
());
469
}
470
471
};
472
473
private
:
474
478
bool
theIsShowered
;
479
483
bool
theApplyCuts
;
484
488
Ptr<JetFinder>::ptr
theJetFinder
;
489
493
vector<Ptr<JetRegion>::ptr>
theJetRegions
;
494
498
map<unsigned int,LorentzMomentum>
theJets
;
499
503
map<unsigned int,LorentzMomentum>
theEWIDs
;
504
508
map<unsigned int,LorentzMomentum>
theChargedLeptons
;
509
513
map<unsigned int,LorentzMomentum>
theNeutrinos
;
514
518
LorentzMomentum
thePTmiss
;
519
523
map<unsigned int,LorentzMomentum>
theHiggs
;
524
528
map<unsigned int,ObjectProperties>
theJetProperties
;
529
533
map<unsigned int,ObjectProperties>
theExclusiveJetProperties
;
534
538
ObjectProperties
theJetInclusiveProperties
;
539
543
ObjectProperties
theJetSummedProperties
;
544
548
ObjectProperties
theJetAverageProperties
;
549
553
Statistics::Histogram
theNJetsInclusive
;
554
558
Statistics::Histogram
theNJetsExclusive
;
559
563
map<unsigned int,ObjectProperties>
theEWIDProperties
;
564
568
map<unsigned int,ObjectProperties>
theChargedLeptonProperties
;
569
573
map<unsigned int,ObjectProperties>
theNeutrinoProperties
;
574
578
ObjectProperties
thePTmissProperties
;
579
583
map<unsigned int,ObjectProperties>
theHiggsProperties
;
584
588
map<pair<unsigned int,unsigned int>,
PairProperties
>
theJetPairProperties
;
589
593
map<pair<unsigned int,unsigned int>,
PairProperties
>
theJetEWIDPairProperties
;
594
598
map<pair<unsigned int,unsigned int>,
PairProperties
>
theJetChargedLeptonPairProperties
;
599
603
map<pair<unsigned int,unsigned int>,
PairProperties
>
theJetNeutrinoPairProperties
;
604
608
map<unsigned int,PairProperties>
theJetPTmissPairProperties
;
609
613
map<pair<unsigned int,unsigned int>,
PairProperties
>
theJetHiggsPairProperties
;
614
618
map<pair<unsigned int,unsigned int>,
PairProperties
>
theEWIDPairProperties
;
619
623
map<pair<unsigned int,unsigned int>,
PairProperties
>
theChargedLeptonPairProperties
;
624
628
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theThreeJetProperties
;
629
633
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theJetPairEWIDTripleProperties
;
634
638
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theJetPairChargedLeptonTripleProperties
;
639
643
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theJetPairNeutrinoTripleProperties
;
644
648
map<pair<unsigned int,unsigned int>,
TripleProperties
>
theJetPairPTmissTripleProperties
;
649
653
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theJetPairHiggsTripleProperties
;
654
658
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theThreeEWIDProperties
;
659
663
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>
theThreeChargedLeptonProperties
;
664
668
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>
theFourJetProperties
;
669
673
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>
theFourEWIDProperties
;
674
678
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>
theFourChargedLeptonProperties
;
679
680
protected
:
681
685
ObjectProperties
&
jetProperties
(
const
unsigned
int
id
) {
686
map<unsigned int,ObjectProperties>::iterator h =
687
theJetProperties
.find(
id
);
688
if
( h !=
theJetProperties
.end() )
689
return
h->second;
690
ostringstream ids; ids <<
"Jet"
<< id;
691
return
692
theJetProperties
[id] =
693
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
694
}
695
699
ObjectProperties
&
exclusiveJetProperties
(
const
unsigned
int
id
) {
700
map<unsigned int,ObjectProperties>::iterator h =
701
theExclusiveJetProperties
.find(
id
);
702
if
( h !=
theExclusiveJetProperties
.end() )
703
return
h->second;
704
ostringstream ids; ids <<
"ExclusiveJet"
<< id;
705
return
706
theExclusiveJetProperties
[id] =
707
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
708
}
709
713
ObjectProperties
&
jetInclusiveProperties
() {
714
if
( !
theJetInclusiveProperties
.
pt
.
bins
().empty() )
715
return
theJetInclusiveProperties
;
716
return
717
theJetInclusiveProperties
=
718
ObjectProperties
(
"JetInclusive"
,
generator
()->maximumCMEnergy());
719
}
720
724
ObjectProperties
&
jetSummedProperties
() {
725
if
( !
theJetSummedProperties
.
pt
.
bins
().empty() )
726
return
theJetSummedProperties
;
727
return
728
theJetSummedProperties
=
729
ObjectProperties
(
"JetSummed"
,
generator
()->maximumCMEnergy());
730
}
731
735
ObjectProperties
&
jetAverageProperties
() {
736
if
( !
theJetAverageProperties
.
pt
.
bins
().empty() )
737
return
theJetAverageProperties
;
738
return
739
theJetAverageProperties
=
740
ObjectProperties
(
"JetAverage"
,
generator
()->maximumCMEnergy());
741
}
742
743
747
Statistics::Histogram
&
nJetsInclusive
() {
748
if
( !
theNJetsInclusive
.
bins
().empty() )
749
return
theNJetsInclusive
;
750
return
751
theNJetsInclusive
=
752
Statistics::Histogram
(
"NJetsInclusive"
,
753
Statistics::Histogram::regularBinEdges
(-0.5,
theJetRegions
.size()+0.5,
754
theJetRegions
.size()+1),
755
true
,
true
);
756
}
757
761
Statistics::Histogram
&
nJetsExclusive
() {
762
if
( !
theNJetsExclusive
.
bins
().empty() )
763
return
theNJetsExclusive
;
764
return
765
theNJetsExclusive
=
766
Statistics::Histogram
(
"NJetsExclusive"
,
767
Statistics::Histogram::regularBinEdges
(-0.5,
theJetRegions
.size()+0.5,
768
theJetRegions
.size()+1),
769
true
,
true
);
770
}
771
775
ObjectProperties
&
eWIDProperties
(
const
unsigned
int
id
) {
776
map<unsigned int,ObjectProperties>::iterator h =
777
theEWIDProperties
.find(
id
);
778
if
( h !=
theEWIDProperties
.end() )
779
return
h->second;
780
ostringstream ids; ids <<
"EWID"
<< id;
781
return
782
theEWIDProperties
[id] =
783
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
784
}
785
789
ObjectProperties
&
chargedLeptonProperties
(
const
unsigned
int
id
) {
790
map<unsigned int,ObjectProperties>::iterator h =
791
theChargedLeptonProperties
.find(
id
);
792
if
( h !=
theChargedLeptonProperties
.end() )
793
return
h->second;
794
ostringstream ids; ids <<
"ChargedLepton"
<< id;
795
return
796
theChargedLeptonProperties
[id] =
797
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
798
}
799
803
ObjectProperties
&
neutrinoProperties
(
const
unsigned
int
id
) {
804
map<unsigned int,ObjectProperties>::iterator h =
805
theNeutrinoProperties
.find(
id
);
806
if
( h !=
theNeutrinoProperties
.end() )
807
return
h->second;
808
ostringstream ids; ids <<
"Neutrino"
<< id;
809
return
810
theNeutrinoProperties
[id] =
811
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
812
}
813
817
ObjectProperties
&
pTmissProperties
() {
818
if
( !
thePTmissProperties
.
pt
.
bins
().empty() )
819
return
thePTmissProperties
;
820
return
821
thePTmissProperties
=
822
ObjectProperties
(
"PTmiss"
,
generator
()->maximumCMEnergy());
823
}
824
828
ObjectProperties
&
higgsProperties
(
const
unsigned
int
id
) {
829
map<unsigned int,ObjectProperties>::iterator h =
830
theHiggsProperties
.find(
id
);
831
if
( h !=
theHiggsProperties
.end() )
832
return
h->second;
833
ostringstream ids; ids <<
"Higgs"
<< id;
834
return
835
theHiggsProperties
[id] =
836
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
837
}
838
842
PairProperties
&
jetPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
843
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
844
theJetPairProperties
.find(make_pair(
id
,jd));
845
if
( h !=
theJetPairProperties
.end() )
846
return
h->second;
847
ostringstream ids; ids <<
"Jet"
<<
id
<< jd;
848
return
theJetPairProperties
[make_pair(
id
,jd)] =
849
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
850
}
851
855
PairProperties
&
jetEWIDPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
856
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
857
theJetEWIDPairProperties
.find(make_pair(
id
,jd));
858
if
( h !=
theJetEWIDPairProperties
.end() )
859
return
h->second;
860
ostringstream ids; ids <<
"Jet"
<<
id
<<
"EWID"
<< jd;
861
return
theJetEWIDPairProperties
[make_pair(
id
,jd)] =
862
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
863
}
864
868
PairProperties
&
jetChargedLeptonPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
869
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
870
theJetChargedLeptonPairProperties
.find(make_pair(
id
,jd));
871
if
( h !=
theJetChargedLeptonPairProperties
.end() )
872
return
h->second;
873
ostringstream ids; ids <<
"Jet"
<<
id
<<
"ChargedLepton"
<< jd;
874
return
theJetChargedLeptonPairProperties
[make_pair(
id
,jd)] =
875
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
876
}
877
881
PairProperties
&
jetNeutrinoPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
882
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
883
theJetNeutrinoPairProperties
.find(make_pair(
id
,jd));
884
if
( h !=
theJetNeutrinoPairProperties
.end() )
885
return
h->second;
886
ostringstream ids; ids <<
"Jet"
<<
id
<<
"Neutrino"
<< jd;
887
return
theJetNeutrinoPairProperties
[make_pair(
id
,jd)] =
888
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
889
}
890
894
PairProperties
&
jetPTmissPairProperties
(
const
unsigned
int
id
) {
895
map<unsigned int,PairProperties>::iterator h =
896
theJetPTmissPairProperties
.find(
id
);
897
if
( h !=
theJetPTmissPairProperties
.end() )
898
return
h->second;
899
ostringstream ids; ids <<
"Jet"
<<
id
<<
"PTmiss"
;
900
return
theJetPTmissPairProperties
[id] =
901
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
902
}
903
907
PairProperties
&
jetHiggsPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
908
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
909
theJetHiggsPairProperties
.find(make_pair(
id
,jd));
910
if
( h !=
theJetHiggsPairProperties
.end() )
911
return
h->second;
912
ostringstream ids; ids <<
"Jet"
<<
id
<<
"Higgs"
<< jd;
913
return
theJetHiggsPairProperties
[make_pair(
id
,jd)] =
914
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
915
}
916
920
PairProperties
&
eWIDPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
921
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
922
theEWIDPairProperties
.find(make_pair(
id
,jd));
923
if
( h !=
theEWIDPairProperties
.end() )
924
return
h->second;
925
ostringstream ids; ids <<
"EWID"
<<
id
<< jd;
926
return
theEWIDPairProperties
[make_pair(
id
,jd)] =
927
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
928
}
929
933
PairProperties
&
chargedLeptonPairProperties
(
const
unsigned
int
id
,
const
unsigned
int
jd) {
934
map<pair<unsigned int,unsigned int>,
PairProperties
>::iterator h =
935
theChargedLeptonPairProperties
.find(make_pair(
id
,jd));
936
if
( h !=
theChargedLeptonPairProperties
.end() )
937
return
h->second;
938
ostringstream ids; ids <<
"ChargedLepton"
<<
id
<< jd;
939
return
theChargedLeptonPairProperties
[make_pair(
id
,jd)] =
940
PairProperties
(ids.str(),
generator
()->maximumCMEnergy());
941
}
942
946
TripleProperties
&
threeJetProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
947
const
unsigned
int
id3) {
948
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
949
theThreeJetProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
950
if
( it !=
theThreeJetProperties
.end() )
951
return
it->second;
952
ostringstream ids;
953
ids <<
"Jet"
<< id1 << id2 << id3;
954
return
theThreeJetProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
955
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
956
}
957
961
TripleProperties
&
jetPairEWIDTripleProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
962
const
unsigned
int
id3) {
963
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
964
theJetPairEWIDTripleProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
965
if
( it !=
theJetPairEWIDTripleProperties
.end() )
966
return
it->second;
967
ostringstream ids;
968
ids <<
"Jet"
<< id1 << id2 <<
"EWID"
<< id3;
969
return
theJetPairEWIDTripleProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
970
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
971
}
972
976
TripleProperties
&
jetPairChargedLeptonTripleProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
977
const
unsigned
int
id3) {
978
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
979
theJetPairChargedLeptonTripleProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
980
if
( it !=
theJetPairChargedLeptonTripleProperties
.end() )
981
return
it->second;
982
ostringstream ids;
983
ids <<
"Jet"
<< id1 << id2 <<
"ChargedLepton"
<< id3;
984
return
theJetPairChargedLeptonTripleProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
985
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
986
}
987
991
TripleProperties
&
jetPairNeutrinoTripleProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
992
const
unsigned
int
id3) {
993
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
994
theJetPairNeutrinoTripleProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
995
if
( it !=
theJetPairNeutrinoTripleProperties
.end() )
996
return
it->second;
997
ostringstream ids;
998
ids <<
"Jet"
<< id1 << id2 <<
"Neutrino"
<< id3;
999
return
theJetPairNeutrinoTripleProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
1000
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
1001
}
1002
1006
TripleProperties
&
jetPairPTmissTripleProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2) {
1007
map<pair<unsigned int,unsigned int>,
TripleProperties
>::iterator it =
1008
theJetPairPTmissTripleProperties
.find(pair<unsigned int,unsigned int>(id1,id2));
1009
if
( it !=
theJetPairPTmissTripleProperties
.end() )
1010
return
it->second;
1011
ostringstream ids;
1012
ids <<
"Jet"
<< id1 << id2 <<
"PTmiss"
;
1013
return
theJetPairPTmissTripleProperties
[pair<unsigned int,unsigned int>(id1,id2)] =
1014
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
1015
}
1016
1020
TripleProperties
&
jetPairHiggsTripleProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1021
const
unsigned
int
id3) {
1022
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
1023
theJetPairHiggsTripleProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
1024
if
( it !=
theJetPairHiggsTripleProperties
.end() )
1025
return
it->second;
1026
ostringstream ids;
1027
ids <<
"Jet"
<< id1 << id2 <<
"Higgs"
<< id3;
1028
return
theJetPairHiggsTripleProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
1029
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
1030
}
1031
1035
TripleProperties
&
threeEWIDProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1036
const
unsigned
int
id3) {
1037
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
1038
theThreeEWIDProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
1039
if
( it !=
theThreeEWIDProperties
.end() )
1040
return
it->second;
1041
ostringstream ids;
1042
ids <<
"EWID"
<< id1 << id2 << id3;
1043
return
theThreeEWIDProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
1044
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
1045
}
1046
1050
TripleProperties
&
threeChargedLeptonProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1051
const
unsigned
int
id3) {
1052
map<std::tuple<unsigned int,unsigned int,unsigned int>,
TripleProperties
>::iterator it =
1053
theThreeChargedLeptonProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3));
1054
if
( it !=
theThreeChargedLeptonProperties
.end() )
1055
return
it->second;
1056
ostringstream ids;
1057
ids <<
"ChargedLepton"
<< id1 << id2 << id3;
1058
return
theThreeChargedLeptonProperties
[std::tuple<unsigned int,unsigned int,unsigned int>(id1,id2,id3)] =
1059
TripleProperties
(ids.str(),
generator
()->maximumCMEnergy());
1060
}
1061
1065
ObjectProperties
&
fourJetProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1066
const
unsigned
int
id3,
const
unsigned
int
id4) {
1067
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>::iterator it =
1068
theFourJetProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4));
1069
if
( it !=
theFourJetProperties
.end() )
1070
return
it->second;
1071
ostringstream ids;
1072
ids <<
"Jet"
<< id1 << id2 << id3 << id4;
1073
return
theFourJetProperties
[std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4)] =
1074
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
1075
}
1076
1080
ObjectProperties
&
fourEWIDProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1081
const
unsigned
int
id3,
const
unsigned
int
id4) {
1082
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>::iterator it =
1083
theFourEWIDProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4));
1084
if
( it !=
theFourEWIDProperties
.end() )
1085
return
it->second;
1086
ostringstream ids;
1087
ids <<
"EWID"
<< id1 << id2 << id3 << id4;
1088
return
theFourEWIDProperties
[std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4)] =
1089
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
1090
}
1091
1095
ObjectProperties
&
fourChargedLeptonProperties
(
const
unsigned
int
id1,
const
unsigned
int
id2,
1096
const
unsigned
int
id3,
const
unsigned
int
id4) {
1097
map<std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>,
ObjectProperties
>::iterator it =
1098
theFourChargedLeptonProperties
.find(std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4));
1099
if
( it !=
theFourChargedLeptonProperties
.end() )
1100
return
it->second;
1101
ostringstream ids;
1102
ids <<
"ChargedLepton"
<< id1 << id2 << id3 << id4;
1103
return
theFourChargedLeptonProperties
[std::tuple<unsigned int,unsigned int,unsigned int,unsigned int>(id1,id2,id3,id4)] =
1104
ObjectProperties
(ids.str(),
generator
()->maximumCMEnergy());
1105
}
1106
1110
virtual
void
analyzeSpecial
(
long
,
double
) {}
1111
1115
virtual
void
finalize
(
XML::Element
&) {}
1116
1117
private
:
1118
1123
LeptonsJetsAnalysis
&
operator=
(
const
LeptonsJetsAnalysis
&) =
delete
;
1124
1125
};
1126
1127
}
1128
1129
#endif
/* Herwig_LeptonsJetsAnalysis_H */
Herwig::Histogram
The Histogram class is a simple histogram for the Analysis handlers.
Definition:
Histogram.h:43
Herwig::LeptonsJetsAnalysis
Here is the documentation of the LeptonsJetsAnalysis class.
Definition:
LeptonsJetsAnalysis.h:24
Herwig::LeptonsJetsAnalysis::jetProperties
ObjectProperties & jetProperties(const unsigned int id)
Jet properties.
Definition:
LeptonsJetsAnalysis.h:685
Herwig::LeptonsJetsAnalysis::threeJetProperties
TripleProperties & threeJetProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Trijet properties.
Definition:
LeptonsJetsAnalysis.h:946
Herwig::LeptonsJetsAnalysis::theJetSummedProperties
ObjectProperties theJetSummedProperties
Jet-summed properties.
Definition:
LeptonsJetsAnalysis.h:543
Herwig::LeptonsJetsAnalysis::theExclusiveJetProperties
map< unsigned int, ObjectProperties > theExclusiveJetProperties
Exclusive jet properties.
Definition:
LeptonsJetsAnalysis.h:533
Herwig::LeptonsJetsAnalysis::theNJetsExclusive
Statistics::Histogram theNJetsExclusive
Exclusive jet multiplicities.
Definition:
LeptonsJetsAnalysis.h:558
Herwig::LeptonsJetsAnalysis::theJetPairChargedLeptonTripleProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theJetPairChargedLeptonTripleProperties
Jet-pair/charged lepton triple properties.
Definition:
LeptonsJetsAnalysis.h:638
Herwig::LeptonsJetsAnalysis::theJetInclusiveProperties
ObjectProperties theJetInclusiveProperties
Jet-inclusive properties.
Definition:
LeptonsJetsAnalysis.h:538
Herwig::LeptonsJetsAnalysis::fourChargedLeptonProperties
ObjectProperties & fourChargedLeptonProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3, const unsigned int id4)
Four charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:1095
Herwig::LeptonsJetsAnalysis::LeptonsJetsAnalysis
LeptonsJetsAnalysis()
The default constructor.
Herwig::LeptonsJetsAnalysis::eWIDMomentum
LorentzMomentum & eWIDMomentum(const unsigned int id)
Set the momentum of the indicated electroweak particle.
Definition:
LeptonsJetsAnalysis.h:112
Herwig::LeptonsJetsAnalysis::theJetFinder
Ptr< JetFinder >::ptr theJetFinder
The jet finder to use.
Definition:
LeptonsJetsAnalysis.h:488
Herwig::LeptonsJetsAnalysis::theEWIDPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theEWIDPairProperties
Electroweak pair properties.
Definition:
LeptonsJetsAnalysis.h:618
Herwig::LeptonsJetsAnalysis::theJetPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theJetPairProperties
Jet pair properties.
Definition:
LeptonsJetsAnalysis.h:588
Herwig::LeptonsJetsAnalysis::thePTmiss
LorentzMomentum thePTmiss
The reconstructed missing pT.
Definition:
LeptonsJetsAnalysis.h:518
Herwig::LeptonsJetsAnalysis::jetPairChargedLeptonTripleProperties
TripleProperties & jetPairChargedLeptonTripleProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Jet-pair/charged lepton triple properties.
Definition:
LeptonsJetsAnalysis.h:976
Herwig::LeptonsJetsAnalysis::jetInclusiveProperties
ObjectProperties & jetInclusiveProperties()
Jet-inclusive properties.
Definition:
LeptonsJetsAnalysis.h:713
Herwig::LeptonsJetsAnalysis::jetPairHiggsTripleProperties
TripleProperties & jetPairHiggsTripleProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Jet-pair/Higgs triple properties.
Definition:
LeptonsJetsAnalysis.h:1020
Herwig::LeptonsJetsAnalysis::jetPairEWIDTripleProperties
TripleProperties & jetPairEWIDTripleProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Jet-pair/electroweak triple properties.
Definition:
LeptonsJetsAnalysis.h:961
Herwig::LeptonsJetsAnalysis::theJetNeutrinoPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theJetNeutrinoPairProperties
Jet/neutrino pair properties.
Definition:
LeptonsJetsAnalysis.h:603
Herwig::LeptonsJetsAnalysis::reconstructEWParticles
virtual void reconstructEWParticles(ParticleVector &)
Reconstruct all the variables for EW particles and fill the respective momenta.
Herwig::LeptonsJetsAnalysis::theFourJetProperties
map< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int >, ObjectProperties > theFourJetProperties
Fourjet properties.
Definition:
LeptonsJetsAnalysis.h:668
Herwig::LeptonsJetsAnalysis::theJetPTmissPairProperties
map< unsigned int, PairProperties > theJetPTmissPairProperties
Jet/missing pT pair properties.
Definition:
LeptonsJetsAnalysis.h:608
Herwig::LeptonsJetsAnalysis::jetPTmissPairProperties
PairProperties & jetPTmissPairProperties(const unsigned int id)
Jet/missing pT pair properties.
Definition:
LeptonsJetsAnalysis.h:894
Herwig::LeptonsJetsAnalysis::jetHiggsPairProperties
PairProperties & jetHiggsPairProperties(const unsigned int id, const unsigned int jd)
Jet/Higgs pair properties.
Definition:
LeptonsJetsAnalysis.h:907
Herwig::LeptonsJetsAnalysis::theJetProperties
map< unsigned int, ObjectProperties > theJetProperties
Jet properties.
Definition:
LeptonsJetsAnalysis.h:528
Herwig::LeptonsJetsAnalysis::analyze
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
Herwig::LeptonsJetsAnalysis::theNJetsInclusive
Statistics::Histogram theNJetsInclusive
Inclusive jet multiplicities.
Definition:
LeptonsJetsAnalysis.h:553
Herwig::LeptonsJetsAnalysis::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::LeptonsJetsAnalysis::theApplyCuts
bool theApplyCuts
Switch whether to apply extra analysis cuts.
Definition:
LeptonsJetsAnalysis.h:483
Herwig::LeptonsJetsAnalysis::exclusiveJetProperties
ObjectProperties & exclusiveJetProperties(const unsigned int id)
Exclusive jet properties.
Definition:
LeptonsJetsAnalysis.h:699
Herwig::LeptonsJetsAnalysis::reconstructJets
virtual void reconstructJets(const ParticleVector &)
Reconstruct the jets and fill the respective momenta.
Herwig::LeptonsJetsAnalysis::analyzeSpecial
virtual void analyzeSpecial(long, double)
Perform any additional analysis required.
Definition:
LeptonsJetsAnalysis.h:1110
Herwig::LeptonsJetsAnalysis::pTmissProperties
ObjectProperties & pTmissProperties()
Missing pT properties.
Definition:
LeptonsJetsAnalysis.h:817
Herwig::LeptonsJetsAnalysis::theEWIDProperties
map< unsigned int, ObjectProperties > theEWIDProperties
Electroweak properties.
Definition:
LeptonsJetsAnalysis.h:563
Herwig::LeptonsJetsAnalysis::dofinish
virtual void dofinish()
Finalize this object.
Herwig::LeptonsJetsAnalysis::jetNeutrinoPairProperties
PairProperties & jetNeutrinoPairProperties(const unsigned int id, const unsigned int jd)
Jet/neutrino pair properties.
Definition:
LeptonsJetsAnalysis.h:881
Herwig::LeptonsJetsAnalysis::theNeutrinos
map< unsigned int, LorentzMomentum > theNeutrinos
The reconstructed neutrinos.
Definition:
LeptonsJetsAnalysis.h:513
Herwig::LeptonsJetsAnalysis::neutrinoProperties
ObjectProperties & neutrinoProperties(const unsigned int id)
Neutrino properties.
Definition:
LeptonsJetsAnalysis.h:803
Herwig::LeptonsJetsAnalysis::theHiggs
map< unsigned int, LorentzMomentum > theHiggs
The reconstructed Higgs.
Definition:
LeptonsJetsAnalysis.h:523
Herwig::LeptonsJetsAnalysis::theFourEWIDProperties
map< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int >, ObjectProperties > theFourEWIDProperties
Four electroweak properties.
Definition:
LeptonsJetsAnalysis.h:673
Herwig::LeptonsJetsAnalysis::neutrinoMomentum
LorentzMomentum & neutrinoMomentum(const unsigned int id)
Set the momentum of the indicated neutrino.
Definition:
LeptonsJetsAnalysis.h:126
Herwig::LeptonsJetsAnalysis::theThreeChargedLeptonProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theThreeChargedLeptonProperties
Triple charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:663
Herwig::LeptonsJetsAnalysis::pTmissMomentum
LorentzMomentum & pTmissMomentum()
Set the missing pT momentum.
Definition:
LeptonsJetsAnalysis.h:133
Herwig::LeptonsJetsAnalysis::eWIDPairProperties
PairProperties & eWIDPairProperties(const unsigned int id, const unsigned int jd)
Electroweak pair properties.
Definition:
LeptonsJetsAnalysis.h:920
Herwig::LeptonsJetsAnalysis::jetPairNeutrinoTripleProperties
TripleProperties & jetPairNeutrinoTripleProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Jet-pair/neutrino triple properties.
Definition:
LeptonsJetsAnalysis.h:991
Herwig::LeptonsJetsAnalysis::theJetRegions
vector< Ptr< JetRegion >::ptr > theJetRegions
The jet regions to match.
Definition:
LeptonsJetsAnalysis.h:493
Herwig::LeptonsJetsAnalysis::jetEWIDPairProperties
PairProperties & jetEWIDPairProperties(const unsigned int id, const unsigned int jd)
Jet/lepton(all sorted by ID) pair properties.
Definition:
LeptonsJetsAnalysis.h:855
Herwig::LeptonsJetsAnalysis::jetFinder
Ptr< JetFinder >::tptr jetFinder() const
The jet finder to use.
Definition:
LeptonsJetsAnalysis.h:83
Herwig::LeptonsJetsAnalysis::chargedLeptonMomentum
LorentzMomentum & chargedLeptonMomentum(const unsigned int id)
Set the momentum of the indicated charged lepton.
Definition:
LeptonsJetsAnalysis.h:119
Herwig::LeptonsJetsAnalysis::fourEWIDProperties
ObjectProperties & fourEWIDProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3, const unsigned int id4)
Four electroweak properties.
Definition:
LeptonsJetsAnalysis.h:1080
Herwig::LeptonsJetsAnalysis::theThreeEWIDProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theThreeEWIDProperties
Triple electroweak properties.
Definition:
LeptonsJetsAnalysis.h:658
Herwig::LeptonsJetsAnalysis::threeChargedLeptonProperties
TripleProperties & threeChargedLeptonProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Triple charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:1050
Herwig::LeptonsJetsAnalysis::theJetHiggsPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theJetHiggsPairProperties
Jet/Higgs pair properties.
Definition:
LeptonsJetsAnalysis.h:613
Herwig::LeptonsJetsAnalysis::theChargedLeptons
map< unsigned int, LorentzMomentum > theChargedLeptons
The reconstructed charged leptons.
Definition:
LeptonsJetsAnalysis.h:508
Herwig::LeptonsJetsAnalysis::jetPairPTmissTripleProperties
TripleProperties & jetPairPTmissTripleProperties(const unsigned int id1, const unsigned int id2)
Jet-pair/missing pT triple properties.
Definition:
LeptonsJetsAnalysis.h:1006
Herwig::LeptonsJetsAnalysis::theThreeJetProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theThreeJetProperties
Trijet properties.
Definition:
LeptonsJetsAnalysis.h:628
Herwig::LeptonsJetsAnalysis::theJetPairNeutrinoTripleProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theJetPairNeutrinoTripleProperties
Jet-pair/neutrino triple properties.
Definition:
LeptonsJetsAnalysis.h:643
Herwig::LeptonsJetsAnalysis::thePTmissProperties
ObjectProperties thePTmissProperties
missing pT properties
Definition:
LeptonsJetsAnalysis.h:578
Herwig::LeptonsJetsAnalysis::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::LeptonsJetsAnalysis::theJetPairEWIDTripleProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theJetPairEWIDTripleProperties
Jet-pair/electroweak triple properties.
Definition:
LeptonsJetsAnalysis.h:633
Herwig::LeptonsJetsAnalysis::chargedLeptonPairProperties
PairProperties & chargedLeptonPairProperties(const unsigned int id, const unsigned int jd)
Charged lepton pair properties.
Definition:
LeptonsJetsAnalysis.h:933
Herwig::LeptonsJetsAnalysis::theJetEWIDPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theJetEWIDPairProperties
Jet/electroweak pair properties.
Definition:
LeptonsJetsAnalysis.h:593
Herwig::LeptonsJetsAnalysis::nJets
unsigned int nJets() const
Return the number of matched jets.
Definition:
LeptonsJetsAnalysis.h:95
Herwig::LeptonsJetsAnalysis::nJetsInclusive
Statistics::Histogram & nJetsInclusive()
Inclusive jet multiplicities.
Definition:
LeptonsJetsAnalysis.h:747
Herwig::LeptonsJetsAnalysis::theEWIDs
map< unsigned int, LorentzMomentum > theEWIDs
The reconstructed electroweak particles.
Definition:
LeptonsJetsAnalysis.h:503
Herwig::LeptonsJetsAnalysis::jetRegions
const vector< Ptr< JetRegion >::ptr > & jetRegions() const
The jet regions to match.
Definition:
LeptonsJetsAnalysis.h:90
Herwig::LeptonsJetsAnalysis::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::LeptonsJetsAnalysis::theChargedLeptonProperties
map< unsigned int, ObjectProperties > theChargedLeptonProperties
Charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:568
Herwig::LeptonsJetsAnalysis::higgsMomentum
LorentzMomentum & higgsMomentum(const unsigned int id)
Set the momentum of the indicated Higgs.
Definition:
LeptonsJetsAnalysis.h:140
Herwig::LeptonsJetsAnalysis::operator=
LeptonsJetsAnalysis & operator=(const LeptonsJetsAnalysis &)=delete
The assignment operator is private and must never be called.
Herwig::LeptonsJetsAnalysis::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::LeptonsJetsAnalysis::theFourChargedLeptonProperties
map< std::tuple< unsigned int, unsigned int, unsigned int, unsigned int >, ObjectProperties > theFourChargedLeptonProperties
Four charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:678
Herwig::LeptonsJetsAnalysis::jetAverageProperties
ObjectProperties & jetAverageProperties()
Jet-average properties.
Definition:
LeptonsJetsAnalysis.h:735
Herwig::LeptonsJetsAnalysis::higgsProperties
ObjectProperties & higgsProperties(const unsigned int id)
Higgs properties.
Definition:
LeptonsJetsAnalysis.h:828
Herwig::LeptonsJetsAnalysis::theJetChargedLeptonPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theJetChargedLeptonPairProperties
Jet/charged lepton pair properties.
Definition:
LeptonsJetsAnalysis.h:598
Herwig::LeptonsJetsAnalysis::jetPairProperties
PairProperties & jetPairProperties(const unsigned int id, const unsigned int jd)
Jet pair properties.
Definition:
LeptonsJetsAnalysis.h:842
Herwig::LeptonsJetsAnalysis::theHiggsProperties
map< unsigned int, ObjectProperties > theHiggsProperties
Higgs properties.
Definition:
LeptonsJetsAnalysis.h:583
Herwig::LeptonsJetsAnalysis::threeEWIDProperties
TripleProperties & threeEWIDProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3)
Triple electroweak properties – all sorted by ID.
Definition:
LeptonsJetsAnalysis.h:1035
Herwig::LeptonsJetsAnalysis::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::LeptonsJetsAnalysis::finalize
virtual void finalize(XML::Element &)
Append any additional histograms to the given histogram element.
Definition:
LeptonsJetsAnalysis.h:1115
Herwig::LeptonsJetsAnalysis::theJets
map< unsigned int, LorentzMomentum > theJets
The reconstructed jets.
Definition:
LeptonsJetsAnalysis.h:498
Herwig::LeptonsJetsAnalysis::jetSummedProperties
ObjectProperties & jetSummedProperties()
Jet-summed properties.
Definition:
LeptonsJetsAnalysis.h:724
Herwig::LeptonsJetsAnalysis::theJetPairPTmissTripleProperties
map< pair< unsigned int, unsigned int >, TripleProperties > theJetPairPTmissTripleProperties
Jet-pair/missing pT triple properties.
Definition:
LeptonsJetsAnalysis.h:648
Herwig::LeptonsJetsAnalysis::eWIDProperties
ObjectProperties & eWIDProperties(const unsigned int id)
Lepton properties – all sorted by ID.
Definition:
LeptonsJetsAnalysis.h:775
Herwig::LeptonsJetsAnalysis::fourJetProperties
ObjectProperties & fourJetProperties(const unsigned int id1, const unsigned int id2, const unsigned int id3, const unsigned int id4)
Fourjet properties.
Definition:
LeptonsJetsAnalysis.h:1065
Herwig::LeptonsJetsAnalysis::chargedLeptonProperties
ObjectProperties & chargedLeptonProperties(const unsigned int id)
Charged lepton properties.
Definition:
LeptonsJetsAnalysis.h:789
Herwig::LeptonsJetsAnalysis::theJetAverageProperties
ObjectProperties theJetAverageProperties
Jet-average properties.
Definition:
LeptonsJetsAnalysis.h:548
Herwig::LeptonsJetsAnalysis::jetMomentum
LorentzMomentum & jetMomentum(const unsigned int id)
Set the momentum of the indicated jet.
Definition:
LeptonsJetsAnalysis.h:100
Herwig::LeptonsJetsAnalysis::theIsShowered
bool theIsShowered
Switch between fixed order and showered.
Definition:
LeptonsJetsAnalysis.h:478
Herwig::LeptonsJetsAnalysis::jetChargedLeptonPairProperties
PairProperties & jetChargedLeptonPairProperties(const unsigned int id, const unsigned int jd)
Jet/charged lepton pair properties.
Definition:
LeptonsJetsAnalysis.h:868
Herwig::LeptonsJetsAnalysis::analyze
void analyze(ParticleVector &, long, double)
Analyze one subprocess, given the event number it belongs to.
Herwig::LeptonsJetsAnalysis::clear
void clear()
Clear the electroweak objects and jets for the next event.
Definition:
LeptonsJetsAnalysis.h:67
Herwig::LeptonsJetsAnalysis::theJetPairHiggsTripleProperties
map< std::tuple< unsigned int, unsigned int, unsigned int >, TripleProperties > theJetPairHiggsTripleProperties
Jet-pair/Higgs triple properties.
Definition:
LeptonsJetsAnalysis.h:653
Herwig::LeptonsJetsAnalysis::theNeutrinoProperties
map< unsigned int, ObjectProperties > theNeutrinoProperties
Neutrino properties.
Definition:
LeptonsJetsAnalysis.h:573
Herwig::LeptonsJetsAnalysis::nJetsExclusive
Statistics::Histogram & nJetsExclusive()
Exclusive jet multiplicities.
Definition:
LeptonsJetsAnalysis.h:761
Herwig::LeptonsJetsAnalysis::theChargedLeptonPairProperties
map< pair< unsigned int, unsigned int >, PairProperties > theChargedLeptonPairProperties
Charged lepton pair properties.
Definition:
LeptonsJetsAnalysis.h:623
Statistics::EventContribution
A pointlike or boxlike eventContribution; serves to define the EventContribution concept.
Definition:
EventContribution.h:19
Statistics::Histogram
A (one dimensional) histogram.
Definition:
Statistics/Histogram.h:25
Statistics::Histogram::finalize
void finalize()
Finalize this histogram.
Statistics::Histogram::count
bool count(EventContribution event, size_t id)
Book a contribution to the current event.
Statistics::Histogram::bins
const std::vector< Bin > & bins() const
Return the bins.
Definition:
Statistics/Histogram.h:122
Statistics::Histogram::toXML
XML::Element toXML() const
Return an XML element for the data of this histogram.
Statistics::Histogram::regularBinEdges
static std::vector< double > regularBinEdges(double lower, double upper, size_t nBins)
Create equally spaced bin edges.
ThePEG::AnalysisHandler
ThePEG::InterfacedBase::state
InitState state() const
ThePEG::InterfacedBase::name
string name() const
ThePEG::Interfaced::generator
tEGPtr generator() const
ThePEG::PersistentIStream
ThePEG::PersistentOStream
XML::Element
Element represents a (tree of) XML elements.
Definition:
Element.h:56
XML::Element::append
Element & append(const Element &)
Append a child element to this element.
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Constants::pi
constexpr double pi
ThePEG
ThePEG::sqrt
double sqrt(int x)
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tEventPtr
ThePEG::Ptr< Event >::transient_pointer tEventPtr
ThePEG::ParticleVector
vector< PPtr > ParticleVector
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Herwig::LeptonsJetsAnalysis::ObjectProperties
Collection of object histograms; ranges are adjusted to the maximum, so range constraints and rebinni...
Definition:
LeptonsJetsAnalysis.h:205
Herwig::LeptonsJetsAnalysis::ObjectProperties::count
void count(const LorentzMomentum &p, double weight, unsigned int id)
Count given momentum, weight and id.
Definition:
LeptonsJetsAnalysis.h:251
Herwig::LeptonsJetsAnalysis::ObjectProperties::count
void count(Energy perp, double rapidity, double xphi, Energy m, double weight, unsigned int id)
Count given momentum components, weight and id.
Definition:
LeptonsJetsAnalysis.h:264
Herwig::LeptonsJetsAnalysis::ObjectProperties::phi
Statistics::Histogram phi
Azimuth.
Definition:
LeptonsJetsAnalysis.h:222
Herwig::LeptonsJetsAnalysis::ObjectProperties::ObjectProperties
ObjectProperties()
Default constructor.
Definition:
LeptonsJetsAnalysis.h:233
Herwig::LeptonsJetsAnalysis::ObjectProperties::pt
Statistics::Histogram pt
Transverse momentum.
Definition:
LeptonsJetsAnalysis.h:210
Herwig::LeptonsJetsAnalysis::ObjectProperties::ObjectProperties
ObjectProperties(const string &name, Energy)
Construct given Ecm.
Definition:
LeptonsJetsAnalysis.h:238
Herwig::LeptonsJetsAnalysis::ObjectProperties::finalize
void finalize(XML::Element &elem)
Convert to XML.
Definition:
LeptonsJetsAnalysis.h:279
Herwig::LeptonsJetsAnalysis::ObjectProperties::mass
Statistics::Histogram mass
Mass.
Definition:
LeptonsJetsAnalysis.h:227
Herwig::LeptonsJetsAnalysis::ObjectProperties::y
Statistics::Histogram y
Rapidity.
Definition:
LeptonsJetsAnalysis.h:217
Herwig::LeptonsJetsAnalysis::PairProperties
Collection of pair histograms; ranges are adjusted to the maximum, so range constraints and rebinning...
Definition:
LeptonsJetsAnalysis.h:296
Herwig::LeptonsJetsAnalysis::PairProperties::dR
static double dR(const LorentzMomentum &a, const LorentzMomentum &b)
Calculate deltaR.
Definition:
LeptonsJetsAnalysis.h:326
Herwig::LeptonsJetsAnalysis::PairProperties::deltaY
Statistics::Histogram deltaY
Delta y.
Definition:
LeptonsJetsAnalysis.h:345
Herwig::LeptonsJetsAnalysis::PairProperties::PairProperties
PairProperties(const string &name, Energy ecm)
Construct given Ecm.
Definition:
LeptonsJetsAnalysis.h:371
Herwig::LeptonsJetsAnalysis::PairProperties::PairProperties
PairProperties()
Default constructor.
Definition:
LeptonsJetsAnalysis.h:365
Herwig::LeptonsJetsAnalysis::PairProperties::finalize
void finalize(XML::Element &elem)
Convert to XML.
Definition:
LeptonsJetsAnalysis.h:393
Herwig::LeptonsJetsAnalysis::PairProperties::deltaPhi
Statistics::Histogram deltaPhi
Delta phi.
Definition:
LeptonsJetsAnalysis.h:350
Herwig::LeptonsJetsAnalysis::PairProperties::count
void count(const LorentzMomentum &p, const LorentzMomentum &q, double weight, unsigned int id)
Count given momentum, weight and id.
Definition:
LeptonsJetsAnalysis.h:382
Herwig::LeptonsJetsAnalysis::PairProperties::dPhi
static double dPhi(const LorentzMomentum &a, const LorentzMomentum &b)
Calculate deltaPhi.
Definition:
LeptonsJetsAnalysis.h:301
Herwig::LeptonsJetsAnalysis::PairProperties::deltaR
Statistics::Histogram deltaR
Delta phi.
Definition:
LeptonsJetsAnalysis.h:355
Herwig::LeptonsJetsAnalysis::PairProperties::yDotY
Statistics::Histogram yDotY
Product of the rapidities.
Definition:
LeptonsJetsAnalysis.h:360
Herwig::LeptonsJetsAnalysis::PairProperties::dY
static double dY(const LorentzMomentum &a, const LorentzMomentum &b)
Calculate deltaY.
Definition:
LeptonsJetsAnalysis.h:318
Herwig::LeptonsJetsAnalysis::PairProperties::yy
static double yy(const LorentzMomentum &a, const LorentzMomentum &b)
Calculate ydoty.
Definition:
LeptonsJetsAnalysis.h:334
Herwig::LeptonsJetsAnalysis::TripleProperties
Collection of triple histograms; ranges are adjusted to the maximum, so range constraints and rebinni...
Definition:
LeptonsJetsAnalysis.h:408
Herwig::LeptonsJetsAnalysis::TripleProperties::dZstar
static double dZstar(const LorentzMomentum &a, const LorentzMomentum &b, const LorentzMomentum &c)
Calculate deltaZ^* – normalized deltaY^*.
Definition:
LeptonsJetsAnalysis.h:422
Herwig::LeptonsJetsAnalysis::TripleProperties::dYstar
static double dYstar(const LorentzMomentum &a, const LorentzMomentum &b, const LorentzMomentum &c)
Calculate deltaY^*.
Definition:
LeptonsJetsAnalysis.h:413
Herwig::LeptonsJetsAnalysis::TripleProperties::TripleProperties
TripleProperties(const string &name, Energy ecm)
Construct given Ecm.
Definition:
LeptonsJetsAnalysis.h:447
Herwig::LeptonsJetsAnalysis::TripleProperties::finalize
void finalize(XML::Element &elem)
Convert to XML.
Definition:
LeptonsJetsAnalysis.h:465
Herwig::LeptonsJetsAnalysis::TripleProperties::TripleProperties
TripleProperties()
Default constructor.
Definition:
LeptonsJetsAnalysis.h:441
Herwig::LeptonsJetsAnalysis::TripleProperties::deltaYstar
Statistics::Histogram deltaYstar
Delta y^*.
Definition:
LeptonsJetsAnalysis.h:431
Herwig::LeptonsJetsAnalysis::TripleProperties::deltaZstar
Statistics::Histogram deltaZstar
Delta z^*.
Definition:
LeptonsJetsAnalysis.h:436
Herwig::LeptonsJetsAnalysis::TripleProperties::count
void count(const LorentzMomentum &p, const LorentzMomentum &q, const LorentzMomentum &r, double weight, unsigned int id)
Count given momentum, weight and id.
Definition:
LeptonsJetsAnalysis.h:455
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6