ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetSubStructureUtils
Root
Qjets.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef jetsubstructureutils_qjets_header
6
#define jetsubstructureutils_qjets_header
7
8
#include <queue>
9
#include <vector>
10
#include <list>
11
#include <algorithm>
12
#include "fastjet/JetDefinition.hh"
13
#include "fastjet/PseudoJet.hh"
14
#include "fastjet/ClusterSequence.hh"
15
#include "TRandom3.h"
16
17
18
namespace
JetSubStructureUtils
{
19
struct
jet_distance
{
20
double
dij
;
21
int
j1
;
22
int
j2
;
23
};
24
25
class
JetDistanceCompare
{
26
public
:
27
JetDistanceCompare
() {};
28
bool
operator()
(
const
jet_distance
& lhs,
const
jet_distance
&rhs)
const
{
return
lhs.
dij
> rhs.
dij
;};
29
};
30
31
class
Qjets
{
32
private
:
33
TRandom3
m_rand
;
34
double
m_zcut
,
m_dcut
,
m_dcut_fctr
,
m_exp_min
,
m_exp_max
,
m_rigidity
,
m_truncation_fctr
;
35
std::map<int,bool>
m_merged_jets
;
36
std::priority_queue <jet_distance, std::vector<jet_distance>,
JetDistanceCompare
>
m_distances
;
37
38
double
d_ij
(
const
fastjet::PseudoJet& v1,
const
fastjet::PseudoJet& v2)
const
;
39
void
ComputeDCut
(fastjet::ClusterSequence & cs);
40
41
double
Rand
();
42
bool
Prune
(
jet_distance
& jd,fastjet::ClusterSequence & cs);
43
bool
JetsUnmerged
(
const
jet_distance
& jd)
const
;
44
bool
JetUnmerged
(
int
num)
const
;
45
void
ComputeNewDistanceMeasures
(fastjet::ClusterSequence & cs,
int
new_jet);
46
void
ComputeAllDistances
(
const
std::vector<fastjet::PseudoJet>& inp);
47
double
ComputeMinimumDistance
();
48
double
ComputeNormalization
(
double
dmin);
49
jet_distance
GetNextDistance
();
50
bool
Same
(
const
jet_distance
& lhs,
const
jet_distance
& rhs);
51
52
public
:
53
Qjets
(
double
zcut,
double
dcut_fctr,
double
exp_min,
double
exp_max,
double
rigidity,
double
truncation_fctr);
54
void
Cluster
(fastjet::ClusterSequence & cs);
55
void
SetRandSeed
(
unsigned
int
seed);
/* In case you want reproducible behavior */
56
};
57
}
58
#endif
JetSubStructureUtils::JetDistanceCompare
Definition
Qjets.h:25
JetSubStructureUtils::JetDistanceCompare::operator()
bool operator()(const jet_distance &lhs, const jet_distance &rhs) const
Definition
Qjets.h:28
JetSubStructureUtils::JetDistanceCompare::JetDistanceCompare
JetDistanceCompare()
Definition
Qjets.h:27
JetSubStructureUtils::Qjets::ComputeNewDistanceMeasures
void ComputeNewDistanceMeasures(fastjet::ClusterSequence &cs, int new_jet)
Definition
Qjets.cxx:159
JetSubStructureUtils::Qjets::m_dcut
double m_dcut
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::m_rigidity
double m_rigidity
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::d_ij
double d_ij(const fastjet::PseudoJet &v1, const fastjet::PseudoJet &v2) const
Definition
Qjets.cxx:171
JetSubStructureUtils::Qjets::m_exp_min
double m_exp_min
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::m_truncation_fctr
double m_truncation_fctr
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::SetRandSeed
void SetRandSeed(unsigned int seed)
Definition
Qjets.cxx:22
JetSubStructureUtils::Qjets::ComputeAllDistances
void ComputeAllDistances(const std::vector< fastjet::PseudoJet > &inp)
Definition
Qjets.cxx:144
JetSubStructureUtils::Qjets::Same
bool Same(const jet_distance &lhs, const jet_distance &rhs)
JetSubStructureUtils::Qjets::JetsUnmerged
bool JetsUnmerged(const jet_distance &jd) const
Definition
Qjets.cxx:30
JetSubStructureUtils::Qjets::m_distances
std::priority_queue< jet_distance, std::vector< jet_distance >, JetDistanceCompare > m_distances
Definition
Qjets.h:36
JetSubStructureUtils::Qjets::JetUnmerged
bool JetUnmerged(int num) const
Definition
Qjets.cxx:26
JetSubStructureUtils::Qjets::ComputeMinimumDistance
double ComputeMinimumDistance()
JetSubStructureUtils::Qjets::ComputeNormalization
double ComputeNormalization(double dmin)
JetSubStructureUtils::Qjets::m_zcut
double m_zcut
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::GetNextDistance
jet_distance GetNextDistance()
Definition
Qjets.cxx:34
JetSubStructureUtils::Qjets::m_merged_jets
std::map< int, bool > m_merged_jets
Definition
Qjets.h:35
JetSubStructureUtils::Qjets::ComputeDCut
void ComputeDCut(fastjet::ClusterSequence &cs)
Definition
Qjets.cxx:126
JetSubStructureUtils::Qjets::Cluster
void Cluster(fastjet::ClusterSequence &cs)
Definition
Qjets.cxx:80
JetSubStructureUtils::Qjets::Prune
bool Prune(jet_distance &jd, fastjet::ClusterSequence &cs)
Definition
Qjets.cxx:134
JetSubStructureUtils::Qjets::Rand
double Rand()
Definition
Qjets.cxx:179
JetSubStructureUtils::Qjets::m_rand
TRandom3 m_rand
Definition
Qjets.h:33
JetSubStructureUtils::Qjets::m_dcut_fctr
double m_dcut_fctr
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::m_exp_max
double m_exp_max
Definition
Qjets.h:34
JetSubStructureUtils::Qjets::Qjets
Qjets(double zcut, double dcut_fctr, double exp_min, double exp_max, double rigidity, double truncation_fctr)
Definition
Qjets.cxx:10
JetSubStructureUtils
Definition
Angularity.h:10
JetSubStructureUtils::jet_distance
Definition
Qjets.h:19
JetSubStructureUtils::jet_distance::j2
int j2
Definition
Qjets.h:22
JetSubStructureUtils::jet_distance::j1
int j1
Definition
Qjets.h:21
JetSubStructureUtils::jet_distance::dij
double dij
Definition
Qjets.h:20
Generated on
for ATLAS Offline Software by
1.17.0