ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetSubStructureUtils
JetSubStructureUtils
Multiplicities.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef jetsubstructureutils_multiplicities_header
6
#define jetsubstructureutils_multiplicities_header
7
8
#include "
JetSubStructureUtils/SubstructureCalculator.h
"
9
10
#include "fastjet/contrib/SoftDrop.hh"
11
#include "fastjet/tools/Recluster.hh"
12
13
namespace
JetSubStructureUtils
{
14
15
class
Multiplicities
:
public
SubstructureCalculator
<double>{
16
public
:
17
Multiplicities
(
double
beta=0.,
double
zcut=0.,
double
ktcut=0.) {
18
m_beta
= beta;
19
m_zcut
= zcut;
20
m_ktcut
= ktcut;
21
};
22
23
using
SubstructureCalculator::result
;
24
virtual
double
result
(
const
fastjet::PseudoJet &
jet
)
const override
{
25
// apply desired soft drop to the jet: default values do no grooming, which is fine
26
fastjet::contrib::SoftDrop sd(
m_beta
,
m_zcut
);
27
// Apply the grooming to the jet
28
fastjet::PseudoJet sdJet = sd(
jet
);
29
30
int
multiplicity=0;
31
32
fastjet::JetDefinition jd(fastjet::cambridge_algorithm, fastjet::JetDefinition::max_allowable_R );
33
fastjet::Recluster
rc
(jd);
34
fastjet::PseudoJet j =
rc
.result(sdJet);
35
36
fastjet::PseudoJet jj, j1, j2;
37
jj = j;
38
while
(jj.has_parents(j1,j2)){
39
if
(j2.pt()*j1.delta_R(j2)>
m_ktcut
)
40
multiplicity++;
41
if
(multiplicity>500)
// infinite loop failsafe
42
return
-1;
43
44
// follow harder branch
45
jj = j1;
46
}
47
48
return
multiplicity;
49
};
50
private
:
51
// soft drop parameters
52
double
m_beta
;
53
double
m_zcut
;
54
55
// les houches multiplcity cut
56
double
m_ktcut
;
57
};
58
}
59
60
#endif
rc
static Double_t rc
Definition
LArPhysWaveHECTool.cxx:37
SubstructureCalculator.h
JetSubStructureUtils::Multiplicities::result
virtual double result(const fastjet::PseudoJet &jet) const override
Definition
Multiplicities.h:24
JetSubStructureUtils::Multiplicities::Multiplicities
Multiplicities(double beta=0., double zcut=0., double ktcut=0.)
Definition
Multiplicities.h:17
JetSubStructureUtils::Multiplicities::m_ktcut
double m_ktcut
Definition
Multiplicities.h:56
JetSubStructureUtils::Multiplicities::m_beta
double m_beta
Definition
Multiplicities.h:52
JetSubStructureUtils::Multiplicities::m_zcut
double m_zcut
Definition
Multiplicities.h:53
JetSubStructureUtils::SubstructureCalculator
Definition
SubstructureCalculator.h:21
JetSubStructureUtils::SubstructureCalculator::result
virtual TOut result(const xAOD::Jet &jet) const
Definition
SubstructureCalculator.h:25
JetSubStructureUtils
Definition
Angularity.h:10
jet
Definition
JetCalibTools_PlotJESFactors.cxx:23
Generated on
for ATLAS Offline Software by
1.17.0